搜索
bottom↓
回复: 72

零基础到搭建嵌入式MQTT发布者

  [复制链接]

出0入10汤圆

发表于 2016-4-8 16:57:02 | 显示全部楼层 |阅读模式
本帖最后由 10xjzheng 于 2016-4-9 13:32 编辑

今天大家都在水积分,写这种博文不容易,这可是我工作之余断断续续做项目的心得,这些可能会给来的路上的朋友少走一些弯路,并且资料齐全,多顶顶或是打赏点莫元吧。虽然我在个人在签名档留了QQ,但是各位如果是问问题还是在下面留言好了,我会的都会回你的,后面加到我烦,除非你有项目给我做咯。正文开始。
题目的零基础是说你的嵌入式网络的基础,开始可能有点啰嗦,其实小弟也是刚刚踏入嵌入式网络的大门。

1、网络搭建
我项目的网络硬件是芯片内部集成的MAC加PHY芯片——DP83848,一般的主控MCU很少说集成PHY,好像是因为PHY是模拟信号的,这种是驱动程序看起来好像
有点复杂的方案,其实这种反而更简单,因为MAC的管脚和内部配置都是一样的,而且一般都找得到例程,例程一上,稍微修改下就可以,我的程序就是在论坛
上面找到的,对比电路原理图,发现只有RST管教不同,配置下这个管脚,在原来工程配置PHY芯片之前设置复位管脚即可;还可能会有MAC+PHY的芯片——比
如EN28J60,野火的就是用这种方案,你通过其SPI接口就可以进行配置和传输数据;另外一种是将网络协议也集成在网络芯片中,这种使用起来会更加简单,后
面也不用再移植LwIP的网络协议栈,具体的移植方式参见网上众多教程,弄好之后,首先你要ping下看网络通不通,具体过程如下我跟另外一位小白聊天记录。
嵌入式网络 扫描仪 11:47:54

这边IP昨天你是怎么设置通的
所谓 11:48:15

哪个?
嵌入式网络 扫描仪 11:48:51

直接用网线连接开发板后,直接用网络调试助手客户端输入开发板IP连接不上
所谓 14:55:40

1、你的板子ping得通吗?2、你要将你的板子设置在listen状态
所谓 14:55:47

服务器就要进行监听
嵌入式网络 扫描仪 14:59:55

不通
所谓 15:00:16

你网线是怎么连的
所谓 15:00:34

要连到路由器
嵌入式网络 扫描仪 15:00:39

直接电脑和开发版相连
嵌入式网络 扫描仪 15:00:58

直接连应该没问题啊
所谓 15:01:04

好像要用到交叉线
所谓 15:01:14

不然两个都tx-tx,rx-rx
嵌入式网络 扫描仪 15:01:26

对哦,我去
嵌入式网络 扫描仪 15:01:37

交换机也可以吧
所谓 15:02:08

但是我的是可以的,因为我用的是交叉线,不要问我什么是交叉线,反正我的网线就是可以
所谓 15:02:12

交换机也可以
嵌入式网络 扫描仪 15:02:42


所谓 15:03:12

先ping通再说,不然都是扯淡
所谓 15:03:27

步子迈太大
嵌入式网络 扫描仪 15:07:08

适配器中Ip地址,子网奄码这些要改么
所谓 15:07:25

当然要啊
嵌入式网络 扫描仪 15:12:55

嗯嗯
嵌入式网络 扫描仪 15:33:24



嵌入式网络 扫描仪 15:33:51



所谓 15:34:21

不对
嵌入式网络 扫描仪 15:34:45

na
嵌入式网络 扫描仪 15:34:54

哪里
所谓 15:35:15

你的电脑跟你的板子是不同设备啊,你干嘛给他们弄个相同的IP地址?
嵌入式网络 扫描仪 15:36:00

对哦
嵌入式网络 扫描仪 15:36:05

自动IP?
所谓 15:37:02

自己写一个符合规则的IP地址
所谓 15:37:09

符合子网掩码
嵌入式网络 扫描仪 15:37:50

为什么不可以自动IP?
所谓 15:38:22

我没有试过,只要你开心,怎么做都可以



嵌入式网络 扫描仪 15:42:12

