1@page py_engine_demo python轻应用示例合集 2 3[更正文档](https://gitee.com/alios-things/py_engine_demo/edit/master/README.md)      [贡献说明](https://help.aliyun.com/document_detail/302301.html) 4 5# 1. 案例简介 6 7py_engine (Python轻应用引擎) 以MicroPython为基础打造而成, 基于py_engine可以快速实现IoT场景连云、控端、AI等最常见功能。快速上手文档和编程接口请参考[Python轻应用快速上手](https://g.alicdn.com/HaaSAI/PythonDoc/quickstart/index.html) 8* 连云:支持基于linkit连接阿里云物联网平台 9* 控端:支持PWD、UART、SPI、I2C、ADC、DAC、GPIO等基本硬件接口控制 10* AI:支持端上AI和云端AI能力,覆盖人脸、人体、视频、文字等150+场景 11 12py_engine 默认作为一个组件存在于alios things 中。 13 14py_engine_demo 依赖了py_engine 组件,主要功能如下: 15 16* 注册python命令 17* 启动python虚拟机 18 19py_engine_demo 只有一个appdemo.c,注册了python cli 命令后就退出了,等待用户指令启动python虚拟机 20 21# 2. 基础知识 22## 2.1 组件依赖方法 23* 在package.yaml 中增加py_engine组件依赖 24```yaml 25 depends: 26 - py_engine: master 27``` 28* 增加头文件 29```c 30 #include "mpy_main.h" 31``` 32 33* 调用初始化方法 34```c 35 mpy_init(); 36 mpy_run(argc, argv); 37``` 38 39 40 41# 3. 物料清单 42 43## 3.1 HaaS100 硬件 44 45[HaaS100 硬件简介](https://help.aliyun.com/document_detail/184426.html) 46 47<img src="https://img.alicdn.com/imgextra/i4/O1CN01XxD6Xo217CB3FZnEU_!!6000000006937-2-tps-746-497.png" style="max-width:800px;" /> 48 49# 4. 案例实现 50 51## 4.1 硬件连接 52该案例只需要连接电源线以及串口线,如下图所示: 53 54<img src="https://img.alicdn.com/imgextra/i2/O1CN01S9jkJw1dihpqURQH4_!!6000000003770-0-tps-1280-960.jpg" style="max-width:800px;" /> 55 56## 4.2 软件实现 57 58 59 60* AliOS Things开发环境搭建 61 62 开发环境的搭建请参考[《AliOS Things集成开发环境使用说明之搭建开发环境》](https://help.aliyun.com/document_detail/302378.html),其中详细的介绍了AliOS Things 3.3的IDE集成开发环境的搭建流程。 63 64 65* py_engine代码下载 66 py_engine代码下载请参考[《AliOS Things集成开发环境使用说明之创建工程》](https://help.aliyun.com/document_detail/302379.html),其中, 67 > 选择解决方案: "micropython示例" 68 69 > 选择开发板: HaaS100 70 71 72* 编译 73 74 参考 [《AliOS Things集成开发环境使用说明之编译固件》](https://help.aliyun.com/document_detail/302384.html)。 75 76 77* 烧录 78 79 由于该demo的资源文件位于/data,分区,因此烧录的时候需要烧录littlefs.bin,方法如下: 80 81 将hardware/chip/haas1000/package.yaml文件中以下代码段的注释打开 82 83```yaml 84 program_data_files: 85 - filename: release/write_flash_tool/ota_bin/littlefs.bin 86 address: 0xB32000 87``` 88 89 参考[《AliOS Things集成开发环境使用说明之烧录固件》](https://help.aliyun.com/document_detail/302383.html)。 90 91## 4.3 验证Python功能 92 93连接串口,通过python命令进入python repl模式 94```sh 95# python 96# python on HaaS100 by 2021-03-17, press ctrl+d to exit! 97>>> print("hello-world") 98hello-world 99``` 100 101# 5. 总结 102 103该demo只依赖AliOS Things,不依赖具体的硬件,通过这个demo ,默认可以将py_engine 按照两种不同的方式运行。 104 105 106