micropython esp32手册_MicroPython入坑记(二)刷固件(ESP8266 ESP32)

先来个刷写过程:

其实各种刷ESP8266/ESP32的软件都可以搞(比如刷NodeMCU的软件),不过我这还是出问题了:刷完后无限输出乱码。然后参照Micropython官方的教程,用esptool先清除所有的FLASH,然后重新刷入,正常运行:

pip install esptool 安装esptool(当然,电脑上要先装好python)

esptool.py --port /dev/ttyUSB0 erase_flash 擦除所有的flash,如果是windows系统,则改为具体的COM口,比如我的电脑是COM4:

esptool.py --port COM4erase_flash

刷入固件这个命令比较长,可以不熟悉命令行的可以用其他GUI软件代替:

esptool.py --port COM4--baud 460800 write_flash --flash_size=detect 0 esp8266.bin(这个改为具体固件文件名)

刷完后,用putty连接板子会出现以下界面(如果没有显示就先按一下RST键):

760932-20180331100532691-1836230882.png

现在就可以执行Python代码了,支持命令补全哦

列出所有的模块:

760932-20180331100802971-1317708647.png

继续探索:

在ESP8266上,跟板子相关的代码主要在esp machine两个模块上:

>>> import esp

>>> import machine

>>> dir(esp)

['__class__', '__name__', 'SLEEP_LIGHT', 'SLEEP_MODEM', 'SLEEP_NONE', 'apa102_write', 'check_fw', 'deepsleep', 'dht_readinto', 'esf_free_bufs', 'flash_erase', 'flash_id', 'flash_read', 'flash_size', 'flash_user_start', 'flash_write', 'free', 'freemem', 'info', 'malloc', 'meminfo', 'neopixel_write', 'osdebug', 'set_native_code_location', 'sleep_type']

>>> dir(machine)

['__class__', '__name__', 'ADC', 'DEEPSLEEP', 'DEEPSLEEP_RESET', 'HARD_RESET', 'I2C', 'PWM', 'PWRON_RESET', 'Pin', 'RTC', 'SOFT_RESET', 'SPI', 'Signal', 'Timer', 'UART', 'WDT', 'WDT_RESET', 'deepsleep', 'disable_irq', 'enable_irq', 'freq', 'idle', 'mem16', 'mem32', 'mem8', 'reset', 'reset_cause', 'sleep', 'time_pulse_us', 'unique_id']

从上边的输出可以看到,esp主要是显示一些基础的指令,比如深度休眠,申请内存之类,machine主要是操作IO之类

先试着点一下LED灯(我这个板子自带了一个LED在GPIO2)

>>> from machine import Pin

>>> led=Pin(2,Pin.OUT)

>>> led.on()

>>> led.off()

760932-20180331102945177-1144172133.jpg

是不是很神奇?哈哈

然后连接网络:

>>> import network # 导入network包

>>> wlan=network.WLAN() #生成wlan对象

>>> wlan.active(1) #开启wlan

mode : sta(5c:cf:7f:0e:25:19) + softAP(5e:cf:7f:0e:25:19)

#5 ets_task(4020ed90, 28, 3fff9fa0, 10)

add if0

>>> wlan.scan() #扫描wlan信号

>>> wlan.connect('OpenWrt','xde12345') #连接wlan

lascandone

state: 0 -> 2 (b0) state: 2 -> 3 (0)

state: 3 -> 5 (10)

add 0

aid 2

cnt

connected with OpenWrt, channel 11

dhcp client start...

ip:192.168.43.203,mask:255.255.255.0,gw:192.168.43.1

可以看到,已经连接成功了,这里有个很酷的功能,就是esp8266的MicroPython固件是可以自动保存网络配置(esp32的暂时还不行)的,重新上电就能连接上次连接的无线网络(酷)

能联网了,干点啥事呢^^,发现内置个ntptime模块,玩玩先:

>>> import time

>>> time.localtime()

(2000, 1, 1, 0, 0, 18, 5, 1)

现在时间是2000年1月1号

>>> import ntptime

>>> ntptime.time()

575780696

获取了个时间戳

>>> ntptime.settime()

(2018, 3, 31, 3, 5, 7, 5, 90)

设置时间

>>> time.localtime()

(2018, 3, 31, 3, 5, 12, 5, 90)

>>>

等等,这世间不对吧,估计是UTC时间,暂时还没设置时区的地……先这样吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值