如何基于AliOS Things 3.3编译Python固件

Posted HaaS技术社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何基于AliOS Things 3.3编译Python固件相关的知识,希望对你有一定的参考价值。

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、软件实现

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

以上是关于如何基于AliOS Things 3.3编译Python固件的主要内容,如果未能解决你的问题,请参考以下文章

Alios Things 3.3在linksdk中增加OTA功能

一文轻松入门HaaS100诊断调试系统_AliOS Things 3.3

AliOS-Things ESP8266 编译下载

开发者案例不但能联物联网平台还能OTA, 记录在Alios Things 3.3的linksdk中增加OTA的实践

使用HaaS Studio开发AliOS Things C/C++应用

AliOS Things 3.3.0 : KV组件介绍