# http://micropython.org/download/#esp8266
相較於前一版本, 新版韌體大幅增加了許多功能與效能提升, 例如 :
- 新增 VsfPosix 檔案系統元件
- 新增 ucryptolib 模組 (支援 AES)
- 新增 ure.sub() 函數
- 新增 uhashlib.md5 模組
- 新增 lwIP socket 支援 TCP listen/accept backlog
- 核心程式碼大小減少 2.2%
- 新增 uio.IOBase 類別支援 user defined streams
- 每個 port 的 heap 增加 2K Bytes
- WLAN 連線沒有在用 (inactive) 時ㄧ無線模組會進入休眠
- UART 可與 REPL 斷開 (disconnected)
- 軟開機 (soft reset) 時 sockets 會被清空
參考 :
# http://micropython.org/resources/micropython-ChangeLog.txt
下載韌體後參考下列兩篇使用 D1 mini 用 ESP8266Flasher 軟體以 115200 速率燒錄到 4MB 的 Flash 中 :
# MicroPython on ESP8266 (一) : 燒錄韌體
# http://micropython.org/resources/micropython-ChangeLog.txt
下載韌體後參考下列兩篇使用 D1 mini 用 ESP8266Flasher 軟體以 115200 速率燒錄到 4MB 的 Flash 中 :
# MicroPython on ESP8266 (一) : 燒錄韌體
# WeMOS D1 Mini 開發板測試
將 ESP-01 或 D1 Mini 連接到筆電 USB 埠進行燒錄之前, 須先將 ESP8266 的GPIO 0 接地, 這在 D1 Mini 板子是 D3 腳; 而在 ESP-01 模組則為 D0 腳, 參考 :
# MicroPython 1.9.4 版釋出
燒錄完成後拔掉 USB 連線, 去除 GPIO 0 的接地後再重新將測試板接上 USB 連接到筆電, 這時查詢裝置管理員的連接埠會出現 USB-SERIAL-CH340 (D1 Mini 使用 CH340 晶片), 若無則需安裝驅動程式, 在 Win10 可用自動搜尋網路進行安裝 :
安裝完成用 Putty 連線板子, 設定如下 :
這樣就可順利連線 D1 mini 板了.
1. 檢視檔案系統 :
▒▒▒#▒cbd#▒OSError: [Errno 2] ENOENT
MicroPython v1.10-8-g8b7039d7d on 2019-01-26; ESP module with ESP8266
Type "help()" for more information.
>>> import os
>>> os.listdir()
['boot.py']
>>> f=open('boot.py','r')
>>> lines=f.readlines()
>>> for line in lines:
... print(line)
...
...
...
# This file is executed on every boot (including wake-boot from deepsleep)
#import esp
#esp.osdebug(None)
import uos, machine
#uos.dupterm(None, 1) # disable REPL on UART(0)
import gc
#import webrepl
#webrepl.start()
gc.collect()
2. 開啟 Web REPL 功能 :
>>> import webrepl_setup
WebREPL daemon auto-start status: disabled
Would you like to (E)nable or (D)isable it running on boot?
(Empty line to quit)
> E
To enable WebREPL, you must set password for it
New password (4-9 chars): 123456
Confirm password: 123456
Changes will be activated after reboot
Would you like to reboot now? (y/n) y
重開機後再次查詢檔案系統, 多了一個 webrepl_cfg.py 檔, 檢視其內容可知裡面只有一列資料 PASS='123456' 即 REPL 密碼 :
>>> import os
>>> os.listdir()
['boot.py', 'webrepl_cfg.py']
>>> f=open('webrepl_cfg.py','r')
>>>
>>> lines=f.readlines()
>>> for line in lines:
... print(line)
...
...
...
PASS = '123456'
3. 檢視韌體版本 :
>>> import esp
>>> esp.check_fw()
size: 615372
md5: 7a71fb7238ce227f23450783b1389443
True
>>>
>>> import os
>>> os.uname()
(sysname='esp8266', nodename='esp8266', release='2.2.0-dev(9422289)', version='v1.10-8-g8b7039d7d on 2019-01-26', machine='ESP module with ESP8266')
>>>
5. 測試 SDT :
MicroPython v1.10-8-g8b7039d7d on 2019-01-26; ESP module with ESP8266
Type "help()" for more information.
>>> from machine import WDT
>>> dir(WDT)
['__class__', '__name__', 'deinit', 'feed']
>>> wdt = WDT(timeout=2000)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: function doesn't take keyword arguments
>>> wdt = WDT(id=0, timeout=10000)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: function doesn't take keyword arguments
可見 WDT 還是不支援 ESP8266.
將 ESP-01 或 D1 Mini 連接到筆電 USB 埠進行燒錄之前, 須先將 ESP8266 的GPIO 0 接地, 這在 D1 Mini 板子是 D3 腳; 而在 ESP-01 模組則為 D0 腳, 參考 :
# MicroPython 1.9.4 版釋出
燒錄完成後拔掉 USB 連線, 去除 GPIO 0 的接地後再重新將測試板接上 USB 連接到筆電, 這時查詢裝置管理員的連接埠會出現 USB-SERIAL-CH340 (D1 Mini 使用 CH340 晶片), 若無則需安裝驅動程式, 在 Win10 可用自動搜尋網路進行安裝 :
安裝完成用 Putty 連線板子, 設定如下 :
這樣就可順利連線 D1 mini 板了.
1. 檢視檔案系統 :
▒▒▒#▒cbd#▒OSError: [Errno 2] ENOENT
MicroPython v1.10-8-g8b7039d7d on 2019-01-26; ESP module with ESP8266
Type "help()" for more information.
>>> import os
>>> os.listdir()
['boot.py']
>>> f=open('boot.py','r')
>>> lines=f.readlines()
>>> for line in lines:
... print(line)
...
...
...
# This file is executed on every boot (including wake-boot from deepsleep)
#import esp
#esp.osdebug(None)
import uos, machine
#uos.dupterm(None, 1) # disable REPL on UART(0)
import gc
#import webrepl
#webrepl.start()
gc.collect()
2. 開啟 Web REPL 功能 :
>>> import webrepl_setup
WebREPL daemon auto-start status: disabled
Would you like to (E)nable or (D)isable it running on boot?
(Empty line to quit)
> E
To enable WebREPL, you must set password for it
New password (4-9 chars): 123456
Confirm password: 123456
Changes will be activated after reboot
Would you like to reboot now? (y/n) y
重開機後再次查詢檔案系統, 多了一個 webrepl_cfg.py 檔, 檢視其內容可知裡面只有一列資料 PASS='123456' 即 REPL 密碼 :
>>> import os
>>> os.listdir()
['boot.py', 'webrepl_cfg.py']
>>> f=open('webrepl_cfg.py','r')
>>>
>>> lines=f.readlines()
>>> for line in lines:
... print(line)
...
...
...
PASS = '123456'
3. 檢視韌體版本 :
>>> import esp
>>> esp.check_fw()
size: 615372
md5: 7a71fb7238ce227f23450783b1389443
True
>>>
>>> import os
>>> os.uname()
(sysname='esp8266', nodename='esp8266', release='2.2.0-dev(9422289)', version='v1.10-8-g8b7039d7d on 2019-01-26', machine='ESP module with ESP8266')
>>>
4. 檢視硬體設定 :
>>> import port_diag
FlashROM:
Flash ID: 1640ef (Vendor: ef Device: 4016)
Flash bootloader data:
Byte @2: 02
Byte @3: 40 (Flash size: 4MB Flash freq: 40MHZ)
Firmware checksum:
size: 615372
md5: 7a71fb7238ce227f23450783b1389443
True
Networking:
STA ifconfig: ('0.0.0.0', '0.0.0.0', '0.0.0.0', '208.67.222.222')
AP ifconfig: ('192.168.4.1', '255.255.255.0', '192.168.4.1', '208.67.222.222')
Free WiFi driver buffers of type:
0: 8 (1,2 TX)
1: 0 (4 Mngmt TX(len: 0x41-0x100))
2: 8 (5 Mngmt TX (len: 0-0x40))
3: 4 (7)
4: 7 (8 RX)
lwIP PCBs:
Active PCB states:
Listen PCB states:
TIME-WAIT PCB states:
5. 測試 SDT :
MicroPython v1.10-8-g8b7039d7d on 2019-01-26; ESP module with ESP8266
Type "help()" for more information.
>>> from machine import WDT
>>> dir(WDT)
['__class__', '__name__', 'deinit', 'feed']
>>> wdt = WDT(timeout=2000)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: function doesn't take keyword arguments
>>> wdt = WDT(id=0, timeout=10000)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: function doesn't take keyword arguments
可見 WDT 還是不支援 ESP8266.
沒有留言:
張貼留言