FS704U模块上报属性到阿里云物联网平台

摘要:本文介绍FS704U模块的设置方法,实现云端属性的设置。FS704U是一种DTU,断电之后数据不丢失,不用重复设置三元组数据,而且发送的异常指令会自动过滤,因此用单片机等硬件设备要想连接物联网云平台,使用它可以省去很多的麻烦。此外,本文还提到了5V到3.3V的电平转换。

FS704U和EC600的最大区别是:

EC600没有参数保存功能,因此断电后,需要重新一步步地设置云端的参数。 而这些参数其实完全可以固化到模块内部,毕竟设备完成后,不会再频繁更换云端参数。

可以参考文章进行对比

EC600模块通过AT指令接入阿里云物联网平台并发布属性_ec600m 阿里云-CSDN博客

 那么FS704U就方便很多了,可以将这些参数通过专用的软件进行配置

重要提示:本文中的图片,有的是来自网络,有的是自己用wps绘制的框图,有的是DTU设置软件截屏,有的是阿里云物联网平台网站截屏。适合具备有关基础知识的同学。

1.电脑和FS704U的硬件连接

实物图

 实际用的时候,比如单片机,可以考虑不插接收线,只发送指令。有点像是UDP通信协议。

如果您的单片机是5V的,那么就需要考虑电平转换。 

千万不要以为,使用两个电阻串联一下分压就能实现电平匹配了。不可能!!!!!不信您自己做实验试试看!

本文推荐使用专门的芯片TXS0108。

这个芯片做出来的波形非常完美。

2.使用 YunDTU Config Tool软件进行配置

相比没有专门控制软件的配置方式而言,这种图形化的界面更加适合操作。下图是它的界面。

打开串口,模块默认波特率是115200,首先配置串口波特率,由于我的单片机是9600波特率,所以在这里也使用9600。

然后选择设置所有参数,此时模块的波特率就变成了9600.如果想设置阿里云参数,那么需要断开串口连接,然后以9600重新连接模块才行。

新的波特率

然后配置socket参数,默认这个选项是“不启用”,也就是它不会连接网络上的任何服务器。

勾选“启用”,界面如下图所示。工作模式是TCP/UDP,如果你有自己的服务器,那么完全可以让它和自己的服务器进行连接。

当然也可以连接其他商业云平台,例如阿里云、移动云、百度云、腾讯云和华为云。

物联网平台底层协议一般都是MQTT,只不过外面有层层的安全验证机制确保安全,所以会有复杂的数字签名步骤,可以通过下面的文章进行了解。

物联网APP:使用android studio实现阿里云物联网平台数字签名(Signature)(附源代码)

数字签名非常复杂,因此产生了一些专门用来计算数字签名的网站,来生成MQTT连接参数。不过现在还好,网站一般会提供已经计算好的连接参数。而与之配套的DTU厂家,也将复杂的加密认证参数的计算内置到自己的设备中。FS704U就是这样的,例如它可以直接输入阿里云三元组数据,然后模块自己就能将那些参数计算出来。

DTU设备其实就是将自己作为一个MQTT的client而已。MQTT的通信结构可以参考文章来了解。

ubuntu系统下搭建本地物联网mqtt服务器的步骤_ubuntu搭建mqtt服务器-CSDN博客

使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(五)---MQTT.fx模拟设备连接阿里云_wemos d1 阿里云 mqtt-CSDN博客

现在阿里云网站已经支持在线生成这些参数了

由于FS704U模块硬件已经内置了这个功能了。只需要将三元组数据复制过来,那个MQTT连接参数暂时不用。在您用ESP32的MQTT程序开发时,这些参数才会用到。

我们当前需要用到的时下图这个三元组数据

 填入YunDTU软件。然后设置参数(最后填写也可以,只不过建议随时保存,万一误点关闭,这些参数已经写入模块了,不会丢失,也可以“读取所有参数”,在软件上自动显示)。

 接下来该填写订阅和发布主题了。如果您只需要单片机将开关、温度、电压等上传到云端,那么只需要发布即可,订阅的不需要。如果还需要单片机对云端的一些内容做出响应,那么需要订阅。不是说必须两个都填。

 订阅的主题如下所示,其中gcXXXXXXXX替换成为您自己的ProductKey,light001替换成为您自己的DeviceName。

/sys/gcXXXXXXXX/light001/thing/event/property/post

发布的主题如下.请将gcXXXXXXXX替换成为您自己的ProductKey,light001替换成为您自己的DeviceName。


/sys/gcXXXXXXXX/light001/thing/service/property/set

订阅的是service,发布的是event。这是区别。

最后点击“设置所有参数完成设置。

3.测试效果

首先要知道单片机或者USB串口要向FS704U的DTU发送什么数据格式。

然后通过电脑来模拟,如下图连接。

 

可以使用YunDTU软件自带的串口助理发送{"params":{"LightSwitch":0}}

{"params":{"LightSwitch":0}}

具体发送1还是0,要看您自己在云平台上是如何定义的。根据实际来即可。

 还可以通过云平台查看日志

设备到云的日志,可以看到,发送的topic就是DTU上设置的那个topic。内容也正是串口发送的字符串。

云到设备的日志。可以看到这个就复杂多了。而且topic不是service。这是为什么呢?请读者自己分析。小提示:消息是json格式的,但是里面没有说设置哪个属性为0或者1.

 云平台显示效果如下图所示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TMS320VC5257H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值