0
点赞
收藏
分享

微信扫一扫

MQTT协议连接阿里云物联网服务器​

老罗话编程 2022-05-24 阅读 49

一、阿里云账号注册

​​https://www.aliyun.com/?utm_content=se_1000301881​​

MQTT协议连接阿里云物联网服务器​_html

MQTT协议连接阿里云物联网服务器​_html_02

MQTT协议连接阿里云物联网服务器​_物联网_03

MQTT协议连接阿里云物联网服务器​_d3_04

MQTT协议连接阿里云物联网服务器​_d3_05

MQTT协议连接阿里云物联网服务器​_d3_06

MQTT协议连接阿里云物联网服务器​_d3_07

MQTT协议连接阿里云物联网服务器​_html_08

MQTT协议连接阿里云物联网服务器​_html_09

MQTT协议连接阿里云物联网服务器​_d3_10

MQTT协议连接阿里云物联网服务器​_物联网_11

MQTT协议连接阿里云物联网服务器​_html_12

MQTT协议连接阿里云物联网服务器​_物联网_13

二、阿里云IOT物联网平台介绍

MQTT协议连接阿里云物联网服务器​_物联网_14

MQTT协议连接阿里云物联网服务器​_html_15

MQTT协议连接阿里云物联网服务器​_html_16

​​https://edu.aliyun.com/course/explore/aliyun_iot?spm=a2c56.193971.0.0.705425c8wNdCII​​

MQTT协议连接阿里云物联网服务器​_html_17

三、新建物联网产品与设备

https://edu.aliyun.com/course/explore/aliyun_iot?spm=a2c56.193971.0.0.7d2625c88z4kXP

MQTT协议连接阿里云物联网服务器​_html_18

​​https://www.aliyun.com/product/iot-deviceconnect?spm=5176.10731491.1280361.402.w5ke4R​​

MQTT协议连接阿里云物联网服务器​_物联网_19

MQTT协议连接阿里云物联网服务器​_d3_20

MQTT协议连接阿里云物联网服务器​_物联网_21

MQTT协议连接阿里云物联网服务器​_html_22

MQTT协议连接阿里云物联网服务器​_d3_23

MQTT协议连接阿里云物联网服务器​_d3_24

MQTT协议连接阿里云物联网服务器​_html_25

MQTT协议连接阿里云物联网服务器​_html_26

MQTT协议连接阿里云物联网服务器​_物联网_27

MQTT协议连接阿里云物联网服务器​_物联网_28

MQTT协议连接阿里云物联网服务器​_html_29

MQTT协议连接阿里云物联网服务器​_html_30

MQTT协议连接阿里云物联网服务器​_html_31

ProductKey: a1liX1d3E0j

DeviceName: ds18b20

DeviceSecret: 8jGlqCuBqRPkFvCmQmS44YIUqw1o0w1O

MQTT协议连接阿里云物联网服务器​_d3_32

​​https://iot.console.aliyun.com/studio​​

MQTT协议连接阿里云物联网服务器​_物联网_33

MQTT协议连接阿里云物联网服务器​_html_34

MQTT协议连接阿里云物联网服务器​_html_35

MQTT协议连接阿里云物联网服务器​_物联网_36

MQTT协议连接阿里云物联网服务器​_html_37

MQTT协议连接阿里云物联网服务器​_html_38

MQTT协议连接阿里云物联网服务器​_html_39

MQTT协议连接阿里云物联网服务器​_html_40

MQTT协议连接阿里云物联网服务器​_html_41

MQTT协议连接阿里云物联网服务器​_html_42

MQTT协议连接阿里云物联网服务器​_物联网_43

MQTT协议连接阿里云物联网服务器​_html_44

MQTT协议连接阿里云物联网服务器​_html_45

MQTT协议连接阿里云物联网服务器​_html_46

MQTT协议连接阿里云物联网服务器​_d3_47

MQTT协议连接阿里云物联网服务器​_d3_48

移动APP界面设计:

