12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- package protocol
- import (
- "time"
- )
- type ThingsBoards struct {
- Name string
- }
- /*
- {
- "Device A": [
- {
- "ts": 1483228800000,
- "values": {
- "temperature": 42,
- "humidity": 80
- }
- },
- {
- "ts": 1483228801000,
- "values": {
- "temperature": 43,
- "humidity": 82
- }
- }
- ],
- "Device B": [
- {
- "ts": 1483228800000,
- "values": {
- "temperature": 42,
- "humidity": 80
- }
- }
- ]
- {
- "UEMIS61748803":[
- {
- "ts":1633471518102004,
- "values":{
- "CH2O-Rtd":"0.007",
- "CO2-Rtd":"399.0",
- "HUMI-Rtd":"38.8",
- "PM25-Rtd":"1.0",
- "TEMP-Rtd":"20.4",
- "VOC-Rtd":"0.022"
- }
- }
- ]
- }
- }
- */
- func (tbs *ThingsBoards) Init(name string) error {
- return nil
- }
- func (tbs *ThingsBoards) Uninit() {
- }
- func (tbs *ThingsBoards) ChannelDispatch(b []byte) int {
- return 0
- }
- func (tbs *ThingsBoards) ParsePacket(buff []byte, param ...interface{}) interface{} {
- return nil
- }
- func (tbs *ThingsBoards) rptDevTelemetry(devName string, telemetry interface{}) interface{} {
- tbObj := make(map[string]interface{})
- devVal := make(map[string]interface{})
- devVal["ts"] = time.Now().UnixNano() / (1000 * 1000)
- devVal["values"] = telemetry
- devList := make([]interface{}, 1)
- devList[0] = devVal
- tbObj[devName] = devList
- return tbObj
- }
- func (tbs *ThingsBoards) PackageCmd(dev string, param ...interface{}) interface{} {
- v := param[0].(map[string]interface{})
- return tbs.rptDevTelemetry(dev, v)
- }
- func NewThingsboard() IProtocol {
- p := &ThingsBoards{}
- p.Init("ThingsBoards")
- return p
- }
- func init() {
- ProtReg["ThingsBoards"] = NewThingsboard
- }
|