使用阿里云平台提供的 C Link SDK 使 Linux 设备接入物联网 - MQTT接入

一 . 移植 SDK,使设备成功连接物联网平台

(1)获取SDK

根据阿里云物联网平台文档提示,下载SDK到你电脑上。

阿里云物联网平台文档:获取SDK - 设备接入Link SDK - 阿里云

image-20211121100546562

(2)在你的服务器上,创建好产品,设备,然后获取设备的属性值。(参考阿里云物联网平台开发文档)

image-20211121150250275

(3)将下载好的 SDK 在你的 Ubuntu 上解压,进入 demos 目录,打开 mqtt_basic_demo.c 文件,修改设备属性信息。将下面的代码修改为在上述步骤(2)中获取的设备属性:

(4)执行 make(确保你在 Makefile 文件所在的目录下)

(5)make 成功后会生成 output 目录,接着就可以执行 output 目录下的 mqtt-basic-demo 文件了。

如果看到下面的输出,则是成功连接云服务器了!

image-20211121152740326

这时也可以去阿里云物联网平台上查看设备状态,是处于【在线】的状态。

二 . 执行发布-订阅功能

(1)使用自定义 Topic 通信

原先这部分代码是被注释掉的,现在把注释符去掉,然后将 Topic 修改为你自己的 Topic 名称。(如何创建自定义 Topic 可以参考阿里云对应文档)

image-20211121192433664

将程序执行起来,然后可以去阿里云平台上,【设备】-【Topic 列表】中找到你的 Topic,接着点击【发布消息】,就可以从云服务器向设备发送消息了。在【监控运维】-【日志服务】中也可以查看设备与云服务器的交互记录。

image-20211121152205928

程序执行结果:

image-20211121152628566

(2)使用物模型通信 Topic

首先,需要获取物模型通信 Topic,在【产品】-【Topic 类列表】-【物模型通信 Topic】中获取。

注意:在使用 Topic 时,要将 Topic 名称中的 ${deviceName} 换成你的设备的名字。

image-20211121190404336

然后,替换代码中的 Topic 值,替换成你自己的 Topic,发布的字符串可以修改为自己想发布的消息(注意:字符串换行需要在末尾加 '\' 且字符串中的双引号也需要转义)

image-20211121190918512

发布:程序运行起来后,去物联网平台上查看,可以看到设备发布过来的消息:

(图中默认模块的“当前湿度”,“当前温度”,“红灯开关”等等属性是我在创建产品时设置的,至于你这里有什么属性,就看你创建产品时设置了什么)

image-20211121191539903

订阅:在物联网平台上,可以设定好每个属性的值,然后发送指令,在程序中订阅的 Topic 就会收到对应的消息:

image-20211121161919030

注意:程序运行时,如果出现 connect fail 的情况,有可能是因为 Ubuntu 自身的网络问题,所以要确保你的 ubuntu 可以成功连接外网(可以通过 ping www.baidu.com 来调试)。如果出现其他错误,可以根据打印出来的错误码去官网文档中查看对应的原因。

  • 6
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值