​​https://linkdevelop.aliyun.com/p/a124WWbI6TkfIqkO/project/detail?spm=a2c9d.12524660.0.0.62d9c409ng6qLN​​

MQTT协议连接阿里云物联网服务器​_d3_49

MQTT协议连接阿里云物联网服务器​_d3_50

MQTT协议连接阿里云物联网服务器​_html_51

MQTT协议连接阿里云物联网服务器​_html_52

MQTT协议连接阿里云物联网服务器​_物联网_53

我这里选择构建Android应用

MQTT协议连接阿里云物联网服务器​_d3_54

MQTT协议连接阿里云物联网服务器​_物联网_55

MQTT协议连接阿里云物联网服务器​_html_56

MQTT协议连接阿里云物联网服务器​_d3_57

MQTT协议连接阿里云物联网服务器​_d3_58

MQTT协议连接阿里云物联网服务器​_物联网_59

MQTT协议连接阿里云物联网服务器​_d3_60

MQTT协议连接阿里云物联网服务器​_d3_61

MQTT协议连接阿里云物联网服务器​_html_62

MQTT协议连接阿里云物联网服务器​_物联网_63

​​https://linkdevelop.aliyun.com/p/a124WWbI6TkfIqkO/device/productaccess/#/product/productDetail/a1liX1d3E0j​​

MQTT协议连接阿里云物联网服务器​_html_64

MQTT协议连接阿里云物联网服务器​_物联网_65

​​https://linkdevelop.aliyun.com/p/a124WWbI6TkfIqkO/device/productaccess/#/product/productDetail/a1liX1d3E0j​​

MQTT协议连接阿里云物联网服务器​_d3_66

四、采用Linux系统模拟硬件接入云端

​​https://dev.iot.aliyun.com/sale?spm=a2c56.12366940.article-detail.6.57795206aNjxCj&source=deveco_online_shequ​​

MQTT协议连接阿里云物联网服务器​_物联网_67

MQTT协议连接阿里云物联网服务器​_d3_68

MQTT协议连接阿里云物联网服务器​_d3_69

​​https://iot.console.aliyun.com/devices​​

MQTT协议连接阿里云物联网服务器​_d3_70

​​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

  • 操作步骤
  1. 登录Linux虚拟机。
  2. 下载2.3.0版本C语言SDK。

wget https://github.com/aliyun/iotkit-embedded/archive/v2.3.0.zip

  1. 使用unzip命令解压压缩包。

打开样例程序linkkit_example_solo.c。

vi iotkit-embedded-2.3.0/examples/linkkit/linkkit_example_solo.c

将设备证书信息修改为前一步中创建的设备证书,完成后保存退出。

如下所示,在此处填入ProductKey、DeviceName和DeviceSecret,将创建设备时生成的证书进行身份认证并连接物联网平台。

MQTT协议连接阿里云物联网服务器​_html_71在SDK顶层目录,执行make命令,完成样例程序的编译。

$ make distclean

$ make

生成的样例程序linkkit-example-solo存放在output/release/bin目录下。

运行样例程序。在控制台观察到设备上线。此时,设备与物联网平台成功连接。

设备上线成功后,会自动向物联网平台上报消息。你可以通过查看日志,获取具体内容。

MQTT协议连接阿里云物联网服务器​_d3_72

MQTT协议连接阿里云物联网服务器​_d3_73

MQTT协议连接阿里云物联网服务器​_d3_74

MQTT协议连接阿里云物联网服务器​_d3_75

详细教程: ​​https://help.aliyun.com/document_detail/96624.html​​

MQTT协议连接阿里云物联网服务器​_html_76

MQTT协议连接阿里云物联网服务器​_d3_77

MQTT协议连接阿里云物联网服务器​_物联网_78

MQTT协议连接阿里云物联网服务器​_物联网_79

MQTT协议连接阿里云物联网服务器​_d3_80

五、什么是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。
    MQTT协议连接阿里云物联网服务器​_html_81

    MQTT协议连接阿里云物联网服务器​_d3_82

六、发布产品

​​https://iot.console.aliyun.com/product/productDetail/a1liX1d3E0j​​

