如何选择现有开源物联网IoT使能平台

如何选择现有开源物联网IoT使能平台,第1张

有两层意思:第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。物联网通过智能感知、识别技术与普适计算、泛在网络的融合应用,被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。IoT本质上是机器系统或者构建好的对象,带有数据收集技术,这些对象之间可以相互通信。所产生的机器对机器(M2M)数据有广泛的使用场景,但通常看作是确定事物状态健康的方式,无生命还是活的。IT管理员可在物理环境中使用IoT,获得想要的信息。事实上,他们已经在这样做了。IT词汇解释:什么是物联网?例如,IoT可用于阻止对亚马逊热带雨林森林的采伐。一家叫做Cargo Tracck的巴西本地服务公司将来自安全公司Gemalto的M2M传感器放在三个受保护的区域。但有树木砍掉或移动时,执法系统将接收到GPS位置信息,允许当局追踪非法移动的树木。有分析师解释IoT使用爱疯手机打比方。托管在云中的分散的第三方应用能够连接,用户能从设备访问所有类型的数据,物联网如何发挥效用?虽然在封闭网络中将IoT看作M2M通信,但这个模式真是只是物联网。有了物联网,按照具体目的部署应用,在网络之外不会相互影响。真实的IoT用于不同应用部署用于不同目的,从受监控机器与对象收集来的数据可用于第三方应用。对IoT的期望是能提供来自封闭信息孤岛的更多信息。对于运行在数据中心的IoT,来自竞争厂商的平台能与其他平台通行。这需要标准API,让所有厂商与设备都能插入,对系统接口与各种设备也是如此。IBM在二月发布了其IoT协议,叫做Message Queuing Telemetry Transport (MQTT),这是个开放的标准。可帮助很多厂商参与到IoT中。(系统集成商)如惠普、IBM与其他厂商开始开放其系统,减少各种限制,因为电信运营商允许不同网络都成为IoT生态系统一部分。但这样的愿景还需要些时间才能实现。同时,大量平台充当着管道的作用,连接来自不同厂商的系统,这样便于通信与管理。Xively Cloud Services就是这样一个平台,它是LogMeIn Inc的公共IoT平台即服务产品。可允许IT设计、制模并投入生产任何英特网连接设备。例如,需要监控能源使用的公司可能使用封闭的厂商专有系统。

通过AIoT开发平台,开发者能够以零代码/低代码的方式快速搭建一套完整的物联网系统,这种全新的高生产力开发方式,大大降低了物联网开发门槛,加速缩短整体开发周期,降低研发成本。
机智云AIoT开发平台遵循开放设计原则,采用微服务架构,平台为开发者提供自助式智能硬件开发工具与开放的云端服务。通过傻瓜式的自助工具、完善的SDK与开放的API,拖拉拽实现IoT设备研发,最大限度降低IoT设备开发的技术门槛,帮助个人及企业开发者快速实现设备智能化升级,有效降低研发成本;同时基于海量开发者接入、资源d性配置、云化部署运行等优势,有效促进创新产品和服务规模化应用。
设备端开发:基于数字孪生技术实现物理组件在云端映射,提供可模拟调试的虚拟设备;真实设备通过机智云连接组件GAgent为设备端、云端和APP端提供连接服务,并提供每个开发环节的SDK,自动代码生成工具、开源开发工具和完整解决方案。
APP开发:提供了APP SDK、开源框架、微信SDK,便于开发者快速构建手机应用端系统,只需根据工具指引实现业务功能,无需实现底层功能。
企业应用开发:提供了SNoti等消息传输工具,通过企业API控制设备、进行设备数据的统计分析,以实现企业对设备、设备消费者的运营管理需要。
协同应用开发:针对企业复杂需求打造的中台架构,包括技术中台、业务中台和数据中台。技术中台提供物联网端到端技术框架和便捷化工具集合;业务中台对物联网设备、用户的通用业务提炼形成服务,供有物联网属性的各类应用使用,快速上线新业务,以达到快速物联网化和满足日益变化的业务诉求;数据中台对物联网数据进行标准化建模,设备数据、业务数据上传到云端后经过数据治理存储在数据中台的主题库中,包括用户中台、设备中台、应用中台等。

