admin管理员组文章数量:1794759
低成本物联网解决方案esp01模块新手入门教程
低成本物联网解决方案esp01模块新手入门教程 | ChangChun Master Li 本人擅长朴素贝叶斯科学算命, 大家没事可以多看我的书吃我的药听我的讲座blog.74ls74/2022/06/18/20220618_esp8266_esp01_basic_tutorial/ 0. introduction
esp8266 是上海乐鑫出的低功耗WiFi芯片。搭载esp8266芯片的esp01是一个UART-WiFi无线模块,价格不到5块钱,深圳安信可出品,物美价廉,一个树莓派4的钱可以买50个!官方支持非常走心,一直在更新sdk,官方提供RTOS SDK和给低端芯片用的NONOS SDK。
esp01串口下载刷写flash非常简单,同时公司对社区的支持非常好,所以开发者做了很多移植工作,有很多开源固件,包括Lua(NodeMCU),Python(MicroPython),esp8266 Arduino,JavaScript(Espruino)等,玩法很丰富。
esp8266 pinout
1. esp8266+arduino在Arduino IDE安装esp8266
File>Preferences>Additional Boards Manager URLs 填入 arduino.esp8266/stable/package_esp8266com_index.json
Tools>Board menu 搜索并安装 esp8266platform
配置
esp01模块有一些变种,基本可以按照图中进行配置,默认板载蓝色的led是GPIO1,但和串口复用同一个引脚。只有 8Mbits (1MB) flash,但实际上只有1004KB可以给arduino程序使用,OTA需要双倍的空间,所以如果fs为0,OTA最多可用502KB。
esp01没有板载reset电路,因此需要手动GPIO0接地进入可编程模式。
RX → TX VCC → 3.3v GPIO0 → ground RST → * GPIO2 → * CH_PD → 3.3v GND → ground TX → RX可以跑一下blink示例测试是否正常工作。
ArduinoOTA
和avr芯片arduino不同的是,esp8266原生支持OTA下载,将BasicOTA示例下载到esp01中,可以在同一内网下给esp01远程下载,省去了串口和GPIO0的接线,非常方便。
一旦安装arduino,相关的SDK、下载工具、编译器等等都会一次安装到位,无需另外安装。具体可参考platform.txt
~/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/platform.txt 2. firmware体验arduino之后,我们想恢复成出厂的AT固件也很方便
1.1 AT firmwaregithub/espressif/ESP8266_NONOS_SDK
我这个1MB的esp01只能用老的512+512固件,用arduino带的esptool.py可以烧写,记得GPIO0接地进入flash模式。
cd ~/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/ PYTHONPATH=./esptool:./pyserial ../../../../tools/python3/3.7.2-post1/python3 ./esptool/esptool.py -p /dev/tty.usbserial-1410 --baud 115200 write_flash \\ --flash_size=detect \\ 0xFC000 ~/Downloads/ESP8266_NONOS_SDK-3.0.5/bin/esp_init_data_default_v08.bin \\ 0x7E000 ~/Downloads/ESP8266_NONOS_SDK-3.0.5/bin/blank.bin \\ 0xFE000 ~/Downloads/ESP8266_NONOS_SDK-3.0.5/bin/blank.bin \\ 0x00000 ~/Downloads/ESP8266_NONOS_SDK-3.0.5/bin/boot_v1.2.bin \\ 0x01000 ~/Downloads/ESP8266_NONOS_SDK-3.0.5/bin/at/512+512/user1.1024.new.2.binreset下就恢复到出厂状态了。AT命令的使用和gsm300模块相似,有点类似海斯命令集。
很多人发现esp01/esp8266启动时会在串口打印一堆乱码,我后来找到了答案,硬件波特率取决于晶震,最初的波特率为74880,后来为了方便才改成115200的
Why does ESP8266 show 'Garbage' characters?
可以用AT指令改成74880
AT+UART_DEF=74880,8,1,0,0然后miniterm也同样改成74880(screen和minicom好像不支持)
PYTHONPATH=./esptool:./pyserial ../../../../tools/python3/3.7.2-post1/python3 -m serial.tools.miniterm /dev/cu.usbserial-1410 74880乱码即可消失。
我这里做过一个AT指令的warpper,方便python用户使用,github/996refuse/esp8266.py
1.2 micropythonESP01 MicroPython install
1.3 NodeMCUNodeMCU 非常贴心, 可以在线编译firmware
nodemcu-build/
3. summaryok,这些只是esp8266的冰山一角,还有更多好玩的方式值得探索。
低成本物联网解决方案esp01模块新手入门教程 | ChangChun Master Liblog.74ls74/2022/06/18/20220618_esp8266_esp01_basic_tutorial/正在上传…重新上传取消
低成本物联网解决方案esp01模块新手入门教程 | ChangChun Master Li blog.74ls74/2022/06/18/20220618_esp8266_esp01_basic_tutorial/
版权声明:本文标题:低成本物联网解决方案esp01模块新手入门教程 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686892832a115202.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论