0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于工业树莓派和MQTT平台打通OT和IT

jf_zGNBEhbi 来源:趣无尽 2023-10-24 10:30 次阅读

一、应用设备

OT端设备:步进电机,MODBUS TCP远程I/O模块,PLC设备
边缘侧设备:宏集工业树莓派
IT端设备:PC、安卓手机
IT端软件:宏集HiveMQ MQTT通信平台

二、原理

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

三、实际测试

1、工业树莓派源码

import threading
import time
from doctest import OutputChecker
from os import P_PID
from time import sleep
from threading import Thread
from tkinter import W
from myCtrlLib import *
import sys
import serial
import paho.mqtt.client as mqtt
import json
 
def on_connect(client, userdata, flags, rc):
    print(f"Connected with result code {rc}")
  
client = mqtt.Client()
client.on_connect = on_connect
client.connect("192.168.1.168", 1883, 60)
 
#读取PLC数据
def read_plc_data():
    on_motor()
    i = 0
    j = 0
    while True:
        Weight = readFromName('Weight')         #读取PLC重量值数据
        Humidity = readFromName('Humidity')     #读取PLC湿度值数据
        Temperature = readFromName('Temperature')       #读取PLC温度值数据
         
        #读取光电开关状态,0表示两个光电开关没有被触发;1表示光电开关1被触发,2表示光电开关2被触发,3表示两个光电开关同时被触发
        Switch = readFromName('Switch_1')
        sleep(1)
        Back_motor()
        sleep(1)
        Advance_motor()
 
        #根据光电开关状态控制电机
        if Switch == 1:
            i = i+1
 
        if Weight > 500:
            j = 1
        else:
            j = 0
 
        #构建JSON数据
        data = {
            'Stepping_motor_speed':300,     #电机转速
            'Temperature':Temperature,      #温度值
            'Humidity':Humidity,        #湿度值
            'Obj_weighth':Weight,            #重量值
        }
 
        json_data = json.dumps(data)
        client.publish('IndustrialProductionLin', payload=json_data, qos=0, retain=True)
        print(i)
 
#电机启动
def on_motor():
    writeToName('Motor',1)
    pass
 
#电机正转
def Advance_motor():
    writeToName('DIR',0)
    pass
 
#电机反转
def Back_motor():
    writeToName('DIR',1)
    pass
 
#电机停止
def stop_motor():
    writeToName('Motor',0)
    pass
 
 
# 创建并启动线程
plc_thread = threading.Thread(target=read_plc_data)
 
#启动线程
plc_thread.start()
 
# 主线程等待两个线程结束
plc_thread.join()

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

1、宏集工业树莓派集成了较多的现场总线协议,配合对应的Python库,能通过一些简单配置就能够实现OT端数据的采集,例如该案例使用的MODBUS协议,通过PiCtory配置,就能够编写Python程序,快速实现OT端的数据对接;
2、宏集工业树莓派目前最高配置达到了8GB RAM,性能上等同于一台PC,能够完成一些较为复杂的运算和轻量化机器学习模型。
3、宏集HiveMQ平台是基于MQTT通信的物联网解决方案,支持快速配置MQTT Broker,支持高负载、高并发、高扩展性。在实际应用中,能够确保数据的快速稳定传输,保证不会出现任何一条数据丢失。除此之外的话,它还支持企业级扩展,例如对接Kafka以及企业级信息安全管理等功能。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 步进电机
    +关注

    关注

    151

    文章

    3120

    浏览量

    147790
  • 现场总线
    +关注

    关注

    3

    文章

    521

    浏览量

    38619
  • 树莓派
    +关注

    关注

    117

    文章

    1710

    浏览量

    105834
  • MQTT
    +关注

    关注

    5

    文章

    653

    浏览量

    22665

原文标题:工业树莓派和 MQTT 平台打通 OT 和 IT

