來源 | HaaS技術社群
1、案例簡介
AliOS Things 3.3 中自帶了一個py_engine 解決方案(solution), 該解決方案就是在AliOS Things 3.3 運作Python環境。
py_engine (Python輕應用引擎) 以MicroPython為基礎打造而成, 基于py_engine可以快速實作IoT場景連雲、控端、AI等最常見功能。快速上手文檔和程式設計接口請參考
Python輕應用快速上手- 連雲:支援基于linkit連接配接阿裡雲物聯網平台
- 控端:支援PWD、UART、SPI、I2C、ADC、DAC、GPIO等基本硬體接口控制
- AI:支援端上AI和雲端AI能力,覆寫人臉、人體、視訊、文字等150+場景
py_engine 預設作為一個元件存在于AliOS Things 3.3 中。
py_engine_demo 依賴了py_engine 元件,主要功能如下:
- 注冊python指令
- 啟動python虛拟機
py_engine_demo 隻有一個appdemo.c,注冊了python cli 指令後就退出了,等待使用者指令啟動python虛拟機。
2、基礎知識
2.1、元件依賴方法
在package.yaml 中增加py_engine元件依賴
depends:
- py_engine: master
增加頭檔案
#include "mpy_main.h"
調用初始化方法
mpy_init();
mpy_run(argc, argv);
3、物料清單
3.1、HaaS EDU K1 硬體
HaaS EDU K1硬體介紹4、案例實作
4.1、硬體連接配接
該案例隻需要使用Type-c的資料線将HaaS EDU K1連接配接電腦就可以,如下圖所示:
4.2、軟體實作
- AliOS Things開發環境搭建
開發環境的搭建請參考
《aos-studio使用說明之搭建開發環境》,其中詳細的介紹了AliOS Things 3.3的IDE內建開發環境的搭建流程。
- py_engine代碼下載下傳 py_engine代碼下載下傳請參考 《aos-studio使用說明之建立工程》 ,其中, > 選擇解決方案: "micropython示例"
選擇開發闆: haaseduk1
- 編譯
參考
《aos-studio使用說明之編譯固件》。
- 燒錄
由于該demo的資源檔案位于/data,分區,是以燒錄的時候需要燒錄littlefs.bin,方法如下:
将hardware/chip/haas1000/package.yaml檔案中以下代碼段的注釋打開
program_data_files:
- filename: release/write_flash_tool/ota_bin/littlefs.bin
address: 0xB32000
《aos-studio使用說明之燒錄固件》 4.3、驗證Python功能
連接配接序列槽,通過python指令進入python repl模式
# python
# python on HaaS100 by 2021-03-17, press ctrl+d to exit!
>>> print("hello-world")
hello-world
5、總結
該demo隻依賴AliOS Things 3.3,不依賴具體的硬體,通過這個demo ,預設可以将py_engine 按照兩種不同的方式運作。
開發者支援
如需更多技術支援,可加入釘釘開發者群,或者關注微信公衆号。
更多技術與解決方案介紹,請通路HaaS官方網站
https://haas.iot.aliyun.com