发新帖

[其它] 【BPI-Webduino:bit开发板试用体验】Bit上运行MicroPython 点灯

[复制链接]
发表于 2018-8-22 15:45:55
| 997 查看 | 0 回复
首先Webduino:bit是采用ESP32作为主控模块,ESP32采用 Xtensa 32bit LX6单/双核处理器,运算能力高达600DMIPS,内置448KB ROM和520 KB SRAM。
有着强悍的CPU和比较多的内存空间资源,运行MicroPython 不在话下.


第一步: 下载 MicroPython。
   在MicroPython的官网(http://micropython.org/)有提供基于ESP32的Firmware,可直接烧入使用。
当然也提供开源源码,供修改定制。
进入MicroPython的download网页(http://micropython.org/download#esp32),点击下载最新版 bin文件: esp32-20180822-v1.9.4-479-g828f771e3.bin (latest)
TIM截图20180822112132.png

第二步:烧写 MicroPython的firmware
  (1) 我们看到上图官网有提供linux下使用esptool.py 下载的方法:(原谅ubuntu下没有截图)
1. 先安装esptool: sudo apt-get install esptool
2. 将Webduino:bit usb线连接到电脑,并识别到 /dev/ttyUSB0
3. 烧写firmware到Webduino:bitesptool.py --chip esp32 --port /dev/ttyUSB0 write_flash -z 0x1000 esp32-20180822-v1.9.4-479-g828f771e3.bin
4. 烧完可以使用picocom来打开串口连接ESP32,注意要指定115200的波特率,如果没安装: sudo apt-get install picocom
设置波特率:sudo picocom -b 115200 /dev/ttyUSB0


  (2)下面是基于windows使用ESPFlashDownloadTool 下载方法: (重点在这里)
1. 先下载解压ESPFlashDownloadTool:F:\MT6582\Bpi-bit\BPI-BIT-master\programming\ESP_Flash_Download_Tool
2. 将Webduino:bit usb线连接到电脑,windows 设备管理器并识别到
TIM截图20180822150631.png

3. 烧写firmware到Webduino:bit
0》打开FLASH_DOWNLOAD_TOOLS_V3.6.4.exe
1》设置好串口号COM5 波特率115200,
2》点击ERASE清除原有firmware。
3》在0x1000开始,选择下载的micropython的bin
4》设定相应参数
5》点击STRAT开始烧入,直到finish完成。
TIM截图20180822151336.png
4. windows下可以使用putty来打开串口连接ESP32,注意要指定115200的波特率
TIM截图20180822132457.png



第三步 :使用MicroPython点亮LED
1. Bit板接上LED灯珠 金手指2和3V 如图
IMG_20180822_132528R.jpg
2.查看电路图金手指2是GPIO33.
TIM截图20180822152903.png
3. 在Putty中">>>"后输入代码
from machine import Pin //加载microPython提供machine的module
p0 = Pin(33, Pin.OUT) //设GPIO33 mode
p0.value(1) //LED 灭

p0.value(1) //LED 亮


4. 输入help()获取提示:
>>> help()
Welcome to MicroPython on the ESP32!


For generic online docs please visit http://docs.micropython.org/


For access to the hardware use the 'machine' module:


import machine
pin12 = machine.Pin(12, machine.Pin.OUT)
pin12.value(1)
pin13 = machine.Pin(13, machine.Pin.IN, machine.Pin.PULL_UP)
print(pin13.value())
i2c = machine.I2C(scl=machine.Pin(21), sda=machine.Pin(22))
i2c.scan()
i2c.writeto(addr, b'1234')
i2c.readfrom(addr, 4)


Basic WiFi configuration:


import network
sta_if = network.WLAN(network.STA_IF); sta_if.active(True)
sta_if.scan()                             # Scan for available access points
sta_if.connect("<AP_name>", "<password>") # Connect to an AP
sta_if.isconnected()                      # Check for successful connection


Control commands:
  CTRL-A        -- on a blank line, enter raw REPL mode
  CTRL-B        -- on a blank line, enter normal REPL mode
  CTRL-C        -- interrupt a running program
  CTRL-D        -- on a blank line, do a soft reset of the board
  CTRL-E        -- on a blank line, enter paste mode


For further help on a specific object, type help(obj)
For a list of available modules, type help('modules')



5. LED一闪一闪亮晶晶代码,通过CRTL+E进入粘贴模式,复制代码右键粘贴完之后CTRL+D运行
import time
from machine import Pin
p0 = Pin(33, Pin.OUT)
state = 0
while True:
    p0.value(state)
    state = 1 - state
    time.sleep(0.5)

总结, MicroPython再次让BPI-Webduino:bit起飞,开发应用还是很方便。但还不知道如何加载.py 文件运行。



我要点赞 0

举报

发表于 2018-11-21 13:58:17
我要点赞 1

举报

您需要登录后才可以回帖 登录 | 立即注册