NodeMcu(ESP8266) microPython上手

起初是想玩玩Arduino,但是搜搜某宝价格uno还是有点贵(树莓派4b我一定会买的!!!),偶然间发现一个十几块钱的名叫NodeMCU的小玩意,遂买之,遂买了一百多的其余零部件,镊子啊、面包板啊、万用表啊、三极管啊、电阻啊、排线啊……但是一直都没把NodeMCU玩起来,开始的时候发现这玩意用的Lua语言,还想着自己学学Lua吗?没看完菜鸟教程就没精力顾得上这个了,而且我自己还是想用Python的,一是想自己学学,二是Python用的地方还是更多些,so发现NodeMCU可以支持MicroPython~Emmmm也行吧,于是又放了一段时间……这两天才拿起来。
一直没玩起来还是对他不熟悉吧,上次玩单片机还是毕设的时候用stc12c5a60s2,c语言编程,突然上手一个NodeMCU着实没弄明白这玩意怎么玩,网上的教程和视频也看了不少,但是还是有很多小白基础没弄懂,甚至刷固件都费了好大精力,所以写个随笔记录下学习过程(现在刚刷好固件),就当做个学习笔记啦。
Windows环境,已预装jdk。

刷固件

安信可官方工具 http://wiki.ai-thinker.com/tools
官方教程 http://wiki.ai-thinker.com/esp_download
官方常见问题解答http://wiki.ai-thinker.com/esp8266/faq
GitHub连接 https://github.com/nodemcu/nodemcu-flasher

刷固件理解成安装系统即可,这里刷固件有个前置操作“清空内存”,清空与不清空的区别就是:清空后内存完全是空白的,新刷的固件不会受以前文件的影响;不清空的话,刷固件后还能读取到以前的init.lua/init.py文件,如果这个init文件编写有错误了,那就会导致nodemcu不断重启,我写这篇文章的时候就是在处理这个问题。
刷固件网上常见的有两种软件

NodeMcu(ESP8266) microPython上手_第1张图片
download tool 推荐用这个

NodeMcu(ESP8266) microPython上手_第2张图片
flasher

两种都能用,但是tool比flasher好的一点是,tool集成了一个“ERASE”按键(在STOP右侧,使用时先点击ERASE,再按住nodemcu板子FLASH键,等待完成),一键清空内存;而flasher想要清空内存,需要有一个类似于“blank.bin”、“blank512.bin”之类的bin文件,里面的内容其实就是空,烧写入空文件以达成清空内存的需求。
对于tool而言,如图所设 26M/40MHz/DIO/32Mbit 即可,COM口选择自己nodemcu串口就行,通常安装好串口驱动后,软件会自动刷新所连串口,不行就挨个试试呗。

波特率115200,都是一样的。

连接nodemcu

连接nodemcu其实就是读写串口。第一种方法是nodemcu的官方推荐ESPlorer。

NodeMcu(ESP8266) microPython上手_第3张图片
ESPlorer

第二种,网上也有教程说用一些小软件读取串口的,太多不赘述;putty、ardinuo之类就是第三种,正经的软件,甚至我用SecureCRT也可以成功连接(Serial,不要选中任何一个“流控”)。
由于我刷入的是microPython固件,没有用最常见的AT固件(用AT命令操作,这个没接触过不熟悉)和官方或可自己选择功能模块的lua固件。

microPython固件下载 https://micropython.org/download/ Ctrl+F搜索网页“Firmware for ESP8266 boards”,下载最新的(latest)即可

AT固件自己网上找,我没留心

想自己选取想要功能模块的bin文件,可以到https://nodemcu-build.com/ 填写邮箱,选上功能,他会自己发邮件到你邮箱里,这里生成的bin文件是需要lua语言编程的
附个lua学习资源 http://www.lua.org/pil/contents.html

NodeMcu(ESP8266) microPython上手_第4张图片
专门去生成一个文件来举例

移动的网络真的难用…………我怀念以前电信的网络了……现在aws官网都上不去……

因为是刷的microPython,所以现在串口通讯连上nodemcu后(软件点击连接后,需要在nodemcu板子按一下RST键重启一下),即可显示开始界面。

?roPython v1.12 on 2019-12-20; ESP module with ESP8266
Type "help()" for more information.
>>> 

其中的 >>> 是经典的Python命令行前置符号。此时就可以按照Python的测试来试试nodemcu了

找的几个文档连接
https://dfrobot.gitbooks.io/upycraft_cn/
https://docs.singtown.com/micropython/zh/latest/openmvcam/reference/asm_thumb2_index.html
https://www.rt-thread.org/document/site/tutorial/beep-player/pin/

官方文档http://docs.micropython.org/en/latest/esp8266/quickref.html
GitHub文档https://github.com/nodemcu/nodemcu-firmware/wiki
官方入门教程http://wiki.ai-thinker.com/_media/esp8266/a000og00a1.pdf

好吧,还是用了一个叫uPyCraft的软件,这个一用就知道还是好用的,不清楚属于小软件还是正规出品,看UI像是小软件,还内置了烧写功能,挺好的。

下载链接和uPyCraft的使用文档https://dfrobot.gitbooks.io/upycraft_cn/2.1%E4%B8%8B%E8%BD%BD%E5%92%8C%E5%AE%89%E8%A3%85upyCraft.html
论坛资料https://mc.dfrobot.com.cn/thread-271930-1-1.html

编写一个自动连WiFi的init文件

这里我就跟着help()命令上提示的来做就行。

import network
sta_if = network.WLAN(network.STA_IF); sta_if.active(True)
sta_if.scan()                             # Scan for available access points
sta_if.connect("", "") # Connect to an AP
while not sta_if.isconnected() :                     # Check for successful connection
  pass
print('network config:', sta_if.ifconfig())
# Change name/password of ESP8266's AP:
ap_if = network.WLAN(network.AP_IF)
ap_if.config(essid="", authmode=network.AUTH_WPA_WPA2_PSK, password="")

配置好几个绿色字体,即可连接WiFi和开启ap。

NodeMcu(ESP8266) microPython上手_第5张图片
烧写文件和网络连接信息

在uPyCraft新建一个init.py,输入上述代码,写入到nodemcu中,设置为“default open”,就可以去路由器看看是否连上了。

路由器后台信息

未完待续

你可能感兴趣的:(NodeMcu(ESP8266) microPython上手)