96 lines
2.3 KiB
JavaScript
96 lines
2.3 KiB
JavaScript
|
load('api_config.js');
|
||
|
load('api_events.js');
|
||
|
load('api_gpio.js');
|
||
|
load('api_http.js');
|
||
|
load('api_net.js');
|
||
|
load('api_sys.js');
|
||
|
load('api_timer.js');
|
||
|
load('api_esp32.js');
|
||
|
load('api_dht.js');
|
||
|
load('api_adc.js');
|
||
|
load('api_rpc.js');
|
||
|
|
||
|
//Pins
|
||
|
let ResetPin = 0;
|
||
|
let LedPin = 16;
|
||
|
let DHTpin = 22;
|
||
|
let SOILpin = 32;
|
||
|
let LIGHTpin = 34;
|
||
|
|
||
|
// Turn on status led
|
||
|
GPIO.set_mode(LedPin, GPIO.MODE_OUTPUT);
|
||
|
GPIO.write(LedPin, 0);
|
||
|
|
||
|
//Reset Handler
|
||
|
GPIO.set_mode(ResetPin, GPIO.MODE_INPUT);
|
||
|
GPIO.set_int_handler(ResetPin, GPIO.INT_EDGE_NEG, function(ResetPin) {
|
||
|
print('Pin', ResetPin, 'got interrupt');
|
||
|
GPIO.toggle(LedPin);
|
||
|
Sys.usleep(200000);
|
||
|
GPIO.toggle(LedPin);
|
||
|
Sys.usleep(200000);
|
||
|
GPIO.toggle(LedPin);
|
||
|
Sys.usleep(200000);
|
||
|
GPIO.toggle(LedPin);
|
||
|
Sys.usleep(200000);
|
||
|
GPIO.toggle(LedPin);
|
||
|
Sys.usleep(200000);
|
||
|
GPIO.write(LedPin, 0);
|
||
|
|
||
|
Cfg.set({bt:{enable:true}});
|
||
|
Cfg.set({wifi:{sta:{enable:false}}});
|
||
|
Cfg.set({wifi:{ap:{enable:false}}});
|
||
|
Cfg.set({wifi:{sta:{ssid:'',pass:''}}});
|
||
|
|
||
|
Sys.reboot(1000);
|
||
|
}, null);
|
||
|
GPIO.enable_int(ResetPin);
|
||
|
|
||
|
ADC.enable(SOILpin);
|
||
|
let dht = DHT.create(DHTpin, DHT.DHT11);
|
||
|
let deviceId = Cfg.get("higrow.deviceId");
|
||
|
if (deviceId === "")
|
||
|
{
|
||
|
deviceId = Cfg.get("device.id");
|
||
|
Cfg.set("higrow.devideId", deviceId);
|
||
|
}
|
||
|
|
||
|
let connected = false;
|
||
|
let readSensors = Timer.set(15000, Timer.REPEAT, function() {
|
||
|
let t = dht.getTemp();
|
||
|
let h = dht.getHumidity();
|
||
|
let m = ADC.read(SOILpin);
|
||
|
let l = ADC.read(LIGHTpin);
|
||
|
|
||
|
print("DeviceId:", deviceId,"Temperature:",t,"Humidity:",h,"Moisture:",m,"Light:",l);
|
||
|
|
||
|
//Timer.del(readSensors);
|
||
|
|
||
|
//ESP32.deepSleep(3600000000); //3600 seconds / 60 minutes
|
||
|
/*
|
||
|
Cfg.set({higrow:{temperature:jsonData.Temperature}});
|
||
|
Cfg.set({higrow:{moisture:jsonData.Water}});
|
||
|
Cfg.set({higrow:{humidity:jsonData.Humidity}});
|
||
|
Cfg.set({higrow:{light:jsonData.Light}});
|
||
|
*/
|
||
|
}, null);
|
||
|
|
||
|
// Monitor network connectivity.
|
||
|
Event.addGroupHandler(Net.EVENT_GRP, function(ev, evdata, arg) {
|
||
|
let status = true && connected;
|
||
|
let evs = '???';
|
||
|
if (ev === Net.STATUS_DISCONNECTED) {
|
||
|
evs = 'DISCONNECTED';
|
||
|
connected = false;
|
||
|
} else if (ev === Net.STATUS_CONNECTING) {
|
||
|
evs = 'CONNECTING';
|
||
|
connected = false;
|
||
|
} else if (ev === Net.STATUS_CONNECTED) {
|
||
|
evs = 'CONNECTED';
|
||
|
connected = false;
|
||
|
} else if (ev === Net.STATUS_GOT_IP) {
|
||
|
evs = 'GOT_IP';
|
||
|
connected = true;
|
||
|
}
|
||
|
}, null);
|