Go Down

Topic: Signal von Arduino an Android App (Read 1 time) previous topic - next topic

BA2017

Hallo,

hat jemand einen Tipp, wie man ein Signal eines Arduinos auf einer Mobile App anzeigen lässt?
Zum Beispiel beim Unterbrechen einer Lichtschranke wird ein grüner Kreis auf der App angezeigt o.ä.
Würde das ganze gerne über ein Netzwerk verbinden.

Bis jetzt habe ich leider überall nur Hinweise dazu gefunden, wie man einen Arduino mit einer App steueren kann, aber nicht andersrum.

Ich bin für jede Hilfe dankbar.

HotSystems

Muss es eine App sein oder geht auch ein Browser ?
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Schuppeste

Kommt immer drauf an wie und wo..

Handy bleibt ja nur GSM, WLAN, Bluetooth.

Wenn es wegen der Reichweite nicht über Bluetooth gehen sollte dann geht nur WLAN..

Für WLAN gibt es mehrere Möglichkeiten.

1. Arduino via Serial an ESP8266 als eigener Server. (App holt dort seine Daten ab, ohne Html)
2. Arduino via Serial an ESP8266 über einen Server mit der App verbunden.
3. Wenn es nicht viel mehr darstellen soll, Arduino direkt am ESP8266 ohne Atmega.

Für alle drei Fälle sind die Basic Examples sogar mit Apps dabei genau Dein Wunsch, googeln hilft da ungemein :D

Derfips

ich habe es für meinen Esp8266 mit Pushbullet hinbekommen. Die Laufzeit bis zum eintreffen der Pushnachricht beträgt ungefähr 2 - 3 Sekunden. Bei Intresse kann ich den Code gerne posten.
Gruß Fips
Meine Esp8266 & ESP32 Projekte => https://fipsok.de

BA2017

Vielen Dank für Eure Antworten!

@Schuppeste, dein 2. Vorschlag war auch mein erster Gedanke. Ich denke ich werde es so versuchen, falls ich weitere Fragen habe werde ich mich noch einmal melden.

@Derfips, mit Pushbullet habe ich noch nie gearbeitet, hört sich aber interessant an! Ich würde mir den Code gerne anschauen wenn das OK ist.

Beste Grüße

SherIock

Womit ich gerne arbeite ist Processing. Eine sehr simple Programmiersprache basierend auf Java. Du kannst über die Processing PDE simple Apps für Android selbst schreiben, oder über die APDE direkt auf deinem Smartphone Apps für selbiges schreiben.
Auch dafür gibt es viele simple Beispiele wie du die Kommunikation über WLAN oder Bluetooth regeln kannst.

Derfips

#6
Jun 22, 2017, 10:02 pm Last Edit: Jun 23, 2017, 07:16 am by Derfips
Entschuldige das ich erst jetzt Antworte habs wohl überlesen.
Du musst diese Bibliothek einfügen
Code: [Select]
#include <WiFiClientSecure.h>
Diese Variablen
Code: [Select]
const int httpsPort = 443;
const char* host = "api.pushbullet.com";
const char* PushBulletAPIKEY = "o.W5oQro3Eod1pOv5BJ2IDNXsSiJ20xjpy"; //Bekommt ihr von eurem Pushbullet-Konto
// Verwenden Sie den Webbrowser zum Anzeigen und Kopieren
// SHA1 fingerprint of the certificate
const char* fingerprint = "E7:06:F1:30:B1:5F:25:72:00:4D:99:F0:ED:90:4D:F9:60:D3:FB:75"; //got it using https://www.grc.com/fingerprints.htm

Diese Funktion schickt die Nachricht
Code: [Select]
void Pushbullet() {               // Push Nachricht zum Klingelkasten schicken
   WiFiClientSecure client;
  if (!client.connect(host, httpsPort))  return;
  String messagebody = "{\"type\": \"note\", \"title\": \"Push vom ESP\", \"body\": \"Licht ";
  messagebody += Zeitstempel;
  messagebody +=  "\"}\r\n";
  client.print(String("POST ") + "/v2/pushes HTTP/1.1\r\n" + "Host: " + host + "\r\n" +
               "Authorization: Bearer " + PushBulletAPIKEY + "\r\n" +
               "Content-Type: application/json\r\n" + "Content-Length: " +
               String(messagebody.length()) + "\r\n\r\n");
  client.print(messagebody);
   Serial.println("request sent");
  while (client.available() == 0);    //Druckt Antwort
   while (client.available()) {
     String line = client.readStringUntil('\n');
    Serial.println(line);
   }
}

die muss natürlich im programm(loop) bei auslösen eines Ereignisses mit
Code: [Select]
Pushbullet(); aufgerufen werden
Meine Esp8266 & ESP32 Projekte => https://fipsok.de

Go Up