初识AliOS Things
AliOS Things是AliOS去年(2017)发布的物联网操作系统。经过一年的发展,配套的开发环境相对成熟。本文准备简单的介绍在Windows环境下,将alios-things刷入esp32。
开始之前,需要准备几样东西:
- vs code
- C/C++插件
- alios-studio插件
alios-studio是一个vscode插件,方便使用vscode开发alios-studio应用。由于是C语言,所以还需要C/C++插件支持。
安装插件
alios-studio插件还属于快速迭代阶段,安装插件可能需要折腾一下。当然,过程不会很难。如果你的电脑没有安装过python的,则会相对顺利一些。
如果你电脑里有python2和python3也没关系,文章会给出解决办法。
python 2
这里先假设你的电脑没有安装过python。
由于使用到一个基于py2开发的工具,所以需要先安装python2。必须是python2,因为有些工具不支持python3。
另外,还需要git的客户端。
安装好这两个后,记得设置系统路径。确保可以使用命令行使用py2和git。
接着在vs code的扩展里安装C/C++和alios-stuido。
安装完alios-studio后,插件会提示是否安装aos。点击YES,让插件帮忙安装aos。如果安装成功了,则会在用户目录下产生一个.aos的文件夹C:\Users\lenovo\.aos
,类似于这样子的的目录结构:
目录python-venv
是py2的虚拟环境,所有aos相关的工具都在目录.aos\python-venv\Scripts
下。
到这里,安装基本完成。
python 3
如果你的电脑里面既有py2又有py3。如果你只是将py3配入系统路径,又不想将py2也配入系统路径,那么,建议手动安装aos-cube。
安装需要virtualenv来创建虚拟环境,可以使用virtualenv -p D:\Python27\python.exe xxx\.aos\python-venv
来指定py版本。注意路径。
打开cmd或者cmder执行script目录下面有个activate.bat文件启动py2的虚拟环境。然后安装aos-cube
pip install aos-cube
安装后,打开vscode。如果插件不会提示安装aos-cube,则说明安装完成。
第一个工程
下载alios-things的最新源码git clone https://github.com/alibaba/AliOS-Things.git
。仓库比较大,不建议放C盘。也不要使用alios-things studio的create功能创建工程,不然会clone仓库到C盘。
在vs code打开源码,可以看到下面的工具条。
点击放大镜处,选择以esp32作为编译目标的helloworld例子。
点击√来编译源码,第一次编译会下载对应的gcc。
编译完成
如果一切顺利的话,你可以看到类似于下图一样的结果。
刷入固件
写本文的时候,插件的update功能似乎还存在bug。使用的时候提示esptool.py不存在,因为Windows下面是esptool.exe。
一样的,现在cmd或者cmder中启用py2的虚拟环境,然后执行下面的代码。注意路径。
esptool --chip esp32 --port COM3 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 F:\alios-things\AliOS-Things/platform/mcu/esp32/bsp/bootloader.bin 0x8000 F:\alios-things\AliOS-Things/platform/mcu/esp32/bsp/custom_partitions.bin 0x10000 F:\alios-things\AliOS-Things/out/helloworld@esp32devkitc/binary/helloworld@esp32devkitc.bin
重新排版一下看esptool的option,应该很好理解的。
esptool
--chip esp32
--port COM3
--baud 921600
--before default_reset
--after hard_reset write_flash -z
--flash_mode dio
--flash_freq 40m
--flash_size detect
0x1000 ./platform/mcu/esp32/bsp/bootloader.bin
0x8000 ./platform/mcu/esp32/bsp/custom_partitions.bin
0x10000 ./out/helloworld@esp32devkitc/binary/helloworld@esp32devkitc.bin
最终效果
刷入固件后,可以使用aos monitor COM3 115200
来查看esp32是否正常工作。
更多aos命令可以查看/.vscode/task.json
。
题外话
alios-studio这个vscode插件还没有做到完全开箱即用。因为涉及依赖比较多,增加了上手alios-things的门槛。我一开始安装这个插件的时候也遇到困难,多亏插件开发者帮助才用上alios-studio。如果你在安装过程中遇到困,不妨到GitHub上面找答案。
后面有空还会介绍如何使用JavaScript开发阿里IOT。