MQTT协议连接阿里云物联网服务器​_物联网_83

MQTT协议连接阿里云物联网服务器​_物联网_84

MQTT协议连接阿里云物联网服务器​_html_85

MQTT协议连接阿里云物联网服务器​_物联网_86

MQTT协议连接阿里云物联网服务器​_d3_87

MQTT协议连接阿里云物联网服务器​_物联网_88

MQTT协议连接阿里云物联网服务器​_html_89

七、自定义设备功能

MQTT协议连接阿里云物联网服务器​_物联网_90

MQTT协议连接阿里云物联网服务器​_html_91

MQTT协议连接阿里云物联网服务器​_物联网_92

MQTT协议连接阿里云物联网服务器​_物联网_93

​​https://iot.console.aliyun.com/product/productDetail/a1liX1d3E0j​​

MQTT协议连接阿里云物联网服务器​_d3_94

MQTT协议连接阿里云物联网服务器​_d3_95

MQTT协议连接阿里云物联网服务器​_html_96

​​https://linkdevelop.aliyun.com/studioweb-doc?spm=a2c9d.12524660.0.0.62d9c409vmdzpk#component-device-switch.html​​

MQTT协议连接阿里云物联网服务器​_html_97

MQTT协议连接阿里云物联网服务器​_html_98

MQTT协议连接阿里云物联网服务器​_html_99

MQTT协议连接阿里云物联网服务器​_物联网_100

MQTT协议连接阿里云物联网服务器​_物联网_101

配置好了之后保存,发布。

MQTT协议连接阿里云物联网服务器​_d3_102

然后跳转到以下页面,预览界面。

​​https://linkdevelop.aliyun.com/studio/web/a124WWbI6TkfIqkO/list?spm=a2c9d.12474297.0.0.39c01b57WgwhXk​​

MQTT协议连接阿里云物联网服务器​_html_103

下面是预览的界面效果图:

MQTT协议连接阿里云物联网服务器​_d3_104

同时在新建一个窗口,开启在线调试功能:验证开关按钮是否生效。

​​https://linkdevelop.aliyun.com/p/a124WWbI6TkfIqkO/device/productaccess/?spm=a2c9d.12524660.0.0.62d9c409vmdzpk#/product/productDetail/a1liX1d3E0j/virtual/ds18b20​​

MQTT协议连接阿里云物联网服务器​_html_105

MQTT协议连接阿里云物联网服务器​_物联网_106

MQTT协议连接阿里云物联网服务器​_html_107

  • 调试界面检测到云端下发的数据:

MQTT协议连接阿里云物联网服务器​_html_108

云端下发的数据里包含了开关的状态值:

MQTT协议连接阿里云物联网服务器​_d3_109

MQTT协议连接阿里云物联网服务器​_html_110

MQTT协议连接阿里云物联网服务器​_d3_111

八、修改SDK模拟动态温度​

MQTT协议连接阿里云物联网服务器​_d3_112

[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系统可以正常上网

MQTT协议连接阿里云物联网服务器​_html_113

MQTT协议连接阿里云物联网服务器​_html_114

九、SDK的移植​

​​https://help.aliyun.com/document_detail/97557.html?spm=a2c4g.11186623.6.552.5c7539adCky6ro​​

MQTT协议连接阿里云物联网服务器​_d3_115

MQTT协议连接阿里云物联网服务器​_html_116

MQTT协议连接阿里云物联网服务器​_d3_117

十、MCU上集成SDK​

​​https://help.aliyun.com/document_detail/97921.html?spm=a2c4g.11186623.4.4.69432c22rWIem6​​

MQTT协议连接阿里云物联网服务器​_物联网_118

MQTT协议连接阿里云物联网服务器​_d3_119

MQTT协议连接阿里云物联网服务器​_html_120

​​https://help.aliyun.com/document_detail/96623.html?spm=a2c4g.11186623.4.3.34953b10La7MGL​​

MQTT协议连接阿里云物联网服务器​_html_121

基于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。

举报

相关推荐

0 条评论