前言
目前市场上有很多物联网开发平台,本次就在腾讯云平台上,做一个简单的尝试。
Get Started
创建产品和设备
- 首先,进入物联网开发平台
物联网开发平台:https://console.cloud.tencent.com/iotexplorer 进入物联网开发平台后,首先创建一个项目,可以叫“智慧城市”;这里介绍两个概念,后面也会用到: iot-explorer,即物联网开发平台;iot-hub,即物联网通信,https://cloud.tencent.com/product/iothub,后面会涉及到此中的规则引擎。
- 接着创建一个自定义产品:
- 创建好之后,定义一个自定义功能,属性为字符串:
- 最后创建一个设备:
-
设备调试
点击刚刚创建好的设备,调试,会出现一个虚拟下发设备命令的界面,尝试发一个字符串给设备吧。
- 查看设备日志,可以看到刚刚下发的命令:
虚拟设备调试功能,点击进去,可以看到有一个虚拟设备状态上报的控制面板,而且有一个二维码可以模拟一个小程序,接收设备上报数据。不过,由于自定义产品无法自动生成一个小程序界面,所以我们重新创建一个智能灯的模板产品,然后尝试一下:
同样的,创建一个产品:
点击进入虚拟设备:
微信小程序:
- 数据同步
该功能是用于将设备的上线下线状态信息,和设备上报数据信息,通过http post的方式,推送给你自己的服务。
我使用go语言简单做了一个http的服务,并部署在云端服务器上面,将url配置到腾讯云平台:
由于虚拟设备无法支持该功能,所以我们要跑一个c语言的脚本,跟着说明页面做一遍即可,刚好复用上我们创建的智能灯的产品。https://cloud.tencent.com/document/product/1081/34744,运行后,可以看到我们云端的日志,打印出设备的推送数据了。
Go测试脚本参考:
package main
import "github.com/gin-gonic/gin"
import "fmt"
func main() {
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
r.POST("/data", func(c *gin.Context) {
buf := make([]byte, 1024)
n, _ := c.Request.Body.Read(buf)
fmt.Println(string(buf[0:n]))
c.JSON(200, gin.H{
"message": "success",
})
})
r.Run(":9080") // listen and serve on 0.0.0.0:9080
}
至此,整条设备上行链路已经通了。
后记
刚刚使用的数据同步服务,其源头是使用了iot-hub的规则引擎。进入规则引擎管理页面,可以看到创建了4条规则:
进入其中一个,看到推送的http url即我们刚刚配置的数据同步服务的url:
转载于:
作者:andywangzhen
链接:https://www.jianshu.com/p/0cfe17e42ad6
对loT物联网比较感兴趣,也参加过类似的比赛,而且还可以搭建微信小程序,所以就转载备份了一份腾讯云物联网开发平台体验,以备后用。