物联网开发用什么语言 程序员最喜欢的开发语言

经过几十年的发展,嵌入式技术已经应用到了我们生活的方方面面,但是嵌入式技术总是有小众性和很强的专业属性,这让很多非嵌入式领域的同学望而却步。随着近十年的发展,物联网已经

本文最后更新时间:  2023-05-02 02:02:05

经过几十年的发展,嵌入式技术已经应用到了我们生活的方方面面,但是嵌入式技术总是有小众性和很强的专业属性,这让很多非嵌入式领域的同学望而却步。随着近十年的发展,物联网已经覆盖越来越多的领域,包括家庭、商业、工业、农业等领域。不仅吸引了原来嵌入式领域的学生,也吸引了很多非嵌入式领域的学生进入物联网领域。从上述发展趋势中,可以发现四个重要的变化:

物联网涉及到的技术面越来越广,对物联网开发平台的要求越来越高物联网对开发者的要求发生了变化,更加强调工具和易用性物联网操作系统已经突破了传统操作系统内核的范畴,开始集成越来越多的能力物联网是云端一体的,有丰富的应用场景和商业模式,能够聚合更多的资源

本文将围绕技术、人、操作系统、商业模式四个方面,详细阐述嵌入式向物联网的转型以及背后的一些思考。

从“嵌入式”到“物联网”的转变

技术堆栈的转变

而嵌入式物联网技术是伴随着MCU、操作系统、云计算、人工智能等技术发展起来的。根据设备的工作方式,技术的发展可以分为以下几个阶段:

设备单独工作:这个阶段是从1970年代开始,主要涉及到的技术领域包括单片机,硬件开发板,外设驱动,及上层应用。主要用于工业控制领域,比监控,设备指示等。最著名的是8位的51单片机。多个设备互联工作:随着无线通信技术,如ad hoc,ZigBee(802.15.4),低功耗蓝牙的发展,嵌入式设备开始形成网络工作。主要用于智能电网,这类抄表类业务。主要涉及到的技术,除了设备单独工作阶段的技术外,增加了网络连接技术,如802.15.4,低功耗蓝牙等,嵌入式操作系统,如FreeRTOS,Contiki, TinyOS等。云端一体阶段:对设备控制和管理的技术要求不断提高,和云技术的发展,越来越多的设备不仅仅需要互联,也需要连接到云端。出现了Wi-Fi模组,Wi-Fi和BT combo模组。笔者认为从这个阶段开始真正进入了物联网的阶段。通过网关技术,MQTT/CoAP等技术实现设备的连云,和能够通过手机对设备进行管理。相比于多个设备互联工作阶段的技术外,增加了更加丰富的连接技术,如MQTT/CoAP等,及云端技术,如物联网云平台等。物联网智能设备:随着技术的发展,设备端不再仅仅是Wi-Fi和BT类的纯连接类智能设备,出现了前面几年特别火的智能音箱,每年亿级出货的IP Camera等智能设备。这类设备的主要特点是有了多媒体方面的要求,同时能够消耗更多的云资源,不仅仅包括了存储资源,还包括了运算,人工智能AI算法的资源。相比于上个阶段,增加了多媒体技术,流媒体网络技术,云端AI技术等,对物联网技术能力建设的开发人员技术广度和深度提出了更高的要求。

从上面的梳理可以看出,技术栈的内容越来越丰富,要求也越来越高。这时候,问题来了。这么多技术,物联网的开发者是不是都要了解了才能开发创新?作者的答案当然不是。下面将详细阐述作者对物联网开发者要求的理解。

第二,开发者的变化

笔者将物联网的开发者分为两类,一类是构建物联网平台能力的开发者,一类是基于物联网平台提供能力的开发者。

第一类开发者需要了解整个物联网领域需要的技术。随着物联网技术的发展,对这类开发者提出了非常高的要求。这样的开发者需要了解从设备到云的全链路技术,并在其中找到自己的定位。如果不从云集成的角度系统地理解物联网技术,而是按照嵌入式的传统思维方式,随着技术的不断发展,会逐渐被淘汰。这类开发者开发物联网平台的一个重要目的就是吸引越来越多的二级开发者进来,共同繁荣物联网生态。

与第一类开发者相比,第二类开发者面临的挑战很大。这类开发者主要来自两个来源,一是传统嵌入式开发者,二是互联网开发者。这些开发者需要学习更多的知识,才能更好的基于物联网平台进行开发。传统嵌入式开发者需要更多了解多媒体、云、人工智能等技术。互联网开发人员需要了解嵌入式设备的局限性,并将云、多媒体和人工智能等技术更好地融入物联网场景。

