最近疫情解封了,好多人都发烧请病假,单位也放假了,我到一直没事儿,在家空闲时间很多,自己做了一个4G边缘网关连接云平台,折腾了半个月,连接联通的燕飞格物云平台成功,现将过程和一些注意事项分享给大家,国内云服务商很多,阿里,腾讯,移动,联通都有,之所以选联通是因为联通的平台免费,当然 ONENET也免费,但根据我实际使用下来感觉ONENET不太稳定,技术支持也不到位,而且如果展示数据用VIEW也要付费,联通的平台数据有记录和曲线显示,适合入门,最关键免费,所以作为入门首先,

我的4G网关是用单片机做的,下面就说一下单片机怎么整,在此选用国产STC 的单片机,1是便宜,2是串口多,我选的STC15W4K56S4,有4个串口,速度最高115200,完全能满足要求,下面是硬件设计,有两个485串口,3路DI输入,都能计数,两路ADC输入,板载继电器(10A250V)

模组电源AC220v,用的金升阳AC/DC品质可靠,也可以之流5V供电,在野外调试设备如果没有电,可以弄个手机充电宝供电,先调试起来。到达现场立马就可以投运。

4G模组用的有人7S1 ,

WIFI模组用的成都亿百特,

RS485模组用周立功的,致远电子

硬件设计使用的PROTEL99SE,设计电路和PCB

单片机开发用KEIL4,完成单片机开发调试 ,使用C语言

MQTT调试用MQTTX调试工具,比以前我用的MQTTFX好用的多,而且支持中文

报文捕获用Wireshark,大家用的时候端口过滤一下1883,就可以了

报文整理用Notepad3搞定,因为Wireshark抓的包,单片机C语言不能直接处理

哈希256加密软件网上很多,找一个在线的就可以,联通的设备接入必须要解决哈西256加密算法

4G模组参数设定, 7S1模组设置软件用USR-TCP232,需设定波特率,运营商 GPS ,NTP

WIFI模组设定用E103-W01,设置WIFI模组的 ID,IP,PORT,Password,

逻辑分析软件用Saleae Logic,调试报文的时候用逻辑分析仪扑获硬件串口数据

地图定位用7S1模组自带的 LBS基站定位参数,基站地位精度差,不过室内可以用 ,GPS只能在室外,精度高但是覆盖面太小,

全部报文调试好以后还需要加载13位时间戳,否则格物平台无法正常记录数据,这对单片机来说有点麻烦,PC上很容易获取日期参数,我这里的解决方案是,通过7S1模组先读取UTC-8北京时间

然后转换成格林尼治时间,最后计算出13位时间戳,下面是我用C写的单片机时间戳转换程序,实战OK,用单片机也能搞定13位时间戳。

注意格物平台设备单个上传和批量上传用的TOPIC不一样,要记住切换!!

上述这些软件都很容易获得,我这也有下载好的,大家也可以联系(我17717361475)要,免费送软件,买现成的4G模组也可以,自己学习或者控制设备都可以,模组自带温度采集传感器,有硬件学习调试比较方便,物联网一定要实战才行,软件模拟能过的东西,硬件不一定行

模组购买网店链接 https://m.tb.cn/h.UjFcy5I?tk=qgb7d45gUwl CZ3457

欢迎同行多交流,相互促进,相互学习!

下面是北京时间UTC-8 转13位时间戳,并且在OLED屏幕能看到变化 ,

rYear=2000+((Rec_Buf1[17]-0x30)*10)+(Rec_Buf1[18]-0x30);//年

rMon=(Rec_Buf1[20]-0x30)*10+(Rec_Buf1[21]-0x30);//

rDay=(Rec_Buf1[23]-0x30)*10+(Rec_Buf1[24]-0x30);//

rSHI=(Rec_Buf1[26]-0x30)*10+(Rec_Buf1[27]-0x30);//

rFEN=(Rec_Buf1[29]-0x30)*10+(Rec_Buf1[30]-0x30);//

rMIAO=(Rec_Buf1[32]-0x30)*10+(Rec_Buf1[33]-0x30);//

Cyear=0;//注意这个寄存器使用前一定要清零,否则下面数是随机的,会出错

for(i2 = 1970; i2 < rYear; i2++)//计算从1970年到现在总共有多少天,包括平年和闰年识别

{

if(((i2%4==0) && (i2%100!=0)) || (i2%400==0))  Cyear++;

}