「只要有人的地方,就有物联网技术。」我不清楚这句话的出处,我只知道有人的地方就有江湖~哈哈。我想说的是,「物联网技术」这个名词是一个很大很泛的概念,我可以说不存在这种技术,我也可以说这技术实际上就是当今电子、通信、计算机三大领域的基础技术。

我在这问题下的回答「物联网和互联网的区别和联系?」简单阐明了物联网和互联网之间的关系。请问,1994年中国接入互联网以来,我们作为互联网原著居民的90后,认为互联网技术又是一种怎样的技术呢?

我就奇了怪了,当初教育局怎么不开一个互联网技术专业?实际上现在也没必要开设互联网专业了,当今大学的计算机系本科所学的大部分内容,就是互联网会用到的技术。其中之一是Web建站技术。

Web 建站技术中,HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、ASPNET、Web Services 是什么? - 张秋怡的回答

什么?你们计算机系不是学这些?来来来,我电脑坏了,过来帮我修一下电脑吧~

总之,互联网是一个时代,物联网,也是一个时代。物联网技术是当今电子、通信、计算机、IT行业技术的大融合。如图,物联网技术的技术组成(简单版)。

# 物联网技术之一:单片机/嵌入式开发

智能硬件,哎,不就是单片机吗?说到底就是一个微控制器,现在出现的智能手表,调光LED灯,蓝牙开锁,WiFi插座等等,说到底不就是单片机开发嘛?单片机,电子和通信专业一般都会教51或AVR、计算机系接触不到。现在流行的Arduino也是单片机开发的一种。

但是要做一款智能硬件,技术上只会单片机编程还是不行的。哎呀嘛什么智能硬件,本质上就是一个电子产品!。所以你要开发一款能拿得出手的智能硬件,电子系统设计必须要会的!

电子系统设计(电子系统设计与实践 (豆瓣)),我不是指《电子系统设计》这本书里的内容,而是一个动手实验过程。要做智能硬件,广看书没用,只会单片机编程也不够的!真正有用的是一个实打实的课程设计,或者一个项目经历。一个电子系统设计流程一般是这样的:

硬件设计阶段:

MCU选择

电路设计(电路图)

验证电路(面包板、万用板)

电路板设计(PCB图)

送工厂打板或自己做板

元器件、物料管理(采购等)

拿到电路板后

焊接芯片和元器件

上电测试

烧写最后版本的代码到芯片里

如果你熟悉以上硬件设计阶段,并知道要做什么事情,已经是一个合格的单片机硬件工程师了哈~接下来就是单片机软件工程师的事情了,单片机软件一般都不会太复杂,有的还是不用上 *** 作系统的裸机开发,做过单片机课程设计的学生都懂。

软件设计流程:

确定软件架构(主循环?状态机轮询?)

编写软件

调试代码(开发板或自己搭建好的电路)

烧写最终版本的代码到电路里

这些都不算复杂了,如果你用的芯片高级一点,不是微控制器而是微处理器的话,那么就是嵌入式开发了。

如图是ARM芯片架构系列。

一般网上STM32开发板的芯片是STM32F103,也就是Cortex-M3核,还算是单片机开发,如果外设没有太多功能,单片机想用更小巧一点的,可以选用M0核的芯片,名副其实的微控制器了。如果使用Cortex-A9开发,你这是要开发手机还是机顶盒(黑人问号)?

Cortex-A系列芯片的开发,或者说这类产品,一般一个人不可能独立完成所有工作,这种嵌入式开发的技术最少分为四个层次:硬件层、驱动层、系统层和应用层。每一层次都需要有人去设计。驱动和系统可以移植,硬件电路板肯定要专门的硬件工程师去做的,应用层可以交给应用工程师,只要上了Linux系统,不也就是Linux应用开发嘛?如果去网上买回来的嵌入式开发板,能拿得出手的项目只能应用层开发,比如什么「数码相框系统」、「视频点播系统」。别告诉我学会移植uboot或Linux就可以找工作了。

