MQTT 协议连接阿里云物联网服务器
一、阿里云账号注册
https://www.aliyun.com/?utm_content=se_1000301881
二、阿里云 IOT 物联网平台介绍
https://edu.aliyun.com/course/explore/aliyun_iot?spm=a2c56.193971.0.0.705425c8wNdCII
三、新建物联网产品与设备
https://edu.aliyun.com/course/explore/aliyun_iot?spm=a2c56.193971.0.0.7d2625c88z4kXP
https://www.aliyun.com/product/iot-deviceconnect?spm=5176.10731491.1280361.402.w5ke4R
https://iot.console.aliyun.com/studio
移动 APP 界面设计:
我这里选择构建 Android 应用
四、采用 Linux 系统模拟硬件接入云端
https://iot.console.aliyun.com/devices
https://help.aliyun.com/document_detail/73708.html?spm=a2c4g.11186623.4.1.48f94c07KJBxYv
阿里云物联网平台提供设备端 SDK,设备使用 SDK 与平台建立通信。在这一步里,我们使用平台提供的样例程序 linkkit-example-solo 模拟设备开发,实现设备与物联网平台的通信。
背景信息本文使用 Linux 下的 C 语言 SDK,该 SDK 的编译环境推荐使用 64 位的 Ubuntu16.04。
SDK 的开发编译环境会用到以下软件:make-4.1,git-2.7.4,gcc-5.4.0,gcov-5.4.0,lcov-1.12,bash-4.3.48,tar-1.28,mingw-5.3.1
可以使用如下命令行安装:
操作步骤
登录 Linux 虚拟机。
下载 2.3.0 版本 C 语言 SDK。
使用 unzip 命令解压压缩包。
打开样例程序 linkkit_example_solo.c。
将设备证书信息修改为前一步中创建的设备证书,完成后保存退出。
如下所示,在此处填入 ProductKey、DeviceName 和 DeviceSecret,将创建设备时生成的证书进行身份认证并连接物联网平台。
在 SDK 顶层目录,执行 make 命令,完成样例程序的编译。
生成的样例程序 linkkit-example-solo 存放在 output/release/bin 目录下。
运行样例程序。在控制台观察到设备上线。此时,设备与物联网平台成功连接。
设备上线成功后,会自动向物联网平台上报消息。你可以通过查看日志,获取具体内容。
详细教程: https://help.aliyun.com/document_detail/96624.html
五、什么是 Topic ?
什么是 Topic?物联网平台中,服务端和设备端通过 Topic 来实现消息通信。Topic 是针对设备的概念,Topic 类是针对产品的概念。产品的 Topic 类会自动映射到产品下的所有设备中,生成用于消息通信的具体设备 Topic。
什么是 Topic 类?为了方便海量设备基于海量 Topic 进行通信,简化授权操作,物联网平台增加了产品 Topic 类的概念。Topic 类是一类 Topic 的集合。例如,高级版产品的自定义 Topic 类/${YourProductKey}/${YourDeviceName}/user/update 是具体 Topic/${YourProductKey}/device1/user/update 和/${YourProductKey}/device2/user/update 的集合。
你创建产品后,物联网平台会为该产品创建系统 Topic 类。你还可以根据业务需求,自定义 Topic 类。基础版产品和高级版产品均支持自定义 Topic 类。
在产品的 Topic 类列表页,创建自定义 Topic 类。
其他功能用到的 Topic 类,如固件升级等,请参考具体功能文档中的 Topic 相关章节进行创建。
你可以在产品详情页的 Topic 类列表页,查看该产品的所有 Topic 类。
在你创建设备后,产品 Topic 类会自动映射到设备上。你无需单独为每个设备授权 Topic。
六、发布产品
https://iot.console.aliyun.com/product/productDetail/a1liX1d3E0j
七、自定义设备功能
https://iot.console.aliyun.com/product/productDetail/a1liX1d3E0j
配置好了之后保存,发布。
然后跳转到以下页面,预览界面。
下面是预览的界面效果图:
同时在新建一个窗口,开启在线调试功能:验证开关按钮是否生效。
调试界面检测到云端下发的数据:
云端下发的数据里包含了开关的状态值:
八、修改 SDK 模拟动态温度
运行程序,上线设备 ------要保证 Linux 系统可以正常上网。
九、SDK 的移植
https://help.aliyun.com/document_detail/97557.html?spm=a2c4g.11186623.6.552.5c7539adCky6ro
十、MCU 上集成 SDK
https://help.aliyun.com/document_detail/97921.html?spm=a2c4g.11186623.4.4.69432c22rWIem6
https://help.aliyun.com/document_detail/96623.html?spm=a2c4g.11186623.4.3.34953b10La7MGL
基于 STM32 的阿里云连接方案开发包,已经集成了 Ali 物联网套件 SDK。
EWARM IAR 开发环境。
串口工具 Tera Term。串口调试工具,显示程序运行信息,以及供用户配置 WiFi 用户名和密码。
基于 STM32 的阿里云物联网套件方案开发包已经集成了 Ali 物联网套件 SDK2.03 。
https://github.com/aliyun/iotkit-embedded/releases/tag/RELEASED_V2.03
在集成过程中,整个 SDK 目录文件结构保持不变,方便用户在将来自行替换更高版本的 Ali 物联网套件,如下图:
STM32 NUCLEO-L476RG
从 www.st.com 搜索关键字 NUCLEO-L476RG 可以得到此开发板的详细介绍。
板载 STM32 超低功耗芯片 STM32L476RG,拥有 1M 字节的 Flash 和 128K 字节的 SRAM。
板载 Arduino™ UnoV3 接口的扩展插座。我们通过该插座给 WiFi 模组供电。
板载 ST morpho 接口的扩展插座,可由此访问全部 STM32 管脚。我们将通过该插座连接 WiFi 模组的收、发 I/O。
版权声明: 本文为 InfoQ 作者【DS小龙哥】的原创文章。
原文链接:【http://xie.infoq.cn/article/3c0233855edcc9fa5eff4b485】。文章转载请联系作者。
评论