Count_Day = Cyear * 366 + (rYear-1970-Cyear) * 365;

all_day=Count_Day+Mon_P[rMon]+rDay;//平年时2月按正常28天算

if (rYear==2024||rYear==2028||rYear==2032||rYear==2036||rYear==2040||rYear==2044) //识别出闰年2月底多+1天

{   if (rMon>=3)

{

all_day=Count_Day+Mon_P[rMon]+rDay+1;//统计从1970年1月1日到今天总共天数,每个闰年 2月多算一天

}

}

all_day=(all_day*86400)-28800;//年月日转换成秒数,并减去北京时区差,8小时(2880秒)

all_time=((rSHI*60*60)+(rFEN*60)+rMIAO);//统计当前卫星时钟 时。分。秒。的总秒数

all_second=(all_day+all_time);//算出当前 格林尼治时间,年.月.日.时.分.秒.全部累计秒数,精确到秒级,不考后3位虑毫秒

OLED_ShowNum(10 ,3,all_time,8,12);//仿真

//下面就是获取的10位格林尼治时间,时间戳,OLED能显示观察

UTC_13time[0]=all_second/1000000000;//取高位值

Device_DT[135]=         UTC_13time[0]+0x30;//格林尼治时间戳导入报文--日期 1

Device_temperature[129]=UTC_13time[0]+0x30;//

all_second=all_second%1000000000;//取余数

UTC_13time[1]=all_second/100000000;//

Device_DT[136]=         UTC_13time[1]+0x30;//格林尼治时间戳导入报文--日期 2

Device_temperature[130]=UTC_13time[1]+0x30;//

all_second=all_second%100000000;//取余数

UTC_13time[2]=all_second/10000000;//

Device_DT[137]=          UTC_13time[2]+0x30;//v格林尼治时间戳导入报文--日期 3

Device_temperature[131]=UTC_13time[2]+0x30;//

all_second=all_second%10000000;//取余数

UTC_13time[3]=all_second/1000000;//

Device_DT[138]=         UTC_13time[3]+0x30;//格林尼治时间戳导入报文--日期 4

Device_temperature[132]=UTC_13time[3]+0x30;//

all_second=all_second%1000000;//取余数

UTC_13time[4]=all_second/100000;//

Device_DT[139]=         UTC_13time[4]+0x30;//格林尼治时间戳导入报文--日期 5

Device_temperature[133]=UTC_13time[4]+0x30;//

all_second=all_second%100000;//取余数

UTC_13time[5]=all_second/10000;//

Device_DT[140]=         UTC_13time[5]+0x30;//格林尼治时间戳导入报文--日期 6

Device_temperature[134]=UTC_13time[5]+0x30;//

all_second=all_second%10000;//取余数

UTC_13time[6]=all_second/1000;//

Device_DT[141]=         UTC_13time[6]+0x30;//格林尼治时间戳导入报文--日期 7

Device_temperature[135]=UTC_13time[6]+0x30;//

all_second=all_second%1000;//取余数

UTC_13time[7]=all_second/100;//

Device_DT[142]=         UTC_13time[7]+0x30;//格林尼治时间戳导入报文--日期 8

Device_temperature[136]=UTC_13time[7]+0x30;//

all_second=all_second%100;//取余数

UTC_13time[8]=all_second/10;//

Device_DT[143]=         UTC_13time[8]+0x30;//格林尼治时间戳导入报文--日期 9

Device_temperature[137]=UTC_13time[8]+0x30;//

all_second=all_second%10;//取余数

UTC_13time[9]=all_second;//

Device_DT[144]=         UTC_13time[9]+0x30;//格林尼治时间戳导入报文--日期 10

Device_temperature[138]=UTC_13time[9]+0x30;//         }

//--------------------------------------------