# 物联网技术之二:网络通信协议

智能硬件与传统的电子产品最大的差别,就是智能硬件连上了网络。要连上网络,就需要用到网络通信模块及学习网络通信协议——TCP/IP。

TCP/IP是一个技术的总称,里面包含两种协议TCP、UDP,位于网络通信分层模型的传输层,同时也是由 *** 作系统管理。而>

为了让电子产品有联网的能力,只要在电路设计上给主控芯片连接一个通信模块,写好收发网络指令的代码,剩下的就是电子产品设计了。

到这里,基本是一个物联网产品的雏形了,以上也是物联网中基本会用到的电子和通信技术。

# 物联网技术之三:服务端开发框架

Client/Server架构,即客户端/服务器架构。智能硬件连上后台服务器后,其就是一个客户端,一个终端。由于单片机中资源受限,实际上是不太可能用>

服务端开发就比较复杂了。单片机/嵌入式软件开发还好,只要学习好C语言即可打遍天下无敌手,而服务端开发,用Java呢还是Python还是PHP?反正Java和Python选一个就好了,嵌入式出身的工程师,一般都会学Python。

Python服务器端的开发框架种类繁多,Web开发的有Django、Flask、Tornado Web Server,TCP服务器可以用Twisted,等等。MQTT有已经做好的服务器,像这样的服务器不用自己开发,直接部署即可。

如图,这是我开发一个智能硬件的服务器端的框架图。使用Redis作为>

在这个项目开发中,最少需要开发用户端的>

到了这里,服务端开发和前面两个技术可以作为一个分层,前面的单片机/嵌入式和网络通信的开发可以算作是一个电子设备的开发,后台工程师只要拿到了这个电子设备,知道这个设备提供了哪些接口(API),就可以进行后台开发了——把设备连上网络,分配给它一个IP或者什么的,配置好接口及相关 *** 作,剩下的事情就交给前端了。

## 关于前端技术

关于前端技术,我这里不好单独写一个主题,其一,我对前端技术没有那么熟悉,还处于前端技术=HTML+JavaScript+CCS的概念,以及手机端的APP开发;其二,前端技术与电子硬件技术间隔相差太远,前端更多的是和美工沟通,和后台协调,和设计师交流,甚至可能还需要有一定的美感;其三,大部分项目的最重要的是实现设备的稳定性、联网、数据的获取和控制。如果设备不稳定,数据出现差错,没法控制,再漂亮的前端页面也没用。其四,如果是做智能家居,做消费电子领域的项目,针对广大普通消费者,比如WiFi插座,一个漂亮的界面是很重要,但是大多数的物联网项目,只需要一个后台管理界面就行了。

所以,没有前端的设计,界面都是很丑咯!

# 物联网技术之四:无线自组网

无线自组网,或称无线传感网络,这肯定是物联网专业的学生要学的一门学科,属于通信领域,电子、计算机出身的人对这没有太多的概念。无线自组网最典型的技术之一是,ZigBee。

什么是自组网?做个对比,比如我们的WiFi,我们要用手机去连一个SSID,输入密码才能连上WiFi,而且你的手机,一般来说也不可能再发射Wifi出去让其他手机连接,WiFi网络拓扑成星型网。


而自组网不一样,不需要用户输入用户名和密码,直接连到最近的一个自组网设备,最后自组网设备也可以作为一个中间节点,让下一级的设备连接进来,网络拓扑可以成星型网、簇型网和网型网。那么无线自组网的数据怎么流动呢?流去哪?无线自组网一般都会有一个数据汇聚的地方,这个地方就是网关。

但是ZigBee并没有连上互联网啊,它最多只是一个局域网!——这还不简单?这是就是网关要处理的事情了。而且,ZigBee协议栈Z-Stack是有Linux网关版本的。

Z-Stack - ZigBee 协议栈

