更优的工具,更方便的语言,使用HaaS Studio开发Python轻应用

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

> 来源 | HaaS技术社区 ##前言 HaaS IDE 迎来大升级。新的HaaS Studio 集 C / JS / Python 三种语言开发于一体,实现了一个插件完成三种应用开发的功能。这里我们重点介绍一下 Python 轻应用操作。烧录方法可参考https://g.alicdn.com/HaaSAI/PythonDoc/quickstart/index.html **提前注意事项** 如果开发者已经安装了 alios-studio 插件, 使用 HaaS-Studio 之前需要先卸载 alios-studio。 在推送Python之前,必须确保HaaS 开发板上已经烧录好了Python固件。 下面我们详细介绍一下插件的原理,操作方式及新增特色功能。

![image.png](https://ucc.alicdn.com/pic/developer-ecology/8149eb4cc2be41659d0f87c9e93747ec.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](https://ucc.alicdn.com/pic/developer-ecology/f4e58d4321904428a9e07224777e2ee6.png)

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

![image.png](https://ucc.alicdn.com/pic/developer-ecology/396d03bdc4cf4bb49a223f88c31cead2.png)

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

![image.png](https://ucc.alicdn.com/pic/developer-ecology/81f3f0d36b5e45aaaed290ff9db6e1c5.png)

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

![image.png](https://ucc.alicdn.com/pic/developer-ecology/c9254dc864f048a9ad36d7bfa768126b.png)

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

![image.png](https://ucc.alicdn.com/pic/developer-ecology/fe0fd7d70d894e3fa415ec52eb230209.png)

根据创建工程向导,开发者输入/选择相关的信息即可。下面以创建 跑马灯 示例程序为例(python_gpio)演示工程创建: ``` 注意事项 文件夹不要有中文,空格及其他异常字符。 ```  

![image.png](https://ucc.alicdn.com/pic/developer-ecology/f28abf4555e64af2a9c3f59b3b598842.png) ![image.png](https://ucc.alicdn.com/pic/developer-ecology/0b7e8034c11543dfa9b62e4b6a15fdcd.png) ![image.png](https://ucc.alicdn.com/pic/developer-ecology/2b9f403c291e475abaa446b69b30529f.png) ![image.png](https://ucc.alicdn.com/pic/developer-ecology/f0673570b9184bfd8ed94b490306269b.png)

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

![image.png](https://ucc.alicdn.com/pic/developer-ecology/eb0c1b1b88db4cfd9d49645c589dc43c.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](https://ucc.alicdn.com/pic/developer-ecology/1d4e44c4c5f94b17b9b3b59af70696ef.png)

串口本地更新

![image.png](https://ucc.alicdn.com/pic/developer-ecology/6aeda20496614066bba92d587cdefbff.png) ![image.png](https://ucc.alicdn.com/pic/developer-ecology/c098a4b5bdcb48c5afc084aeba7a13f3.png)

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

![image.png](https://ucc.alicdn.com/pic/developer-ecology/2ccad858911a41cfae7e1f80c3a6c014.png)

更新完成后,会在 .vscode 文件下生成 update.json 文件,文件记录了当前烧录模式及串口配置信息。后续更新操作会使用该文件里面的内容作为配置。 如果开发者的串口名称或波特率发生变化,可以直接修改内容;或者删除 update.json 文件,下次更新的时候会根据用户的输入重新生成该文件。

![image.png](https://ucc.alicdn.com/pic/developer-ecology/38fb34b5b8f547c7aaf9b0b58f52bf57.png)

云端在线更新 开发者首先需要获取设备的 devicename, 并参考 [3、申请token并绑定设备](https://dev.g.alicdn.com/HaaSAI/PythonDoc/quickstart/quickstart_ide_haasstudio.html#request-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](https://ucc.alicdn.com/pic/developer-ecology/2940c39f41124ac9b63a7576b39be876.png) ![image.png](https://ucc.alicdn.com/pic/developer-ecology/61e6216ebdeb4facbefcc31c1ab0519f.png)

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

![image.png](https://ucc.alicdn.com/pic/developer-ecology/a36670e43e6646ef963b50c0ab9fc43d.png)

更新完成后,同样会在 .vscode 文件下生成 update.json 文件。开发者可以直接修改 mode 数值实现两种更新模式的切换: ``` 1 表示串口本地更新 0 表示云端在线更新 ```   ##2、文件推送 haas-studio可以推送任意格式的文件,文件会被推送到设备的 /data/pyamp 路径。开发者仅需要把需要推送的文件放置到当前工程下,重新点击 推送运行 即可。 下图是以 board.json 文件为例,目前使用的工程为 python_gpio 。开发者只需要把配置文件放到工程目录下即可实现推送。 board.json 文件将被推送到 data/pyamp 文件夹下。

![image.png](https://ucc.alicdn.com/pic/developer-ecology/7e5985560efb4007b33cedb6ab325ce9.png)

提前注意事项 文件会被推送到设备的 /data/pyamp 路径下。 ##3、申请token并绑定设备 开发者按照下图所示的信息,发送邮件到 aliosthings@service.aliyun.com ,申请token并绑定设备。 具体操作流程请参考

![image.png](https://ucc.alicdn.com/pic/developer-ecology/56455429a423479eaee9dab4fad52b7c.png)

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

![image.png](https://ucc.alicdn.com/pic/developer-ecology/6350c906ca424eaab3a3fed29849b555.png)

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

![image.png](https://ucc.alicdn.com/pic/developer-ecology/f52e8c92241844b8bb96d115290cd5a5.png)

如果用户遇到下面的提示信息,则表明当前已经有一个 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') ```

相关文章
|
1天前
|
算法 Serverless 数据处理
从集思录可转债数据探秘:Python与C++实现的移动平均算法应用
本文探讨了如何利用移动平均算法分析集思录提供的可转债数据,帮助投资者把握价格趋势。通过Python和C++两种编程语言实现简单移动平均(SMA),展示了数据处理的具体方法。Python代码借助`pandas`库轻松计算5日SMA,而C++代码则通过高效的数据处理展示了SMA的计算过程。集思录平台提供了详尽且及时的可转债数据,助力投资者结合算法与社区讨论,做出更明智的投资决策。掌握这些工具和技术,有助于在复杂多变的金融市场中挖掘更多价值。
22 12
|
2天前
|
JavaScript 前端开发 Android开发
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
34 13
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
4天前
|
数据采集 JavaScript Android开发
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
29 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
4天前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
23 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
|
4天前
|
人工智能 测试技术 数据处理
通义灵码 2.0 体验报告:Deepseek 加持下的 Python 开发之旅
通义灵码 2.0 体验报告:Deepseek 加持下的 Python 开发之旅
57 11
|
8天前
|
API Python
python泛微e9接口开发
通过POST请求向指定IP的API注册设备以获取`secrit`和`spk`。请求需包含`appid`、`loginid`、`pwd`等头信息。响应中包含状态码、消息及`secrit`(注意拼写)、`secret`和`spk`字段。示例代码使用`curl`命令发送请求,成功后返回相关信息。
30 5
|
22天前
|
人工智能 开发者 Python
Chainlit:一个开源的异步Python框架,快速构建生产级对话式 AI 应用
Chainlit 是一个开源的异步 Python 框架,帮助开发者在几分钟内构建可扩展的对话式 AI 或代理应用,支持多种工具和服务集成。
137 9
|
28天前
|
存储 SQL 大数据
Python 在企业级应用中的两大硬伤
关系数据库和SQL在企业级应用中面临诸多挑战,如复杂SQL难以移植、数据库负担重、应用间强耦合等。Python虽是替代选择,但在大数据运算和版本管理方面存在不足。SPL(esProc Structured Programming Language)作为开源语言,专门针对结构化数据计算,解决了Python的这些硬伤。它提供高效的大数据运算能力、并行处理、高性能文件存储格式(如btx、ctx),以及一致的版本管理,确保企业级应用的稳定性和高性能。此外,SPL与Java无缝集成,适合现代J2EE体系应用,简化开发并提升性能。
|
1月前
|
测试技术 数据库 Python
Python装饰器实战:打造高效性能计时工具
在数据分析中,处理大规模数据时,分析代码性能至关重要。本文介绍如何使用Python装饰器实现性能计时工具,在不改变现有代码的基础上,方便快速地测试函数执行时间。该方法具有侵入性小、复用性强、灵活度高等优点,有助于快速发现性能瓶颈并优化代码。通过设置循环次数参数,可以更准确地评估函数的平均执行时间,提升开发效率。
106 61
Python装饰器实战:打造高效性能计时工具
|
1月前
|
人工智能 Python
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
56 7

推荐镜像

更多