如何在MicroPython中检测硬件类型(ESP32或ESP8266)?

时间:2019-12-08 11:39:45

标签: esp8266 esp32 micropython

如何检测我的MicroPython脚本是否在ESP32或ESP8266上运行? 我想使其在两种平台上都可以工作,但是深度睡眠需要根据硬件而不同的实现方式。

1 个答案:

答案 0 :(得分:4)

您可以使用uos.uname().sysname来检测硬件平台。

这是一个示例脚本:

import uos

print(uos.uname())

sysname = uos.uname().sysname
if sysname == 'esp32':
    print('detected ESP32')
elif sysname == 'esp8266':
    print('detected ESP8266')
else:
    print('something else')

ESP8266上的演示脚本输出:

$ ampy run detect.py
(sysname='esp8266', nodename='esp8266', release='2.2.0-dev(9422289)', version='v1.11-8-g48dcbbe60 on 2019-05-29', machine='ESP module with ESP8266')
detected ESP8266

ESP32上的演示脚本输出:

$ ampy run detect.py
(sysname='esp32', nodename='esp32', release='1.11.0', version='v1.11 on 2019-05-29', machine='ESP32 module with ESP32')
detected ESP32