python做物联网(物联网技术应用)

开篇Python作为一门快速发展的解释性编程语言,数以百万计的开发者已经将Python应用在人工智能、游戏开发、数据挖掘、信息安全、系统运维等行业并取得了成功。现如今,一大批国内外头部IoT解决方商正在尝试将Python引入物联网/智能硬件开发行业,部分支持python语言的物联网开发板和模组也陆续面试。例如阿里云智能推出的HaaS开发板,树莓派推出的RaspberryPiPico开发板等。那么,物联网设备会是Python的下一…

大家好,又见面了,我是你们的朋友全栈君。

python做物联网(物联网技术应用)

不看这几篇好文,就别说自己了解物联网

开篇

 

Python作为一门快速发展的解释性编程语言,数以百万计的开发者已经将Python应用在人工智能、游戏开发、数据挖掘、信息安全、系统运维等行业并取得了成功。

现如今,一大批国内外头部IoT解决方商正在尝试将Python引入物联网/智能硬件开发行业,部分支持python语言的物联网开发板和模组也陆续面试。

例如阿里云智能推出的HaaS开发板,树莓派推出的Raspberry Pi Pico开发板等。

 

python做物联网(物联网技术应用)      python做物联网(物联网技术应用)    python做物联网(物联网技术应用)python做物联网(物联网技术应用)   

 

那么,物联网设备会是Python的下一个爆点吗?

本文首先总结python发展历史,然后介绍Micropython在物联网行业的应用现状,最后将结合阿里云智能的python轻应用详细介绍国内大厂是如何基于Micropython重新定义物联网开发的。

 

Python为什么会在PC端取得成功?

 

电脑硬件配置非常受限的时候,计算机世界最流行的是Pascal、C、 Fortran等编程语言,这些语言的基本设计原则是让机器能更快运行。为了写出更高运行效率的程序,迫使程序员像计算机一样思考,带来的问题是编程效率非常低。

随着计算及硬件配置的逐渐提高,语言本身的性能不再是主要瓶颈,如何提升编程效率显得更为重要。这时候,诞生了C++这种面向对象的编程语言。C++以牺牲了少许性能为代价,大大提高了编程效率。随后几年,又诞生了Python。

相对C++这种编译性语言,在大多数场景下,依靠解释执行的Python运行效率不足C++的十分之一。 但是,Python语言还是取得了非常快速的发展,如今的python已经被使用在各行各业,据TIBOX最新排名,Python语言位列第二。那python语言为什么会取得成功呢?个人观点如下:

  1. 更简单的编程范式,有效降低了编程门槛,大幅提升了编程效率。
  2. 强调可拓展性,python程序员可以快速使用Python写.py文件扩展模块,也可以深入底层,扩展c/c++程序库。c/c++程序库不止可以弥补python语言本身的性能问题,也将海量c/c++生态库引如了Python。
  3. 代码开源,充分利用开源社区的力量,来自各行各业的开发者,将不同领域的优点带给了Python,比如Python标准库中的正则表达(regular expression)是参考Perl,而lambda, map, filter, reduce函数参考Lisp。
  4. 因为功能强大且易上手,Python抓住了人工智能的风口。

 

物联网设备会是Python的下一个爆点吗?

 

对照最早期台式电脑的发展历史,20年前流行的51单片机现在已经被Arm大范围取代。编程语言本身的性能已不是物联网设备端开发的主要瓶颈。面对越来越多的物联网设备智能化需求,需求碎片化问题变成了行业最大挑战,如何以高ROI满足物联网设备的碎片化需求?降低编程门槛、提升编程效率是关键。目前普及度最高的基于C语言开发物联网设备的不足逐渐凸显。具体表现如下:

  1. 不支持应用热部署,应用开发和系统开发不能解耦,因为物联网硬件资源相对受限,一般采用RTOS及RTOS衍生操作系统,不支持动态链接机制,涉及到C代码的改动,必然涉及到全系统编译及刷机等繁琐操作,不止调试效率底下,也提升了开发门槛。
  2. 开发门槛高,缺少更高层的封装。物联网场景常用的云链接、硬件端口控制、AI、多媒体播放等功能都需要从头开发,重复开发不止造成了人力浪费还提升了研发门槛。
  3. 缺少可以快速部署的开源案例,因为需求碎片化,代码不开源,硬件差异大等客观因素,很难在互联网上快速找到目标硬件目标场景下的参考案例。这进一步提升了研发门槛。

物联网行业需要一种简单高效的解释性语言,来提升编程效率,开源且易于扩展的python无疑是最好的选择之一。但是,传统的cpython引擎内存和flash开销都偏大,很难应用在目前最主流的物联网设备上。因此,Micropython应运而生,Micropython是python在物联网低配硬件上的定制版本,代码开源,兼容python语法,继承了python简单高效、易与拓展的特性,相对于传统的cpython解释器2M RAM开销和4M以上的Flash开销,Micropython只需要150K RAM和10K的flash,可以运行在目前最主流的物联网设备上。

