1、什么是HaaS Python轻应用
2020年阿里云智能IoT团队发布的HaaS100开发板,随着“轻应用”的发布,迅速在开发者中掀起学习热潮。
“轻应用”(amp,AliOS Things Mini Program),是一种将常见编程引擎安装到HAAS硬件平台的技术。
采用“轻应用”,可以使开发者以极简的高级语言语句,实现以前复杂的物联网硬件功能。
HaaS初期推出的JavaScript轻应用支持js语言开发。例如用下面的几行代码,就可以实现GPIO的初始化和指定LED的闪烁。
var gpio = require('gpio');
var led3 = gpio.open({
id: 'LED3',
success: function() {
console.log('gpio: open led success')
},
fail: function() {
console.log('gpio: open led failed')
}
});
var vol = 0;
setInterval(function() {
vol = 1 - vol;
led3.writeValue(vol);
console.log('led set value ' + vol);
}, 1000);
上述几行代码,实现了C语言开发中的GPIO初始化、串口初始化、LED引脚控制和串口信息打印等上百行代码才能实现的功能。
那么什么是HaaS Python轻应用呢?
顾名思义,就是可以支持Python语言来开发。不过不是完全的Python,而是“定制”的Python,有些地方还是与Python不一致的。
它用的是micropytho。
根据官方帮助文档的许可证,可以看到是MIT许可,copyright是Damien P. George和其他人。
MicroPython 编程语言由英国剑桥大学应用数学和理论物理系的 Damien P. George教授及其团队发明在 2013 年创建并发布,该语言技术已获 MIT 许可(MIT 可以说是最宽松的开源许可,用户可以任意复制使用)。该团队已在 MicroPython 官方网站(http://www.micropython.org/)中声明 MicroPython 完全开源自由使用,允许所有组织和个人可以将MicroPython 用于个人使用、 教育及商业用途, 并且将所有技术资料在 GitHub(https://github.com/micropython/micropython)开源以供传播推广使用。自2013年发布以来已经有接1.2万个Star关注(2021年3月数据)。
2、phthon轻应用和Python有什么区别?
Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python简单易学、高度精炼、可扩展性好,应用范围特别广, 已经成为最受欢迎的程序设计语言之一。它能够在计算机上运行。
而Python轻应用呢?其核心是micropython,然后就是为HaaS定制了一些专门库。它能够在嵌入式系统上运行。
有了这些定制库,就可以实现用Python语言来实现上图所示的这些功能。
由此可见 Python和micropython之间的区别就相当于专业版和嵌入式版本之间的区别(当年window xp系统也有嵌入式版本)。
3、Python轻应用和JavaScript轻应用有什么异同?
HaaS技术团队先后推出了两种轻应用,JavaScript轻应用在前,Python轻应用在后,后者的推出并不是要取代前者,更多的是想突出各自不同的优势,兼顾不同的用户群体。
我在两块板子上分别烧录了不同的固件,对两种轻应用都进行了测试,个人体会有如下几点:
相同之处:
- 都是引入了一种高级语言的引擎。高级语言的好处是精炼,开发简便。用户可以专注于开发物联网功能,底层硬件处理可以交给引擎调度。
- 编程的代码行数都很少。不用像C一样,一个硬件初始化就需要几十行代码,错一个字就可能使整个程序无法执行;采用高级语言,一行代码即可实现复杂的功能,还不容易出错。
- 都可以通过串口逐行发送至开发板。两种轻应用都可以通过串口工具,以交互的方式,逐行将代码发送至开发板来执行。
不同之处:
- 开发语言不同。两种语言各有千秋,照顾到不同习惯群体。
- 源代码形式不同。JavaScript轻应用开发时需要两个文件(js和json),而python轻应用则只需要一个py文件。
- 烧录程序的方式不同。JavaScript轻应用通过amp命令行将文件“传送”至开发板,就自动保存,下次断电重启自动执行;python轻应用则通过将py文件拷贝至SD卡,再通过串口发送执行命令来执行。
4、Python轻应用有什么优势?
Python有什么优势Python轻应用就有什么优势。
人工智能程序都是Python来实现的。
Python轻应用也提供了人工智能的支持。它可以用极简的代码,实现阿里云达摩院几百种人工智能算法的调用。
可以说,Python轻应用提供了HaaS开发板与人工智能云计算的连接桥梁。
有云,谁还用自己的计算能力呢?
比如HaaS官方推出的一些AI例子。