如何用工业树莓派和MQTT平台打通OT和IT?

一、应用设备

OT端设备:步进电机,MODBUS TCP远程I/O模块,PLC设备

边缘侧设备:宏集工业树莓派;

IT端设备:PC、安卓手机;

IT端软件:宏集HiveMQ MQTT通信平台

二、原理

宏集工业树莓派通过MODBUS协议分别采集步进电机、MODBUS TCP I/O模块、PLC设备数据,并在工业树莓派完成一些简单的数据处理。宏集HiveMQ将PC端配置为MQTT Broker;工业树莓派可通过MQTT协议将数据传输到PC端;在手机端,操作人员可通过自行编写的APP程序订阅PC端的数据主题。

三、实际测试

1.工业树莓派源码

  1. import threading

  2. import time

  3. from doctest import OutputChecker

  4. from os import P_PID

  5. from time import sleep

  6. from threading import Thread

  7. from tkinter import W

  8. from myCtrlLib import *

  9. import sys

  10. import serial

  11. import paho.mqtt.client as mqtt

  12. import json

  13. def on_connect(client, userdata, flags, rc):

  14. print(f"Connected with result code {rc}")

  15. client = mqtt.Client()

  16. client.on_connect = on_connect

  17. client.connect("192.168.1.168", 1883, 60)

  18. #读取PLC数据

  19. def read_plc_data():

  20. on_motor()

  21. i = 0

  22. j = 0

  23. while True:

  24. Weight = readFromName('Weight') #读取PLC重量值数据

  25. Humidity = readFromName('Humidity') #读取PLC湿度值数据

  26. Temperature = readFromName('Temperature') #读取PLC温度值数据

  27. #读取光电开关状态,0表示两个光电开关没有被触发;1表示光电开关1被触发,2表示光电开关2被触发,3表示两个光电开关同时被触发

  28. Switch = readFromName('Switch_1')

  29. sleep(1)

  30. Back_motor()

  31. sleep(1)

  32. Advance_motor()

  33. #根据光电开关状态控制电机

  34. if Switch == 1:

  35. i = i+1

  36. if Weight > 500:

  37. j = 1

  38. else :

  39. j = 0

  40. #构建JSON数据

  41. data = {

  42. 'Stepping_motor_speed':300, #电机转速

  43. 'Temperature':Temperature, #温度值

  44. 'Humidity':Humidity, #湿度值

  45. 'Obj_weighth':Weight, #重量值

  46. }

  47. json_data = json.dumps(data)

  48. client.publish('IndustrialProductionLin', payload=json_data, qos=0, retain=True)

  49. print(i)

  50. #电机启动

  51. def on_motor():

  52. writeToName('Motor',1)

  53. pass

  54. #电机正转

  55. def Advance_motor():

  56. writeToName('DIR',0)

  57. pass

  58. #电机反转

  59. def Back_motor():

  60. writeToName('DIR',1)

  61. pass

  62. #电机停止

  63. def stop_motor():

  64. writeToName('Motor',0)

  65. pass

  66. 创建并启动线程

  67. plc_thread = threading.Thread(target=read_plc_data)

  68. #启动线程

  69. plc_thread.start()

  70. 主线程等待两个线程结束

  71. plc_thread.join()

  72. 效果

四、为何选择宏集工业树莓派和宏集HiveMQ方案?

  1. 宏集工业树莓派集成了较多的现场总线协议 ,配合对应的Python库,能通过一些简单配置就能够实现OT端数据的采集,例如该案例使用的MODBUS协议,通过PiCtory配置,就能够编写Python程序,快速实现OT端的数据对接

  2. 宏集工业树莓派目前最高配置达到了8GB RAM,性能上等同于一台PC,能够完成一些较为复杂的运算和轻量化机器学习模型。

  3. 宏集HiveMQ平台是基于MQTT通信的物联网解决方案,支持快速配置MQTT Broker,支持高负载、高并发、高扩展性。在实际应用中,能够确保数据的快速稳定传输,保证不会出现任何一条数据丢失。除此之外的话,它还支持企业级扩展,例如对接Kafka以及企业级信息安全管理等功能。

工业树莓派特价活动

宏集工业树莓派特价活动火爆进行中,欢迎扫描下方小程序码咨询选购~

相关推荐
李李李李李同学2 天前
工业控制过等保三级需要的网络安全设备及详细讲解
网络·安全·等保测评·工业控制
巨蟹数字科技2 天前
北京数字孪生工业互联网可视化技术,赋能新型工业化智能制造工厂
智能制造·数字孪生·工业互联网·工业物联网·工业元宇宙·北京·三维可视化技术
CHHC18807 天前
mqtt网关数据接入rabbitmq,缓存离线数据,实现消息保留
mqtt·网关·rabbitmq·消息保存
Crazy Struggle8 天前
.NET 开源高性能 MQTT 类库
mqtt·网络协议·.net·mqttnet·物联网平台
巨蟹数字科技13 天前
半导体器件制造5G智能工厂数字孪生物联平台,推进制造业数字化转型
数字孪生·工业互联网·工业物联网·工业机器人·5g智能工厂·三维可视化系统·半导体器件制造
巨蟹数字科技13 天前
电子元件制造5G智能工厂物联数字孪生平台,推进制造业数字化转型
数字孪生·工业互联网·工业物联网·工业机器人·5g智能工厂·三维可视化系统·电子元件制造
巨蟹数字科技15 天前
电线电缆制造5G智能工厂物联数字孪生平台,推进制造业数字化转型
数字孪生·工业互联网·工业物联网·工业机器人·5g智能工厂·智慧工厂数字孪生·电线电缆制造
巨蟹数字科技15 天前
洗衣机制造5G智能工厂物联数字孪生平台,推进制造业数字化转型
数字孪生·工业互联网·工业物联网·工业机器人·5g智能工厂·工业数字孪生·洗衣机制造
EMQX16 天前
提高数据集成稳定性:EMQX Platform 端到端规则调试指南
mqtt·emqx
巨蟹数字科技16 天前
整流器制造5G智能工厂物联数字孪生平台,推进制造业数字化转型
智能制造·数字孪生·工业互联网·工业物联网·三维可视化大屏·5g智能工厂·整流器制造