A Go client for Google IoT Core

这两天阅读了下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业务流程的测试。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容