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。
一股来说,构建物联网体系结构模型,应该遵循以下原则(或者说评价标准) : (1)多样性原则。物联网体系结构应根据物联网服务类型和结点的不同,分别设计多种类型的体系结构,不能也没有必要建立统一的标准体系结构。 (2)时空性原则。物联网尚在发展之中,其体系结构应满足物联网在时间、空间和能源方面的需求,可以集成不同的通信、传输和信息处理技术,应用于不同的领域。 (3)互联性原则。物联网体系结构需要平滑地与互联网实现互联互通,试图另行设计一套互联通信协议及其描述语言将是不现实的。 (4)互 *** 作性原则。对于不同的物联网系统,可以按照约定的规则互相访问、执行任务和共享资源。 (5)扩展性原则。对于物联网体系结构,应该具有一定的扩展性,以便最大限度地利用现有的网络通信基础设施,保护已投资利益。 (6)安全性原则。物联网系统可以保证信息的私密性,具有访问控制和抗攻击能力,具备相当好的健壮性和可靠性。物物互联之后,物联网的安全性将比计算机互联网的安全性更为重要,因此物联网的体系结构应具有防御大范围网络攻击的能力。讯维
《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是物联网设备网关技术架构设计(Session 管理、心跳管理、数据上行、数据下行)TCP Gateway。
物联网设备网关技术架构设计(Session 管理、心跳管理、数据上行、数据下行)
NioEventLoop 是 Netty 的 Reactor 线程,其角色:
基于Netty构建TCP网关的长连接容器,作为网关接入层提供服务API请求调用。
客户端通过域名+端口访问TCP网关,域名不同的运营商对应不同的VIP,VIP发布在LVS上,LVS将请求转发给后端的HAProxy,再由HAProxy把请求转发给后端的Netty的IP+Port。
LVS转发给后端的HAProxy,请求经过LVS,但是响应是HAProxy直接反馈给客户端的,这也就是LVS的DR模式。
其中步骤一至步骤九是指 Netty 服务端的创建时序,步骤十至步骤十三是 TCP 网关容器创建的时序。
Window 地址 // C:WindowsSystem32driversetchosts
添加 127001 iot-openicloudcom
位置: comibyteiottestserverTestTcpServer
位置: comibyteiottestclientTcpClient
更多内容:>复杂。
物联网架构可以由四个部分组成:1、东西这些被定义为唯一可识别的节点,主要是传感器,它们通过网络进行通信,无需人工干预。2、网关:它们充当东西和云之间的中介,以提供所需的网络连接、安全性和可管理性。3、网络基础设施:它由路由器、聚合器、网关、中继器和其他控制数据流的设备组成。4、云基础架构:云基础架构包含连网的大型虚拟化服务器和存储池。
1、需求阶段
企业在开发前就需要清楚想要什么类型的系统,产品经理与客户进行沟通讨论时,就包括开发类型、开发平台、功能需求、页面设计、开发周期、开发预算等问题反复讨论,之后还将这些需求梳理、需求分类,整理出大致的物联网系统功能框架原型图,只到确认原型图符合要求。
2、研发阶段
在需求阶段梳理完成后,进入物联网系统项目研发时,UI设计师会根据互联网系统原型图进行界面设计,在经过过多次与项目经理沟通修改后,形成初步的互联网系统的页面设计效果图。页面设计完成后,项目开发的前后端工程师根据需求文档进行需求评审,需要程序编写人员根据计划表,按计划和模块进行编写;在编码阶段择合适的程序设计语言、制定编码规范、建立数据库系统、进行程序编码。
3、测试阶段
测试是项目中较为重要的环节,其保证软件系统最后的质量。在物联网系统开发的测试中大致环节包含:测试用例设计、单元测试、集成测试、系统测试、编写《测试分析报告》。在此过程中,测试人员会将出现bug的部分,按计划反馈给前后端的相关负责人或工程师,然后相应工程师进行修改,直至项目在测试环节无bug问题,与客户进行沟通开始验收。
4、发布交付
软件系统开发公司根据合同向企业交付相关程序和文档,摘要:针对当前基于物联网的物流逐步走向大数据时代,设计了一种基于物联网的物流管理系统。以物联网作为基础硬件支撑,通过RFID标签对物流数据进行采集,并通过无线网络将数据上传到服务器。利用C#语言对系统进行开发,并结合GPS导航系统对物流车辆进行实时跟踪与监控,完成物流运输中的人与货物、货物与车、货物与货物之间的交流,实现物流的智能化管理。
关键词:物联网;RFID标签;物流管理;智能物流;导航系统
随着物联网技术的发展,传统物流行业开始朝智能化、信息化方向发展。通过现代物联网技术,对传统物流中很难知晓的运输条件、运输状态等进行监测,从而更好地满足用户的需求。如生鲜食品运输中,借助物联网技术可对运输物流车中的温度、湿度、位置等数据进行实时采集与传输,让用户在接收食品的时候可第一时间了解生鲜食品运输状态,达到放心食用的目的[1]。通过这种智能化的方式,大大提高了物流行业的服务水平。因此,本文结合物联网技术,设计一种基于物联网的物流管理系统,目的就是通过加强物流管理全程监控,不断提升物流管理企业的服务水平。
1 系统设计目的与原则
本文设计的基于物联网的物流管理系统是以物流企业作为主体,为不同的消费者提供个性化的物流服务。作为一个实时监控与管理系统,在设计中除满足基本的功能需求外,还必须适当考虑系统的实用性、可维护性、可扩展性等[2],即功能设计满足用户需求、软硬件搭配合宜、可根据客户需求适时拓展功能。因此根据上述原则,基于物联网的物流管理系统功能设计要充分满足用户的基本需求,并可实现对整个物流装卸、配送、仓储等过程的管理,从而为消费者提供更加方便、快捷和安全的物流服务;适应未来功能需求变化,可支持对系统 进行二次开发,并预留相关的功能接口,满足未来系统性能需求。对系统的开发必须要考虑维护的成本,同时方便对数据进行备份、恢复等,提高数据的可维护性。
2 基于物联网的系统整体架构设计
该系统设计的目的是实现物流企业对物流配送的实时管理,同时为消费者提供货物实时查询信息
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)