micropython(2):购买esp8266板子,在xubuntu上刷新固件,控制LED灯

目录

  • 前言
  • 1,关于esp8266
  • 2,使用
  • 3,擦除并刷新固件
  • 4,使用串口交互调试(REPL)
  • 5,总结

前言


本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/103983883

未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

1,关于esp8266


使用NodeMcu的板子刷新 micorpython 固件。首先不想在多学语言了,虽然lua 也挺好用的,我还是坚持使用python开发吧,板子上面刷啥固件都可以,NodeMcu 也可以,micropython 也可以,但是看到评论里面说ch340 型号的不支持最新的NodeMcu,不过无所谓了,可以刷新最新的micropython 固件。

micropython(2):购买esp8266板子,在xubuntu上刷新固件,控制LED灯_第1张图片
这卖芯片的,也没有太标明差别,估计是太便宜了。也懒得标记。芯片没有啥差别。
就是一个大点,一个小点,小的贵,俺选便宜的,14.5 块就行,好像还包邮呢。
核心板子更便宜,就是那个不锈钢小方块。

2,使用


英文文档:
http://docs.micropython.org/en/latest/esp8266/general.html
中文文档:
http://docs.micropython.01studio.org/zh_CN/latest/esp8266/quickref.html

硬件相关信息

Architecture: Xtensa lx106
CPU frequency: 80MHz overclockable to 160MHz
Total RAM available: 96KB (part of it reserved for system)
BootROM: 64KB
Internal FlashROM: None
External FlashROM: code and data, via SPI Flash. Normal sizes 512KB-4MB.
GPIO: 16 + 1 (GPIOs are multiplexed with other functions, including external FlashROM, UART, deep sleep wake-up, etc.)
UART: One RX/TX UART (no hardware handshaking), one TX-only UART.
SPI: 2 SPI interfaces (one used for FlashROM).
I2C: No native external I2C (bitbang implementation available on any pins).
I2S: 1.
Programming: using BootROM bootloader from UART. Due to external FlashROM and always-available BootROM bootloader, ESP8266 is not brickable.

3,擦除并刷新固件


下载固件:
http://micropython.org/download#esp8266

esp8266-20191220-v1.12.bin

文档:
http://docs.micropython.org/en/latest/esp8266/tutorial/intro.html

这边是在xubuntu上面的,利用esptool 的工具直接执行,超级简单。
就两个命令就可以擦除,刷新固件了,esp8266-20191220-v1.12.bin
这个固件放到当前目录上面就行了。
并且需要 root 权限,毕竟要访问 usb 设备。直接是usb0 了。几分钟搞定。

# 擦除flash设备
esptool.py --port /dev/ttyUSB0 erase_flash

esptool.py v2.8
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: a4:cf:12:dc:aa:dd
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 8.4s
Hard resetting via RTS pin...

#
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 esp8266-20191220-v1.12.bin

esp8266-20191220-v1.12.bin
esptool.py v2.8
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: a4:cf:12:dc:aa:dd
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Flash params set to 0x0040
Compressed 619828 bytes to 404070...
Wrote 619828 bytes (404070 compressed) at 0x00000000 in 9.7 seconds (effective 510.4 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

4,使用串口交互调试(REPL)


就像是 python 命令行一样。但是是访问的设备呢。lib库能做的功能有限,只是嵌入式的操作,但是已经非常强大了,研究出这些lib库的人好厉害。

安装工具:REPL 模式,picocom。在windows下可以用putty呢。

apt install picocom
picocom /dev/ttyUSB0 -b115200

picocom /dev/ttyUSB0 -b115200
picocom v2.2

port is        : /dev/ttyUSB0
flowcontrol    : none
baudrate is    : 115200
parity is      : none
databits are   : 8
stopbits are   : 1
escape is      : C-a
local echo is  : no
noinit is      : no
noreset is     : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv -E
imap is        : 
omap is        : 
emap is        : crcrlf,delbs,

Type [C-a] [C-h] to see available commands

Terminal ready

>>> print('hello esp8266!')
hello esp8266!
>>> import machine
>>> pin = machine.Pin(2, machine.Pin.OUT)
>>> pin.on()
>>> pin.off()
>>> pin.on()
>>> pin.off()
>>> 

板子上的led灯点亮,整个可以开始玩耍了。

还可以做很多事情呢,控制gpio , i2c,pwm,adc,spi,等等啥的。

参考文档:
中文:
http://docs.micropython.01studio.org/zh_CN/latest/esp8266/quickref.html
英文:
http://docs.micropython.org/en/latest/esp8266/quickref.html

5,总结


这个开源硬件还是非常棒的,思路一下子打开了,可以快速的开发好多创新项目。
当然不太能做生产卖,因为没有加密,上面源代码都看见了。但是开发效率高啊。
一个调试硬件方便啊,尤其是 REPL 的交互模式,就是python 命令行啊。

非常适合会python,同时动手能力强的非嵌入式专业的程序员,使用玩耍。
同时也可以研究下边缘计算,IOT,mqtt啥的。

其实比以前学习嵌入式简单太多了,都可以教小朋友一起玩耍,做模型飞机,汽车了。

购买地址,不卖设备,坏了别找我,仅供需要的同学参考下。
https://item.taobao.com/item.htm?spm=a1z0d.6639537.1997196601.81.4fed74846NCQJw&id=531510954596

本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/103983883

博主地址是:https://blog.csdn.net/freewebsys

你可能感兴趣的:(Python,micropython)