不过呢,由于各种原因,ZigBee开始走下坡路了,最新的6LoWPAN会逐渐替代。6LoWPAN,是一种低功耗的无线网状网络,其中每个节点都有自己的 IPv6 地址,允许其使用开放标准直接连接到互联网。Zigbee使用网内专用地址,互联网主机无法访问。集成 Ipv6/6LoWPAN 堆栈的开源 *** 作系统Contiki也会逐步取代Z-Stack。

如果大学开设了无线自组网的课程,不是学习ZigBee的Z-Stack就是Contiki。使用无线自组网也并不是一个单独的开发过程,其技术需要结合单片机/嵌入式开发。

## 电源问题

是的,如果要用无线自组网,电池续航的能力是一个问题。如果是类似与WiFi插座、智能饮水机、智能风扇等等,接上市电就能用,这些电源都不是问题。而对于无线自组网,往大的方向说就是所有的便携式智能设备,都受限于电池续航能力,比如智能手表,运动手环。不过呢,突破电池技术并不是物联网开发者所需要做的工作,我们能做的,只能是挑选更低功耗的芯片,设计电路功耗更低一点,让单片机休眠并使用中断唤醒机制。

图,用水果电池供电的某430单片机系统。

# 物联网技术之五:RFID

仔细观察上面那张无线技术的图,最右边,NFC/RFID。嗯,对,RFID,非接触射频识别,也是物联网技术重中之重的技术,很多物联网书籍都会介绍RFID,搞得很多人以为RFID就是物联网。

介绍RFID前先简单说一下条形码。去超市购物的时候,收银员把扫描q对准上面的条形码扫一扫,商品信息和价格就录入到电脑里了。条形码替代了收银员手动输入数据,工作效率提高了几倍。

可是,进入21世纪后,条形码已经不能满足人们的需求,存储能力小、工作距离近、穿透能力弱、不能写 *** 作等等都是条形码的缺点。这个时候就出现了RFID技术。典型应用如下图:

(。。。好像没有什么奇怪的啊?)


一二线城市早已实现了的公交卡,以及校园一卡通,用的就是RFID技术。RFID可读可写,所以公交卡、校园卡的钱能存在卡里面。

NFC,也是RFID的技术一种,目前大部分手机都支持的NFC功能,手机取代公交卡真的是迟早的事。要是手机没有NFC功能,也可以这么装逼:

上班,在地铁里碰到同事。
我看他用手机刷卡出入站挺方便,就问他怎么弄的,是不是要下载什么软件。
他告诉我:“这个很简单,只要把公交卡藏在手机套里就行了。”

同样,RFID开发也是离不开单片机开发,网上也有相关的RFID开发套件出售。

# 结语

当然,物联网技术绝对不止以上五种,物联网本身就是所有技术的大融合,做电子产品的还要考虑产品外壳,不过这是结构工程师的事情;做服务器后台的还要考虑用户帐号数据库读写等,前端也要考虑如何把设备数据和 *** 作方式优雅的展现给用户看,这些是IT程序员的事情;电池技术也需要单方面突破,超小体积、超大容量,这个还得等待多时。

与其说物联网是一种技术吧,不如说它是一个时代,物联网通过对相关技术进行整合,形成一个时代的概念,是一个建立在技术基础之上的时代。

