-
亿联网云建站平台代理系统源码
2020-08-16 02:42:28亿联网云建站平台代理系统源码是以asp+access进行开发的asp建站平台源码,内含PC+手机版,自动设别终端切换显示。 亿联网是昆山亿思互联信息科技有限公司旗下的服务产品。该平台是 -
亿联网云建站平台代理系统源码 v3.2.7
2020-12-30 17:51:08亿联网云建站平台代理系统源码是以asp+access进行开发的asp建站平台源码,内含PC+手机版,自动设别终端切换显示。 亿联网是昆山亿思互联信息科技有限公司旗下的服务产品。该平台是 -
亿联网云建站平台代理系统源码 v3.2.8
2020-12-09 22:30:30亿联网云建站平台代理系统源码是以asp+access进行开发的asp建站平台源码,内含PC+手机版,自动设别终端切换显示。 亿联网是昆山亿思互联信息科技有限公司旗下的服务产品。该平台是 -
亿联网云建站平台代理系统源码 v3.3.0
2020-12-09 14:17:58亿联网云建站平台代理系统源码是以asp+access进行开发的asp建站平台源码,内含PC+手机版,自动设别终端切换显示。 亿联网是昆山亿思互联信息科技有限公司旗下的服务产品。该平台是 -
亿联网云建站平台代理系统源码 v3.2.6
2020-11-30 19:05:38亿联网云建站平台代理系统源码是以asp+access进行开发的asp建站平台源码,内含PC+手机版,自动设别终端切换显示。 亿联网是昆山亿思互联信息科技有限公司旗下的服务产品。该平台是 -
亿联网云建站平台代理系统源码 v3.1
2020-12-10 04:51:11亿联网云建站平台代理系统源码是以asp+access进行开发的asp建站平台源码,内含PC+手机版,自动设别终端切换显示。 亿联网是昆山亿思互联信息科技有限公司旗下的服务产品。该平台是一个能在线快速搭建企业网站,为... -
亿联网云建站平台代理系统源码 v3.1.7
2020-12-02 09:13:54亿联网云建站平台代理系统源码是以asp+access进行开发的asp建站平台源码,内含PC+手机版,自动设别终端切换显示。 亿联网是昆山亿思互联信息科技有限公司旗下的服务产品。该平台是一个能在线快速搭建企业网站,为... -
亿联网云建站平台代理系统源码 v3.1.9
2020-12-02 02:34:42亿联网云建站平台代理系统源码是以asp+access进行开发的asp建站平台源码,内含PC+手机版,自动设别终端切换显示。 亿联网是昆山亿思互联信息科技有限公司旗下的服务产品。该平台是一个能在线快速搭建企业网站,为... -
亿联网云建站平台代理系统源码 v3.3.2.zip
2019-07-05 03:51:19亿联网云建站平台代理系统源码是昆山亿思互联信息科技有限公司旗下的服务产品。该平台是一个能在线快速搭建企业网站,为企业用户提供快捷、易用、适合SEO优化的互联网建站工具。 平台开设了两种运营服务体系:一种... -
亿联网云建站平台代理系统源码 v3.3.2
2019-10-16 17:31:23亿联网云建站平台代理系统源码是以asp+access进行开发的asp建站平台源码,内含PC+手机版,自动设别终端切换显示。亿联网是昆山亿思互联信息科技有限公司旗下的服务产品。该平台是一个能在线快速搭建企业网站,为企业... -
freeioe:FreeIOE是用于构建IOE(万物互联)边缘计算网关的框架。-源码
2021-02-03 17:55:42是用于构建IOE(万物互联)边缘计算网关的开源框架。 如何使用 应用程式开发 文件资料 例子 Modbus应用程序(主/从) OpcUA应用程序(服务器/客户端) 通过ubus代理收集Fanuc Focas CNC设备数据 DLT645设备数据... -
:cloud_with_lightning:支持通用云存储的云盘系统(一个项目可在几分钟内帮助您构建自己的云)-源码
2021-02-21 01:59:44:cloud:支持本机,从机,七牛,阿里云OSS,腾讯云COS,又拍云,OneDrive(包括世纪互联版)作为存储端 :outbox_tray:发布/下载支持客户端直传,支持下载限速 :floppy_disk:可对接Aria2离线下载 :books:在线压缩/... -
(Arduino Python源码) 物联网Arduino连接阿里云轻量服务器(非物联网平台)实现无线数据传输
2020-05-18 23:27:35源码阿里云轻量服务器通过MQTT互联 并通过Python订阅主题实现数据互传ESP8266 Wifi模块实现与阿里云数据的无线传输
1. 硬件配置 - 可根据自身需要跳过
如果是直接使用ESP8266芯片的话建议直接跳到后面前面的配置就不用看了.
1.1 硬件选择 - WeMos D1 WiFI UNO R3 开发板
硬件购买传送门
这款的好处是集成了ESP8266模块这就意味着你不需要在单独的去购买并配置ESP8266 WIFI 模块了, 这款板子基于ESP-12E,而且兼容Arduino,有了这款 物联网开发板,我们可以愉快的使用Arduino 方式开发ESP8266,玩转物联网项目.1.2 开发板参数
- 处理器ESP-8266EX
- 工作电压3.3V 输入电压6-24V
- I/O 数量11
- AD 输入电压0-3.3V
- Flash 4MB SRAM 32KB DRAM 80KB
- 时钟频率80MHz/160Mhz 网络802.11 b/g/n
- 尺寸规格:长68.6mm x 宽53.4mm
- 重量21g
1.3 开发板实物
2. 开发环境配置 - 从arduino的下载开始
2.1 下载Arduino
下载传送门 解压密码: C6FX
2.2 安装驱动
drivers/ dpinst-amd64.exe 点击安装就好
2.3 配置IDE
2.3.1 打开文件首选项去配置开发板管理器
在下面的附加开发板管理器网址中加入:http://arduino.esp8266.com/stable/package_esp8266com_index.json
2.3.2 下载库文件 并 添加到指定位置
库文件下载地址 密码: RBXX
解压到或者手动添加到:C:\Users\你电脑的用户名\AppData\Local\Arduino15\staging\packages
2.3.3 工具->开发管理器 安装我们的ESP8266相关板子
知道为什么刚刚要添加开发管理器网址了吧
在里面查找8266添加2.4.0版本
2.3.4 工具->开发板->WeMos D1 R1
2.3.5 其它配置选项如下
2.3.6 测试一下哈
如果你的板子上开始一闪一闪的就成了3. ESP8266连接WIFI - 硬货来了
3.1 动态IP方式连接WIFI热点
#include <ESP8266WiFi.h> #define WIFI_SSID "zxy0016zxy" //这里是你自己的wifi名称 #define WIFI_PASSWD "lyf!@#815168" //你自己的wifi密码 void setup() { Serial.begin(115200); //波特率设置你要在你的串口中设置同样的波特率不然就是乱码 WiFi.mode(WIFI_STA); WiFi.begin(WIFI_SSID, WIFI_PASSWD); //这个就是TCP连接一样的通过wifi名字和密码绑定wifi WiFi.setAutoConnect (true); WiFi.setAutoReconnect (true); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("connecting......"); } Serial.println("Connected to AP"); delay(3000); } void loop() { if (WiFi.status() == WL_CONNECTED) { Serial.println("Zibo Zhao's FYP:"); Serial.println("---------------------------------------------------------"); Serial.println("Connect to router success"); Serial.println(String("local IP is ")+WiFi.localIP().toString()); Serial.println(String("Subnet mask is ")+WiFi.subnetMask().toString()); Serial.println(String("gatewayIP address is ")+WiFi.gatewayIP().toString()); Serial.println(String("dnsIP address is ")+WiFi.dnsIP().toString()); Serial.println(String("SSID is ") + WiFi.SSID()); Serial.println(String("PSK is ") + WiFi.psk()); Serial.println(String("BSSID is ") + WiFi.BSSIDstr()); Serial.println(String("RSSI is ") + WiFi.RSSI()); Serial.println("---------------------------------------------------------"); delay(10000); }else { Serial.println("Connect to router failed"); } // Wait a bit before scanning again delay(1000); }
里面的打印内容基本是IP地址 子网掩码 WIFI入口号等等 就不详细解释了 来看下运行效果
大家不要来蹭我wifi哈
3.2 静态IP连接WIFI热点
#include <ESP8266WiFi.h> #define WIFI_SSID "你的wifi名称" #define WIFI_PASSWD "你的wifi热点" IPAddress local_static_ip(192, 168, 43, 10); //设置静态连接的IP IPAddress local_gateway(192, 168, 43, 1); //设置局域网登录地址 IPAddress local_subnet(255, 255, 255, 0); //设置子网IP IPAddress local_dns_ip(192, 168, 43, 1); //设置DNS IP void setup() { Serial.begin(115200); WiFi.mode(WIFI_STA); WiFi.begin(WIFI_SSID, WIFI_PASSWD); WiFi.config(local_static_ip, local_gateway, local_subnet, local_dns_ip); WiFi.setAutoConnect (true); WiFi.setAutoReconnect (true); while (WiFi.status() != WL_CONNECTED) //如果没连上每隔一秒重复尝试一次 { delay(1000); Serial.println("connecting......"); } Serial.println("Connected to AP"); Serial.println(String("mac address is ")+WiFi.macAddress()); delay(3000); } void loop() { if (WiFi.status() == WL_CONNECTED) //如果连上了每隔1秒打印一下以下相关信息 { Serial.println("Connect to router success"); Serial.println(String("Subnet mask is ")+WiFi.subnetMask().toString()); Serial.println(String("gatewayIP address is ")+WiFi.gatewayIP().toString()); Serial.println(String("dnsIP address is ")+WiFi.dnsIP().toString()); Serial.println(String("SSID is ") + WiFi.SSID()); Serial.println(String("PSK is ") + WiFi.psk()); Serial.println(String("BSSID is ") + WiFi.BSSIDstr()); Serial.println(String("RSSI is ") + WiFi.RSSI()); }else { Serial.println("Connect to router failed"); } // Wait a bit before scanning again delay(1000); }
4. 云服务器MQTT服务器搭建
4.1 创建MQTT文件夹用于下载MQTT安装包
4.2 下载MQTT安装包 并解压
wget http://emqtt.com/static/brokers/emqttd-centos7-v2.3.1.zip
yum install unzip -y
unzip emqttd-centos7-v2.3.1.zip
这里报了错误 不要急很有可能是没下载完全所以导致不能解压, 解决措施很简单多下几遍就行了
4.3 安装主文件并运行mqtt
cd emqttd 进入文件
./bin/emqttd console 安装主文件
这样就算成功了4.4 Screen 创建新进程并运行MQTT
screen -ls 查看所有进程
screen -r -d name 进入name进程
ctrl+a d 从进程中脱离
screen -S name 创建名为name的进程
4.5 查看MQTT状态
./bin/emqttd_ctl status 注意要在MQTT的安装目录下才能运行
4.6 进入MQTT后台
这个18083是用来进入后台的 我们进入screen MQTT进程查看MQTT监控的端口:
访问自己的公网IP:18083进入MQTT后台 账号 admin 密码 public
5. Arduino 连接MQTT服务器
5.1 加载库文件 PubSubClient一定要有的用于MQTT连接
5.2 Arduino 分别连接WIFI和MQTT服务器
连接wifi 相关代码
#define WIFI_SSID "zxy0016zxy" #define WIFI_PASSWD "lyf!@#815168" void wifiInit() { WiFi.mode(WIFI_STA); WiFi.begin(WIFI_SSID, WIFI_PASSWD); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("WiFi not Connect"); } Serial.println("Connected to Zibo's wifi"); Serial.println("----------------------------"); Serial.println("Connected to AP"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); Serial.print("espClient ["); Serial.println("----------------------------"); client.setCallback(callback); }
连接MQTT服务器(在云服务器上的一个进程中运行)
#define MQTT_SERVER "公网ip" #define MQTT_PORT 1883 /* 默认连接1883端口 TCP通讯*/ #define MQTT_USRNAME "public" /* 用户名*/ /* MQTT 设置*/ #define CLIENT_ID "Zibo Zhao" /* 你的id*/ #define MQTT_PASSWD "public" #define ALINK_BODY_FORMAT "{\"id\":\"123\",\"version\":\"1.0\",\"method\":\"thing.event.property.post\",\"params\":%s}" #define ALINK_TOPIC_PROP_POST "/World" /* 发送数据到哪个主题*/ client.setServer(MQTT_SERVER, MQTT_PORT); /* 连接WiFi 之后,连接MQTT 服务器*/
5.3 完整版代码
#include <ESP8266WiFi.h> /* 依赖PubSubClient 2.4.0 */ #include <PubSubClient.h> /* 依赖ArduinoJson 5.13.4 */ #include <ArduinoJson.h> #include <DHT.h> //DHT 温湿度传感器库 #define SENSOR_PIN 13 DHT dht13(13, 11); int TEMP; /* 连接您的WIFI SSID 和密码*/ #define WIFI_SSID "zxy0016zxy" #define WIFI_PASSWD "lyf!@#815168" /* 设备的三元组信息*/ /* 线上环境域名和端口号,不需要改*/ #define MQTT_SERVER "公网ip" #define MQTT_PORT 1883 #define MQTT_USRNAME "public" /* MQTT 设置*/ #define CLIENT_ID "Zibo Zhao" #define MQTT_PASSWD "public" #define ALINK_BODY_FORMAT "{\"id\":\"123\",\"version\":\"1.0\",\"method\":\"thing.event.property.post\",\"params\":%s}" #define ALINK_TOPIC_PROP_POST "/World" unsigned long lastMs = 0; WiFiClient espClient; PubSubClient client(espClient); void callback(char *topic, byte *payload, unsigned int length) { Serial.print("Message arrived ["); Serial.print(topic); Serial.print("] "); payload[length] = '\0'; Serial.println((char *)payload); } void wifiInit() { WiFi.mode(WIFI_STA); WiFi.begin(WIFI_SSID, WIFI_PASSWD); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("WiFi not Connect"); } Serial.println("Connected to Zibo's wifi"); Serial.println("----------------------------"); Serial.println("Connected to AP"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); Serial.print("espClient ["); Serial.println("----------------------------"); client.setServer(MQTT_SERVER, MQTT_PORT); /* 连接WiFi 之后,连接MQTT 服务器*/ client.setCallback(callback); } void mqttCheckConnect() { while (!client.connected()) { Serial.println("Connecting to MQTT Server ..."); if (client.connect(CLIENT_ID, MQTT_USRNAME, MQTT_PASSWD)) { Serial.println("MQTT Connected!"); } else { Serial.print("MQTT Connect err:"); Serial.println(client.state()); delay(5000); } } } /* 绑定设备,标识符“RoomTemp” */ void mqttIntervalPost() { char param[500]; char jsonBuf[1023]; boolean d = client.publish(ALINK_TOPIC_PROP_POST, "hahhahahahha"); Serial.println(d); } void setup() { pinMode(SENSOR_PIN, INPUT); /* initialize serial for debugging */ Serial.begin(115200); Serial.println("Demo Start"); wifiInit(); } // the loop function runs over and over again forever void loop() { mqttCheckConnect(); /* 上报*/ mqttIntervalPost(); client.loop(); delay(5000); }
5.4 Python 监控主题
这里Python的作用就是把主题上更新的内容给获取回来
#!/usr/bin/python # -*- coding: utf-8 -* import paho.mqtt.client as mqtt import json # 服务器地址 host = '你的公网ip' # 通信端口 默认端口1883 port = 1883 username = 'admin' password = 'public' # 订阅主题名 topic = '/World' # 连接后事件 def on_connect(client, userdata, flags, respons_code): if respons_code == 0: # 连接成功 print('Connection Succeed!') else: # 连接失败并显示错误代码 print('Connect Error status {0}'.format(respons_code)) # 订阅信息 client.subscribe(topic) # 接收到数据后事件 def on_message(client, userdata, msg): # 打印订阅消息主题 print("topic", msg.topic) # 打印消息数据 print(msg.payload.decode()) def main_demo(): client = mqtt.Client() print('i am here') # 注册事件 client.on_connect = on_connect print('i am here 1') client.on_message = on_message print('i am here 2') # 设置账号密码(如果需要的话) client.username_pw_set(username, password=password) print('dawdadwad') # 连接到服务器 client.connect(host, port=port, keepalive=2) print('dawdawdawdawdawdad') # 守护连接状态 client.loop_forever() print('dawdaw222222') if __name__ == '__main__': main_demo()
5.5 整体效果
可以看到全部连到了MQTT服务器上
这里是被Python监控程序订阅的主题
这是Arduino程序发到订阅主题ALINL_TOPIC_PROP_POST的消息 (主题设定为 /World)
这是Python监控程序的打印可以看到已经完全可以互相通信成功了. -
c# 创建委托 消息订阅_轻松用C#+S7-1200+阿里云实现工业数据采集与监控[附源码]...
2020-12-30 12:10:02原文链接:轻松用C#+S7-1200+阿里云实现工业数据采集与监控[附源码]mp.weixin.qq.com写在前面前面我们分享了:[智能制造]未来,我们需要什么样的自动化工程师?现在各大物联网平台层出不穷,看似离我们很遥远,其实...原文链接:
轻松用C#+S7-1200+阿里云实现工业数据采集与监控[附源码]mp.weixin.qq.com写在前面
前面我们分享了:
[智能制造]未来,我们需要什么样的自动化工程师?
现在各大物联网平台层出不穷,看似离我们很遥远,其实只要我们敢于去研究,敢于去发现,万物互联,近在咫尺之间。
今天给大家介绍一下,作为一个普通的.NET开发人员,如何不借助第三方的物联网平台,搭建一个简单实用的物联网平台框架。
一
物联网框架
此物联网框架是在上位机框架的基础上,结合物联网通信协议MQTT实现。上位机本身就集成有采集、归档及日志等功能,只需要在这个基础上,连接MQTT服务器之后,并向指定的主题Topic中发布相关的数据,相关的WEB、APP只需要订阅相应的主题,即可获取到数据。
整体软件框架如下图示所示:
图表 1 整体软件框架实现
从上图可以看出,整体软件基于MQTT协议搭建,依据此软件框架搭建的MQTT物联网拓扑图如下图所示:
图表 2 MQTT物联网平台拓扑图
二
框架实现
为了测试方便,这里选择西门子S7-1200 PLC作为下位机,采用西门子S7进行通信,上位机先与PLC进行通信,同时连接MQTT服务器,并向指定主题发布数据。
(1)首先创建一个新的Windows窗体应用,从NuGet上下载xktComm.dll:
图表 3 xktComm下载
(2)开发UI界面开发,按照功能设计如下图所示:
图表 4 MQTT客户端UI界面
(3)UI界面设计完成之后,进行代码的编写,这里使用开源的mqtt库mqttnet,仍然通过NuGet下载安装一下,这里选择版本为2.8.2,选择不同的版本,使用上会有一些区别:
图表 5 MQTTnet下载
(4)先实现基本的MQTT连接服务器及断开连接:
(5)基于委托创建日志处理对象及方法体:
(6)确定并创建通信变量实体类及集合:
实际开发过程中,这里是基于CMSPro实现的,本案例用于测试,以读取以下四个变量为例(实际应用时变量数据及结构可能要比这复杂),如下图所示:
表格 1通信变量列表
序号
变量名称
变量地址
变量类型
1
出口压力
DB100.DBD0
Float
2
入口压力
DB100.DBD4
Float
3
出口温度
DB100.DBD8
Float
4
入口温度
DB100.DBD12
Float
按照这个结构,创建一个实体类,如下图所示:
(7)Nuget添加Newtonsoft.Json,引入JSON转换类,便于后续将对象转换成JSON格式字符串进行传输。
(8)基于xktComm.dll与西门子PLC之间建立连接:
(9)通过定时器定时向指定的主题发布实时数据:
(10)在云服务器端开启MQTT服务器:
图表 6 MQTT服务器开启
(11)运行MQTT客户端,连接服务器,并点击开始定时:
图表 7 运行MQTT客户端
(12)连接成功后,可以观察到MQTT服务器中收到了来自MQTT客户端发来的信息:
图表 8 MQTT服务器接收消息
三
框架应用
当数据已经上传到MQTT服务器后,那么如果需要获取这些数据,只需要开发一个MQTT,并订阅那个主题,这样,MQTT服务器就会自动将相关的信息推送到客户端软件中,可以先用MQTT.fx测试一下,MQTT.fx是一款基于Eclipse Paho,使用Java语言编写的MQTT客户端工具,支持通过Topic订阅和发布消息。打开MQTT.fx,输入正确的服务器地址、端口号、用户及密码,并订阅主题thinger后,就可以实时收到服务器发送过来的数据了,如下图所示:
图表 9 MQTT.fx应用
与此同时,我们也可以通过开发相关的WEB网页或者APP来获取数据,下面是一个简易APP的数据展示:
图表 10 TIA博途数据
图表 11 APP数据展示
四
整体总结
本文主要是基于MQTT协议实现了本地PLC控制器数据上传的过程。基于阿里云服务器,你可以在任意地方访问到本地PLC的实时数据,实现数据的远程上传。本文主要针对的是电气和工控人员,物联网必然是未来发展的趋势,建议所有的PLC工程师及电气工程师,都应该掌握一门编程语言,也许现在用不到,但未来总会用得到。
来源:dotNet工控上位机
往期推荐斗地主、扫雷、贪吃蛇、潜水艇...盘点那些PLC“不务正业”骚操作[附代码]
哈工大被禁Matlab,美国用工业软件卡死中国制造?这只是开始...
西门子WinCC OA的冗余、分布式及混合模式浅析:从软件架构到实例应用
本田汽车遭工业型勒索软件攻击,致生产系统中断,工业安全任重道远
一份MES系统整体解决方案
从零开始基于西门子PLC用C#通过OPC编写一套简易车间能源信息系统(附代码)
西门子工业软件+Mendix,低代码让普通员工秒变技术员,你会被取代吗?
当西门子遇上施耐德:S7-1200&1500与M241的Ethernet通讯
-
c# 创建委托 消息订阅_轻松用C#+S7-1200+阿里云实现工业数据采集与监控「附源码」...
2020-12-28 18:55:00现在各大物联网平台层出不穷,看似离我们很遥远,其实只要我们敢于去研究,敢于去发现,万物互联,近在咫尺之间。今天给大家介绍一下,作为一个普通的.NET开发人员,如何不借助第三方的物联网平台,搭建一个简单实用...写在前面(文中链接仅在文末的扩展链接有效)
前面我们分享了:
[智能制造]未来,我们需要什么样的自动化工程师?
现在各大物联网平台层出不穷,看似离我们很遥远,其实只要我们敢于去研究,敢于去发现,万物互联,近在咫尺之间。
今天给大家介绍一下,作为一个普通的.NET开发人员,如何不借助第三方的物联网平台,搭建一个简单实用的物联网平台框架。
一
物联网框架
此物联网框架是在上位机框架的基础上,结合物联网通信协议MQTT实现。上位机本身就集成有采集、归档及日志等功能,只需要在这个基础上,连接MQTT服务器之后,并向指定的主题Topic中发布相关的数据,相关的WEB、APP只需要订阅相应的主题,即可获取到数据。
整体软件框架如下图示所示:
图表 1 整体软件框架实现
从上图可以看出,整体软件基于MQTT协议搭建,依据此软件框架搭建的MQTT物联网拓扑图如下图所示:
图表 2 MQTT物联网平台拓扑图
二
框架实现
为了测试方便,这里选择西门子S7-1200 PLC作为下位机,采用西门子S7进行通信,上位机先与PLC进行通信,同时连接MQTT服务器,并向指定主题发布数据。
(1)首先创建一个新的Windows窗体应用,从NuGet上下载xktComm.dll:
图表 3 xktComm下载
(2)开发UI界面开发,按照功能设计如下图所示:
图表 4 MQTT客户端UI界面
(3)UI界面设计完成之后,进行代码的编写,这里使用开源的mqtt库mqttnet,仍然通过NuGet下载安装一下,这里选择版本为2.8.2,选择不同的版本,使用上会有一些区别:
图表 5 MQTTnet下载
(4)先实现基本的MQTT连接服务器及断开连接:
(5)基于委托创建日志处理对象及方法体:
(6)确定并创建通信变量实体类及集合:
实际开发过程中,这里是基于CMSPro实现的,本案例用于测试,以读取以下四个变量为例(实际应用时变量数据及结构可能要比这复杂),如下图所示:
表格 1通信变量列表
序号
变量名称
变量地址
变量类型
1
出口压力
DB100.DBD0
Float
2
入口压力
DB100.DBD4
Float
3
出口温度
DB100.DBD8
Float
4
入口温度
DB100.DBD12
Float
按照这个结构,创建一个实体类,如下图所示:
(7)Nuget添加Newtonsoft.Json,引入JSON转换类,便于后续将对象转换成JSON格式字符串进行传输。
(8)基于xktComm.dll与西门子PLC之间建立连接:
(9)通过定时器定时向指定的主题发布实时数据:
(10)在云服务器端开启MQTT服务器:
图表 6 MQTT服务器开启
(11)运行MQTT客户端,连接服务器,并点击开始定时:
图表 7 运行MQTT客户端
(12)连接成功后,可以观察到MQTT服务器中收到了来自MQTT客户端发来的信息:
图表 8 MQTT服务器接收消息
三
框架应用
当数据已经上传到MQTT服务器后,那么如果需要获取这些数据,只需要开发一个MQTT,并订阅那个主题,这样,MQTT服务器就会自动将相关的信息推送到客户端软件中,可以先用MQTT.fx测试一下,MQTT.fx是一款基于Eclipse Paho,使用Java语言编写的MQTT客户端工具,支持通过Topic订阅和发布消息。打开MQTT.fx,输入正确的服务器地址、端口号、用户及密码,并订阅主题thinger后,就可以实时收到服务器发送过来的数据了,如下图所示:
图表 9 MQTT.fx应用
与此同时,我们也可以通过开发相关的WEB网页或者APP来获取数据,下面是一个简易APP的数据展示:
图表 10 TIA博途数据
图表 11 APP数据展示
四
整体总结
本文主要是基于MQTT协议实现了本地PLC控制器数据上传的过程。基于阿里云服务器,你可以在任意地方访问到本地PLC的实时数据,实现数据的远程上传。本文主要针对的是电气和工控人员,物联网必然是未来发展的趋势,建议所有的PLC工程师及电气工程师,都应该掌握一门编程语言,也许现在用不到,但未来总会用得到。
本文来源:dotNet工控上位机
往期推荐
斗地主、扫雷、贪吃蛇、潜水艇...盘点那些PLC“不务正业”骚操作[附代码]
哈工大被禁Matlab,美国用工业软件卡死中国制造?这只是开始...
西门子WinCC OA的冗余、分布式及混合模式浅析:从软件架构到实例应用
本田汽车遭工业型勒索软件攻击,致生产系统中断,工业安全任重道远
一份MES系统整体解决方案
从零开始基于西门子PLC用C#通过OPC编写一套简易车间能源信息系统(附代码)
西门子工业软件+Mendix,低代码让普通员工秒变技术员,你会被取代吗?
当西门子遇上施耐德:S7-1200&1500与M241的Ethernet通讯
-
机智云学习之旅
2019-05-20 14:04:01机智云开源框架(GizOpenSource_AppKit_Android_AS) 是开源的适用于物联网的软件框架,用于无缝的支持设备到设备的互联。 能帮助开发者快速构建物联网生态系统,实现设备间互联,加速智能设备的应用开发。其包含Wi-...机智云开源框架(GizOpenSource_AppKit_Android_AS) 是开源的适用于物联网的软件框架,用于无缝的支持设备到设备的互联。
能帮助开发者快速构建物联网生态系统,实现设备间互联,加速智能设备的应用开发。其包含Wi-Fi类智能硬件app通用功能的一套源码。
只要是使用机智云协议的产品,开发者开发配套的app时都可以直接使用该框架的源码实现快速开发,从而缩短app的开发周期短、降低开发成本。
1.机智云物联网应用程序地址:
https://github.com/gizwits/GOpenSource_AppKit_Android_AS
此为Android Studio版本.Eclipse版本下载地址:https://github.com/gizwits/GizOpenSource_AppKit_Android未完待续…学python QT去了,抽空再学机智云
-
nginx-源码安装(李作强)
2018-08-08 18:12:30nginx能做静态和动态的网页。 nginx 并结合 tomcat 反向代理,动静分离,负载均衡 ...云CDN厂商:阿里云,百度云,华为云,京东云,只要有云平台的公司。 nginx的端口:80 配置文件:nginx.conf ... -
1. 云停车 (开篇)
2020-07-01 11:36:41云停车 (源码篇) 现场示例图 系统架构图 端,网络高清摄像机车牌识别摄像机 1:车牌识别、通讯上云;2:IO控制道闸;3:485 透传(控制LED显示屏); 云,即云端运维管理平台 在场记录/出场记录/月... -
Android-机智云物联网开源框架App
2019-08-13 05:18:57机智云APP开源框架的源码可快速开发配套app(目前提供ios、Andriod版本),不仅无缝的支持设备到设备的互联,还能完成不同类型的消息推送,如:邮件推送、短信推送、百度推送和极光推送。 -
smartcitiesdata:Smart Cities Data Platform总体项目和组件文档-源码
2021-02-05 04:14:49我们期待围绕这个项目发展一个强大的社区,并在智能互联城市,行业和组织,物联网处理和数据分析领域做一些真正具有挑战性和破坏性的事情。 请加入我们,如果您有任何疑问,请随时与我们联系! 〜智慧城市数据核心... -
数百珍藏WAP建站源码程序分享内附说明及图片演示
2013-05-14 11:40:04新空互联简易文章系统下载 掌上湖北整站程序下载 WAP简单网站源码(.NET) WAP小说建站系统 飞库wap-web同步小说系统 杰奇小说系统 企业版(wap+web) 杰奇小说系统域名授权注册机 新飞库电子书连载+wap+采集器 野鹰小说... -
亿联网云建站平台代理平台-新版 v3.15.zip
2019-07-05 03:00:56亿联网是昆山亿思互联信息科技有限公司旗下的服务产品。该平台是一个能在线快速搭建企业网站,为企业用户提供快捷、易用、适合SEO优化的互联网建站工具。 平台开设了两种运营服务体系:一种是自助服务,适合有网站... -
于2017-10-22,又拍云 Open Talk 联合 Spring Cloud 中国社区举办的 "进击的微服务实战派上海站",我登台对XXL-JOB做了演讲,现场观众反响热烈并在会后与XXL-JOB用户热烈讨论交流。 于2017-12-11,XXL-JOB有幸参会...
-
于2017-10-22,又拍云 Open Talk 联合 Spring Cloud 中国社区举办的 "进击的微服务实战派上海站",我登台对XXL-JOB做了演讲,现场观众反响热烈并在会后与XXL-JOB用户热烈讨论交流。 于2017-12-11,XXL-JOB有幸参会...
-
☁ 支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive (包括世纪互联版) 作为存储端 上传/下载 支持客户端直传,支持下载限速 可对接 Aria2 离线下载 在线 压缩/解压缩、多文件打包下载 覆盖...
-
☁ 支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive (包括世纪互联版) 作为存储端 上传/下载 支持客户端直传,支持下载限速 可对接 Aria2 离线下载 在线 压缩/解压缩、多文件打包下载 覆盖...
-
Huawei LiteOS同时提供端云协同能力,集成了LwM2M、CoAP、mbedtls、LwIP全套IoT互联协议栈,且在LwM2M的基础上,提供了AgentTiny模块,用户只需关注自身的应用,而不必关注LwM2M实现细节,直接使用AgentTiny封装的...
-
密集异构网络中的分布式ABS时隙访问:具有广义干扰模型的潜在博弈方法
-
朱老师C++课程第3部分-3.6智能指针与STL查漏补缺
-
PAT (Advanced Level) Practice - 1063 Set Similarity (25 分)
-
用微服务spring cloud架构打造物联网云平台
-
基于多层次属性加权的代码混淆有效性量化评估
-
具有动态负载的小型蜂窝网络中的自组织频谱访问
-
iStep:用于移动传感器网络中扩散分析的可感知步骤的采样方法
-
代管-源码
-
Uber为什么从Postgres迁移到MySQL,减少频宽占用、内存占用,提高操作效率
-
Samba 服务配置与管理
-
MYSQL企业常用架构与调优经验分享
-
MySQL Router 实现高可用、负载均衡、读写分离
-
教育画派-源码
-
Unidad3_Lista-源码
-
libFuzzer视频教程
-
pypersiandate:Python库,用于将公历日期转换为波斯日期-源码
-
Amoeba 实现 MySQL 高可用、负载均衡和读写分离
-
netty源码分析之揭开reactor线程的面纱(三)
-
ELF视频教程
-
2021 年该学的 CSS 框架 Tailwind CSS 实战视频