DIY Dash Button mit Akku Überwachung

Hallo zusammen,

heute habe ich das letzte Projekt für dieses Jahr abgeschlossen. Einen DIY Dash Button mit Akku Überwachung. Die Amazon Dash Buttons sind günstig und OK, ABER für mich nicht „Maker“ freundlich. Gut das gestern der erste meiner Amazon Dash Buttons kaputt gegangen ist :slight_smile:

Als Grundlage dient wieder ein ESP8266 und ein LIPO Akku mit Schutzelektronik. Dieses mal benutze ich beim ESP8266 keinen DeepSleep, sondern lasse den ESP8266 über den Taster mit Spannung versorgen. Bedeutet: Der Taster muss so lange gedrückt werden, bis der HTTP Request abgesetzt wurde. Das dauert in der Regel 2-3 Sekunden. Vorteil: Wenn der Taster nicht gedrückt ist, fließt auch kein Strom und der Akku hält theoretisch ewig ( Selbstentladung gibt es natürlich ).

Der ESP8266 ist auch bei diesem Projekt mit der Arduino IDE programmiert. Sobald der Taster gedrückt wird, verbindet sich der ESP mit dem WIFI und setzt einen HTTP Request an Symcon ab. Dabei wird auch gleich die Spannung vom Akku mit übertragen und in einer Variable in Symcon geloggt. Mal sehen, wie lange der Akku hält :-). Gehäuse ist in Fusion 360 gezeichnet und auf meinem CR-10 gedruckt.

Hier der Code vom ESP:


#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>

ADC_MODE(ADC_VCC); //vcc read

const char* ssid = "xxx";
const char* password = "xxx";



#define LED D4 //GPIO2 - Led auf dem Modul selbst

int i;

void setup() 

// Connect with WIFI
{
 pinMode(LED, OUTPUT); // Port aus Ausgang schalten

 Serial.begin(115200);
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
 
    delay(1000);
    Serial.print("Connecting..");
 
  }


// Send Webhook only once
digitalWrite(LED, LOW);
 
float vdd = ESP.getVcc() / 1000.0;
vdd = vdd + 0.1;
String vdd_string;
vdd_string = String(vdd);

//Serial.println(vdd); 

 if (WiFi.status() == WL_CONNECTED) { //Check WiFi connection status
 
    HTTPClient http;  //Declare an object of class HTTPClient
 
    http.begin("http://xxx.xxx.xxx.xxx:3777/hook/dash_linus/?VCC="+vdd_string);  //Specify request destination
    int httpCode = http.GET();                                                                  //Send the request
 
    if (httpCode > 0) { //Check the returning code
 
      String payload = http.getString();   //Get the request response payload
      Serial.println(payload);                     //Print the response payload
 
    }
 
    http.end();   //Close connection
 
  }

  digitalWrite(LED, HIGH);
  

  


}


void loop() {


 
 
}
 

In IP Symcon habe ich einen Webhook erstellt, der beim Aufruf das Modbus Coil toggelt und den Wert des Akkus in eine Variable schreibt.





Ist das Plastik Gehäuse selber angefertigt oder kann man so was irgendwo bestellen?

Müde ? :wink:

Michael

Ja selbst gezeichnet und gedruckt.

schön gemacht, was steuerst du damit?

Danke. Das Licht im Kinderzimmer :slight_smile:

Hast du dazu auch einen kleinen Skizierten Schaltplan? :wink:

Leider nein. Aber bis auf die Kondensatoren habe ich das so wie hier aufgebaut:

028451-shema-b.jpg

Hier wird die minimal Beschaltung am besten dargestellt:

http://esp8266.github.io/Arduino/versions/2.1.0-rc1/doc/boards.html#minimal

Gruß Kay

Hallo zusammen,

es gibt ein Update meines Buttons. Als ESP8266 Modul nutze ich jetzt das ESP-08S Modul. Vorteil = keine externen Widerstände, da die Pullups schon auf dem Modul sind. Einzig der Pullup für den Webupdate Modus wird per software im Setup aktiviert.

Die 3D Dateien und links zur Software findet Ihr auf Thingiverse:

https://www.thingiverse.com/thing:2803769

0800260ccee0c6bba03ba67ce84791c0_preview_featured.jpg
b196853db6af3c50ffd25836bb497022_preview_featured.jpg

Gruß Kay

Top. Wann gibt es das zu kaufen? :slight_smile:

Gesendet von meinem Redmi 4X mit Tapatalk

Vermutlich garnicht :slight_smile:

DIY ist hier angesagt. Wer keinen 3D Drucker hat, kann sich ja bei mir melden.

Gruß Kay