应用场景

物联网通信,即是一种通过云端进行的远距离无线通信的方式,可应用在嵌入式设备与上位机间。
当你的嵌入式设备需要进行远距离的通信,而你又不想用使用长长的数据线时;又或者你嵌入式设备需要与计算机之间进行无线通信而你又不想使用距离有限的蓝牙时;物联网通信会成为一个相对优秀的选择。

应用举例

这里将手把手教你实现最简单的双设备通信,该设备可以是嵌入式设备(这里以外接ESP模块的STM32单片机为例),也可以是个人计算机(作者曾使用QT开发的上位机与嵌入式设备进行通信,但在这里不做描述)

云端操作

  1. 新建产品与设备
    点击新建产品,选择密钥认证自定义数据格式,产品名字随便起就行了

    点击新建好的产品,在设备列表栏,点击添加新设备,选择使用物联网通信提供的密钥这里我们建立两个设备:Dev1和Dev2
  2. 设备信息
    点击我们刚添加的设备,拉倒最下面可以看到设备密钥与设备的信息(记得点击右边显示)
    这里有三个有用的元素(三元素),分别是产品ID设备名称设备秘钥。前面两个用于在物联网平台上找到该设备,最后一个则是用于连接上该设备,需要记下来,后面有重要用途
  3. 主题topic
    在权限列表栏,可以看到该设备下已经有三个自定义topic,并且这三个topic都有不同的功能权限
    event:发布,即终端设备可以发送数据到该topic,从而发送数据到云端
    control:订阅,即终端设备可以通过订阅该topic,从而接收到云端发送的数据
    这样,我们的终端设备就可以与云端进行双向通信了
  4. 规则引擎
    点击左侧工具栏规则引擎,在这里,我们可以建立不同设备topic之间的关系
    在上一步我们了解了终端设备与云端平台之间的通信,在这一步我们将通过设置规则引擎实现终端设备与终端设备之间的通信。我们知道,一个设备只能订阅和发布隶属于本设备的topic,所以我们在规则引擎中要做的是,把一个设备topic的数据转发到另一个设备topic
    点击新建规则,规则名称我们可以起为Dev1ToDev2,点击新建好的规则,接下来我们需要设置两个部分
    筛选数据:该部分主要是选择需要操作的topic,这里字段输入*代表不筛选,即所有数据都进行下一步操作;Topic选择自定义,然后一步步选择到设备Dev1的event(该topic是终端发布数据)

    行为操作:该部分主要是对上一步选择的topic的数据进行操作,这里我们要把它转发到另一个设备的topic。各选项选择如下:

    一个规则引擎就这样建立好了,这样终端设备1发布到Dev1/event的数据会被实时转发到Dev2/control,终端设备2只要订阅了control就能接收到来自终端设备1发送的数据,接下来还要再设置一个Dev2ToDev1规则引擎

终端操作

这里以ESP8266为例,演示终端设备如何接入腾讯云
首先我们在ESP8266中烧录腾讯云固件,并找到腾讯云AT指令使用手册(详见:上一篇博客)
我们需要使用到的AT指令大概有这么几个:连接WiFi,连接物联网设备,订阅主题,发布主题

  1. 连接WiFi
AT+CWMODE=1                        //设置客户端模式
AT+CWJAP="WiFi名称","WiFi密码"    //连接上WiFi
  1. 连接物联网设备
AT+TCDEVINFOSET=1,"产品ID","设备名称","设备密钥"       //设置平台信息    //三元素
AT+TCMQTTCONN=1,5000,240,1,1                      //配置连接服务器参数

此时我们在设备列表处状态一栏,可以看到对应的设备状态显示“在线”
注:可以使用一下AT指令与设备断开连接

AT+TCMQTTDISCONN            //断开服务器连接
  1. 订阅主题
    我们订阅control主题,此处主题的格式为 产品ID/设备名称/主题名称 ,具体到该例程就是 8IUSGNOOG8/Dev1/control
    我们也可以在设备的权限列表中直接对主题进行复制
AT+TCMQTTSUB="主题",0      //订阅主题


订阅了主题之后,我们就可以接收到云端下发的数据
注:可以使用AT指令取消订阅主题

AT+TCMQTTUNSUB="主题"      //取消订阅主题
  1. 发布主题

发布主题只需要发送一个固定的数据格式,就可以把我们的想发送的数据发发布到指定的主题
我们发送到data主题,也就是 8IUSGNOOG8/Dev1/data

AT+TCMQTTPUB="主题",0,"数据"   //发布主题

设备调试

腾讯云提供了一套完善的调试系统,主要由在线调试云日志组成

  1. 在线调试
    点击创建好的设备,找到在线调试,我们就可以直接在云端对终端设备发布主题

    Topic:选择要发布的topic,若你选择的topic并没有被终端设备所订阅,页面会提示你
    消息内容:输入要发送的数据
    实时日志:可以看到云端下发数据的历史记录(离开该页面后会清空)

  2. 云日志
    点击我们创建的产品,找到云日志页面
    这里可以选择查看行为日志、内容日志、设备日志以及查看的时间范围,清楚的记录了设备的上线(终端设备连接到云端),主题的发布和订阅(云端接收到和发送出去的数据,但由于我们选择的是自定义数据格式,所以无法直接看到我们的发送的数据内容)

后记

以上就能够实现两个终端设备通过云端进行实时通信,该通信方式有点像串口通信:一条发送数据的线(TX:发布主题),一条接收数据的线(RX:订阅主题)。终端设备只要把这两条线接上,至于数据的交互部分则在腾讯云使用规则引擎设置
本文使用的方法好处在于简单易懂易操作,相比于网上其他教程,如使用证书认证需要自己制作二进制证书文件,使用MQTT服务器,使用JSON格式等等
但本文的内容仅限于新手入门,若想进一步了解腾讯云还需要查阅其产品文档,了解其通信原理

