// Load the corresponding library files load('api_config.js'); load('api_events.js'); load('api_gpio.js'); load('api_mqtt.js'); load('api_net.js'); load('api_timer.js'); load('api_sys.js'); load('api_dht.js'); load('api_rpc.js'); // GPIO pin which has a DHT sensor data wire connected let pin = 0; // The topic name is assigned let topic = 'Mos/topic1'; // Initialize DHT library let dht = DHT.create(pin, DHT.DHT11); // This function reads data from the DHT sensor every 2 second Timer.set(2000 /* milliseconds */, true /* repeat */, function() { let t = dht.getTemp(); let h = dht.getHumidity(); if (isNaN(h) || isNaN(t)) { print('Failed to read data from sensor'); return; } print('Temperature:', t, '*C'); print('Humidity:', h, '%'); }, null); GPIO.set_button_handler(0,GPIO.PULL_UP,GPIO.INT_EDGE_NEG,200, function() { let message = JSON.stringify({ temperature: dht.getTemp(), humidity: dht.getHumidity(), }); // Print the message in the MQTT client page let ok = MQTT.pub(topic, message, 1); print('Published:', ok, message); }, null); // Monitor network connectivity. Event.addGroupHandler(Net.EVENT_GRP, function(ev, evdata, arg) { let evs = '???'; if (ev === Net.STATUS_DISCONNECTED) { evs = 'DISCONNECTED'; } else if (ev === Net.STATUS_CONNECTING) { evs = 'CONNECTING'; } else if (ev === Net.STATUS_CONNECTED) { evs = 'CONNECTED'; } else if (ev === Net.STATUS_GOT_IP) { evs = 'GOT_IP'; } print('== Net event:', ev, evs); }, null);