文章目录
- 一、产品架构
- 二、接入方式
- 三、计费价格
-
- 1、消息数计费规则
- 2、具体价格表
- 四、创建云端设备
-
- 1、创建产品
- 2、创建设备
- 3、MQTT参数
- 五、证书二进制文件
-
- 1、安装虚拟机
- 2、导入lubuntu图
- 3、创建虚拟机共享文件夹
- 4、打开lubuntu图制作二级制文件
- 六、设备接入
-
- 1、添加Tpoic
- 2、规则引擎
- 3、mqtt.fx
- 4、esp8266接入
- 参考链接
一、产品架构
- 物联网通信提供灵活的设备接入方式,用户设备可基于 CoAP、MQTT等主流协议接入,实现设备管理,设备影子,消息通信等功能。同时对接丰富的云端服务组件和资源,为多个物联网场景打造采集+存储+计算的全栈服务。
- 腾讯云的产品构架和百度云,阿里云类似,都是云下设备通过MQTT协议接入云平台,并可以通过规则引擎转发数据。
二、接入方式
- SDK 接入:目前支持 Linux 、Android 平台的 SDK 接入。 RTOS 移植能力:SDK
支持跨平台移植,框架抽离硬件平台抽象层,可基于不同平台快速、轻松接入物联网通信。 - 传输协议:传输协议支持物联网场景主流的 MQTT、CoAP、http、websocket
等协议,可针对设备资源和应用场景,选择不同的协议通道。 - 安全协议:基于 TLS 、DTLS
等协议进行客户端和服务器端的双向鉴权、数据加密传输,防范非法接入和数据窃取、篡改等风险。针对设备资源和应用场景的安全风险不同,支持选择对称和非对称加密方式。 - 设备固件升级:支持 OTA 固件升级服务,当设备固件有安全隐患或者功能漏洞时,物联网服务端支持通过 OTA 升级,消除隐患,降低安全风险。
注意: 和阿里云类似,腾讯云也是只能发布和订阅自身topic,通过规则引擎来实现设备间的通信。数据格式必须是JSON才能使用规则引擎进行处理/转发。
三、计费价格
1、消息数计费规则
- 按照消息计数收费,消息计数是设备发布的消息、应用程序通过云 API发布的消息,以及物联网通信平台往设备传输的消息中,消息内容长度以单位字节数(512bytes)结算后的消息计数。
- 每条消息的实际消息计数,对消息内容长度按512Bytes为单位进行计量,消息计数为“每条消息内容长度/512Bytes”向上取整计算。
- 计费消息包含:设备发布的消息;应用程序通过云 API 发布的消息;物联网通信平台往设备传输的消息。
- 免费消息包含:通过规则引擎转发到腾讯云内部组件的消息;功能性的消息,例如 MQTT 协议的CONNECT、CONNACK、PUBACK、SUBSCRIBE、SUBACK、UNSUBSCRIBE、UNSUBACK、PINGREQ、PINGRESP、DISCONNECT消息。
2、具体价格表
四、创建云端设备
1、创建产品
2、创建设备
- 创建设备之后产生的设备密钥和设备证书务必妥善保管。
如下为压缩文件中的内容(包括私钥和证书)
为了之后可以方便快捷的找到证书和密钥,大家可以像我这样把对应的证书和密钥放到相应的文件夹内,并重命名
双击即可打开证书,点击详细信息👉公钥即可查到证书的内容。
注意,这里只是设备的证书,要实现腾讯云平台和设备之间的双向通信,必须有腾讯云平台证书。在下面的连接中可以找到:
https://cloud.tencent.com/document/product/634/14630
可以点击控制台👉点击物联网👉点击产品列表👉点击帮助👉向下滑👉快速入门👉MQTT接入指南👉向下滑即可找到。
3、MQTT参数
产品和设备创建成功,接下来还需要MQTT参数(服务器域名、端口号、设备号、设备ID、用户名+密码)
在产品文档中有描述:
如下所示为根据文档要求,设置的MQTT软件和ESP8266相关参数。
五、证书二进制文件
在此之前我们以及获取到ESP8266的证书,物联网的证书,和私钥。但是ESP8266识别不了我们现有格式的证书和私钥。只能看懂二进制文件。为了实现物联网平台和ESP8266的双向认证,我们需要制作ESP8266证书二进制文件。
1、安装虚拟机
注意我在安装虚拟机得时候,遇到安装成功虚拟机之后,打不开虚拟机,点击用管理员身份运行之后,电脑毫无反应。我猜这个是联想电脑的一个通病。出现这个问题有两种可能,第一,可能是win10自带的虚拟机和安装的虚拟机有冲突所以打不开,我们需要先把自带的虚拟机关掉(改成手动开启模式)然后再下载安装我们需要的虚拟机。第二是联想笔记本的VT没有打开。
1、关闭win10自带的虚拟机hyper—v(这里只选择一种极为简单的方式,还有其他两种方式,大家可以参考http://m.xitongtiandi.net/wenzhang/win10/32429.html了解
右击此电脑👉选择管理👉点击服务和应用服务👉点击服务👉找到Hyper-v虚拟机管理器启动改为手动。
2、打开联想笔记本的VT(具体内容大家可以参考https://jingyan.baidu.com/article/cbf0e5006a33d92eaa2893b1.html)
- 首先点击左下角的windows图标
- 接着点击关机按钮,弹窗选项选择重启。
- 点击重启后,电脑会先关机,这时候要开始点击FN+F12,注意的是要一直点击到笔记本发出“嘟——”的一声响,然后松开按键手指。(如果没有发出声响就放开手指可能会没有反应,这个时候大家可以再次重启电脑,注意过程中一定要一直按着按键)
- 这时联想笔记本会打开“boot menu”分类界面,然后点击“tab”键(这个时候鼠标已经不能使用了,大家不要慌张,通过电脑屏幕和键盘的结合完成以下步骤即可)
- 点击“tab”键之后便可以打开“application menu”分类界面,然后点击“enter”键
- 打开“main”分类界面点击三次“tab”键
- 打开“security”分类界面后,点击三次“向下”键选中“virtualization”设置项然后再去点击“enter”键
- 打开“virtualization”界面后点击“enter”键
- 打开弹窗以后点击“向下”键选中“enabled”然后再点击“enter”
- 打开“setup confirmation”弹窗后点击“enter”,这样联想笔记本就会开始重启,重启以后VT功能就开启了。
完成之后安装虚拟机
- 大家可以从网页上寻找可靠资源,也可以使用百度网盘里我使用的虚拟机进行安装
链接:https://pan.baidu.com/s/1bGe4jdnK9McNDauyLXCRnw 提取码:uhle
- 设置安装路径。
稍等片刻,安装即可成功
2、导入lubuntu图
需要先将压缩包解压,导入镜像文件。
- 选择文件所在位置即可
- lubuntu图导入成功
3、创建虚拟机共享文件夹
- 将SDK包中的工具复制到共享文件夹中。首先创建共享文件夹。并将SDK包文件夹下的文件复制到共享文件夹里。并把【服务器证书】、【8266证书】、【8266私钥】复制到共享文件夹中,并将他们重命名。如下所示:
- 接下来我们设置虚拟机的共享文件夹。这里设置我们刚刚创建的文件夹,点击ok
4、打开lubuntu图制作二级制文件
点击启动
这里比较慢,大家耐心等待即可。
打开乐鑫终端工具,输入挂载共享目录的命令行
./mount.sh
密码esptesif
注意
六、设备接入
1、添加Tpoic
登录腾讯云平台👉控制台👉物联网管理👉之前创建的产品👉权限列表👉添加Topic👉名称👉订阅和发布👉确定
2、规则引擎
- 新建规则
-
编辑筛选数据
-
添加行为操作
3、mqtt.fx
我在连接的时候一直出现问题,发现问题是符号的问题,应该是在英文状态下的分号,大家注意。
由上可知,mqtt客户端软件成功连接到腾讯云物联网平台,这就说明mqtt客户端软件成功通过证书证明了腾讯云物联网平台的身份,并且使用证书向腾讯云物联网平台证明了自己的身份,实现了双向认证。
4、esp8266接入
1、修改我们例程的参数
- 注意传输加密方式为双向认证
- 物联网平台证书二进制文件的烧录地址为0x77扇区 esp8266证书二进制文件烧录的地址为0x787扇区
2、修改订阅主题以及相关参数
- 编译工程,工程编译成功。
3、下载工程
- 程序下载成功之后。 打开串口复位esp8266,打开串口
- 这说明,esp8266通过腾讯云物联网平台的证书验证了腾讯云物联网平台的身份,并且腾讯云物联网平台通过证书也验证了esp8266的身份。他们之间进行了双向身份,并且建立了加密传输。
4、mqtt客户端软件
接下来,我们利用mqtt客户端软件向NGGXO98AEJ/iot_light_mqttfx_jx/SW_LED主题发布消息。,我们发送的必须是JSON字符串。
{
"SW_LED":"ON"
}
点家发布,可以看到esp8266接收到它订阅的主题发过来的SW_LED这个键,值是LED_ON.与我们这里是一样的。
我们可以看到,LED已经被点亮
参考链接
https://blog.csdn.net/dingyc_ee/article/details/103832881
https://www.bilibili.com/video/BV1dJ411S723?p=58
https://www.bilibili.com/video/BV1dJ411S723?p=59
https://www.bilibili.com/video/BV1dJ411S723?p=60
https://www.bilibili.com/video/BV1dJ411S723?p=61
物联网普遍存在遭受网络攻击类型多样化、没有安全保护标准、数据极易被截获或破解等安全风险,核心问题在于缺乏设备、服务提供者、应用、数据、交易等物的安全认证机制。因此,有必要建立一种提供认证鉴权和数据保护的方案体系,建立物与物、物与人之间的信任。密码技术是解决核心…