WiFi IoT 智能家居套件之点亮一盏灯
做嵌入式的,点亮一盏灯的重要性,如同软件界的优雅的输出 Hello Word,都有“划时代”的意义
本实验是在HiSpark Wi-Fi IOT智能家居套件完成的。
环境:包括Linux 和Windows
1、Linux搭建环境
这套使用Linux进行交叉编译生成目标文件,然后在Windows下下载到开发板。我的Linux环境是直接下来连志安老师(在这个平台可以搜到)的已经搭建好的Ubuntu20.04,然后安装VMware,在VMware上打开解压后的Ubuntu即可。然后搭建Samba 服务器,从而方便在windows上访问文件。具体方法查看附件(HarmonyOS2.0设备开发入门-连志安.pdf),有详细的教程。
2、Windows 环境搭建
Linux是编译作用,至关重要。Windows是访问文件、下载文件,以及串口查看。可以用 Xshell连接Ubuntu,串口查看工具用Xshell,或者SSCOM,为了后期方便可以输入指令,使用SSCOM比较好,如果只是查看log,使用Xshell比较方便。烧录使用的是HiBurn.exe 。打开HiBurn可以自动搜到到串口,如果搜索不到,装个串口驱动即可 CH341SER.EXE。
环境搭建好了。接下来最关键的来了。试编译。因为下载下来的Ubuntu中,是已经包含了这套代码在里面的。进入 /home/harmony/harmony/code/code-1.0,输入表命令:python build.py wifiiot 回车
出现这样则表示编译成功。
OK,说明该项目代码没有问题。
为了方便以后查看自己修改了什么问题,因此将该项目copy一份。当然,也可以创建自己的代码仓库,方便迭代。
该进入正文了
在该项目代码上已经有led_example 这个代码了。路径为 \code-1.0\applications\sample\wifi-iot\app\iothardware\
首先查看该目录下的BUILD.gn 文件,这个决定了该项目编译名称。
然后进入 \code-1.0\applications\sample\wifi-iot\app 打开 BUILD.gn文件,可以看到,这个就是将APP代码编译进系统中的。将该文件修改如下
这里主要注意的就是文件夹名称要和该 .c文件所在的文件名保持一致。然后APP名要和库名保持一致,不可有任何差异,否则编译不过。
然后打开led_example.c 文件,加一行代码,以便查看设备运行状态。
然后使用命令 python build.py wifiiot 进行编译。
可以在项目的根目录看到out/wifiiot 有文件更新(看文件的修改时间)。
3、接下来就是烧录了
打开HiBurn,点击左上角的Setting->Com settings ,在这里主要是Baud,其他的保留默认值即可。这个Baud只要是影响烧录速度,最高可以设置为3000000,但是经过笔者的测试,设置为3000000时,烧录经常超时,导致下载失败。115200 成功率很高,但是下载速度较慢,我选择的是921600
然后Select File ,选择 ./out/wifiiot/Hi3861_wifiiot_app_allinone.bin
可以看到显示以下显示,勾选了三个文件,从文件名也可以看出,这其实就是一个总的文件压缩。
这里还有一个要特别注意的点,就是要勾选Auto burn ,否则下载不成功。
然后点击connect,然后按以下开发板上的reset 按键,就可以看到 文件下载的进度条了。
这样便说明下载成功
此时就要点击 disconnect,再按开发板上的reset,才可以。如果不先点击disconnect 就直接按开发板的reset 的话,就又开始下载了。
然后打开串口工具,连接上开发板,就可以看到打印了
也可以看到 开发板上的灯一闪一闪的了。
总结:
该实验需要特别注意的两个点
1、就是BUILD.gn文件中的库名要和APP、文件夹名称要一致。
2、烧录工具的Baud数值不要设置太大,建议为921600,然后记得勾选 Auto burn 。