使用Ubuntu将ESP8266写入MicroPython固件并连接WIFI进行GET请求

Posted windSnowLi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Ubuntu将ESP8266写入MicroPython固件并连接WIFI进行GET请求相关的知识,希望对你有一定的参考价值。

安装驱动

我的是CH320G版本,安装CH320驱动

  1. uname -r查看自己的内核版本
  2. https://elixir.bootlin.com/linux/v5.11/source/drivers/usb/serial/ch341.c#找到对应的源代码,复制出来并保存为ch34x.c
  3. ch34x.c同级目录下编写Makefile
ifeq ($(KERNELRELEASE), )
KERNELDIR := /lib/modules/$(shell uname -r)/build
PWD :=$(shell pwd)
default:
	$(MAKE) -C $(KERNELDIR)  M=$(PWD)  
clean:
	rm -rf .tmp_versions Module.symvers *.mod.c *.o *.ko .*.cmd Module.markers modules.order
load:
	modprobe usbserial
	insmod ch34x.ko
unload:
	rmmod ch34x
else
	obj-m := ch34x.o
endif
  1. 目录示例

  2. make编译

  3. sudo make load安装

  4. sudo make unload卸载

写入固件

  1. 下载MicroPython固件www.micropython.org
  2. 下载写入工具pip3 install esptool
  3. ls /dev/tty*查看已有端口
  4. ESP8266USB上电接入电脑
  5. ls /dev/tty*查看多出来的端口就是ESP8266的对应端口(一般是/dev/ttyUSB0
  6. ~/.local/bin/esptool.py --port /dev/ttyUSB0 erase_flash擦掉已有固件
  7. ~/.local/bin/esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_size=detect 0 ./esp8266-20210902-v1.17.bin写入的第一步下载的固件

连接开发板

  1. 下载安装thonny: bash <(wget -O - https://thonny.org/installer-for-linux)

  2. 设置IDE: thonny 工具 > 设置 > 解释器

连接WIFI

  1. help()查看连接示例

  2. 连接WIFI,并开启热点

import network
import time
import urequests

AP_name='你的无线网名称'
password='你的无线网密码'
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
while not sta_if.isconnected():
    print('connect...')
    time.sleep(2)
    
# 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="要创建的无线网密码")

response = urequests.get('http://www.baidu.com')
print(response.text)

个人博客链接

以上是关于使用Ubuntu将ESP8266写入MicroPython固件并连接WIFI进行GET请求的主要内容,如果未能解决你的问题,请参考以下文章

ESP8266每次启动都要重新配置一遍吗

esp8266 Ubuntu SDK 开发环境搭建

乐鑫esp8266学习rtos3.0笔记:分享在 esp8266 C SDK如何通过外部写入参数,程序里面实现动态获取参数。

乐鑫esp8266学习rtos3.0笔记:分享在 esp8266 C SDK如何通过外部写入参数,程序里面实现动态获取参数。

乐鑫esp8266学习rtos3.0笔记:分享在 esp8266 C SDK如何通过外部写入参数,程序里面实现动态获取参数。

有没有办法在 Nodemcu ESP8266 上的 LUA 中提高 SD 卡写入速度?