Micropython自从诞生,就得到了物联网芯片大厂的追捧,TI、ESP32、STM32等物联网行业最主流的芯片方案均已经原生支持micropython,形成了一套公认的标准编程接口和硬件适配层,编程接口中包含了文件操作、socket、thread、硬件端口控制等物联网开发常用接口,可以支持基于python语言实现基础的云链接和硬件端口控制需要。下图是Micropython的源码结构,其中Ports部分是micropython官方适配好的硬件平台。

python做物联网(物联网技术应用)    python做物联网(物联网技术应用)

 

Micropython将python这种简单高效的开发语言引入到了物联网开发中,依托python语言的特新降低了物联网设备开发门槛,但是,仅仅解决了应用热部署等基础问题,距离真正的易上手还有较大差距。具体表现为:缺少更高级的组件,缺少简单易用的IDE环境,缺少垂直化的应用案例。因此,国内物联网相关公司基于Micropython做了自己的扩展并推出python轻应用方案,例如,国内物联网芯片头部厂商乐鑫、国内4G Cat.1模组厂商模组、以及国内物联网解决方案商代表阿里云智能IoT等。这些python轻应用方案中以阿里云智能IoT部门推出的方案功能最为全面且开源开放。

接下来,将结合阿里云智能Python轻应用方案介绍国内大厂是如何做Python轻应用的。

 

阿里云智能Python轻应用方案介绍

 

HaaS Python轻应用是阿里云智能IoT团队最新的一套低代码编程框架,兼容Micropython编程规范,依托HaaS 开发板加软硬件积木提供AI、支付、蓝牙配网、云链接等物联网场景常用的能力,基于VS Code插件实现一套跨平台的IDE环境,真正解决了物联网平台的易上手问题。物联网编程不再局限于程序员、一般的技术员也可以基于HaaS Python轻应用实现复杂的物联网需求。

开发者可以基于云端阿里仓库快速创建工程并一键推送设备端验证效果、也可以将自己开发的案例贡献到云端案例仓库以繁荣生态,贡献突出的开发者也可以获得HaaS社区颁发的荣誉证书和奖励。下图是HaaS Python轻应用的架构图。

 

python做物联网(物联网技术应用)

从图中可以看出,HaaS Python 轻应用方案不止包含软件框架,也包含了丰富的硬件开发板和模组,同时依托阿里生态强大的平台能力,最终实现了物联网硬件的积木话开发。

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128649.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • angular debounce throttle「建议收藏」

    angular debounce throttle「建议收藏」throttle我们这里说的throttle就是函数节流的意思。再说的通俗一点就是函数调用的频度控制器,是连续执行时间间隔控制。主要应用的场景比如:鼠标移动,mousemove事件DOM元素动态定位,window对象的resize和scroll事件有人形象的把上面说的事件形象的比喻成机关枪的扫射,throttle就是机关枪的扳机,你不放扳机,它就一直扫射。我们

    2022年6月20日
    47
  • 外汇百科

    外汇百科
    外汇百科名片  外汇
    外汇是以外币表示的用于国际结算的支付凭证。国际货币基金组织对外汇的解释为:外汇是货币行政当局(中央银行、货币机构、外汇平准基金和财政部)以银行存款、财政部库券、长短期政府证券等形式所保有的在国际收支逆差时可以使用的债权。包括:外国货币、外币存款、外币有价证券(政府公债、国库券、公司债券、股票等)、外币支付凭证(票据、银行存款凭证、邮政储蓄凭证等)。
    目录简介外汇市场TransMarket集团FXSolutionsIFX与IFX(俗称FXSOL)?FX

    2025年10月19日
    3
  • 私有IP地址_ipv6私有地址

    私有IP地址_ipv6私有地址私有IP地址:在ABC三类网络中,如下三段网络地址为私有IP地址,如何人都可以自行在自己的局域网中使用这些IP地址.A类私有:10.0.0.110.255.255.254B类私有:172.16

    2022年8月5日
    13
  • Java安全之Javassist动态编程

    Java安全之Javassist动态编程0x00前言在调试CC2链前先来填补知识盲区,先来了解一下Javassist具体的作用。在CC2链会用到Javassist以及PriorityQueue来

    2021年12月12日
    43
  • 简易计算器页面

    简易计算器页面

    2021年11月30日
    44
  • 如何运行PHP代码_运行php网站

    如何运行PHP代码_运行php网站如何运行php代码相信不少初学者会遇到不知道如何运行php这个尴尬的问题,小白博主就来一次比较详细的介绍第一步:下载Wampserverwarmserver提供了php运行的环境,安装的步骤这里就不给出了,百度一下会有的。http://www.wampserver.com/下载Wampserver传送门第二步:写一段简单的php代码

    2022年10月2日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号