用esp8266做的物联网开发,涉及到固件烧写,固件擦除,代码编写等方面,做一一记录。
1. 固件烧写
首先,下载固件烧写工具:https://www.espressif.com/sites/default/files/tools/flash_download_tools_v3.6.3.rar,具体烧写包我会在后面附加。
然后,下载micropython固件包:http://www.micropython.org/download/esp8266/,一般选择512k的包即可。
打开固件烧写工具,点击“esp8266 download tools”,在打开的界面中设置好参数:
在烧写之前,先点击ERASE按钮进行擦除操作,保证烧写的固件不受干扰。
然后点击START进行烧写操作。
进度表跑完,提示FINISH的时候,代表烧写完毕并成功。
2. 开发环境
开发环境使用ESPlorer,网上有很多,可以百度下,具体界面如下:
左半区为代码编码区,右半区为和硬件通讯调试区。
3. esp8266联网
在进行开发之前,一般需要进行芯片联网设置的,具体操作如下:
首先,准备联网代码和热点,其实用手机热点就行:
def do_connect():
import network
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
print('connecting to network...')
wlan.connect('cxsr', '12345')
while not wlan.isconnected():
pass
import webrepl
webrepl.start()
print('network config:', wlan.ifconfig())
可以看出,我手机热点为cxsr,密码为12345
然后,在ESPlorer中,新建一个py文件,保存为networking.py,将上述代码拷贝进去,同时,通过com口进行连接,如果连接开发板成功,会提示Type help() for more information:
连接成功后,我们首先点击左下角的Send to esp按钮,将脚本发往缓冲区,然后在右下角命令行输入 do_connect()命令,然后点击send按钮,进行执行。之后可以看到输出如下:
注意文中有webrepl is not configured, run import webrepl_setup. 这里说明一下,webrepl可以方便我们将脚本上传到开发板中,所以这个命令要开启,我们就按照其提示就行,在命令行中输入import webrepl_setup,然后点击执行,输出如下:
这里我们按照他的要求,在命令行输入E,然后点击send按钮:
之后让我们输入密码,这里我们在命令行中输入12345,并确认:
最后问我们是否reboot,输入y并发送即可。然后开发板会执行reboot操作。
这时候我们将networking.py的代码点击左下角的send to esp,然后在右下角执行 do_connect()并send,可以看到webrepl成功打开:
去https://github.com/micropython/webrepl下载webrepl的压缩包,解压,运行其中的webrepl.html,可以打开界面,然后输入ws://192.168.43.2:8266,确认密码12345后即可成功连接。
最后点击想要上传的文件,然后上传即可:
最后从ESPlorer中,我们就可以看到上传的文件了:
最后我们可以用ssd1306驱动来一个程序点亮oled试试:
from machine import Pin, I2C
i2c = I2C(scl=Pin(5), sda=Pin(4))
from ssd1306 import SSD1306_I2C
oled = SSD1306_I2C(128, 64, i2c)
oled.fill(1)
oled.show()
oled.fill(0)
oled.show()
oled.pixel(0, 0, 1)
oled.show()
oled.pixel(127, 63, 1)
oled.show()
oled.text('Hello', 0, 0)
oled.text('World', 0, 10)
oled.show()
oled.invert(True)
oled.invert(False)
4. 相关下载
https://files.cnblogs.com/files/scy251147/flash_download_tools_v3.6.3.rar
来源:oschina
链接:https://my.oschina.net/u/4286379/blog/3232772