前言
目前市場上有很多物聯(lián)網(wǎng)開發(fā)平臺诗茎,本次就在騰訊云平臺上尿背,做一個簡單的嘗試默赂。
Get Started
- 創(chuàng)建產(chǎn)品和設(shè)備
首先捻激,進入物聯(lián)網(wǎng)開發(fā)平臺:https://console.cloud.tencent.com/iotexplorer
這里介紹兩個概念,后面也會用到:
iot-explorer敦腔,即物聯(lián)網(wǎng)開發(fā)平臺
iot-hub均澳,即物聯(lián)網(wǎng)通信https://cloud.tencent.com/product/iothub,后面會涉及到此中的規(guī)則引擎符衔。
進入物聯(lián)網(wǎng)開發(fā)平臺后找前,首先創(chuàng)建一個項目,可以叫“智慧城市”判族;
接著創(chuàng)建一個自定義產(chǎn)品:
創(chuàng)建好之后躺盛,定義一個自定義功能,屬性為字符串:
最后創(chuàng)建一個設(shè)備:
-
設(shè)備調(diào)試
點擊剛剛創(chuàng)建好的設(shè)備形帮,調(diào)試槽惫,會出現(xiàn)一個虛擬下發(fā)設(shè)備命令的界面,嘗試發(fā)一個字符串給設(shè)備吧辩撑。
查看設(shè)備日志界斜,可以看到剛剛下發(fā)的命令:
虛擬設(shè)備調(diào)試功能,點擊進去合冀,可以看到有一個虛擬設(shè)備狀態(tài)上報的控制面板各薇,而且有一個二維碼可以模擬一個小程序,接收設(shè)備上報數(shù)據(jù)君躺。不過峭判,由于自定義產(chǎn)品無法自動生成一個小程序界面,所以我們重新創(chuàng)建一個智能燈的模板產(chǎn)品棕叫,然后嘗試一下:
同樣的林螃,創(chuàng)建一個產(chǎn)品:
點擊進入虛擬設(shè)備:
手機小程序:
- 數(shù)據(jù)同步
該功能是用于將設(shè)備的上線下線狀態(tài)信息,和設(shè)備上報數(shù)據(jù)信息俺泣,通過http post的方式治宣,推送給你自己的服務急侥。
我使用go語言簡單做了一個http的服務,并部署在云端服務器上面侮邀,將url配置到騰訊云平臺:
由于虛擬設(shè)備無法支持該功能,所以我們要跑一個c語言的腳本贝润,跟著說明頁面做一遍即可绊茧,剛好復用上我們創(chuàng)建的智能燈的產(chǎn)品。
https://cloud.tencent.com/document/product/1081/34744
運行后打掘,可以看到我們云端的日志华畏,打印出設(shè)備的推送數(shù)據(jù)了。
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
}
至此尊蚁,整條設(shè)備上行鏈路已經(jīng)通了亡笑。
后記
剛剛使用的數(shù)據(jù)同步服務,其源頭是使用了iot-hub的規(guī)則引擎横朋。進入規(guī)則引擎管理頁面仑乌,可以看到創(chuàng)建了4條規(guī)則:
進入其中一個,看到推送的http url即我們剛剛配置的數(shù)據(jù)同步服務的url: