OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9369|回复: 10

STM32F7实现FreeRTOS+LWIP+MQTT+HMAC_SHA256鉴权+JSON数据收发,连接华为云

[复制链接]

14

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
199
金钱
199
注册时间
2017-5-4
在线时间
80 小时
发表于 2020-7-10 17:17:14 | 显示全部楼层 |阅读模式
     最近在研究物联网,看了下华为的云端服务,和其他家都差不多都大同小异。支持4种连接方式1、MQTT 2、LwM2M/COAP 3、HTTP 4、自定义对于嵌入式系统来说,前两种是主要的连接方式。花了1周时间差不多把MQTT整明白了,这里分享给大家。先做个简要说明:
1、硬件平台用的是ST官放STM32F769Discovery开发板 16M的外挂SDRAM  64M的外接FLASH  还有一块MIPI接口的液晶屏(据说是iPhone4S用的)
2、操作系统选用的是FreeRTOS,主要是用的人多还免费,文件少移植简单,网上大把教程

3、LWIP的移植参考原子教程,先把无操作系统的部分移植好,然后在进行有操作系统的移植,主要就是sys_arch.c文件的修改,具体参考我的代码
4、STM32F769Discovery的网卡PHY用的是LAN8742,这个是LAN8720的升级版,不需要做任何修改直接使用。
5、MQTT协议栈移植的是paho的mqtt协议栈 源码地址 https://github.com/eclipse/paho.mqtt.embedded-c
6、华为云MQTT服务器连接时需要进行SHA256鉴权,方法是用HMAC_SHA256算法,以时间戳为密钥对产品的secret进行加密。secret是创建设备是自己设置的密码,时间戳如果选择不验证的话可以固定。具体看代码
7、目前所有云平台的MQTT传输几乎都是传输JSON数据,对于嵌入式系统而言可以用CJSON来实现,移植也非常简单,只提供内存分配和释放函数即可
8、华为云端我创建的产品是华为自带模板里的水表模型(懒得自己创建了),实现了设备侧属性实时上报、应用侧命令下发、设备侧命令应答的功能。
9、代码具有很强的实用性,支持网线的热拔插,MQTT服务器断线自动重连,经过长时间测试通信稳定。

目前资源有限,只能用以太网有线连接,后面实际应用可以使用无线WIFI模块等。MQTT这块算是可以了吧,接着研究COAP,有兴趣的朋友可以一起讨论
3a44d2fdaa9cec8f4be805c054f478f.jpg
9a1fb8eb92bd43673bc90f6d687257f.jpg
360截图20200710170549774.jpg
360截图20200710170709199.jpg
360截图20200710170743398.jpg

MQTT.rar

2.69 MB, 下载次数: 791

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14283
金钱
14283
注册时间
2018-8-3
在线时间
1146 小时
发表于 2020-7-11 12:06:23 | 显示全部楼层
回复 支持 反对

使用道具 举报

50

主题

385

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1126
金钱
1126
注册时间
2014-8-24
在线时间
146 小时
发表于 2020-7-23 07:12:08 | 显示全部楼层
mark,赞
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2015-11-16
在线时间
4 小时
发表于 2020-9-3 16:52:23 | 显示全部楼层
学习了,谢谢。。。
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2020-7-14
在线时间
7 小时
发表于 2020-9-5 06:43:39 | 显示全部楼层
感谢楼主分享
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2021-4-13
在线时间
0 小时
发表于 2021-4-13 16:16:45 | 显示全部楼层
这个在实际项目中应用了吗?
回复 支持 反对

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11469
金钱
11469
注册时间
2013-3-8
在线时间
1226 小时
发表于 2021-6-9 14:44:04 | 显示全部楼层
能发一份OC平台产品模型的图吗?我按你的移植了,也显示在线了,但通讯数据拿不到。谢谢
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2019-10-23
在线时间
12 小时
发表于 2021-10-9 09:23:58 | 显示全部楼层
谢谢,已下载,不知F407能用不?
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2020-5-25
在线时间
1 小时
发表于 2022-1-13 17:17:03 | 显示全部楼层
谢谢分享。。。。
回复 支持 反对

使用道具 举报

0

主题

65

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2017-12-21
在线时间
76 小时
发表于 2022-3-1 09:24:18 | 显示全部楼层
66666666666
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
162
金钱
162
注册时间
2018-2-27
在线时间
47 小时
发表于 2024-8-11 09:58:47 | 显示全部楼层
感谢分享,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 08:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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