美文网首页
A Go client for Google IoT Core

A Go client for Google IoT Core

作者: GoSnail | 来源:发表于2021-01-22 18:31 被阅读0次

这两天阅读了下google iot core的客户端程序,代码量很小,就是一个mqtt的client进行了一次封装,但是里面有两个点可以给大家分享下,源码地址https://github.com/vaelen/iot。

首先说下代码目录,核心代码我认为三个文件,iot.go、thing.go、paho\paho.go。文件里的内容也很简单,这里不一一解释了,重点是有一个设备的struct,

type ID struct {

    ProjectID string

    Location string

    Registry string

    DeviceID string

}

其中projectID对应google平台的项目id,deviceID是设备的唯一标识。

该源码里可以说道说道的核心点是里面用到的clock包和mock.go两个点,首先clock包github.com/benbjohnson/clock,对time包进行了封装,增加了对时间打桩,我们可以通过clock里提供的add方法修改时间以触发mock的timer定时器,非常有意思的一个包,大家可以尝试下。

另外一个点mock.go,该文件虽然我没有把它列到核心的文件里,但是为我们今后在开发有个很好的提醒,通过文件名字可以得知,是一个打桩文件,查看文件很容易get到他是一个mqtt client的mock,在没有mqtt server或者不去与server建联的前提下,也可以完成client业务流程的测试。

相关文章

网友评论

      本文标题:A Go client for Google IoT Core

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