阿里IOT快速上手
初識AliOS Things
ofollow,noindex">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。

C/C++

alios-stuido
安裝完alios-studio後,外掛會提示是否安裝aos。點選YES,讓外掛幫忙安裝aos。如果安裝成功了,則會在使用者目錄下產生一個.aos的資料夾 C:\Users\lenovo\.aos
,類似於這樣子的的目錄結構:

.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開啟原始碼,可以看到下面的工具條。

image.png
點選放大鏡處,選擇以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/[email protected]
重新排版一下看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/[email protected]
最終效果
刷入韌體後,可以使用 aos monitor COM3 115200
來檢視esp32是否正常工作。

hello world
更多aos命令可以檢視 /.vscode/task.json
。
題外話
alios-studio這個vscode外掛還沒有做到完全開箱即用。因為涉及依賴比較多,增加了上手alios-things的門檻。我一開始安裝這個外掛的時候也遇到困難,多虧外掛開發者幫助才用上alios-studio。如果你在安裝過程中遇到困,不妨到 GitHub 上面找答案。