為了 Kobo 硬體翻頁器的設計,最後選擇了這一塊開發版,這個開發版的好處是包含了 18650 電池座,也有供電及燒錄模組,我只要自己焊幾根線,3D 列印設計外殼,剩下的就是純軟體的工作了,應該可以加快開發速度。另外,其電路設計會讓 CHIP RESET 時進入燒錄模式,故不需要按下 FLASH 按鈕,似乎開發板都有內建這個功能。原理似乎是利用 UART 傳輸時,會觸發 RESET 並讓 GPIO0 拉 Low 好讓 CHIP 進入燒錄模式。下面是取自 NodeMCU 的電路圖。
下面是板子示意圖,隨手畫畫,元件相對位置是對的,但可能水平位置不一定有對齊。
#define LED_BUILTIN 16
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
編譯及上傳訊息
Executable segment sizes:
IROM : 228640 - code in flash (default or ICACHE_FLASH_ATTR)
IRAM : 26756 / 32768 - code in IRAM (ICACHE_RAM_ATTR, ISRs...)
DATA : 1248 ) - initialized variables (global, static) in RAM/HEAP
RODATA : 688 ) / 81920 - constants (global, static) in RAM/HEAP
BSS : 24880 ) - zeroed variables (global, static) in RAM/HEAP
草稿碼使用了 257332 bytes (24%) 的程式儲存空間。上限為 1044464 bytes。
全域變數使用了 26816 bytes (32%) 的動態記憶體,剩餘 55104 bytes 給區域變數。上限為 81920 bytes 。
esptool.py v2.8
Serial port COM6
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 24:62:ab:00:00:00
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 2MB
Flash params set to 0x0230
Compressed 261488 bytes to 193147...
Wrote 261488 bytes (193147 compressed) at 0x00000000 in 4.4 seconds (effective 475.9 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
實際測試結果,這樣的一個小程式,耗電量約為 40 ~ 80 mA 左右。