导读:很多朋友问到关于物联网怎么做操作系统的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!
物联网操作系统有哪些
物联网操作系统分为低资源MCU设备端和高资源CPU设备端;
低资源MCU设备端,由于硬件资源有限,一般都是用极低内核资源的操作系统,如FreeRTOS,TinyOS,Lite OS,这类os,一般都是以C,C++进行编程,一般由资深的嵌入式工程师进行应用程序设计,难度较高。
还有一类是目前针对物联网应用开发而设计的低门槛的操作系统,一般使用目前最流行的JAVA,JavaScript,LUA等高级语言编程的操作系统; 使用JavaScript编程的目前有多种开源操作系统,运营的比较好的是RUFF,目前有一款nodemcu使用LUA编程,JAVA因为移植难度比较大,目前只有钛极OS(TiJOS)可以实现在低资源MCU上进行编程。在淘宝上可以找到他们的开发套件,例程也比较详细和丰富。
高资源CPU设备端,资源大,可以实现复杂功能,一般都有大公司在拼,如谷歌的Brillo OS,微软的WIN10 IOT版本,.uClinux,.华为LiteOS等。
物联网变革大势,腾讯自研多款操作系统应对
相信大家都知道,在操作系统领域,我国一直处于短板位置,而美国的操作系统在全球市场的占有率却高达95%,几乎达到垄断的程度。但这一两年,也正是因为遭受着众多外部因素的压力,包括芯片制裁、美国的垄断等,我国在 科技 领域逐渐蓬勃发展起来,国产系统自研因此成为众多国产企业发展的重中之重。
就此,在万众期待的目光下,华为的鸿蒙系统,阿里的AliOS、国产的UOS系统相继出现在大众面前。而且,华为还将鸿蒙系统最核心的基础架构部分,全部捐赠给“开放原子开源基金会”,这一举动,得到了众多网友的一致好评。
说到自研系统,实际上,腾讯是最早自主研发出操作系统的企业。作为国内知名的互联网企业,腾讯自主研发出服务器系统TencentOS Server、物联网操作系统TencentOS Tiny、边缘操作系统TencentOS Edge和桌面操作系统TencentOS Desktop。其中,服务器系统TencentOS Server、 物联网系统TencentOS Tiny这两款早在2019年就已经实现开源。
TencentOS Server
在2010年,TencentOS Server被最早研发推出。在此之前,腾讯使用的是开源Linux操作系统,但随着任务需求的日益复杂化,初期使用的开源Linux 操作系统已经无法充分满足,腾讯决定结合自身业务的特性需求、性能需求和安全需求,自主研发出比Linux更符合实际需求的操作系统——服务器系统TencentOS Server。
相比于初期使用的开源Linux 操作系统,TencentOS Server在性能、技术服务以及更新速度等方面都体现出明显的优势,不仅解决了Linux开源系统更新慢,性能弱,技术服务能力差等问题,在节约耗能、成本方面的优势更是突出,据相关数据显示,目前此款系统在腾讯的服务器中得到了大量的采用,在2020年的装机量就达到百万量级,相比以前节约了11%的能耗,由此计算下来大约每年可以节约17万吨的碳排放量,这就在有效节约成本的同时也提高单台服务器的资源利用率。
TencentOS Tiny
但随着物联网技术高速发展,新场景迭代更新速度加快,TencentOS Server在应对现状上也显得稍有不足,于是在2018年,腾讯开始研发新的系统来满足新场景的需求,TencentOS Tiny、TencentOS Edge等自研系统就此应运而生。
相对于TencentOS Server,物联网操作系统TencentOS Tiny具备着更明显的优势特性,比如体积小、功耗低、模块化以及安全可靠等,更适合应用于智慧农业、智慧城市、车联网等领域的物联网设备。
据悉,在此前辽宁开展的两期AI智慧种植试点过程中,TencentOS Tiny就起到将农作物生长信息和环境参数等数据,上传到云端以便于腾讯智慧农业大脑iGrow系统计算推理,并设计出最佳种植方案的作用。
这就不难看出,在实际应用上,TencentOS Tiny 在智慧农业、智慧城市、车联网等领域的数据收集及上报方面发挥着重要的作用,这进一步增强了我国 科技 助农的实力,同时也持续强化着乡村振兴的责任意识。
纵观目前,随着腾讯开源节奏不断加快,我国物联网 科技 产业得到了迅猛发展。腾讯相关负责人也表示“希望通过TencentOS 的开源捐赠,号召更多人基于更中立更开放的心态来发展物联网终端软件生态,促使物联网操作系统和终端生态走到合作共赢的轨道上来,共同推动国产物联网操作系统的发展和物联网行业标准制定,为解决物联网终端碎片化难题贡献力量。”
可见,在操作系统领域,腾讯一直致力于通过开源和广大开发者共享技术成果,并且联合众多的厂商持续努力着。同时,华为、阿里等众多的互联网企业、 科技 企业也在不断自主研发着自己的系统,并且实现开源,致力于让国产系统变得更强大。相信未来,我们会看到更多先进的国产核心技术登上国际舞台。
从零开始设计环保监测物联网系统(二)
IOT网关,接收sensor数据的总入口,主要是日志,安全防护,流控,协议转换等功能,
图1 IOT网关
之前有提到IOT网关是基于python的twisted框架实现的,初期的时候该IOT网关主要实现的功能是 数据接收和转换功能 和 安全防护 。
数据接收和转换功能 ,这里很简单,拟定好数据交互格式后,IOT网关按照约定好的格式进行解析,然后转发给后端服务进行进一步的处理
安全防护 ,设备的区分主要是依靠烧录到硬件的SN号来实现,SN号包含的信息比较多,如生产批次,设备型号等,受制于厂商我安全防护不能做的非常完善,同时sensor与IOT网关的交互不能非常复杂。安全防护这一块理论上是设备接入要一型一密或者一机一密,协议上还应该启用tls/ssl安全通信协议。
图2 鉴权
安全防护要做ssl这类的安全通信协议的话,要考虑设备厂商实现通信模块能力,设备功耗,设备性能(低端设备cpu性能可能比较差,可考虑对称加密形式),IOT网关也需要引入相应模块。
另外认证从性能方面考虑,后期在设备比较多的情况下,可以加入redis等内存型key-value数据库,缓存设备信息,提高鉴权模块性能。
实践中,我们的sensor基本都是依靠电池供电,因此我们的IOT网关基本是面向短链接(后期我们有监测设备,依靠外部电源直接供电,为长连接),因此在每次发起连接我们都要进行一次鉴权,鉴权通过后,设备方可上传传感器监测数据和设备自身状态。
图3 数据交互流程
这一块的调试工作长达半年左右,才基本稳定下来,主要集中在设备商处除了硬件稳定性,还有在调试中发现传输的字符串乱码(c语言处理问题),沾包(厂商开发人员tcp协议不熟),优化传输效率,关闭cork或者 Nagle 算法(传输包很小)。
因为IOT网关不能主动断连接,理论操作中,IOT网关应该和sensor有心跳协议,保证连接的有效性。设备商在数据流程交互完成后,竟然没有close 连接,直接休眠,导致网关所在服务器的连接的文件描述符一直没有正常释放,后面为了预防这种现象,我开启了操作系统层面的keepalve定时器,回收失效连接(系统默认时间是2小时左右,我缩短了失效时间),理论上来说应该是应用层面去实现心跳协议。
整个IOT网关的设计,是无状态,可伸缩的,单网关在普通型ecs上可轻松达到数百tps。
什么是物联网操作系统?
提到操作系统,大多人第一印象是电脑端的Windows、Linux系统和手机端的安卓和iOS系统。这些程序直接运行在“裸机”设备的最低层,搭建起其他软件、应用运行的环境与基础。得益于操作系统的兴起、完善,才促成了软件与应用的兴起,铸就了辉煌的PC时代与移动互联网时代。
物联网的操作系统调度“物体”本身,因此它很可能将融合人类操作系统与PC时代操作系统的两种形态,物联网操作系统对“物体”的调度过程通过层层分发、层层下达,通过调度云、边、端,不同层级中不同设备的计算资源而实现。
因此,物联网中的操作系统涉及到芯片层、终端层、边缘层、云端层等多个层面。单一层次的物联网操作系统与安卓在移动互联网领域的地位和作用类似,实现了应用软件与智能终端硬件的解耦。就像在安卓的生态环境中,开发者基本不用考虑智能终端的物理硬件配置,只需根据安卓的编程接口编写应用程序,就可以运行在所有基于安卓的智能终端上一样,物联网操作系统的作用也是如此。
在物联网操作系统开发企业中,由爱投斯开发的物联网操作系统具备得天独厚的优势。
IOTOS®物联网操作系统定位可以类比成Windows操作系统。Windows操作系统是对单一设备进行硬件集成,比如显卡、声卡、屏幕、网卡等,提供驱动开发、应用开发套件和系统自带应用。
IOTOS®物联中台则是面向项目级的操作系统对智慧项目涉及的传感器、设备以及业务子系统,进行采集、集成、融合打通,向下提供设备接入SDK,向上提供应用开发API,同时提供场景通用的内置应用,以此引领智慧项目实现标准化。
因此在物联网的环境下,尤其需要操作系统来屏蔽物联网底层硬件碎片化差异,提供统一的编程接口,降低物联网应用开发的门槛、成本和时间。
为了应对严重的碎片化现状,采用IOTOS®物联网操作系统,该操作系统主要是对设备进行抽象,快速集成、采集,提供统一的设备和数据管理服务,以及统一的上层应用接口,对应用层屏蔽接入设备或系统的差异,极大降低物联网项目应用成本。
什么是物联网操作系统IoT OS?
IoT是Internet of Things的缩写,字面翻译是"物体组成的因特网",准确的翻译应该为"物联网"。物联网(Internet of Things)又称传感网,简要讲就是互联网从人向物的延伸。
用于物联网终端系统平台的操作系统,就是IoT OS.
物联网操作系统的体系架构
物联网的范围很大,一般来说,只要是操作系统都可应用在物联网领域中。
但是物联网的终端设备用的比较多的操作系统有:
1、嵌入式linux系统
2、android系统
在物联网服务器端,使用比较多的操作系统有:
1、windows系统
2、linux系统(前置服务器)
3、android系统
结语:以上就是首席CTO笔记为大家介绍的关于物联网怎么做操作系统的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。