当前位置:主页 > 查看内容

使用HaaS Studio开发Python轻应用

发布时间:2021-07-25 00:00| 位朋友查看

简介:前言 HaaS Studio 集 C / JS / Python 三种语言开发于一体 实现了一个插件完成三种应用开发的功能。这里我们重点介绍一下 Python 轻应用操作。 提前注意事项 如果开发者已经安装了 alios-studio 插件 使用 HaaS-Studio 之前需要先卸载 alios-studio。 下面我……
前言

HaaS Studio 集 C / JS / Python 三种语言开发于一体 实现了一个插件完成三种应用开发的功能。这里我们重点介绍一下 Python 轻应用操作。


提前注意事项

如果开发者已经安装了 alios-studio 插件 使用 HaaS-Studio 之前需要先卸载 alios-studio。


下面我们详细介绍一下插件的原理 操作方式及新增特色功能。

image.png

1、操作介绍1.1 安装VS Code

开发者首先需要到微软的官方网站上下载 VS Code 安装包并进行安装 VS Code安装包要求不低于版本 1.57。


VS Code安装包下载网站为 https://code.visualstudio.com/

系统推荐

推荐 Windows 系统版本为 win10 MacOS 版本不低于 10.15。


1.2 安装插件

安装完 VS Code 之后 开发者按照下图的指示完成 haas-studio 插件的安装。

image.png

1.3 按钮介绍

插件安装完成后 如果你当前的 VS Code 未打开任何工作台 则 VS Code 左下角的状态栏只会显示 新建工程 的图标

image.png


如果你已经打开了某个工作台 则会在 VS Code 底部的状态栏显示如下一排按钮

image.png

将鼠标悬浮在相关按钮即可显示该按钮的具体功能 各个按钮的功能如下

image.png

从左到右依次为

切换工程
语法检测 仅用于语法检测 编译产物不是最终运行文件)
推送运行 打包文件并上传到设备并运行Python文件
串口监控
清除
创建工程
1.4 详细操作1.4.1 创建工程点击 创建工程 按键会弹出 HaaS Studio 的欢迎页面 开发者选择 Python 轻应用开发 创建工程。

image.png

根据创建工程向导 开发者输入/选择相关的信息即可。下面以创建 跑马灯 示例程序为例(python_gpio)演示工程创建

注意事项

文件夹不要有中文 空格及其他异常字符。

image.png

image.png

image.png

image.png

工程创建完成后 插件会自动打开工作台文件夹 包含 python API接口文件 amp推送工具 solutions 示例工程等。

image.png

D 同时我们也可以看到右侧的示例代码 ( 示例代码是针对 HaaS100 硬件设计的 如果想在 HaaS EDU K1 使用该示例代码 需要修改第7行的内容如下 )

leds ( led_r , led_g , led_b )



1.4.2 语法检测

点击 语法检测 按钮即可实现对工程的语法编译。 这里的编译仅实现对Python文件的语法检测 其生成的pyc文件也不是最终设备运行时候使用的文件。


开发者可以直接跳过这一步操作。


1.4.3 推送执行

Python支持文件解析执行 点击 推送并执行 按钮实行 Python 文件上传到设备端。目前支持两种推送方式

串口本地更新
云端在线更新


开发者点击 推送执行 按钮后 会弹出如下的窗口让开发者选择 接下来我们分别介绍两种更新方式。

image.png


1.4.3.1 串口本地更新

image.png

image.png

之后会弹出如下所示的提示框及输出信息。 开发者 需要重启设备 完成更新及自动运行操作。

image.png

更新完成后 会在 .vscode 文件下生成?update.json?文件 文件记录了当前烧录模式及串口配置信息。后续更新操作会使用该文件里面的内容作为配置。


如果开发者的串口名称或波特率发生变化 可以直接修改内容 或者删除?update.json?文件 下次更新的时候会根据用户的输入重新生成该文件。

image.png

1.4.3.2 云端在线更新

开发者首先需要获取设备的 devicename, 并参考 3、申请token并绑定设备 申请token并绑定设备。


在获取kv值之前开发者需要连接网络。在命令行 CLI 模式下通过下面的命令连接 WiFi:

python /data/python-apps/wifi/main.py wifi_ssid wifi_password


联网成功后 输入下面的命令得到 devicename

kv get _amp_internal_devicename


命令执行后可以得到下面的输出

value is haas_xxxxxxxxxxxxxxx


image.png

image.png

之后会弹出如下所示的提示框及输出信息 开发者 不需要需要重启设备 文件更新完成后会自动重启设备运行。

image.png

更新完成后 同样会在 .vscode 文件下生成?update.json?文件。开发者可以直接修改?mode?数值实现两种更新模式的切换

1 表示串口本地更新
0 表示云端在线更新
2、文件推送

haas-studio可以推送任意格式的文件 文件会被推送到设备的?/data/pyamp?路径。开发者仅需要把需要推送的文件放置到当前工程下 重新点击 推送运行 即可。


下图是以 board.json 文件为例 目前使用的工程为 python_gpio 。开发者只需要把配置文件放到工程目录下即可实现推送。 board.json 文件将被推送到 data/pyamp 文件夹下。

image.png

提前注意事项

文件会被推送到设备的?/data/pyamp?路径下。

3、申请token并绑定设备

开发者按照下图所示的信息 发送邮件到 aliosthings service.aliyun.com 申请token并绑定设备。 具体操作流程请参考 在线热更新

image.png

4、其他目前串口终端和本地文件上传使用相同的terminal页面 所以如果插件功能有任何异常 请先关闭当前terminal。关闭后请重新触发相关操作。

image.png

如果在update的过程中遇到下面的提示 请重新插拔 USB 数据线并重新起送更新。

image.png

3、如果用户遇到下面的提示信息 则表明当前已经有一个 Python 引擎在运行中。

Python is running, cannot start another engine


可以通过两种方式解决这个问题

在 CLI 模式下重命名 /data/pyamp/main.py 文件 譬如
mv /data/pyamp/main.py /data/pyamp/main.py-bak

或者重新推送一个空的 main.py 文件到系统上 空的 main.py 文件中内容如下

# -*- coding: UTF-8 -*-
if __name__ __main__ :
 print( Hello Python )




本文转自网络,原文链接:https://developer.aliyun.com/article/785596
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