初識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。