联通雁飞格物云平台,单片机连接MQTT服务器相关推荐

  1. Air780E|联通|雁飞格|AT命令|物联网|三元组|鉴权|算法|密钥生成|(4)-联通雁飞格物手动接入步骤

    目录 基础资料 探讨重点 实现功能 硬件准备 软件版本 在雁飞格物平台上创建产品 1.创建产品 2.查看雁飞格物平台接入协议 组成ClientId 组成userName 3.设备鉴权信息 鉴权参数计算 ...

  2. 联通雁飞格物IOT接入烟感和扬尘

    参考 使用MQTT.fx接入雁飞·格物DMP平台 新建产品 使用MQTT.fx接入雁飞·格物DMP平台 MQTT.fx是一款基于Eclipse Paho,使用Java语言编写的MQTT客户端工具,支持 ...

  3. DTU网关连接MQTT服务器、MQTT.fx工具测试

    4G DTU网关连接MQTT服务器+MQTT.fx工具调试 今天介绍DTU网关如何通过简单几步配置连接MQTT服务器,再使用MQTT.fx客户端进行串口测试. 一. 设备准备 1.硬件准备 DTU网关 ...

  4. 应用场景一:西门子PLC通过桥接器连接MQTT服务器

    应用场景描述: 云平台.MES等数据采集.设备管理系统,需要通过MQTT的方式,上传和下发数据,MQTT服务器可以获取PLC的实时状态数据,也可以下发控制指令.桥接器提供4G.WIFI和有线三种连接方 ...

  5. 【STM32 x ESP8266】连接 MQTT 服务器(报文,附部分源码解析)

    MQTT 协议作为物联网非常重要的传输协议,如何使用它十分重要,如果有不理解的同学可以点击这里学习,这里只是简单介绍一下.同时这里附上MQTT 3.1.1协议中文版 pdf 的链接,对协议底层感兴趣的 ...

  6. ESP8266入门教程11:连接MQTT服务器

    将第三方库PubSubClient下载到lib文件夹 git clone https://github.com/knolleary/pubsubclient.git 一.阿里云IOT使用 1.打开阿里 ...

  7. java连接MQTT服务器(Springboot整合MQTT)

    一.业务场景 硬件采集的数据传入EMQX平台(采用MQTT协议),java通过代码连接MQTT服务器,进行采集数据接收.解析.业务处理.存储入库.数据展示. MQTT 是基于 发布(Publish)/ ...

  8. SpringBoot连接MQTT服务器时因ClintID重复导致频繁掉线重连

    场景 SpringBoot整合MQTT服务器实现消息的发送与订阅(推送消息与接收推送): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detai ...

  9. 移远EC200 EC20 EC600 EC800连接MQTT服务器

    前言 移远的CAT1模块EC200S连接MQTT大致流程 ,经过测试,完全有效 A:开机 就是对模块进行断电2S在上电. B:基础配置 这部分跟连TCP服务器一样 (1):发送AT,确认模块是否正常 ...

最新文章

  1. 渗透知识-CSRF攻击
  2. Waymo首次公开自动驾驶技术:让AI学会「危机想象力」
  3. Oracle 11g 下载及安装教程
  4. 灰色的rgb值_一行代码实现图片的灰色效果
  5. TREX搜索的执行最后也是通过HTTP call来完成的
  6. 教你如何成为解决问题的高手
  7. shell 编程(难题分析)
  8. ReactJs 第一章HelloWorld
  9. GDAL被java调用 Cannot find proj.db
  10. U盘装机助理-PE环境
  11. shell脚本加密教程
  12. 小马哥------山寨苹果6s(A9900-912G61-B 尾插盖板A953标示刷机拆机准图与开机识别图 低配机
  13. 搜索不到投屏设备怎么办_投屏,搜索不到电视设备解决方案
  14. 用WPE+CCproxy+自动代理截取安卓游戏封包
  15. cdr 表格自动填充文字_Cdr教程 用CorelDRAW绘制百事可乐标志Logo设计教程
  16. 三种方法解决苹果手机签名问题
  17. drools规则语言指南(五)规则条件和行为
  18. U-BOOT小全(一)
  19. 混合波束成形| 部分连接系统 :Hybrid Precoding for mmWave Massive MIMO Systems With Partially-Connected Structure
  20. java 文件删除不了File类的delete方法删不掉文件的原因分析

热门文章

  1. 区块链对抑制公共部门的腐败有什么作用?
  2. Ubuntu系统在终端查看一些软硬件版本或文件大小的指令!
  3. 蓝鲸智云实现虚拟机交付(四)-配置平台自定义(CMDB)
  4. centos7配置tomcat环境变量
  5. 最快速度求两个数组之交集算法与hash
  6. AI大牛推荐的八本必读NLP书籍(建议收藏)
  7. 【MySQL】使用存储过程计算1到100的累计和
  8. 如何使用SoapUI - Soap测试工具
  9. 线性代数(四十) : 正交补与正交投影
  10. 超大文件上传-如何上传文件-大文件上传