@page haas_dev_demo JavaScript和Python双引擎运行环境
py_engine (Python轻应用引擎) 以MicroPython为基础打造而成, 基于py_engine可以快速实现IoT场景连云、控端、AI等最常见功能。快速上手文档和编程接口请参考Python轻应用快速上手
py_engine 默认作为一个组件存在于alios things 中。
py_engine_demo 依赖了py_engine 组件,主要功能如下:
py_engine_demo 只有一个appdemo.c,注册了python cli 命令后就退出了,等待用户指令启动python虚拟机
JavaScript轻应用引擎是一套运行在资源受限设备上的轻量级应用软件框架。
业务应用代码脚本化,使用JavaScript脚本迅速构建轻应用。 嵌入式系统底座和应用完全解耦,使得IoT设备端应用生态的广度大幅拓宽。
Runtime采用JavaScript引擎加载用户脚本代码并执行,配合高可用的服务和工具提供应用的在线分发、更新及运维
.
├── haas_dev_demo.c # 该solution核心打印输出代码,入口**application_start**
├── k_app_config.h # 内核组件的配置开关,优先级低于**k_config.h**
├── maintask.c # 系统主任务入口处理,入口**aos_maintask**
├── Makefile # aos make编译时入口
├── package.yaml # 编译系统配置文件
└── SConstruct # Makefile => Scon => aostools
depends:
- py_engine: rel_3.3.0
- amp: rel_3.3.0
该案例只需要连接电源线以及串口线,如下图所示:
AliOS Things开发环境搭建
开发环境的搭建请参考《AliOS Things集成开发环境使用说明之搭建开发环境》,其中详细的介绍了AliOS Things 3.3的IDE集成开发环境的搭建流程。
代码下载 py_engine代码下载请参考《AliOS Things集成开发环境使用说明之创建工程》,其中,
选择解决方案: "haas开发框架JS引擎及Python引擎简单示例" 选择开发板: HaaS200
编译
烧录
由于该demo的资源文件位于/data,分区,因此烧录的时候需要烧录littlefs.bin,方法如下:
haas100将hardware/chip/haas1000/package.yaml文件中以下代码段的注释打开:
program_data_files:
- filename: release/write_flash_tool/ota_bin/littlefs.bin
address: 0xB32000
haas200将hardware/chip/rtl872xd/package.yaml文件中以下代码段的注释打开:
program_data_files:
- filename: prebuild/littlefs.bin
address: 0x08314000
参考[《AliOS Things集成开发环境使用说明之烧录固件》](https://help.aliyun.com/document_detail/302383.html)。
连接串口,通过python命令进入python repl模式
# python
# python on HaaS100 by 2021-03-17, press ctrl+d to exit!
>>> print("hello-world")
hello-world
连接串口,通过amp_example命令进入JavaScript模式
amp_example
执行完后,HaaS200板子上灯会开始闪烁,串口打印出led设置的信息。
该demo只依赖AliOS Things,不依赖具体的硬件,通过这个demo ,默认可以将py_engine 按照两种不同的方式运行。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。