十年嵌入式工程师,看到如今开发方式彻底震惊了

简介: 一个工作十年的嵌入式工程师,做过各种嵌入式项目,从单片机裸程序、RTOS到Linux也都玩过。那一套从编码-编译-烧录-测试的开发方式已深入内心。当新来的95后同事给他演示了使用轻应用开发物联网应用之后,他彻底震惊了,他第一次知道还可以如此方便的使用Python来开发嵌入式应用,他感叹到:当时代要将你抛弃的时候,连招呼都不跟你打。

一个工作十年的嵌入式工程师,做过各种嵌入式项目,从单片机裸程序、RTOS到Linux也都玩过。那一套从编码-编译-烧录-测试的开发方式已深入内心。当新来的95后同事给他演示了使用轻应用开发物联网应用之后,他彻底震惊了,他第一次知道还可以如此方便的使用Python来开发嵌入式应用,他感叹到:当时代要将你抛弃的时候,连招呼都不跟你打。

接下来带开发者们看看HaaS轻应用(Python)开发方式到底是什么样的。

前言

Python作为一种高级语言,借助于交互式解释器(Read Eval Print Loop:REPL)解释执行。这意味着其可以逐条执行,随时查看变量信息,这对在IoT设备上调试非常方便。传统的调试方式都是先逐行调试相关功能,在一定阶段后将相关功能集成到一个Python文件,通过Python命令直接解析执行。在集成调试阶段,我们经常会增加,删除,修改部分文件,并拷贝修改后的文件到SD卡上执行。这虽然节省了编译时间,但是重复的插拔SD卡为开发工作引入了了额外的操作,最好是能够实现一键推送。

借鉴alios-studio现有功能的交互功能,增加了针对Python轻应用的相关底层实现,重新打造了新的VS code插件amp-python,实现Python轻应用工程创建,编译,上传和运行一站式的开发环境,极大地方便开发者的Python轻应用开发。下面我们详细介绍一下新插件的原理,操作方式及新增特色功能。

amp-python是专门为Python轻应用打造的VS code开发环境,开发者可以利用该插件推送任意文件到HaaS设备上。amp-python已经发布到VS code插件市场,开发者直接搜索并安装amp-python即可。

image.png

1、工作原理

image.png

开发者首先选择创建工程,此时插件会从“轻应用市场”获取应用列表并展示在VScode页面上。开发者可以选择关心的应用并按照提示完成工程创建。插件后台会顺序执行下列操作:

1)下载并解压应用zip包到用户选择的工作台;

2)获取github仓库上的Python语法库,该语法库为Python开发提供自动补齐和高亮功能。

应用创建完成后,开发者可以编辑相关代码,编译工程以进行语法检测。在编译成功后启动Tftp将工程文件打包上传到HaaS设备的SD卡,同时触发Python文件的运行以实现板级运行和功能检测。

2、操作介绍

2.1、安装插件

开发者按照下图的指示,即可完成amp-python插件的安装。

image.png

因amp-python使用跟alios-studio相同的框架开发,所以两个插件存在部分status bar重复的地方,在UI视图上会引起混乱:

image.png

所以建议先关掉alios-studio插件,右键点击status bar的空白处,在弹出的选项列表里点击alios-studio即可。

image.png

2.2、按钮介绍

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

image.png

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

image.png

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

3C58CF66-A2F6-4E13-84C0-E434A9676F7E.png

2.3、详细操作

  • 新建工程:image.png

点击“新建工程”按键,会弹出轻应用市场上的Python工程。选择关心的工程

image.png

根据提示输入项目名称,点击回车是使用应用名称(python_demo1)作为工程名称。这里我们不做更改,直接回车。

image.png

之后指定你的工作台路径即可。插件会自动创建工作台路径文件夹。

image.png

工程创建完成后,插件会自动打开工作台文件夹,点击solutions展开可以看到你同步下来的示例工程

image.png

  • 编译工程:image.png

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

  • 文件打包并通过TFTP上传image.png

点击上传按钮即可开始Python文件的上传,首次上传的时候会扫描wifi信息,请耐心等待。

上传通过TFTP实现,需要输入WIFI及串口配置相关信息,根据插件界面弹出的提示选择相关配置,wifi账号需要选择同PC连接的同一个WIFI网络。

上传文件的过程中会通过串口控制设备,所以在启动上传之前需要关闭调试终端,建议点击terminal的“kill terminal”按钮即可关闭当前串口。

image.png

下面显示的是配置系统信息相关页面,注意最后一项串口的波特率需要选择1500000

image.png

这里需要确保选择的wifi账号跟PC使用的wifi账号相同。譬如当前电脑使用的KIDS,所以上面的wifi也需要选择KIDS。

image.png

image.png

image.png

image.png

image.png

操作完成后,会弹出系统配置确认窗口,确认信息配置是否正确。

image.png

上述所有选择仅在首次启动TFTP上传的时候出现,插件会记录配置信息,后续操作无需再做选择。