腾讯云-物联网通信IoT Hub相关推荐

  1. 腾讯云-物联网开发平台IoT Explorer

    应用场景 腾讯云的物联网开发平台能做什么?举一个简单的例子,作者就经常有这样的场景:三十度高温的广州,每当你刚踏进家门便急不可耐的寻找空调遥控器把温度调到最低,然后站在空调前迎面吹着冷风:但也可以是这 ...

  2. 腾讯云物联网MQTT对接

    返回主目录:<云音箱服务器对接> 腾讯云物联网MQTT写入到音箱中的参数有:产品ID(ProductKey),设备名称(DeviceName),设备密钥(DeviceSecret) 一.登 ...

  3. STM32节点移植lorawan协议连接腾讯云物联网开发平台(IoT Explorer)

    STM32移植lorawan协议栈连接腾讯云物联网开发平台(IoT Explorer) 前言 开发环境的准备 正文 初始化 入网 发送与接收 前言 在移植协议之前,先给大家科普一下Lora 和 lor ...

  4. 使用创思通信4G Cat1 DTU基于TencentOS-tiny对接腾讯云物联网开发平台

    一.简介 本文档主要讲述如何使用创思通信4G Cat1 DTU开发板,基于TencentOS-tiny对接腾讯云物联网开发平台IoT Explorer,演示温度数据上报平台.平台下发控制指令控制继电器 ...

  5. 腾讯云物联网开发平台 IoT Explorer 全面指引

    文章目录 * 1 设备侧开发教程 * 1.1 [腾讯云](https://l.gushuji.site/tencent)端侧资源 1.2 LoRa 设备 * LoRaWAN 节点接入 LoRaWAN ...

  6. 腾讯云物联网-网关设备体验

    sdk代码请点击这里获取 网关设备简介 对于 BLE.Zigbee 和485等不具备直接访问网络能力的设备,需要先接入网关,然后通过网关代理,间接实现设备接入腾讯物联网开发平台 IoT Explore ...

  7. 腾讯云物联网开发平台 LoRaWAN 透传接入 更新版

    前言 之前有一篇文章介绍LoRaWAN透传数据,不过还是用物模型+云端数据解析脚本,不是真正的透传.腾讯云物联网开发平台也支持对LoRaWAN原始数据的透传.转发.今天来介绍下. 腾讯云 IoT Ex ...

  8. 腾讯云物联网平台产品全面升级,全新生态运营策略构建消费电子智能生态

    9月10日,在腾讯全球数字生态大会消费电子专场上,腾讯云对物联网平台产品全面升级,并发布了全新的生态运营策略,与合作伙伴携手共建物联网生态,共享产业商机,为客户提供更大的价值. 中国的消费电子产业通过 ...

  9. 直播马上开始│走进腾讯云物联网

    物联网(IOT/Internet of Things),是指将物与物的信息交互也接入到互联网中来,通过对具体事物进行标识.感知.信息传递和智能处理,在无需人工干预的条件下实现智能化识别.定位.跟踪.监 ...

  10. ESP32接入腾讯云物联网开发平台

    文章目录 前言 1 资料参考 2 对接总体思路 3 代码移植 3.1 component qcloud_iot 3.2 项目顶层处理 3.3 component main 4 移植问题备忘 CMake ...

最新文章

  1. Android深度探索与驱动开发(一)
  2. Nature子刊:植物根系微生物组中共生细菌的宿主偏好性
  3. 怎么写遮罩层 css,css案例 - mask遮罩层的华丽写法
  4. 实验室蒋田仔研究员:脑网络组图谱近10年研究详解【附PPT】
  5. npm全局安装和本地安装和本地开发安装(npm install --g/--save/--save-dev)
  6. Python类属性和实例属性分别是什么?
  7. VTK:几何对象之Cube
  8. 独家 | 揭秘2021双11背后的数据库硬核科技
  9. mysql报错乱码_连接mysql服务器报错时,出现乱码
  10. python--DenyHttp项目(1)--socket编程:客户端与服务器端
  11. Git可视化极简易教程 —— Git GUI使用方法
  12. Maximum Submatrix Largest Rectangle
  13. IntelliJ IDEA 2019.1 EAP5 发布,Maven 构建输出统一查看
  14. git 遇到fatal:multiple stage entries for merged file
  15. xise php一句话木马,渗透利器 | 常见的WebShell管理工具
  16. 电脑快捷启动工具 Lily5.1
  17. Oracle 锁表查询大全
  18. 【机器学习笔记】【随机森林】【回归器】【填充缺失值】
  19. 5.9 使用新建调整图层命令调整图像 [原创Ps教程]
  20. Photoshop CS2 视频教程-PS锁定图层(转)

热门文章

  1. c++中MFC消息机制,UI线程和工作线程,模式对话框原理
  2. 如何在Excel中设置下拉选项
  3. JavaSE_day01【Java概述、环境搭建、标识符、变量、基本数据类型】
  4. 在js中的瀑布流布局理解
  5. 【全志V3s / LicheePi Zero / 荔枝派】Air724合宙4G模块RNDIS拨号
  6. 滴滴程序员年薪80万却被亲戚鄙视:钱多有啥用,我儿子二本大学教师
  7. 最小系统板 STM32入门,呼吸灯实现(STM32F103C6T6)
  8. 直插电阻的分类和区别
  9. Chapter4.5:根轨迹法考研参考题
  10. 这45个场景,正在被区块链抽筋扒皮…