我认为第一类开发者的使命是帮助越来越多的第二类开发者进入物联网领域。第一类中的关键开发人员认识到以下两点:

丰富的功能组件:包含了各种硬件模组,设备端和云端软件功能模块,及配套的开发和调试工具。低代码开发:Python,JavaScript脚本化语言在物联网领域的充分运用,能够极大地降低开发者门槛。

随着物联网技术的不断发展和成熟,基础平台和开发工具的不断完善,我认为第一类的开发者会越来越少,而第二类的开发者会越来越多。这样,物联网的发展就不再仅仅是嵌入式开发这样的少数专业开发者的事情了。在校学生、前端开发者、产品经理、技术爱好者等。都是物联网的贡献者。

第三,操作系统的改变

由于操作系统是物联网领域重要的基础技术,而目前物联网操作系统正在百花齐放,所以我就说说操作系统的思路。根据嵌入式和物联网的发展阶段以及操作系统的特点,作者将操作系统分为以下四个阶段:

无操作系统:早期的嵌入式设备,由于逻辑单一,是不需要操作系统的。简单操作系统:发展到多个设备互联工作阶段,出现了专门针对于物联网设备的操作系统,如Contiki,TinyOS。这类操作系统针对设备上报数据和事件设计,非常的简单,最显著的特征是基于事件驱动设计。在发生事件需要上报时,能够快速做出响应,编程逻辑也是按照此思路设计。实时操作系统:随着嵌入式领域的不断发展,出现了针对实时领域的嵌入式操作系统,最典型的代表是FreeRTOS。这类操作系统的特点是相比于Linux实时性好,有较为全面的内核功能,但是并不是强生态,上层应用支持的很少。物联网操作系统:随着物联网的出现,由于实时操作系统主要提供的是系统内核部分的能力,网络,多媒体,配网工具,及应用生态都很难满足物联网领域的要求,出现了物联网操作系统,有RT Thread, LiteOS,AliOS Things等,还包括Linux和Android。笔者认为在一段时间内,这么多的操作系统都会并存,很难被统一。主要原因是目前各芯片原厂并没有动力去做统一,他们各自选用一个合适自己的就好,无论往哪个操作系统上去主动切换,能够换来的优势都是很有限的。

有人认为,解决物联网碎片化问题,应该从统一操作系统入手,这样可以解决物联网碎片化问题。我不同意这种观点。物联网是碎片化的,这是挑战,也是它的魅力所在。这里举一个极端的例子来论证作者的观点。如果操作系统能统一物联网碎片化的问题,那么直接在芯片层面统一就好了。但显然,基本不可能。物联网操作系统最大的价值在于软硬件的深度结合,实现极致的性能和成本优势。既然已经有了物联网的各种操作系统,那就让它存在吧。物联网碎片化问题的解决方案不在操作系统。

四。商业模式的转变

传统的嵌入式领域主要靠卖硬件赚钱,很难支撑一个上市公司,更别说一个几百亿甚至上千亿市值的公司了。但是在物联网领域,由于其端云融合的特性,整个商业模式发生了巨大的变化,从嵌入式领域的一次性硬件交易变成了运营盈利模式,比如卖云存储、云服务、内容等。除了本身带来的运营收入,物联网也是手机生态的强大护城河,进一步增加了手机这个超级终端的附加值。我相信物联网会出现更多百亿甚至千亿市值的公司。几百亿甚至上千亿市值的公司,一定是很好的解决了物联网碎片化的问题,形成了强大的生态,完成了爆发式增长。

五个总结

随着嵌入式技术向物联网的演进,技术复杂度越来越高,但对于物联网的开发者来说,门槛必然越来越低。更多的开发者可以基于简单的脚本语言和丰富的生态库和工具开发出更多创新的产品,从而满足每个人对便捷生活和高效生产的需求。同时,物联网的发展不仅仅是技术的进化,更是商业模式的进化。通过技术创新,降低开发者的门槛,让物联网的发展不再像嵌入式开发那样是小众和极客的专利,而是大众可以开发创新的基地。这种变化的结果是,结合云技术的快速发展,物联网的商业模式不再是以卖开发板为嵌入式,而是卖服务、云资源、创新产品。这种海量的、高附加值的业务支撑了物联网(IoT)拥有数百亿甚至数千亿的公司。

温馨提示:内容均由网友自行发布提供,仅用于学习交流,如有版权问题,请联系我们。