Openstack之所以很火,一是内因,OpenStack自身的优势——开源性。二是外因,众多企业和组织的参与开发,尤其是世界领军企业的加入,推动了OpenStack的高速成长。
Openstack的优势
控制性:开源的平台意味着不会被某个特定的厂商绑定和限制,而且模块化的设计能把遗留的和第三方的技术进行集成,从而来满足自身业务需要。OpenStack项目所提供的云计算,让IT团队可以成为自己的云计算服务厂商,虽然构建和维护一个开源私有云计算并不适合每一家公司;但是如果拥有基础设施和开发人员,OpenStack将是很好的选择。
兼容性:OpenStack公共云的兼容性可以使企业在将来很容易的将数据和应用迁移到基于安全策略的、经济的和其他关键商业标准的公共云中。使用亚马逊网络服务及其他云服务的企业,抱怨最多的就是“用户被绑架,无法轻易转移数据”。在云计算社区,有一个流行的概念,即数据是有重量的,一旦将数据存在某个云计算提供商那里,它就变得繁重而难以迁移,作为企业最重要的资源,如果在迁移的过程中不能保护好数据安全,很有可能会给企业带来灭顶之灾,相信没有公司愿意承担这个风险。
可扩展性:目前主流的Linux *** 作系统,包括Fedora、SUSE等都将支持OpenStack。OpenStack在大规模部署公有云时,在可扩展性上有优势,而且也可用于私有云,一些企业特性也在逐步完善中。随着Ubuntu 1204 LTS正式全面将Eucalyptus替换成OpenStack,OpenStack将超过Eucalyptus成为云平台基础的第一选择。
灵活性:灵活性是OpenStack最大的优点之一,用户可以根据自己的需要建立基础设施,也可以轻松地为自己的集群增加规模。主要用Python编写的OpenStack代码质量相当高,很容易遵循,带有一个完全文档的API,用户可以使用JSON或者XML消息格式的不同组件的代码,这相当有利于项目的发展壮大。此外,OpenStack项目的代码将在极为宽松自由的Apache 2许可下发布,这意味着任何第三方都可以重新发布这些代码,在其基础上开发私有软件并按照新的许可发布,给众多的云计算企业,留下了的更大的发展空间。
行业标准:来自全球十多个国家的60多家领军企业,包括HP、Cisco、Dell、Intel以及微软都参与到了OpenStack的项目中,并且在全球使用OpenStack技术的云平台在不断的上线。云计算领军企业的加入,会无形透露出一个信息,就是OpenStack未来可能会成为一个行业标准,而且OpenStack项目研发的初衷就是制定一套开源软件标准。
实践检验:实践是检验真理的唯一标准,OpenStack的云 *** 作系统,已被全球正在运营的大型公有云和私有云技术所验证过,比如,Dell公司已经推出了OpenStack安装程序Crowbar,不仅如此,OpenStack在中国的发展趋势也是非常之好,包括物联网用户、国内高校以及部分大小企业,都开始利用OpenStack建立云计算环境,整合企业架构以及治理公司内部的IT基础架构。
领军企业支持
在RackSpace宣布推出开源云计算平台OpenStack后,曾经震动了业界。在2010年的10月,微软表示将推动Windows Server 2008 R2和OpenStack的整合。之后不久,思科也宣布加入OpenStack,着重于OpenStack的网络功能并推出了新的NaaS服务(Network as a Service)。
OpenStack的热度在2011年仍旧未见衰减,7月底,Dell推出了第一套支持OpenStack架构的解决方案,开发了一个OpenStack安装程序Crowbar,可供企业使用Power Edge C服务器来建设一个OpenStack环境。随后HP云服务副总经理Emil Sayegh也在官方BBS上宣布加入OpenStack计划,除了提供赞助外,HP云端开发团队也将参与OpenStack计划的开发(编者注:2014年,HP已经推出了 Helion OpenStack)。
据不完全统计,2010年7月开源以后,越来越多的IT厂商宣布加入OpenStack,有超过30家公司表示对该开源平台项目有兴趣,而有些则已经积极地参与该项目,这些公司包括AMD、Cloudkick、Cloudswitch和NTT DATA等。
随着云计算创新的步伐不断加快,新一代的技术和成果也在快速增长。但是云计算市场的分散性导致客户难以选择云计算厂商和合作伙伴,一旦做错决定将不得不转移到新的云上进行重新构建。这对于一些大的公司来说,确实是一个挑战。 鉴于上述原因,云需要一个开源的 *** 作系统,开源云可以避免被锁的问题,而OpenStack就是这样一个开源的云 *** 作系统,RackSpace CTO John Engates更将OpenStack的发展比作Linux和MySQL。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/13397940.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-28
下一篇 2023-07-28

发表评论

登录后才能评论

评论列表(0条)

保存