前段时间参与了实验室的一个矿井项目,使用的技术是Zigbee和WIFI,使用到的芯片是常见的CC2530和ESP32。其结构可以用下面图1-1来进行较为精确的描述。
其中,阅读器就是矿井中,每一个传感网中的协调器,同时在协调器上拥有一个ESP32,让其可以连接WIFI。所有的阅读器都是通过WIFI与层间主机通信的;这里的层间主机可以说就是一个物联网中间件,它可以管理位于现场的网络,同时又要与位于云端的系统来进行交互。在本系统中,几乎所有的业务逻辑和一些实时调度算法都写在了层间主机中了。因此,从软件的开发角度来说,这个系统的软件结构能够正常的使用图1-2来描述。
系统的层间主机和阅读器是位于同一个局域网中,因此速度是很可观的。如果不使用无线WIFI,使用网线将会有更加可靠的性能,以及更加快的速度。
整个系统的开发划分是很明确的;传感节点只需要将自身的采集速度达到极致,并检测一下系统异常即可,不用关心其它的业务逻辑;控制节点只需要接收来自层间主机的控制命令即可;而阅读器只是作为一个中转器,将底层网络与层间主机连接起来。这一部分的开发有着明显的嵌入式气息,不关注业务逻辑,重点关注系统硬件的性能,将性能达到极致即可。
对于层间主机,就是普通的软件研发了,但是由于本系统对于阅读器和层间主机之间的通信这样的一个问题上,使用的TCP通信,因此,需要很熟悉TCP Socket网络编程,否则是玩不转的。
这里的开发就是典型的嵌入式系统的开发;在这次开发中,很多时候,使用的是ADC去读取各种传感器的采集到的模拟量,然后做一些简单的处理,就将采集到的数据按照设计的协议,发送给阅读器了。此处的开发重点有:
本套系统的当前情况下,在阅读器上,只要两块MCU,一块是ESP32,一块是CC2530;其中CC2530作为无线传感网的协调器,ESP32作为上层网络的通信芯片(准确点说是模组)。
此处上发的数据报头的内容主要是底层传感节点的基础信息;如果是一个控制节点,还需要包含这个节点的网络地址信息
与CC2530进行交互(UART或者SPI啥的),并设计指令,根据设计好的指令实现指令收发器
连接wifi(能支持微信配网功能),并在WIFI发生异常的时候,从新连接WIFI或者等待WIFI正常再去连接。
实现一个靠谱的TCP通信模型,包括网络不正常的情况下的处理,这个在这块片子上的开发应该属于最难的部分了。
由于使用的是ESP32模组,因此,这里的嵌入式开发的气息已经不是太重了,因为它都被乐鑫公司的底层SDK屏蔽了。唯一有点嵌入式味道的就是一个小串口了。
层间主机在总系统中起到了一个大脑的作用,它简单地管理着下层网络,同时也控制着下层网络,了解这下层网络的一切,调度这下层网络节点的执行行为。但它基本不存储数据,它不做报表,这些交给服务器处理;同时,它的运行规则也有服务器来决定,例如控制某一个电机启动的阀值,这个就由服务器提供;这里仅仅是展示缓存,同时在和服务器通信异常的时候,也能保证这整套系统的基本运行正常(也就是说,它同时也承担这抵御风险的功能,是能大大的提升系统的稳定性的)。
由于层间主机和阅读器在同一个局域网中,它们之间的通信也会相对来说比较稳定,迅速。
总有一首歌映入你的耳帘时让你记住了那么一个人,每一位歌手的出道总会有那么一首成名之作迅速的吸引了大量眼球,让他一炮...
在2024年随着网络崛起,今天的中国早就已确定进入了知识经济时代,知识经济时代核心人才就是知识型员工,他们更多de...
《那个不为人知的故事》2024电影超清在线观看地址主演邱泽和郎月婷免费在线p超清中字那个不为人知的故事完整版免费观看-百度云/夸克迅雷UC网盘资源免费高清链接下载
《那个不为人知的故事》夸克网盘完整百度云资源链接下载