Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // . 13 July 2019
- // . Dev: @crmrmn / carmineromano2000@gmail.com
- // . Level Tank Monitor v0.1
- /*
- Per ridurre ulteriormente il consumo energetico,
- si suggerisce di rissaldare il led power [RED] (circa 8mA assorbiti).
- E' inoltre suggerito di disabilitare il "led" usato nello sketch
- come debugger in quanto non รจ usata la com UART.
- Si sono scelti i GPIO della USART in quanto rilevato problema
- con il DEEP SLEEP usando GPIO2.
- */
- #include <ESP8266WiFi.h>
- #include <PubSubClient.h>
- #define sensor 3 //Collegare sensore a GPIO3
- #define led 1 //Led integrato GPIO1
- const char* ssid = "ssid"; //Nome rete wifi
- const char* password = "password"; //Password wifi
- const char* mqttServer = "urlserver"; //Url server
- const int mqttPort = 11964; //Porta mqtt
- const char* mqttUser = "user"; //Utente mqtt
- const char* mqttPassword = "psswd"; //Password mqtt
- const int sleepTimeS = 10; //Ogni quanto inviare la lettura [sec]
- WiFiClient espClient;
- PubSubClient client(espClient);
- void setup() {
- pinMode(sensor, INPUT_PULLUP);
- pinMode(led, OUTPUT);
- WiFi.begin(ssid, password);
- while (WiFi.status() != WL_CONNECTED) {
- digitalWrite(led, !digitalRead(led));
- delay(200);
- }
- client.setServer(mqttServer, mqttPort);
- while (!client.connected()) {
- digitalWrite(led, LOW);
- if (client.connect("ESP8266Client", mqttUser, mqttPassword )) digitalWrite(led, HIGH);
- else delay(2000);
- }
- }
- void loop() {
- client.loop();
- if(!digitalRead(sensor)) {
- client.publish("esp/tanklevel", "full");
- client.subscribe("esp/tanklevel");
- }
- else{
- client.publish("esp/tanklevel", "empty");
- client.subscribe("esp/tanklevel");
- }
- delay(1000);
- ESP.deepSleep(sleepTimeS * 1000000);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement