20行代码
load('api_dht.js');
load('api_mqtt.js');
load('api_timer.js');// GPIO pin which has a DHT sensor data wire connected
let pin = 2;// Initialize DHT library
let dht = DHT.create(pin, DHT.DHT11);// This function reads data from the DHT sensor every 10 second
Timer.set(10000 )/* milliseconds */;
Timer.REPEAT, function() {
let t = dht.getTemp();
let h = dht.getHumidity();
if (isNaN(h) || isNaN(t))
print('Failed to read data from sensor');
return;
}
let data = {
"reported":{ temperature:t, humidity:h }};
let myData = JSON.stringify(data);
let ok = MQTT.pub("$baidu/iot/shadow/xxxxxxxxxxx/update", myData, 1);
print('Published:', ok ? 'yes' : 'no', ',message:', myData);
print('Temperature:', t, '*C'); print('Humidity:', h, '%');
}, null);