本想基于涂鸦进行测试,咨询客户经理了解已经不再支持ESP8266等非官方设备接入,登录官网也未见到相关内容,遂放弃,改为阿里云测试。

登录阿里云物联网平台:https://iot.console.aliyun.com/devices,开启免费的“公共实例”,到控制台里增加设备“智能灯”,名称为LED1main,到设备信息–》MQTT连接参数里复制下连接参数,到MQTTX里依据这些参数来连接。

MQTT 连接参数
clientId:***.LED1main|securemode=2,signmethod=hmacsha256,timestamp=**|
username:LED1main&****
passwd:*****
mqttHostUrl:iot-****.mqtt.iothub.aliyuncs.com
port:1883

到控制台–》产品(设备模型)–》选择灯–》查看设备–》功能定义–》前往编辑草稿–》添加标准功能,增加:

1.其他类型,搜索温度,当前温度“CurrentTemperature”,确认

2.搜索亮度,亮度百分比“Brightness”,确认

3.同时将灯的状态“LightStatus”改为读写(可上报,可远程控制)。

4.发布上线

在MQTTX里连接服务器,云平台–》监控运维–》在线调试,可以设置灯的状态和亮度,点设置下发命令:

Topic:/sys/*****/LED1main/thing/service/property/set QoS:0

{
“method”: “thing.service.property.set”,
“id”: “93543057”,
“params”: {
“LightStatus”: 1,
“Brightness”: 45
},
“version”: “1.0.0”
}

设备端也可以主动上报亮度,温度,状态,位置坐标等信息:

状态信息上报json:
/sys/***/LED1main/thing/event/property/post
{
  "method": "thing.event.property.post",
  "params": {
    "LightStatus":1,
    "CurrentTemperature":58,
    "Brightness": 14
  }
}
位置信息上报
/***/LED1main/thing/event/property/post
{
    "params" : {
        "GeoLocation" : {
            "value":{
                "Longitude":39.9935723,
                "Latitude":39.9935723,
                "Altitude":39.9935723,
                "CoordinateSystem":2
            }    
        }
    },
    "method":"thing.event.property.post"  
}
同时更新坐标和亮度等信息
/sys/***/LED1main/thing/event/property/post
{
  "method": "thing.event.property.post",
  "params": {
    "LightStatus":0,
    "CurrentTemperature":23,
    "Brightness": 77,
        "GeoLocation" : {
            "value":{
                "Longitude":11.9935723,
                "Latitude":22.9935723,
                "Altitude":33.9935723,
                "CoordinateSystem":2
            }    
        }
  }
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注