使用树莓派(基于官方link SDK)接入阿里云物联网平台实现温湿度上报

SDK

  • 一、什么是link SDK
  • 二、Link SDK适用产品实例
  • 三、 树莓派使用 C SDK 接入阿里云

一、什么是link SDK

link SDK由阿里云提供给设备厂商,由设备厂商集成到设备上后通过该SDK将设备安全地接入到阿里云IOT物联网平台,继而让设备可以被阿里云IOT物联网平台进行管理。设备需要支持TCP/IP协议栈才能集成Link SDK、 Zigbee、433、KNX这样地非IP设备需要通过网关设备接入到阿里云IOT物联网平台,网关设备需要集成Link SDK。

阿里云IOT物联网平台在云端提供只能生活、智能制造、智能人居等多个行业解决方案/服务,设备使用Link SDK接入到阿里云IOT物联网平台既可以被这些行业解决方案管理。阿里云IOT物联网行业解决方案与Link SDK地关系如下图所示。
使用树莓派(基于官方link SDK)接入阿里云物联网平台实现温湿度上报_第1张图片

二、Link SDK适用产品实例

Link SDK适用于一切连接阿里云IOT物联网平台地产品,下面是一些通过集成Link SDK连接阿里云物联网平台地产品供厂商参考:

  • 生活类单品
    这类设备大多通过wifi连接家庭中的无线路由器,继而连接互联网并于阿里云IOT物联网平台进行通信。常见的设备包括:电子猫眼、智能锁、风扇、扫地机器人、空调、冰箱、接线板、空气净化器、取暖器、窗帘、灯具、电热水器、油烟机、微波炉、烤箱等等。此类产品的网络接入示意图如下所示。
    在这里插入图片描述

  • 网关类产品
    有的设备不支持TCP/IP协议,无法直接集成Link SDK,这样的设备需要通过集成了Link SDK的网关接入阿里云IoT物联网平台,包括ZigBee网关、蓝牙网关、433网关、KNX网关等。网关类产品的网络接入示意图如下所示。
    使用树莓派(基于官方link SDK)接入阿里云物联网平台实现温湿度上报_第2张图片

  • 蜂窝网接入产品
    使用电信运营商的蜂窝网连接的IOT产品,大多应用于农业、城市等覆盖地域较广的场景,或者设备处于移动的场景,例如:物流运输车、自动售货机、气象收集系统、水文收集系统、智能电表、智能水表等等。此类产品的接入网络示意图如下所示:
    在这里插入图片描述

三、 树莓派使用 C SDK 接入阿里云

阿里云开发了一套SDK用于设备端向云平台发送数据。现在支持C、java、Android、IOS、HTTP/2。对于树莓派系统则下载C版本的SDK,

1、获取C SDK:在windows上下载https://code.aliyun.com/linkkit/csdk/repository/archive.zipspm=a2c4g.11186623.2.10.4b952359PP35EP&ref=v3.0.1
下载之后,使用linux上的命令rz获取至虚拟机并使用unzip解压,在这里的话我经常使用WinSCP这个软件,比较方便,我每次都用它来实现Linux和windows的互换。在这里插入图片描述
大家可以自行百度下载,良心推荐很方便
使用树莓派(基于官方link SDK)接入阿里云物联网平台实现温湿度上报_第3张图片
在这里插入图片描述
2、设备信息将通过HAL调用返回给SDK,因此,需要将c-sdk-v3.0.170c768666a139320bd24b818f5a369ab6c080903csdk.git/wrappers/os/ubuntu/HAL_OS_linux.c中的设备证书信息修改为创建产品与设备中测试产品的设备证书,完成后保存退出。
在这里插入图片描述
使用树莓派(基于官方link SDK)接入阿里云物联网平台实现温湿度上报_第4张图片
以上是SDK自带的,这个时候我们要将上面的元素改成我们在阿里云创建设备时候的设备证书以及产品的证书
使用树莓派(基于官方link SDK)接入阿里云物联网平台实现温湿度上报_第5张图片使用树莓派(基于官方link SDK)接入阿里云物联网平台实现温湿度上报_第6张图片
修改后的内容如下:
使用树莓派(基于官方link SDK)接入阿里云物联网平台实现温湿度上报_第7张图片
3、保存后退出,然后我们进入c-sdk-v3.0.1-70c768666a139320bd24b818f5a369ab6c080903c-sdk.git/src/mqtt/examples/mqtt_example.c文件中,
在这里插入图片描述
然后再此文件中添加如下代码,如图片我所截的图片
使用树莓派(基于官方link SDK)接入阿里云物联网平台实现温湿度上报_第8张图片
使用树莓派(基于官方link SDK)接入阿里云物联网平台实现温湿度上报_第9张图片
在使用cjson库的时候,我们一定要把它的库下载下来,看过我其他博客的小伙伴,应该知道那吧。我就不多说了。

4、然后我们用vim进入iot.mk
在这里插入图片描述
将它的内容格式改为下面的格式,
使用树莓派(基于官方link SDK)接入阿里云物联网平台实现温湿度上报_第10张图片
大家可以了解一下后缀名为.mk的文件是什么
使用树莓派(基于官方link SDK)接入阿里云物联网平台实现温湿度上报_第11张图片
5、上述保存之后,我们进入c-sdk-v3.0.1-70c768666a139320bd24b818f5a369ab6c080903c-sdk.git文件中,然后执行make编译
在这里插入图片描述
使用树莓派(基于官方link SDK)接入阿里云物联网平台实现温湿度上报_第12张图片
6、编译完成之后,生成可执行文件mqtt-example存放在./output/release/bin/下
使用树莓派(基于官方link SDK)接入阿里云物联网平台实现温湿度上报_第13张图片
黄色字体就是我们使用SDK把数据按照josn格式上报到阿里云的数据。
使用树莓派(基于官方link SDK)接入阿里云物联网平台实现温湿度上报_第14张图片

然后我们进入阿里云服务器,
使用树莓派(基于官方link SDK)接入阿里云物联网平台实现温湿度上报_第15张图片
上述过程就是我们使用C SDK实现树莓派采样sht20温湿度上报给阿里云,通过此操作,也让我明白了MQTT的通信过程,也加深了我对mqtt的理解,以及mosquitto库,cJSON库的理解,希望在接下来的学习中,我能更加的掌握更多关于mqtt的知识,更上一层楼!

你可能感兴趣的:(SDK,link,SDK,C,SDK,树莓派,阿里云)