600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 《物联网开发实战》16 实战准备:如何搭建硬件开发环境?(学习笔记)

《物联网开发实战》16 实战准备:如何搭建硬件开发环境?(学习笔记)

时间:2019-12-22 09:04:50

相关推荐

《物联网开发实战》16 实战准备:如何搭建硬件开发环境?(学习笔记)

仅作为本人学习《物联网开发实战》的学习笔记,原课程链接:极客时间《物联网开发实战》——郭朝斌

文章目录

搭建 MicroPython 开发环境第一步:准备固件文件第二步:安装烧录工具第三步:烧录固件第四步:确认运行状态体验交互部署代码到开发板

原课程选择使用 Python 作为开发语言,硬件平台为 NodeMCU(ESP8266),开发板上不能直接运行 Python,但可以运行 MicroPython 。

MicroPython ,是Python3编程语言的一个完整软件实现,用C语言编写,被优化于运行在微控制器之上。MicroPython是运行在微控制器硬件之上的完全的Python编译器和运行时系统。提供给用户一个交互式提示符(REPL)来立即执行所支持的命令。除了包括选定的核心Python库,MicroPython还包括了给予编程者访问低层硬件的模块。

——百度百科

搭建 MicroPython 开发环境

第一步:准备固件文件

我们需要 NodeMCU 准备好的 MicroPython 固件,我们可以直接去官方下载现成的,否则就需要自己用专门的软件进行交叉编译。

固件下载地址:(原课程使用的是 ESP8266,而我的芯片型号是 ESP32)

ESP8266: /download/esp8266/

ESP32: /download/esp32/

第二步:安装烧录工具

烧录工具需要在 Python 终端上进行安装,所以我们需要先安装 Python,版本这里选择 Python3.8(听说需要安装3.6以上的版本才行),下载地址:/downloads/release/python-385/

下载对应版本,我选择的是 Windows 64位,下载安装程序,

运行安装程序,pip 是用来下载和安装 Python 软件包的工具,安装烧录工具就需要用到 pip 命令,可以勾选 “Add Python 3.8 to PATH”,这样就可以直接在控制台运行 Python 了。

在控制台输入python -V查看 Python 版本,

Python 环境安装好后,就可以开始安装烧录工具了,在控制台输入以下命令,

pip install esptool

将 NodeMCU 连接电脑(前提是已经安装 USB-TTL 驱动),可以通过esptool.py read_mac命令,确认 NodeMCU 是否连接成功,如下图:

第三步:烧录固件

烧录固件前,需要先将 Flash 里的数据擦除,使用esptool.py --chip esp32 --port COM5 erase_flash(COM5 是我电脑里与 NodeMCU 连接的端口,具体根据实际情况而定,chip 选项可需要注意)

我在擦除时,遇到了无法访问串口的问题,

could not open port 'COM5': PermissionError(13, '拒绝访问。', None, 5)

开始以为是 Python 权限的问题,后来发现就连串口调试助手也不能访问该串口,最后通过拔插 USB 数据线(同时用串口调试助手测试能否正常打开)解决了这个问题。

擦除成功:

擦除成功后,进入固件所在目录,运行如下命令,即可将固件烧录到开发板中:

# 芯片信号,端口号和固件名称需要根据具体情况修改esptool.py --chip esp32 --port COM5 --baud 460800 write_flash -z 0x1000 esp32-2027-v1.18.bin

第四步:确认运行状态

怎么知道开发板是否在运行呢?

这里介绍两种方法:

用手机或电脑搜索周围的 Wi-Fi 热点,如果看到类似 “MicroPython-xxxxxx” 名称的热点,说明 NodeMCU 工作正常。(但是我实测是没有热点的,可能默认没打开吧)使用串口终端软件连接开发板,这类软件很多,比如 Putty,XShell 等,我这里使用的是 MobaXterm。

体验交互

先用 “hello world” 来检测测试一下,然后再体验一下 MicroPython 控制 LED 灯。

可以看到蓝色的 LED 被点亮:

部署代码到开发板

MicroPython 的官方提供了一个工具,名为pyboard.py,可以使用它来操作开发板上的文件系统,如文件拷贝、创建文件夹、文件删除等功能。

将 pyboard.py 下载到电脑,就可以使用这个工具了。

下面是原文的一个代码段,功能是让 LED 灯以 1 秒间隔闪烁。

import machineimport time# 指明 GPIO2 管脚pin = machine.Pin(2, machine.Pin.OUT)# 循环执行while True:time.sleep(1) pin.on()time.sleep(1)pin.off()

要在开发板上运行这个 Python 代码,我们需要做两件事:

将代码保存在一个文件中,命名为 main.py。(必须是这个名字)将 main.py 放到开发板的文件系统中,而且是根目录。

开发板启动时,就会自动执行 main.py 文件中的代码。如何把 main.py 复制到开发板上呢,这就要用到前面提到的 pyboard.py 了。

具体操作如下:

将 main.py 复制到开发板,重启开发板后,main.py 自动运行

pyboard.py --device COM5 -f cp main.py :main.py

运行效果:

我们也可以不复制 main.py ,直接让它在开发板上运行:

pyboard.py --device COM5 main.py

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。