1. 案例簡介
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 中。
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: dev_aos
增加頭文件
#include "mpy_main.h"
調用初始化方法
mpy_init();
mpy_run(argc, argv);
3. 物料清單
3.1 HaaS100 硬件
4. 案例實現
4.1 硬件連接
該案例只需要連接電源線以及串口線,如下圖所示:
4.2 軟件實現
AliOS Things開發環境搭建 開發環境的搭建請參考《AliOS Things集成開發環境使用說明之搭建開發環境》,其中詳細的介紹了AliOS Things 3.3的IDE集成開發環境的搭建流程。
py_engine代碼下載 py_engine代碼下載請參考《AliOS Things集成開發環境使用說明之創建工程》,其中,
說明選擇解決方案:"micropython示例"。
說明選擇開發板:HaaS100。
燒錄 由于該demo的資源文件位于/data,分區,因此燒錄的時候需要燒錄littlefs.bin,方法如下: 將hardware/chip/haas1000/package.yaml文件中以下代碼段的注釋打開。
program_data_files:
- filename: release/write_flash_tool/ota_bin/littlefs.bin
address: 0xB32000
參考[《AliOS Things集成開發環境使用說明之燒錄固件》](http://bestwisewords.com/document_detail/302383.html)。
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,不依賴具體的硬件,通過這個demo ,默認可以將py_engine 按照兩種不同的方式運行。