启动TFTP应用上传后,我们就可以看到终端有tftp相关的Python执行输出,所有信息都会在terminal的输出行显示:

image.png

  • 更改系统配置image.png

如果开发者需要修改wifi信息和串口配置信息,可以点击更改系统配置选项进行重新设置。具体页面操作同上,这里不做赘述。

3、增强功能

首次文件上传后会在.vscode文件下生成tftpcfg.json文件,里面存储了TFTP传输的配置信息。开发者可以手动修改这里的信息,实现配置信息的快捷修改。

image.png

4、其他

目前串口终端和tftp文件上传使用相同的terminal页面,任何异常都可以通过先关闭当前terminal后重新操作尝试解决。

技术交流

Python轻应用继承了Python易学易用的特点,同时提供了基于嵌入式硬件的基础库封装,让开发者可以很方便的通过交互式的环境,实时进行嵌入式开发,让嵌入式开发也变得简单方便。如需更多技术支持,可加入钉钉开发者群,享受一对一的技术支持。

image.png

相关文章
|
人工智能 监控 测试技术
利用AI辅助工具提升软件测试效率
【2月更文挑战第17天】 随着科技的不断发展,人工智能(AI)在各个领域的应用越来越广泛。在软件测试领域,AI技术也发挥着重要作用。本文将探讨如何利用AI辅助工具提升软件测试效率,包括自动化测试、智能缺陷识别和预测等方面。通过引入AI技术,软件测试过程将变得更加高效、准确和可靠。
945 1
|
4月前
|
数据采集 人工智能 前端开发
AI智能体如何从错误中学习:反思机制详解
探索AI智能体的反思能力:从哲学思考到技术实现,看AI如何像人类一样从错误中学习和成长。通过轻松有趣的方式,深入了解Reflexion和ReAct等前沿框架,掌握让AI更智能的核心秘密。
|
传感器 算法 安全
嵌入式工程师需要掌握哪些技术?
嵌入式系统是科技核心,涉及生活多领域。入行需掌握C/C++编程,理解硬件基础如电路与处理器架构,熟悉RTOS及操作系统原理,掌握通信协议如UART、I2C,擅长调试与领域知识,如汽车、医疗。综合软硬件、设计、算法、网络、安全及团队协作能力,方能胜任嵌入式开发。
304 7
|
机器学习/深度学习 算法 Python
使用Python实现深度学习模型:元学习与模型无关优化(MAML)
使用Python实现深度学习模型:元学习与模型无关优化(MAML)
889 0
使用Python实现深度学习模型:元学习与模型无关优化(MAML)
|
架构师 前端开发 Java
Java开发工程师的职业规划应该是什么样的?
Java开发工程师的职业规划涵盖多个阶段,包括初入行业(0-1年)、技能提升(1-3年)、技术专家(3-5年)及管理或专家路线选择(5年以上)。各阶段设定了明确的技能要求与职业目标,从掌握Java基础、常用框架到深入研究高级技术、微服务架构乃至担任管理职务或成为技术专家。通过持续学习与实践,结合个人兴趣,Java工程师可在技术或管理领域找到合适的发展方向,最终实现职业成功。
1619 83
|
11月前
|
人工智能 自动驾驶 机器人
AI元年:2024年人工智能发展大事纪
3分钟了解2024年人工智能AI领域都发生了哪些改变我们生活和生产方式的大事儿。
1633 2
AI元年:2024年人工智能发展大事纪
|
11月前
|
人工智能 搜索推荐
AI视频技术的发展是否会影响原创内容的价值
AI视频技术的发展显著降低了视频制作的门槛与成本,自动完成剪辑、特效添加等繁琐工作,大大缩短创作时间。它提供个性化创意建议,帮助创作者突破传统思维,拓展创意边界。此外,AI技术使更多非专业人士也能参与视频创作,注入新活力与多样性,丰富了原创内容。总体而言,AI视频技术不仅提升了创作效率,还促进了视频内容的创新与多样化。
|
11月前
|
数据可视化 搜索推荐 数据挖掘
从理念到实践:电商协作创新的实现路径
在竞争激烈的电商行业,团队亟需解决资源有限下的高效协作与客户满意度提升问题。传统模式存在部门割裂、信息不对称及管理效率低等痛点。创新服务模式通过搭建一体化平台、数据驱动和实时反馈,打破信息壁垒,实现多部门高效协作与智能化服务,借助协作工具如看板,优化任务管理和客户反馈跟踪,最终推动业务增长与品牌长远发展。
|
网络协议 Linux Android开发
深入探索Android系统架构与性能优化
本文旨在为读者提供一个全面的视角,以理解Android系统的架构及其关键组件。我们将探讨Android的发展历程、核心特性以及如何通过有效的策略来提升应用的性能和用户体验。本文不包含常规的技术细节,而是聚焦于系统架构层面的深入分析,以及针对开发者的实际优化建议。
357 21
|
SQL 运维 调度
DM8日常运维命令总结(二)
DM8日常运维命令总结(二)
463 2

热门文章

最新文章