文章出处:【微信号:趣无尽,微信公众号:趣无尽】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    麻烦推荐一个开源智能硬件平台树莓香蕉

    新人求助- 开源智能硬件平台树莓,香蕉授课老师推荐,谢谢大家了~~拜托·~~ 课程两天左右,公司内训,主要是关注各种开发板的了解比如树莓
    发表于 05-20 09:57

    【"盈鹏飞嵌入式i.mx6ull-IoT开发板"试用体验】基于MQTT的车间网联网智能网关

    服务,实现树莓、IMX6ULL开发板智能网关、Ubuntu下MQTT数据实时交互;生气花生壳内网穿透账号,实现公网数据发布,生气阿里MQTT服务器实例,实现基于IMX6ULL 开发板
    发表于 08-03 18:33

    树莓装机教程

    树莓装机教程树莓装机教程树莓装机教程树莓
    发表于 11-25 10:14 52次下载

    MARSIOT开放平台树莓设备轻松接入

    MARSIOT(火星互联)之前发步了安卓上的APP让树莓爱好者以极为简单的方式快速的接入MARSIOT平台,远程的控制树莓的GPIO,不
    发表于 05-22 17:03 7次下载

    树莓是什么树莓的简单介绍

    要想玩转树莓,首先得知道树莓是什么。在本节中,作者将带领大家揭开树莓的神秘面纱,了解
    发表于 05-15 18:09 30次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>是什么<b class='flag-5'>树莓</b><b class='flag-5'>派</b>的简单介绍

    树莓-搭建边缘计算云平台

    基于树莓搭建边缘计算云平台
    的头像 发表于 12-03 00:17 1652次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>-搭建边缘计算云<b class='flag-5'>平台</b>

    虹科工业树莓和PLC怎么选?

    工业树莓和PLC的区别在哪?应该选择工业树莓还是PLC?本篇文章为你解答~
    的头像 发表于 02-22 11:03 1034次阅读

    虹科工业树莓应用小技巧

    在应用虹科工业树莓进行项目开发的过程中,我们会应用到各种功能,部分功能看似不起眼,但是在实际应用开发过程中却非常重要。接下来虹科分享几个工业树莓
    的头像 发表于 05-24 17:33 710次阅读
    虹科<b class='flag-5'>工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>应用小技巧

    虹科教您固定工业树莓Modbus RTU设备编号

    点击关注我们可获取更多IIOT干货哦~虹科工业树莓高性能多接口宽温--适应恶劣环境★★★★★“01/前言”虹科工业树莓
    的头像 发表于 10-18 18:26 715次阅读
    虹科教您<b class='flag-5'>派</b>固定<b class='flag-5'>工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>Modbus RTU设备编号

    虹科干货 | 简单几步教您使用工业树莓作为MQTT Broker进行测试

    虹科IIoT简单几步教您使用工业树莓作为MQTTBroker进行测试前言MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT
    的头像 发表于 06-02 10:26 801次阅读
    虹科干货 | 简单几步教您使用<b class='flag-5'>工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>作为<b class='flag-5'>MQTT</b> Broker进行测试

    虹科方案 | 虹科工业树莓和PLC怎么选?

    虹科IIoT虹科工业树莓VSPLCHongKeTechnology虹/科/方/案01什么是虹科工业树莓
    的头像 发表于 03-29 15:42 918次阅读
    虹科方案 | 虹科<b class='flag-5'>工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>和PLC怎么选?

    等待已久,新品上市 | RevPi Connect 4系列:基于树莓CM4计算模块的全新工业树莓

    虹科工业树莓新品重磅来袭!虹科RevPi Connect 4采用最新树莓CM4计算模块,全面升级,性能跃升,为
    的头像 发表于 08-01 11:42 918次阅读
    等待已久,新品上市 | RevPi Connect 4系列:基于<b class='flag-5'>树莓</b><b class='flag-5'>派</b>CM4计算模块的全新<b class='flag-5'>工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>

    RevPi Connect 4系列:基于树莓CM4计算模块的全新工业树莓

    新品来袭势不可挡 备受期待的 虹科工业树莓第四代产品—RevPi Connect 4 终于来啦!作为全球领先的工业自动化产品,RevPi Connect 4融合了
    的头像 发表于 08-04 16:33 642次阅读
    RevPi Connect 4系列:基于<b class='flag-5'>树莓</b><b class='flag-5'>派</b>CM4计算模块的全新<b class='flag-5'>工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>

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

    如何打通OT和IT,加速智能制造?来看看宏集的解决方案[让我看看]欢迎联系我们了解更多产品/方案信息~
    的头像 发表于 10-19 15:09 452次阅读
    如何用<b class='flag-5'>工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>和<b class='flag-5'>MQTT</b><b class='flag-5'>平台</b><b class='flag-5'>打通</b><b class='flag-5'>OT</b>和IT?

    宏集方案 | 如何用工业树莓MQTT平台打通OT和IT?

    如何用工业树莓MQTT平台打通OT和IT?
    的头像 发表于 01-05 11:01 410次阅读
    宏集方案 | 如何用<b class='flag-5'>工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>和<b class='flag-5'>MQTT</b><b class='flag-5'>平台</b><b class='flag-5'>打通</b><b class='flag-5'>OT</b>和IT?