[BeagleBone®] 基于BeagleBone® Black的通信和模块化概念验证

发新帖

201

主题

219

帖子

0

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
0
发表于 2021-1-5 18:56:18 | 显示全部楼层 |阅读模式
分享:
查看: 400|回复: 0
本项目使用BeagleBone® Black构建多种协议的模块化结构,并进行概念证明(proof of concept)。项目使用硬件和软件:BeagleBone® BlackArduino Nano R3Ubidots。涉及到的协议包括TCPUDPCOAPMQTT等,可使用C++UbidotsMQTT服务器代理对协议进行修改。
5.jpg
6.jpg 7.jpg
系统结构
8.jpg
图注:系统结构
上图显示项目的层次结构,其中的每个模块/节点都有其独特用途:
1、SENSORS_INFO节点
SENSORS_INFO节点负责从传感器获取所有数据,将其解析为本地通用结构,通过COAP协议发送到上层。目前仅测量温度和湿度,添加其他测量功能也不难。根据要求选择进行下列测量:
●BeagleBone®。固定幅度和频率的正弦离散函数(未验证测量波形,仅在没有硬件的时候测试系统)。
●Arduino:固定幅度和频率的正弦连续函数(未验证测量波形,仅在没有硬件的时候测试系统)。Arduino和BeagleBone®之间的通信通过串行并发送通用数据结构进行。Arduino具有不同字节精度,表示某些类型(例如使用Double类型的4字节对8字节)。
●DHT111:传感器。
所有模式同时运行,仅使用一个信号灯,一种模式可以进行温度和湿度测量。使用COAP协议,SENSORS_INFO每隔X时间更新一次。
9.jpg
图注:sensors info schema
2、SENSORS_SWITCH节点
如果必须传播用户事件,SENSORS_SWITCH节点设计为使用简单的开关和电位计来合并数字和模拟数据。
10.jpg
图注:传感器切换节点
上图显示传感器切换节点如何工作。按钮使用异步事件实现电位器采用轮询策略。生成新数据后,将其打包为全局数据结构,通过UDP将其发送到网关节点。电位器电流值仅每隔X时间发送一次。
3、Actuators节点
从环境或用户获得数据后,Actuators节点执行特定操作或显示反馈,最简单的方法是使用LED和伺服电动机。
11.jpg
图注:执行器件节点
红色/橙色/绿色LED表明SENSORS_INFO节点在不同模式下的工作状态。伺服电机将显示电位器数值的状态,警报LED将显示该数值是否大于X。也可实现其他功能,只需要按照Ubidots规则,更改切换数据,发送到ACTUATORS节点即可。
4、Gateway节点
Gateway节点是项目的主节点,以最低的级别和Ubidots MQTT服务器代理来管理所有连接。
为了解决关于如何在不考虑通信协议的情况下如何移动数据的问题,建立全局通用数据结构。因此在整个系统中,每个节点必须调整数据以更好地理解。只有网关才需要知道如何从MQTT服务器发送或提取数据,因为在本项目中,网关应该实现对系统的“公共”访问或“网关”。
12.jpg
图注:网关节点结构
网关使COAP、UDP和TCP服务器保持最低级别的对话,同时使用MQTT协议将接收到的数据发布到Ubidots服务器。在同一场景中,它订阅了一些变量(例如alarm、state、led_status)以将所有更改通知所有节点。请注意,Internet连接对于保持所有系统的一致状态很重要,因此可以编译项目,以建立从节点之间的直接数据重定向(如图所示)。
数据处理过程
13.jpg
图注:数据在网关中的移动方向
现在,我们将了解数据如何从连接服务器移动到MQTT客户端的架构。
当服务器接收到新数据时,如果继续执行data_management函数,必须将新数据转换为全局结构(该结构包含所有必要的信息),将其重定向到Ubidots,转换为内部数据或仅用于更新服务器信息。
在上图中,所有3个服务器都是使用线程实现的(只有TCP服务器是多线程的),以确保连接一直保持活动状态,并由于没有全局变量或共享内存而提高了整个系统的性能。
Ubidots
Ubidots作为MQTT代理,维护环境传感器或电位计数值的所有信息。可以将数据重定向到subscribers,或更改变量值,或向用户发送警报事件。在下图中,使用Ubidots规则重定向数据,修改led_status和alarm变量:
14.jpg
图注:Ubidots数据重新定向
15.jpg
图注:Ubidots事件
Ubidots中较好的工具是数据可视化处理:
16.jpg
图注:Ubidots控制面板
17.jpg
图注:系统整体结构
用户可通过本概念证明项目,积累通信协议、数据管理、使用BeagleBone®Black硬件方面的经验。
原文链接:

收藏 回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

快速回复 返回顶部 返回列表