美文网首页
初探腾讯云物联网开发平台

初探腾讯云物联网开发平台

作者: andywangzhen | 来源:发表于2020-01-16 15:31 被阅读0次

    前言

    目前市场上有很多物联网开发平台,本次就在腾讯云平台上,做一个简单的尝试。

    Get Started

    1. 创建产品和设备
      首先,进入物联网开发平台:https://console.cloud.tencent.com/iotexplorer
      这里介绍两个概念,后面也会用到:
      iot-explorer,即物联网开发平台
      iot-hub,即物联网通信https://cloud.tencent.com/product/iothub,后面会涉及到此中的规则引擎。

    进入物联网开发平台后,首先创建一个项目,可以叫“智慧城市”;
    接着创建一个自定义产品:


    image.png

    创建好之后,定义一个自定义功能,属性为字符串:


    image.png

    最后创建一个设备:


    image.png
    1. 设备调试
      点击刚刚创建好的设备,调试,会出现一个虚拟下发设备命令的界面,尝试发一个字符串给设备吧。


      image.png

    查看设备日志,可以看到刚刚下发的命令:


    image.png

    虚拟设备调试功能,点击进去,可以看到有一个虚拟设备状态上报的控制面板,而且有一个二维码可以模拟一个小程序,接收设备上报数据。不过,由于自定义产品无法自动生成一个小程序界面,所以我们重新创建一个智能灯的模板产品,然后尝试一下:
    同样的,创建一个产品:


    image.png

    点击进入虚拟设备:


    image.png

    手机小程序:


    image.png
    1. 数据同步
      该功能是用于将设备的上线下线状态信息,和设备上报数据信息,通过http post的方式,推送给你自己的服务。

    我使用go语言简单做了一个http的服务,并部署在云端服务器上面,将url配置到腾讯云平台:


    image.png

    由于虚拟设备无法支持该功能,所以我们要跑一个c语言的脚本,跟着说明页面做一遍即可,刚好复用上我们创建的智能灯的产品。
    https://cloud.tencent.com/document/product/1081/34744

    运行后,可以看到我们云端的日志,打印出设备的推送数据了。


    image.png

    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条规则:


    image.png

    进入其中一个,看到推送的http url即我们刚刚配置的数据同步服务的url:


    image.png

    相关文章

      网友评论

          本文标题:初探腾讯云物联网开发平台

          本文链接:https://www.haomeiwen.com/subject/yqbfzctx.html