如何成功的开发一款物联网应用

如何成功的开发一款物联网应用,第1张

开发之间的重要问题

这些问题对物联网应用开发人员很重要。哪一种才是最好的方法,来构建一个“物联网应用”,它可以做很多事情,从远程控制家庭应用到对引擎改动机制造商发送通知,而这一需要维护服务的引擎有个能在世界任何一个地方?开发人员要具备怎样的技能?要从哪里先开始?

物联网应用开发的始占在于它本身。这些边缘设备通常没有屏幕(尽管并非总是如此)、处理器功耗低,搭载的是某种嵌入式 *** 作系统,使用一个或多个通信协议进行交流(通常是无线)。这些东西可能直接与网络、相邻事物和网络网关相连,一般外形就是一个盒子带一些闪闪发光的灯。

系统的下一层即集成层是软件和基础设施,运行在企业数据中心或云中,来从各种事物中接收和管理数据流。运行在集成层的软件通常也负责管理这些事物,必要时更新固件。

接下来就分析层,用于管理并处理数据。最后,还有一个终端用户层,这一层上应用程序用于用户之间交流。这些可能是企业应用、可能是网络应用,也可能是移动应用。

如果你正在想办法构建物联网应用,最后两层将会是你接触最多的。作为开发人员,你可能没有工具处理这些边缘设备或网关,或者没有适应集成层的能力。

这也就是为什么说构建应用程序要从已经就绪的“物联网平台”开始是有道理的了。这些平台通常包含集成层,这一层承载着以时间为序列输入的数据,以及分析层、自动精简配置,激活和管理功能,实时消息总线和建立其上的平台和应用之间的通信API。

现在市场上有许多公司都在提供这类平台。这有Xively、Mnubo、BugLabs和ThingWorx,他们都有能力与不同的制造商产生的大量“事物”进行沟通。

还有些比较有名的公司,如微软的智能系统服务,和企业软件厂商如SAP的物联网解决方案,这些厂商都在他们的产品中增加了物联网功能。

这里的“物”要满足以下条件:1、要有相应信息的接收器; 2、要有数据传输通路;3、要有一定的存储功能;4、要有处理运算单元(CPU);5、要有 *** 作系统;6、要有专门的应用程序;7、要有数据发送器;8、遵循物联网的通信协议;9、在世界网络中有可被识别的唯一编号。

物联网是通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物体与互联网相连接,进行信息交换和通信,以实现对物体的智能化识别、定位、跟踪、监控和管理的一种网络。特别注意的是物联网中的“物”,不是普通意义的万事万物。

物联网(Internet of Things,简称IoT)是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、 连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。

了解大厂提供物联网平台之前,首先需要了解下物联网过程中的各个环节与参与对象。
对象一:硬件(比如充电桩)
对象二:通信组件(比如wifi模块)
对象三:物联网平台
物联网通信环节,简单来讲,就是硬件,通过通信组件,采用硬件通信协议(通常是传输层协议TCP),与物联网平台进行基于指令及数据的实时交互;通常来讲,将面向用户,互联网平台会提供面向C端的产品,如app,小程序。
大厂提供的物联网平台,就是上面的对象三;提供硬件连接的云端平台。
基于上面的特性,也就明确了物联网平台的客户群体——硬件厂商(格里、美的等等)

汽车一般有自己的 *** 作系统,较为完备的硬件条件为其通信提供了更多的选择,这个角度讲,他的通信与我们的手机通信较为相似。

阿里还有卖芯片的服务,使用它的芯片,网络传输应该就不用开发了,但是需要在其上开发自己产品的逻辑。
相同点就是都提供接入sdk,可以登陆官网自行查看

