HaaS Python轻应用学习笔记 : 什么是Python轻应用

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不一致的。

扫描二维码关注公众号,回复: 12935277 查看本文章

它用的是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例子。

猜你喜欢

转载自blog.csdn.net/HaaSTech/article/details/115068709