esp32 cam开发板烧录micropython开发环境

1904人浏览 / 0人评论

开发板型号:esp32 cam;micropython固件版本:esp32-20210902-v1.17.bin;python版本:3.7;usb-ttl:安信可的cp2102

  1. 安装esptool,需要电脑安装有python
    #使用cmd
    #esp工具包,用这个刷入micropython
    pip3 install esptool
    #用这个进入micropython
    pip3 install rshell
    
  2. 将cp2102插到电脑usb口上,会自动安装驱动。然后打开电脑设备管理器,找到端口列表,若成功显示有usb设备和端口号,就是正常的。如果没有显示端口号,就需要手动安装驱动。
  3. 按图用usb转ttl连接开发板,用下载模式连接,注意开发板有个短接引脚。cp2102的vo口默认是3.3v,短接3.3和4.2时vo是4.2vesp32 cam 连接cp2102 引脚注解
  4. 新建一个文件夹,下载固件到此目录下,然后打开cmd命令窗口,cd到文件加下,执行下面的命令。固件下载地址:https://micropython.org/download/esp32/
    #需要用命令查看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-20210902-v1.17.bin

     

  5. 安装成功后,将引脚按图更换运行调试模式。用rshell连接开发板(将以下代码块中的代码(不带注释)保存到 .bat文件中,这样就可以在esp32连接电脑的情况下一键进入了)
    #新建一个工作目录 然后cd进去
    cd (工作目录)
    #替换com口
    rshell --buffer-size 1024 --editor C:\Windows\system32\notepad.exe -p COM3
    

  6. 连接wifi,修改时间
    1. 写好代码(所有导入到esp32的py文件应该为无签名的utf8),在工作目录下创建下面3个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. 将3个文件copy到开发板

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

    3. repl命令进入到micropython环境

    4. 摁下esp32板子上的 重启键(出现错误再次重启):

小结:遇到烧录不成功的时候不要怕,首先查看串口驱动起来没有,如果没有可以换一根USB线。如果串口号有了,但是仍然烧录不了,那么八成是购买的开发板不支持自动复位功能。可以尝试按照本文的方式进行烧录。

 

相关命令:

  • rshell操作:
    #拷贝
    cp main.py /pyboard/
    #删除
    rm /pyboard/main.py
    #显示文件列表
    ls
    ls /pyboard/
    #进入到repl
    repl
    #退出repl
    ctrl+x
    #退出rshell
    ctrl+c
    
    #micropython导包工具
    import upip
    upip.install('socket')

     

  • 查看开发板内存

    import micropython
    micropython.mem_info()

    上面的是栈内存,下面的是堆内存

 

 相关资料:MicroPython中文社区microPython环境安装及使用使用Visual Studio Code进行MicroPython编程

                 MicroPython项目mrcropython项目测试源码

全部评论