要手写物联网平台,需要具备相应的编程技能和物联网系统设计的知识。以下是一些步骤和注意事项:
确定系统架构:首先需要明确物联网平台的系统架构,包括设备层、网关层、云平台层等,以及各层之间的通信协议和数据格式。
设计数据存储方案:物联网平台需要存储大量的传感器数据和设备信息,需要设计合适的数据存储方案,包括数据库结构、数据存储方式等。
设计数据通信方案:物联网平台需要与各种设备进行数据通信,需要设计合适的通信协议和数据格式,同时需要考虑数据安全性和加密传输等问题。
编写设备驱动程序:根据设备的类型和通信协议,编写相应的设备驱动程序,实现数据采集和控制等功能。
编写云平台程序:编写云平台程序,实现数据接收、处理、存储、分析和展示等功能。
实现数据分析功能:利用机器学习、人工智能等技术,对物联网平台的数据进行分析和挖掘,提供更加智能化的服务和应用。
需要注意的是,物联网平台开发涉及到多个领域,包括软件开发、网络通信、硬件设计等,需要掌握多种技能和知识。同时,物联网平台开发还需要考虑数据安全和隐私保护等问题,需要严格遵守相关的法律法规和标准规范。

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。

物联网专业都很不错。
物联网是以计算机科学为基础,包括网络、电子、射频、感应、无线、人工智能、条码、云计算、自动化、嵌入式等技术为一体的综合性技术及应用,它要让孤立的物品(冰箱、汽车、设备、家具、货品等等)接入网络世界,让它们之间能相互交流、让我们可以通过软件系统 *** 纵himer、让himer鲜活起来。
科技创新改变生活,物联网以及延伸的人工智能必将为未来带来自便利的美好生活。
人类总是在追求自便利的美好生活,物联网很有前瞻性。
下一波的IT浪潮就是云计算、物联网、人工智能、生物技术。
目前物联网是新新事物,教学资源紧张是正常的,新新事物风险和机遇并存。
请相信机遇的东西确实是过了这个村,没了这个店,物联网目前就像初期的计算机专业一样,
等它成熟了,等你看到它的发展了,那时候你就落后,只能在前人后面捡烟头。
好好把握学习这个专业的机会,目前物联网处于发展初期,等你毕业刚好是大展拳脚的好时机!
请特别关注:
1、智能家居 2、智能交通 3、智能医疗 4、智能电网 5、
智能物流 6、智能农业 7、智能电力 8、智能工业 9、质量追溯
相信选择这个新新行业有风险,但机会总是给第一个敢吃螃蟹的人。
当然你可以选择传统保守的行业,那是另一种人生态度,开心就好!
一一一一
来自:广州溯源—物联网、云计算、人工智能---绿色未来

网络融合的能力不适合作为物联网消息传输协议具备的能力。

网络融合(Network convergence)包括两个层面的融合:数据传输层融合,应用层融合。网络融合在单一网络上结合了对多媒体、电话和数据的支持。

网络融合主要服务于大型、复杂的组织,其中移动和互联网连接在相同的防火墙或登录凭据之后进行监管。通过网络融合,注册用户可以通过单一网络访问他们的 Internet、以太网、Wi-Fi 和移动连接,该网络支持从电子邮件、VoIP 和 Web 浏览到文本消息的所有内容。

网络融合的关键技术可以分成两种类型:协议转换互连模型和服务融合互连模型。

第1种是协议转换互连模型,即根据两个网络之间的协议差异,直接在两个网络之间设置协议转换节点,转换两个网络不同的协议。

像现在IP电话使 用的就是协议转换的模型,直接将传输媒体格式及 其控制信令协议在两个不同的网络之间转换。

这种转换是一种个案处理的模式 ,可缩放性差,需要单独建立不同媒体之间的转换机制,不适用于多个异构网络之间的互连,所以,不宜作为通用的网络融合模型,即这种模型不适合于多媒体、多协议网络的互连模式。

第2种是服务融合互连模型,即将不同网络提供的服务(本文所指的”服务”也可以称为“业务”)提升到一个公共的服务平台,在该服务平台之上实现不同网络之间的互连。


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

原文地址: https://outofmemory.cn/dianzi/12969909.html

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

发表评论

登录后才能评论

评论列表(0条)

保存