ping通了
所谓 15:42:21

祝贺
嵌入式网络 扫描仪 15:42:43

然而调试助手连接不上
所谓 15:43:11

呵呵

2、接着调通TCP协议,用网络调试助手看能不能进行收发,如果不行,还可以用抓包工具具体分析下。
前面这两个如果做不好,步子还是不要迈太大,容易扯着蛋。
这里顺便跟大家说下不要用uTCP/IP,资料很少,出来问题不知道怎么弄,LWIP最好了,要用可以去支持下老衲五木的书籍。

3、了解下MQTT。
MQTT基于TCP协议,主要有三个角色,代理器、发布者、订阅者,我们这里板子是发布者,将传感器数据发送给代理器,代理器再将数据发送给订阅者。
其实本文要你们顶顶或者是给点莫元并不过分,因为代理器和订阅者这两者如果你找不到的话真的是很无奈,当然如果你有自己弄好的MQTT服务器那就更佳。
代理器IP地址:www.embed-net.com ——"115.29.225.215",端口1883
订阅端是一个APP:,如果你发布的数据是对的话,APP上会显示你发送上来的数据。
对应的发布者的程序(由于要积分,我上去水了好久才下载得了,最好还是不要声张,原作者也在此论坛上,也希望原作者可以手下留情,毕竟大家找个东西来调试也不容易):


上面的过程弄好了之后,你要弄到自己的服务器,要弄一个订阅端怎么搞?:
这是后面我们团队弄的服务器后我发送消息上去,订阅端订阅到的,刚才试了下,还可以一边发布一边接受,可以用来测试代理器。


4、跟着论坛上的ebox大神一起移植下MQTT协议,确实非常简单, 把TCP的new、connec、send、close移植进去就可以了。
http://www.amobbs.com/thread-5637884-1-1.html

5、祝大家成功!!

再附上一些资料:
http://www.embed-net.com/thread-230-1-1.html


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2016-4-8 17:09:54 | 显示全部楼层
又是我第一个顶的。

出0入58汤圆

发表于 2016-4-8 17:20:10 | 显示全部楼层
我第二个顶。

出0入76汤圆

发表于 2016-4-8 17:23:46 | 显示全部楼层
我给你顶第三个

出0入0汤圆

发表于 2016-4-8 17:44:55 | 显示全部楼层
正在熟悉MQTT,楼主真是及时雨啊,

出0入0汤圆

发表于 2016-4-8 17:48:29 | 显示全部楼层
学习一下!

出0入12汤圆

发表于 2016-4-8 17:53:21 | 显示全部楼层
我来顶第四个

出0入0汤圆

发表于 2016-4-8 19:30:54 | 显示全部楼层
有点搞不懂,成熟稳定的消息队列服务器种类那么多,为啥电工门都盯上这么个MQTT了。。。

出0入0汤圆

发表于 2016-4-8 19:40:01 | 显示全部楼层
谢谢分离先收藏了有时间再来学习学习

出0入0汤圆

发表于 2016-4-8 19:58:11 | 显示全部楼层
好资料,先收藏了

出0入4汤圆

发表于 2016-4-8 19:58:50 | 显示全部楼层
不错,有时间了来学习

出0入0汤圆

发表于 2016-4-8 20:56:17 | 显示全部楼层
我也来学习

出0入0汤圆

发表于 2016-4-8 21:54:37 | 显示全部楼层
顶起来!不错的资料!

出0入0汤圆

发表于 2016-4-8 22:45:11 来自手机 | 显示全部楼层
很不错,支持一下

出0入0汤圆

发表于 2016-4-9 06:54:52 来自手机 | 显示全部楼层
很不错,顶一下

出0入17汤圆

发表于 2016-4-9 07:11:04 来自手机 | 显示全部楼层
PIC16F54 发表于 2016-4-8 19:30
有点搞不懂,成熟稳定的消息队列服务器种类那么多,为啥电工门都盯上这么个MQTT了。。。 ...

麻烦列举下有哪些成熟稳定的消息队列服务器,并且能在STM上跑起来的

出0入10汤圆

 楼主| 发表于 2016-4-9 10:09:21 | 显示全部楼层
