一、阿里云账号注册
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
ProductKey: a1liX1d3E0j DeviceName: ds18b20 DeviceSecret: 8jGlqCuBqRPkFvCmQmS44YIUqw1o0w1O |
https://iot.console.aliyun.com/studio
移动APP界面设计:
https://linkdevelop.aliyun.com/p/a124WWbI6TkfIqkO/project/detail?spm=a2c9d.12524660.0.0.62d9c409ng6qLN
我这里选择构建Android应用
https://linkdevelop.aliyun.com/p/a124WWbI6TkfIqkO/device/productaccess/#/product/productDetail/a1liX1d3E0j
https://linkdevelop.aliyun.com/p/a124WWbI6TkfIqkO/device/productaccess/#/product/productDetail/a1liX1d3E0j
四、采用Linux系统模拟硬件接入云端
https://dev.iot.aliyun.com/sale?spm=a2c56.12366940.article-detail.6.57795206aNjxCj&source=deveco_online_shequ
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
可以使用如下命令行安装:
apt-get install -y build-essential make git gcc |
- 操作步骤
- 登录Linux虚拟机。
- 下载2.3.0版本C语言SDK。
wget https://github.com/aliyun/iotkit-embedded/archive/v2.3.0.zip |
- 使用unzip命令解压压缩包。
打开样例程序linkkit_example_solo.c。
vi iotkit-embedded-2.3.0/examples/linkkit/linkkit_example_solo.c |
将设备证书信息修改为前一步中创建的设备证书,完成后保存退出。
如下所示,在此处填入ProductKey、DeviceName和DeviceSecret,将创建设备时生成的证书进行身份认证并连接物联网平台。
在SDK顶层目录,执行make命令,完成样例程序的编译。
$ make distclean $ 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
https://linkdevelop.aliyun.com/studioweb-doc?spm=a2c9d.12524660.0.0.62d9c409vmdzpk#component-device-switch.html
配置好了之后保存,发布。
然后跳转到以下页面,预览界面。
https://linkdevelop.aliyun.com/studio/web/a124WWbI6TkfIqkO/list?spm=a2c9d.12474297.0.0.39c01b57WgwhXk
下面是预览的界面效果图:
同时在新建一个窗口,开启在线调试功能:验证开关按钮是否生效。
https://linkdevelop.aliyun.com/p/a124WWbI6TkfIqkO/device/productaccess/?spm=a2c9d.12524660.0.0.62d9c409vmdzpk#/product/productDetail/a1liX1d3E0j/virtual/ds18b20
- 调试界面检测到云端下发的数据:
云端下发的数据里包含了开关的状态值:
八、修改SDK模拟动态温度
[root@wbyq iotkit-embedded-2.3.0]# pwd /mnt/hgfs/linux-share-dir/iotkit-embedded-2.3.0 [root@wbyq iotkit-embedded-2.3.0]# make [root@wbyq iotkit-embedded-2.3.0]# output/release/bin/linkkit-example-solo |
运行程序,上线设备 ------要保证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。