目前,我正在尝试设置一个最小的EdgeX -主流量设置,以监视我们公司的特定传感器数据。
对于原型化,我设置了两个Linux服务器。
Gateway
网关接收来自硬件设备的读数,并将它们传递到主流量服务器进行进一步处理。
为此,我遵循了官方主流文档https://mainflux.readthedocs.io/en/latest/agent/中的示例。
'gateway-thing'
的东西)。
gateway_thing_id="43259265-394c-4cc4-bf50-58aba33432ce"
control_channel_id="18599c67-2699-4654-8eac-016133875932"
data_channel_id="ba67f32e-1912-4038-9515-6d4dd6024413"
bootstrap_configuration='
{
"external_id": "44:e1:2d:e6:cf:03",
"thing_id": "43259265-394c-4cc4-bf50-58aba33432ce",
"external_key": "edged",
"name": "edged",
"channels": [
"ba67f32e-1912-4038-9515-6d4dd6024413",
"18599c67-2699-4654-8eac-016133875932"
],
"content":"{\"log_level\":\"debug\",\"http_port\":\"9000\",\"mqtt_url\":\"tcp://localhost:1883\",\"edgex_url\":\"http://localhost:48090/api/v1/\"}"
}'切换到EdgeX服务器
创建了环境变量
export MF_AGENT_LOG_LEVEL=debug
export MF_AGENT_BOOTSTRAP_KEY=edged
export MF_AGENT_BOOTSTRAP_ID=44:e1:2d:e6:cf:03
export MF_AGENT_BOOTSTRAP_URL='http://192.168.137.95:8202/things/bootstrap/'因为指令要求我安装natsd,所以我通过docker创建了一个实例。现在一切都如期而至。我可以发布和订阅消息EdgeX <->主机服务器。说明中没有提到的是如何从那里着手。
据我所知,代理需要安装在EdgeX服务器上,因为它充当边缘和主流量之间的桥梁。代理连接到EdgeX端的mqtt服务器,以便能够来回发布和接收控制/数据命令。
我不知道代理是如何连接到网关的,以及NATSD实例正在做什么。会有人知道如何才能将数据从edgex服务器获取到主程序实例上吗?
发布于 2020-09-30 14:37:50
假定您同时在同一网关/PC上运行edgex和agent。
要从edgex服务器API端点接收数据,可以向代理发送mqtt消息。
例如:
mosquitto_pub -u <thing_id> -P <thing_key> -t channels/<channel_id>/messages/req -h localhost -m '[{"bn":"1:", "n":"control", "vs":"edgex-config, edgex-support-notifications, edgex-core-data"}]'这将使代理向edgex端点http://localhost:48082/api/v1/config发送请求。
并检索edgex-support-notifications, edgex-core-data的配置数据。
要观察响应,您必须订阅channels/<channel_id>/messages/res
edgex上支持的端点是/config、/metrics、/operation和/ping。
对于NATS,它不用于与edgex通信。
NATS被用于其他服务,这些服务可以订阅通过agent从主流量接收的命令。
另外,其他服务也可以通过在NATS上发布到heartbeat主题来报告其生动活泼,NATS由代理获取,可用于获取mqtt。
https://stackoverflow.com/questions/63104417
复制相似问题