• Home
  • Annotate
  • current directory
Name Date Size #Lines LOC

..29-Oct-2021-

adapter/29-Oct-2021-

engine/29-Oct-2021-

external/29-Oct-2021-

framework/29-Oct-2021-

libs/haas1000/29-Oct-2021-

modules/29-Oct-2021-

tests/29-Oct-2021-

.gitignore A D29-Oct-202131 43

Config.in A D29-Oct-2021177 108

README.md A D29-Oct-20214.8 KiB144103

aos.mk A D29-Oct-202114.5 KiB371313

package.yaml A D29-Oct-202112.4 KiB

py_engine_prepare.py A D29-Oct-20214.9 KiB142102

README.md

1@page py_engine py_engine
2
3[更正文档](https://gitee.com/alios-things/py_engine/edit/master/README.md)      [贡献说明](https://help.aliyun.com/document_detail/302301.html)
4
5# 概述
6py_engine (Python轻应用引擎) 以MicroPython为基础打造而成.可以快速实现IoT场景连云、控端、AI等最常见功能。快速上手文档和编程接口请参考[Python轻应用编程参考](https://g.alicdn.com/HaaSAI/PythonDoc/quickstart/index.html)
7组件支持以下功能:
8- 连云:支持基于linkSDK连接阿里云物联网平台
9- 控端:支持PWD、UART、SPI、I2C、ADC、DAC、GPIO等基本硬件接口控制
10- AI:支持端上AI和云端AI能力,覆盖人脸、人体、视频、文字等150+场景
11
12## 版权信息
13> Apache license v2.0
14
15## 目录结构
16```tree
17py_engine
18├── adaptor                 # 平台适配层
19  |- haas
20  |- haas506
21  |- haas510
22├── engine                  # 引擎核心层
23├── external                # 外部适配库
24├── framework               # Python 架构层,用来存放应用层适配文件
25├── tests                   # 测试框架及测试集
26├── package.yaml            # 编译配置文件
27├── create_python_home.py   # 系统编译python文件,用来编译不同的文件到系统中
28└── README.md               # 帮助文档
29
30```
31
32## 依赖组件
33* rhino
34* cli
35* haas100
36* osal_aos
37* ulog
38* kv
39* mbedtls
40* cjson
41* fatfs
42* haas1000
43* vfs
44
45# 常用配置
46系统中相关配置已有默认值,如需修改配置,统一在yaml中**def_config**节点修改,具体如下:
47> AOS_COMP_VFS: 默认1, 如需修改,在yaml中修改AOS_COMP_VFS配置
48
49```yaml
50def_config:
51  AOS_COMP_VFS: 1
52```
53  > fatfs,默认1,可按照实际需要修改yaml配置如:
54```yaml
55  def_config:
56    AOS_COMP_FATFS: 2
57```
58
59# API说明
6061
62# 使用示例
63
64组件使用示例相关的代码下载、编译和固件烧录均依赖AliOS Things配套的开发工具,所以首先需要参考[《AliOS Things集成开发环境使用说明之搭建开发环境》](https://help.aliyun.com/document_detail/302378.html),下载安装。
65待开发环境搭建完成后,可以按照以下步骤进行示例的测试。
66
67## 步骤1 创建或打开工程
68
69**打开已有工程**
70
71如果用于测试的案例工程已存在,可参考[《AliOS Things集成开发环境使用说明之打开工程》](https://help.aliyun.com/document_detail/302381.html)打开已有工程。
72
73**创建新的工程**
74
75组件的示例代码可以通过编译链接到AliOS Things的任意案例(solution)来运行,这里选择helloworld_demo案例。helloworld_demo案例相关的源代码下载可参考[《AliOS Things集成开发环境使用说明之创建工程》](https://help.aliyun.com/document_detail/302379.html)76
77## 步骤2 添加组件
78
79案例下载完成后,需要在helloworld_demo组件的package.yaml中添加对组件的依赖:
80
81```yaml
82depends:
83  - py_engine: master # helloworld_demo中引入py_engine组件
84```
85
86## 步骤3 下载组件
87
88在已安装了  的开发环境工具栏中,选择Terminal -> New Terminal启动终端,并且默认工作路径为当前工程的workspace,此时在终端命令行中输入:
89
90```shell
91
92aos install py_engine
93
94```
95
96上述命令执行成功后,组件源码则被下载到了./components/py_engine路径中。
97
98## 步骤4 添加示例
99
100> 在py_engine组件的CMakeLists.txt 文件 file(GLOB SOURCEFILE "") 语句后面添加example配置:
101```yaml
102include(${EXAMPLEDIR}/aos.mk)
103```
104
105## 步骤5 编译固件
106
107在示例代码已经添加至组件的配置文件,并且helloworld_demo已添加了对该组件的依赖后,就可以编译helloworld_demo案例来生成固件了,具体编译方法可参考[《AliOS Things集成开发环境使用说明之编译固件》](https://help.aliyun.com/document_detail/302384.html)108
109## 步骤6 烧录固件
110
111helloworld_demo案例的固件生成后,可参考[《AliOS Things集成开发环境使用说明之烧录固件》](https://help.aliyun.com/document_detail/302383.html)来烧录固件。
112
113## 步骤7 打开串口
114
115固件烧录完成后,可以通过串口查看示例的运行结果,打开串口的具体方法可参考[《AliOS Things集成开发环境使用说明之查看日志》](https://help.aliyun.com/document_detail/302382.html)116
117当串口终端打开成功后,可在串口中输入help来查看已添加的测试命令。
118
119## 步骤8 测试示例
120
121> CLI命令行输入:
122```sh
123python
124```
125
126**关键日志**
127
128> CLI日志:
129```sh
130start micropython!
131```
132
133# 注意事项
134如果需要使用py_engine,就需要对接两个接口:**mpy_init** and **mpy_run**。(declare in `mpy_main.h`)
135```
136
137# FAQ
138Q1: python 使用示例?
139> from driver import ADC
140> adc = ADC()
141> adc.open("ADC0")
142> value = adc.read()
143> adc.close()
144