PIC16F54 发表于 2016-4-8 19:30
有点搞不懂,成熟稳定的消息队列服务器种类那么多,为啥电工门都盯上这么个MQTT了。。。 ...

麻烦列举下有哪些成熟稳定的消息队列服务器,并且能在STM上跑起来的

出0入0汤圆

发表于 2016-4-9 10:55:30 | 显示全部楼层
感谢分享,学习一下

出0入0汤圆

发表于 2016-4-9 14:35:18 来自手机 | 显示全部楼层
MQTT 据说在物联网中应用比较多是吗?

出0入0汤圆

发表于 2016-4-10 18:11:56 | 显示全部楼层
MQTT,第一次听说,好玩不?

出0入0汤圆

发表于 2016-4-10 18:15:25 | 显示全部楼层
有内容的帖子真好

出0入0汤圆

发表于 2016-4-10 18:35:37 来自手机 | 显示全部楼层
复杂了,其实还能再省点

出0入0汤圆

发表于 2016-4-10 22:24:41 | 显示全部楼层
谢谢楼主的资料,正准备研究研究MQTT

出0入0汤圆

发表于 2016-4-10 23:36:29 | 显示全部楼层
PIC16F54 发表于 2016-4-8 19:30
有点搞不懂,成熟稳定的消息队列服务器种类那么多,为啥电工门都盯上这么个MQTT了。。。 ...

MQTT好像是IBM搞的,现在物联网这块,好像很多都是走这个协议的

出0入0汤圆

发表于 2016-4-11 10:19:25 | 显示全部楼层
重量级资料

出0入0汤圆

发表于 2016-4-11 10:28:36 | 显示全部楼层
牛BBB,下次研究一下MQTT

出0入0汤圆

发表于 2016-4-12 18:00:35 | 显示全部楼层
楼主,如果我的设备 需要 上报数据 也需要用app来控制,mqtt实现起来容易吗?

出0入0汤圆

发表于 2016-4-12 18:12:25 来自手机 | 显示全部楼层
mqtt是最省力的

出0入0汤圆

发表于 2016-4-13 09:22:38 | 显示全部楼层
楼主不容易顶一下

出0入0汤圆

发表于 2016-4-13 09:48:23 | 显示全部楼层
学习一下         

出0入0汤圆

发表于 2016-4-13 10:07:52 | 显示全部楼层
顶  学习了。。。。

出0入12汤圆

发表于 2016-4-13 13:55:10 | 显示全部楼层
不错,很好的资料

出0入0汤圆

发表于 2016-4-13 14:10:01 | 显示全部楼层
不错,大有前途!

出0入0汤圆

发表于 2016-4-13 14:50:53 | 显示全部楼层
顶楼主, 学习一下.

出0入10汤圆

 楼主| 发表于 2016-4-13 20:11:41 | 显示全部楼层
meirenai 发表于 2016-4-12 18:00
楼主,如果我的设备 需要 上报数据 也需要用app来控制,mqtt实现起来容易吗?
...

容易,我上传的APP就有这个功能。

出5入42汤圆

发表于 2016-4-14 04:59:21 来自手机 | 显示全部楼层
前段时间阅读了一下mqtt协议文档,感觉还挺简单。觉得与微信结合做点东西还是很方便。

出0入0汤圆

发表于 2016-4-14 09:56:09 | 显示全部楼层
zhengxg1990 发表于 2016-4-10 23:36
MQTT好像是IBM搞的,现在物联网这块,好像很多都是走这个协议的

喔,我研究互联网稍多...物联网等巨头门整合的差不多了再看吧。

出0入0汤圆

发表于 2016-4-14 10:20:08 | 显示全部楼层
不错,学习一下!

出0入0汤圆

发表于 2016-6-2 10:31:20 | 显示全部楼层
不错,学习一下!

出0入0汤圆

发表于 2016-6-2 10:52:20 | 显示全部楼层
顶一个,赚个积分!

出0入0汤圆

发表于 2016-6-5 21:07:42 | 显示全部楼层
IOT必要有协议,非常不错。。

出0入0汤圆

发表于 2016-6-8 23:01:31 | 显示全部楼层
非常棒的分享,谢谢

出0入0汤圆

