ESP32

ESP32

简介

esp32是由乐鑫(Espressif)于2017年推出的一系列低成本、低功耗片上系统(SoC )微控制器,具有 Wi-Fi 和蓝牙无线功能以及双核处理器

esp32开发板接口示意图

连接

cir

micropython

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

## 1. 下载micropython firmware 包

$ wget https://micropython.org/resources/firmware/ESP32_GENERIC-20241129-v1.24.1.bin

## 备份固件
$ esptool --baud 115200 --port COM5 read_flash 0x00000 0x200000 esp32_origin.bin

# 2. 清除
## win
$ esptool --chip esp32 --port COM5 erase_flash
## linux
$ esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash



## 3. 刷入micropython firmware
$ esptool --chip esp32 --port COM5 --baud 460800 write_flash -z 0x1000 esp32-20190125-v1.10.bin
$ esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 460800 write_flash -z 0x1000 esp32-20190125-v1.10.bin




示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import machine

machine.freq()          # 获取CPU当前工作频率
machine.freq(240000000) # 设置CPU的工作频率为 240 MHz

# network

import network

wlan = network.WLAN(network.STA_IF) # 创建 station 接口
wlan.active(True)       # 激活接口
wlan.scan()             # 扫描允许访问的SSID
wlan.isconnected()      # 检查创建的station是否连已经接到AP
wlan.connect('essid', 'password') # 连接到指定ESSID网络
wlan.config('mac')      # 获取接口的MAC地址
wlan.ifconfig()         # 获取接口的 IP/netmask(子网掩码)/gw(网关)/DNS 地址

ap = network.WLAN(network.AP_IF) # 创捷一个AP热点接口
ap.config(essid='ESP-AP') # 激活接口
ap.config(max_clients=10) # 设置热点允许连接数量
ap.active(True)         # 设置AP的ESSID名称

def do_connect():
    import network
    wlan = network.WLAN(network.STA_IF)
    wlan.active(True)
    if not wlan.isconnected():
        print('connecting to network...')
        wlan.connect('essid', 'password')
        while not wlan.isconnected():
            pass
    print('network config:', wlan.ifconfig())

量子兔 alphapi

mpy1.191 这里:https://github.com/eggfly/AlphaPi GPIO分析: button a ————— GPIO 10 button b ————— GPIO 20 button c ————— GPIO 21 I2C(SC7A20国产三轴) ————— SDA 6 SCL 7 UART ————— TX 8 RX 9 baudrate=460800 板子上还有个国产MUC,主要通过UART通信实现音频录制播放、5x5 led的功能

未知: P1 ————— GPIO5 P2 ————— GPIO4

到此alphapi的硬件基本挖掘完毕,

通过螺丝柱供电

实现的功能: 01 5X5 LED(OFFICAL METHODS) 02 ACEL 03 BUTTON 04 5X5 LED(WITH SOURCE CODE)

在线模拟器网站

参考

  1. https://docs.espressif.com/projects/esp-idf/zh_CN/stable/esp32c3/index.html
  2. https://docs.01studio.cc/esp32-c3/quickref.html
  3. https://blog.csdn.net/jd3096/article/details/127000637
  4. https://wiki.seeedstudio.com/XIAO_ESP32C3_MicroPython/
  5. https://randomnerdtutorials.com/micropython-oled-display-esp32-esp8266/
  6. https://docs.micropython.org/en/latest/esp8266/tutorial/ssd1306.html
  7. https://docs.geeksman.com/esp32/MicroPython/13.esp32-micropython-spi-oled.html
  8. https://www.micropython.org.cn/nav/micropython/%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/esp32
updatedupdated2024-12-152024-12-15