使用HaaS Studio开发Python轻应用

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

前言

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

从左到右依次为:

  1. 切换工程
  2. 语法检测 (仅用于语法检测,编译产物不是最终运行文件)
  3. 推送运行(打包文件并上传到设备并运行Python文件)
  4. 串口监控
  5. 清除
  6. 创建工程

1.4 详细操作

1.4.1 创建工程

  1. 点击 创建工程 按键会弹出 HaaS Studio 的欢迎页面,开发者选择 Python轻应用开发 创建工程。

image.png

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

注意事项

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

image.png

image.png

image.png

image.png

  1. 工程创建完成后,插件会自动打开工作台文件夹,包含 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')



相关文章
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
【深度学习】Python之人工智能应用篇——音频生成技术
音频生成是指根据所输入的数据合成对应的声音波形的过程,主要包括根据文本合成语音(text-to-speech)、进行不同语言之间的语音转换、根据视觉内容(图像或视频)进行语音描述,以及生成旋律、音乐等。它涵盖了声音结构中的音素、音节、音位、语素等基本单位的预测和组合,通过频谱逼近或波形逼近的合成策略来实现音频的生成。 音频生成技术的发展主要依赖于深度学习模型,如循环神经网络(RNN)、长短时记忆网络(LSTM)、Transformer等。这些模型通过学习大量的音频数据,能够自动生成与人类发音相似甚至超越人类水平的音频内容。近年来,随着大规模预训练模型的流行,如GPT系列模型、BERT、T5等,
15 7
【深度学习】Python之人工智能应用篇——音频生成技术
|
3天前
|
机器学习/深度学习 人工智能 算法
【深度学习】python之人工智能应用篇——图像生成技术(二)
图像生成是计算机视觉和计算机图形学领域的一个重要研究方向,它指的是通过计算机算法和技术生成或合成图像的过程。随着深度学习、生成模型等技术的发展,图像生成领域取得了显著的进步,并在多个应用场景中发挥着重要作用。
16 9
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
【自然语言处理】python之人工智能应用篇——文本生成技术
文本生成是指使用自然语言处理技术,基于给定的上下文或主题自动生成人类可读的文本。这种技术可以应用于各种领域,如自动写作、聊天机器人、新闻生成、广告文案创作等。
20 8
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】python之人工智能应用篇--代码生成技术
代码生成技术是人工智能与软件工程交叉领域的一项重要技术,它利用机器学习、自然语言处理和其他AI算法自动编写或辅助编写计算机程序代码。这一技术旨在提高编程效率、降低错误率,并帮助非专业开发者快速实现功能。以下是代码生成技术的概述及其典型应用场景。
16 6
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能】python之人工智能应用篇--数字人生成技术
数字人生成技术是基于人工智能技术和计算机图形学技术创建的虚拟人物形象的技术。该技术能够模拟人类的外貌、声音、动作和交流能力,为多个领域带来创新的应用可能性。数字人的本质是将所有信息(数字和文字)通过数字处理(如计算机视觉、语音识别等)再进行表达的过程,形成具有人类形态和行为的数字产物。 数字人的生成涉及到多种技术,如3D重建技术,使用三维扫描仪扫描人的外观、五官等,并通过3D模型重建三维人;虚拟直播技术,使用计算机技术生成人物或实体,并且可以实时直播、录制;数字人体数据集技术,利用数据构建数字人模型以及训练虚拟现实引擎等
12 4
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
【深度学习】python之人工智能应用篇——视频生成技术
视频生成技术是一种基于深度学习和机器学习的先进技术,它使得计算机能够根据给定的文本、图像、视频等单模态或多模态数据,自动生成符合描述的、高保真的视频内容。这种技术主要依赖于深度学习模型,如生成对抗网络(GAN)、自回归模型(Auto-regressive Model)、扩散模型(Diffusion Model)等。其中,GAN由两个神经网络组成:一个生成器用于生成逼真的图像或视频,另一个判别器用于判断生成的图像或视频是否真实。通过不断的对抗学习,生成器和判别器共同优化,以产生更高质量的视频。
11 2
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】python之人工智能应用篇——3D生成技术
在Python中,人工智能(AI)与3D生成技术的结合可以体现在多个方面,比如使用AI算法来优化3D模型的生成、通过机器学习来预测3D模型的属性,或者利用深度学习来生成全新的3D内容。然而,直接通过AI生成完整的3D模型(如从文本描述中生成)仍然是一个活跃的研究领域。 3D生成技术是一种通过计算机程序从二维图像或文本描述自动创建三维模型的过程。这一技术在近年来得到了飞速的发展,不仅为游戏、动画和影视行业带来了革命性的变革,还在虚拟现实、增强现实以及工业设计等多个领域展现出了巨大的应用潜力
9 2
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】python之人工智能应用篇--游戏生成技术
游戏生成技术,特别是生成式人工智能(Generative Artificial Intelligence, 简称Generative AI),正逐步革新游戏开发的多个层面,从内容创作到体验设计。这些技术主要利用机器学习、深度学习以及程序化内容生成(Procedural Content Generation, PCG)来自动创造游戏内的各种元素,显著提高了开发效率、丰富了游戏内容并增强了玩家体验。以下是生成式AI在游戏开发中的几个关键应用场景概述
8 2
|
7天前
|
数据采集 机器学习/深度学习 人工智能
Python的应用领域
【8月更文挑战第13天】Python的应用领域
18 6
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
【深度学习】python之人工智能应用篇--跨模态生成技术
跨模态生成技术是一种将不同模态的数据(如文本、图像、音频、视频等)进行融合和转换的技术。其目标是通过将一个模态的数据作为输入,生成与之对应的另一个模态的输出。这种技术对于突破单一模态的局限性,提高信息处理的准确性和丰富性具有重要意义。跨模态生成技术主要依赖于深度学习和生成模型,通过学习和模拟不同模态之间的映射关系来实现模态间的转换。
8 1

热门文章

最新文章