小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

【ESP8266】基于ESP8266的MicroPython入門筆記

 金剛光 2020-01-31

概述

本文是ESP8266運行MicroPython入門筆記,記錄自己在探索MicroPython所見所思的同時,也順便簡單評估該開發(fā)方式的優(yōu)缺點。

開發(fā)環(huán)境

  • ESP8266開發(fā)板: ESP-LAUNCHER(4 MB Flash)

  • 操作系統(tǒng):Win10 64位

關(guān)于MicroPython

MicroPython是一個基于Python 3的、精簡和高效的編程語言,其包括Python標準庫的一個小子集,并針對微控制器及受限的環(huán)境優(yōu)化以可以運行。

簡單評價

根據(jù)官方的快速參考的描述,MicroPython已經(jīng)實現(xiàn)了ESP8266基本硬件資源接口,包括GPIO、PWM、ADC、軟SPI和硬SPI、IIC、睡眠模式(Deep-sleep mode)、OneWire等,帶有APA102、DHT和DS18B20庫。所以使用MicroPython可以快速實現(xiàn)產(chǎn)品原型,比如智能插座,溫濕度檢測、智能RGB調(diào)光器等。

另外可以通過上傳py文件運行程序,調(diào)試和修改代碼不需要像SDK開發(fā)一樣重新燒錄,當然計算速度肯定是比原生SDK 開發(fā)慢一點的,對開發(fā)者來說只要夠用就行。比較遺憾的是暫時未看到對SmartConfig(快速連接)、硬件IR(紅外)、Sniffer等的支持。

在ESP8266上運行MicroPython

下載固件

首先到MicroPython的官網(wǎng)下載基于ESP8266的MicroPython固件。目前最新的穩(wěn)定版本是「esp8266-20161110-v1.8.6.bin」。

該固件大小大約是553KB,對4MB Flash ESP8266來說綽綽有余,并且剩余96KB內(nèi)存可用(一部分用于系統(tǒng))。

燒寫固件

把該固件燒寫到0x0位置即可。

燒寫配置參考:

上電打印

打開常用的串口工具,設(shè)置波特率為115200,打開串口并給ESP8266重啟上電,打印如下字符說明燒寫固件成功:

MicroPython v1.8.6-7-gefd0927 on 2016-11-10; ESP module with ESP8266 Type "help()" for more information. >>>
  • 1

  • 2

  • 3

上電打印參考:

當然,使用這個串口工具不太方便調(diào)試,我們可以使用PuTTY工具。切換到PuTTY時記得關(guān)閉之前的串口。

PuTTY上電打印

搭建完成

自此,基本的ESP8266的MicroPython環(huán)境搭建完成。

連接WiFi

在PuTTY會話窗口中輸入

>>>help()
  • 1

打印的信息會告訴你如何連接WiFi:

import network sta_if = network.WLAN(network.STA_IF) sta_if.active(True) sta_if.scan() # Scan for available access points sta_if.connect("<AP_name>", "<password>") # Connect to an AP sta_if.isconnected() # Check for successful connection
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

使用WebREPL上傳文件

webrepl客戶端

webrepl是MicroPython官方提供的文件管理工具。 并且有一個webrepl客戶端工具, 使用它可以通過瀏覽器來訪ESP8266。

首先我們在ESP8266的會話窗口輸入import webrepl_setup以配置webrepl:

>>>import webrepl_setup
  • 1

接下來按照返回的提示信息輸入即可,密碼至少要3位。之后輸入下面命令,啟動WebREPL。

>>>import webrepl >>>webrepl.start()
  • 1

  • 2

從Github下載WebREPL客戶端打開或者訪問MicroPython官網(wǎng)提供的在線客戶端(http:///webrepl/),以準備上傳和下載文件。

ESP8266連接好WiFi后,輸入sta_if.ifconfig()查看連接信息,返回的元組第一個IP就是無線路由器分配給ESP8266的IP。

如果你的電腦和ESP8266在同一個局域網(wǎng),修改WebREPL要連接的地址為ESP8266的IP,點擊「Connect」,返回「Welcome to MicroPython!」說明連接成功,根據(jù)提示輸入密碼(密碼默認不顯示)?;剀嚭箫@示「WebREPL connected」表示登錄成功。

之后就可以用這個客戶端上傳下載文件了。

設(shè)置上電自動連接WiFi

MicroPython初始化后都會自動執(zhí)行main.py文件,所以我們只需要設(shè)置該文件即可上電自動連接WiFi。打開自己常用的編輯器,輸入下面代碼,并保存為main.py文件:

# main.py import network import webrepl SSID = "SSID" PASSWORD = "password" def do_connect(): import network wlan = network.WLAN(network.STA_IF) wlan.active(True) if not wlan.isconnected(): print('connecting to network...') wlan.connect(SSID, PASSWORD) start = utime.time() while not wlan.isconnected(): utime.sleep(1) if utime.time()-start > 5: print("connect timeout!") break if wlan.isconnected(): print('network config:', wlan.ifconfig()) do_connect()
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

  • 16

  • 17

  • 18

  • 19

  • 20

  • 21

  • 22

  • 23

  • 24

  • 25

  • 26

之后通過WebREPL客戶端上傳該文件,完成之后,嘗試給ESP8266重啟一下,看看ESP8266的會話窗口是不是打印了user init!,如果成功打印,說明上電后確實執(zhí)行上面的代碼了。另外ESP8266重啟后,WebREPL客戶端需要重新連接才可以操作。

結(jié)語

基于ESP8266的MicroPython入門筆記就記錄到這里了,本文簡單介紹了固件的下載和燒寫,以及使用的方法,最后還介紹了如何上傳代碼到ESP8266,并且配置上電自動連接WiFi。

后面有時間我會再寫一篇基于ESP8266的MicroPython的MQTT客戶端教程。實際上在Python用MQTT比在C語言的方便多了,比較困難的是如何配置一個可用的環(huán)境。

2017-05-11更新:基于ESP8266的MicroPython的MQTT客戶端教程已經(jīng)寫完,鏈接:http://blog.csdn.net/yannanxiu/article/details/71641738

小技巧

查看主目錄下的文件列表

可以使用os.listdir()命令查看主目錄下的文件,然后可以在webrepl下下載。

>>> import os >>> os.listdir() ['boot.py', 'webrepl_cfg.py', 'main.py']
  • 1

  • 2

  • 3

查看內(nèi)存資源

由于單片機開發(fā)要時時刻刻留意內(nèi)存資源,下面是查看內(nèi)存資源的示例:

>>> import micropython >>> micropython.mem_info() stack: 2144 out of 8192 GC: total: 36288, used: 9488, free: 26800 No. of 1-blocks: 60, 2-blocks: 18, max blk sz: 263, max free sz: 1287

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多