发表于 2016-6-9 07:24:49 | 显示全部楼层
顶 不要问为什么 就是想顶一下

出0入0汤圆

发表于 2016-6-12 21:51:38 | 显示全部楼层
谢谢分享!!

出0入0汤圆

发表于 2016-6-13 21:32:53 | 显示全部楼层
好贴,    MQTT                  

出0入0汤圆

发表于 2016-7-2 18:32:42 | 显示全部楼层
谢谢楼主无私分享资料!!!

出200入0汤圆

发表于 2016-7-3 10:11:00 来自手机 | 显示全部楼层
好东东,必须收藏!

出0入0汤圆

发表于 2016-7-3 10:59:30 来自手机 | 显示全部楼层
学习了~

出0入0汤圆

发表于 2016-7-3 13:51:32 来自手机 | 显示全部楼层

出0入0汤圆

发表于 2016-9-16 23:12:47 | 显示全部楼层
楼主的这个嵌入式MQTT还不错,看看有没有价值

出0入0汤圆

发表于 2016-9-16 23:58:58 | 显示全部楼层
谢谢,先标记收藏了

出0入0汤圆

发表于 2016-9-19 22:36:52 | 显示全部楼层
MQTT最近很火,感觉有可能成为物联网的标准。

出0入0汤圆

发表于 2016-9-20 00:37:28 | 显示全部楼层
不错,先收藏有时间学习一下!

出0入0汤圆

发表于 2016-9-21 11:59:50 | 显示全部楼层

感谢楼主,先收藏有时间学习一下

出0入0汤圆

发表于 2016-9-21 15:35:58 | 显示全部楼层
之前用stm32+w5500通过yeelink实现远程传感器数值查询和远程控制,但是机制不太好,终端要实现开灯,必须主动定时去服务器查询开关量是否变化,如果变化了,再去动作。接下来可以考虑采用MQTT来实现。

出0入0汤圆

发表于 2017-1-24 07:59:05 来自手机 | 显示全部楼层
非常好的入门资料

出0入0汤圆

发表于 2017-2-4 10:14:47 | 显示全部楼层
MARK.........

出0入0汤圆

发表于 2017-4-5 16:45:08 | 显示全部楼层
mark,mqtt,感谢楼主分享!

出0入0汤圆

发表于 2017-4-5 16:49:14 | 显示全部楼层
   物联网云平台基础构架,但是要做好整套体系,还有很长的路走。

出0入0汤圆

发表于 2017-4-5 17:27:21 | 显示全部楼层
先收藏,以后慢慢看

出0入0汤圆

发表于 2017-7-1 15:07:32 来自手机 | 显示全部楼层
感谢楼主分享

出0入0汤圆

发表于 2017-8-30 17:04:09 | 显示全部楼层
最近项目要用到,谢谢lz分享资料。

出0入0汤圆

发表于 2017-8-30 17:19:30 | 显示全部楼层
请问楼主是基于移远的哪个模块上开发的。看板子上好像有一个移远的模块。

出0入8汤圆

发表于 2017-8-31 11:46:21 | 显示全部楼层
装了一个app    ,是不是要设置一下  。 要不app怎么知道哪个是你自己的板子发过来的数据

出0入4汤圆

发表于 2018-3-12 15:08:09 | 显示全部楼层
Make一下,以后学习~

出0入0汤圆

发表于 2018-10-12 17:01:01 | 显示全部楼层
非常不错的经验,请问楼主可否上传一下手机端的APP源码?

出0入0汤圆

发表于 2018-10-13 20:24:59 | 显示全部楼层
Thank you !!!

出0入0汤圆

发表于 2018-10-14 17:23:20 | 显示全部楼层
MQTT确实靠谱

出0入0汤圆

发表于 2018-10-14 20:32:09 | 显示全部楼层
热门的东西要学习一下

出0入0汤圆

发表于 2018-10-15 08:39:31 | 显示全部楼层
受教了,学习学习~

出0入0汤圆

发表于 2018-10-15 09:45:18 | 显示全部楼层
不错,值得一看

出0入0汤圆

发表于 2018-11-7 10:56:20 | 显示全部楼层
公司项目要用到mqtt,谢谢了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 11:59

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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