ESP32刷入MicroPython以及连接WiFi

MicroPython ESP32 开发

1.ESP32刷入MicroPython以及连接WiFi(本文)
2.ESP32 GPIO
3.ESP32 GPIO 的高低电平与PWM
4.ESP32 控制继电器与读取DHT22温湿度数据
5.socket 通信

更新中……



提示:以下是本篇文章正文内容,下面案例可供参考

一、ESP32刷入MicroPython

1.ESP32驱动

ESP32开发板使用了CP2104作为板载的USB转串口,因此需要安装串口驱动才能使用。
CP210x_Windows_Drivers
CP210x_VCP_Windows
在这里插入图片描述
这里包括了win2000/winxp/win7/win10、Linux、MacOS全系列的驱动,只要是主流的操作系统都有对应的驱动。

2.下载MicroPython

MicroPython Download
打开网址后往下扒拉扒拉右边那个就是ESP32了
在这里插入图片描述
打开后再往下扒拉扒拉我下载的是下图第一个
esp32-idf3-20210202-v1.14.bin
在这里插入图片描述

3.刷入micropython

我的是python3.8需要安装一下两个包

#使用cmd
#esp工具包,用这个刷入micropython
pip3 install esptool
#用这个进入micropython
pip3 install rshell

将芯片通过usb线连接到电脑上,右键我的电脑-管理-设备管理器里面找到CP210x的COM口 我的是COM3
在这里插入图片描述
万事具备接下来清空一下ESP32就可以刷入micropython了
以下片段在cmd/powershell中执行

#需要用命令查看esptool.py的位置
pip show -f esptool
#获取的一大堆命令中找到  `Location: (安装路径)`  然后cd到这个目录

*清空和刷入的时候是需要摁住板子上的boot按钮的,直到写入完毕*

#清空ESP32(更改com口)
esptool.py --chip esp32 --port COM3 erase_flash
#刷入micropython(更改com口 与 文件的相对路径或者绝对路径)
esptool.py --chip esp32 --port COM3 --baud 460800 write_flash -z 0x1000 esp32-idf3-20210202-v1.14.bin

4.进入ESP32

将以下代码块中的代码(不带注释)保存到 .bat文件中,这样就可以在esp32连接电脑的情况下一键进入了

#新建一个工作目录 然后cd进去
cd (工作目录)
#替换com口
rshell --buffer-size 1024 --editor C:\Windows\system32\notepad.exe -p COM3

在这里插入图片描述

二、连接WiFi,修改时间

1.写好代码

所有导入到esp32的py文件应该为无签名的utf8
写入micropython后esp剩余储存大概在100k
在工作目录新建wifiConnect.py main.py文件

# wifiConnect.py
from network import WLAN
from network import STA_IF
from time import time
from time import sleep_ms
from gc import mem_free


def wifi_connect():
    print("\nAvailable memory: %s Byte" % str(mem_free()))
    wlan = WLAN(STA_IF)
    wlan.active(True)
    start_time = time()

    if not wlan.isconnected():
        print("\nThe current device is not networked and is connecting ....")
        wlan.connect("332211", "lihanshuo2009")
        while not wlan.isconnected():
            sleep_ms(500)
            if time() - start_time > 10:
                print("\nFail !!!")
                break

    if wlan.isconnected():
        IP_info = wlan.ifconfig()
        print("Wifi is connected with the following information:")
        print(" IP address : " + IP_info[0])
        print("Subnet mask : " + IP_info[1])
        print("    Gateway : " + IP_info[2])
        print("        DNS : " + IP_info[3])
# datetime.py
from ntptime import settime
from utime import localtime
from utime import time
from machine import RTC
def set_time():
    print("\nTime being calibrated...")
    settime()
    rtc=RTC()
    tampon1=time() 
    tampon2=tampon1+28800
    rtc.datetime (localtime(tampon2)[0:3]+(0,)+localtime(tampon2)[3:6] + (0,))
    print("OK!\n")
def date_now():
    a = localtime()
    print(str(a[0])+'-'+str(a[1])+'-'+str(a[2]))
def time_now():
    a = localtime()
    print(str(a[3])+':'+str(a[4])+':'+str(a[5])+'\n')
# main.py
from wifiConnect import wifi_connect
from datetime import set_time
from datetime import date_now
from datetime import time_now
if __name__ == '__main__':
    wifi_connect()
    set_time()
    date_now();time_now()

2.拷贝到环境里面

wifiConnect.py main.py复制到micropython里面:

cp main.py wifiConnect.py datetime.py /pyboard/

在这里插入图片描述

3.执行

repl命令进入到micropython环境:
在这里插入图片描述
摁下esp32板子上的 重启键(出现错误再次重启):
在这里插入图片描述


总结

感谢大家的耐心浏览,以上内容全部由个人摸索与编写,仅供参考,欢迎大家指出不足之处。
纠正于2021年3月18日

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我不想35岁失业

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值