查看: 13204|回复: 4

[教程] SIM800C(基于Arduino)mqtt连接OneNet

[复制链接]

2

主题

4

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2020-3-27 21:36:00 | 显示全部楼层 |阅读模式
先罗嗦几句吧!最近感觉OneNET社区冷清了好多。个人觉得Onenet平台对个人开发者特别友好,免费服务也多,有手机APP还能公开展示界面。很喜欢!
之前一直使用esp系列通过WiFi连接的OneNET,不管是MQTT还是HTTP的,教程社区里面都有,如有需要,我也可以写一篇公开一下,我当时是监控公司的温湿度房间用的,因为那个屋子里的零件需要常年恒温恒湿。好了,废话不多说了,后来为什么要做基于SIM800的,主要还是长假期间,有时候公司WiFi会断掉,还是单独用移动网络比较靠谱。
SIM800C主要是用AT指令完成各种操作,手册可以网上搜索一下。对于HTTP连接,很轻松就移植过来了,就是用单片机给SIM800C发送各种AT指令,网上教程也有很多,还有Arduino的相关库文件。不过HTTP只支持单向传输数据,是不支持发送命令的,如果想要设备端得到命令,就需要GET来获取对应数据的值,比较麻烦。因此必须使用MQTT连接方式,搜了一大群,基于SIM800,900等的MQTT教程很少,社区里面有一篇,是用stm32的,而且源码并没有公开。。。唉。作为一个机械专业的宅男,最后只能自己硬着头皮啃代码和库文件了。最后强行移植PubSubClient库文件(就是esp连接OneNET的库文件),完成了如题说的功能。由于技术能力有限,也非专业出身,只能说完成了功能,代码粗糙得很。。。说明一下:使用的也是移动家的物联网卡,另外两家的没有尝试过。如果使用,请修改代码中的CMNET。
上几张图吧,差不多测试一周了,连接非常完美。不知道中间是否断连过,程序写了断连后重连。


应用界面

应用界面

数据流1

数据流1

数据流2

数据流2
回复

举报

0

主题

2

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2021-10-12 18:22:54 | 显示全部楼层
我也是新手,请问下以上功能8266就能实现,为什么要加SIM800?这个我没明白!

0

主题

3

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2020-11-2 11:20:37 | 显示全部楼层
太好了,总算找到一篇,谢谢楼主分享

2

主题

4

帖子

13

积分

新手上路

Rank: 1

积分
13
 楼主| 发表于 2020-3-30 21:38:15 | 显示全部楼层
本帖最后由 qiuya90 于 2020-3-30 21:40 编辑

版主三天才审核通过。帖子没写完,我之前回复也没了????白忙活一场好吧,继续:
硬件如图所示啦。ESP32+SIM800C模块,来自某宝,为了避免推销嫌疑,如有需要,可以私信我。
QQ图片20200327214223.jpg
源代码可去我Github上自行索取,代码粗糙不完善欢迎吐槽,代码可拿去修改,不过如果是拿去公开发表,建议引用出处,谢谢哈~~~毕竟辛苦分
主要修改以下几个地方就可以:
QQ截图20200327215155.png
设备id,产品id和api-key。下面的sim800c(16,17),是实例化串口,用的是软串口,可自行修改括号内的引脚号,作为rx,tx使用。


我不常在线,偶尔上来,因此不能做技术指导,有问题可以评论一起讨论哟~~~
本人对生态农业和农业物联网蛮感兴趣,如有小伙伴或者相关公司有需求,可以一起探讨啊~~~~
Github:https://github.com/qiuya90/Arduino/tree/master/SIM800C_Onenet_mqtt

95

主题

578

帖子

2212

积分

金牌会员

Rank: 5Rank: 5

积分
2212
发表于 2020-4-3 17:08:07 | 显示全部楼层
nice!
1、OneNET交流群6:887624121
该群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表