"IoT" ist bislang für mich nur ein buzzword, nun möchte ich aber von
einem ESP8266 eine Nachricht ("Alarm!") an ein Smartphone (im selben
Netzwerk) senden.
Erstmal internet- und serverlos. Später evtl. mit Verbindung über
Internet.
Allerdings erfordert dies m.W. dann eine (always-on) "App" auf dem
Smartphone, die eine Verbindung zum "thing" hält und etwaige Nachrichten
dann als "notification" anzeigt.
- Gibt es so eine "universell" konfigurierbare App (Android/iOS)?
- Wie heißen die Stichworte, nach denen ich suche?
- Was wäre eine Minimallösung?
- Was ist aktuell die einfachste Lösung (der Weg des geringsten
Widerstands)?
MQTT ist das Lösungswort
Gibt auch fertige Apps für, welche sich einfach Konfigurieren lassen.
Erfordert allerdings einen Server. Dazu einen eigenen Aufsetzen oder ein
gratis Inet-Angebot nutzen.
- Gibt es so eine "universell" konfigurierbare App (Android/iOS)?
Ja gibt es, nennt sich Blynk. Ich finde die App toll, habe schon einiges
mit der Umgesetzt.
THOR schrieb:> Ich würde da direkt auf E-Mail gehen, Internetverbindung ist vorhanden> und SMTP ist ein denkbar einfaches Protokoll.
Und wie willst du das genau mit E-Mail umsetzen? Einen Mailserver
einrichten, bloß um Nachrichten auf dein Handy zu schicken? Oder willst
du einen Minimalistischen Mailserver auf dem IOT Gerät implementieren um
von diesem Mails abzusenden? Unabhängig von dem Aufwand darfst du dir
dann gleich noch eine Domain mieten, da deine Mails ohne passende
Absender-Domain von jedem Maildienst abgewiesen werden.
Und das es ohne Server nicht geht sollte klar sein, da die Mailing-Apps
für Smartphones nur Clients sind, welche Mails nicht direkt empfangen
können. (Würde auch keinen Sinn machen)
Wenn der Threadersteller ein möglichst einfaches Protokoll mit möglichst
umständlicher Einrichtung und wahnwitziger Komplexität haben will, kann
man guten Gewissens eine Mail-Lösung empfehlen.
♪Geist schrieb:> Ja gibt es, nennt sich Blynk. Ich finde die App toll, habe schon einiges> mit der Umgesetzt.
Blynk ist einfach eine proprietäre Implementierung des MQTT Ansatzes.
Wer lieber eine abgeschottete anstatt einer offenen Lösung nutzen will
hat hier zumindest nichts verloren (wenn auch nichts gewonnen).
Das man bei Blynk keinen Server einrichten muss ist im übrigen kein
Argument, da es eine Reihe von (zum Teil kostenlosen) Dienst für
MQTT-Server gibt. So z.B. CloudMQTT (Gratis für bis zu 10 gleichzeitige
Geräte/Verbindungen).
Auch wird bei Blynk bisher kein SDK für die Entwicklung eigener Clients
angeboten. Braucht man vlt. auch nicht aber es bringt auch nichts darauf
zu verzichten. Da man, aufmerksame Leser werden es bereits erahnen, mit
MQTT ein ganzes Arsenal an Bibliotheken nutzen kann um eigene Ideen
umzusetzen.
PS.:
Als App für Android empfehle ich MQTT Dash aus dem Play Store.
Da ich kan IOS habe, kann ich da nichts empfehlen.
Danke soweit. Offene Software wäre besser. Einen Broker/Server könnte
ich zur Not lokal oder global einrichten. Wie erfolgt denn die
Authentisierung der clients (Verschlüsselung nicht erforderlich)?
Alternativ: gibt es evtl. auch eine App, die "einfach" eine
(konfigurierbare) TCP-Verbindung zum "thing" aufbaut, und empfangene
Daten als notification darstellt (und auch eine Info bei
Verbindungsverlust)?
Oder gibt es evzl. "persistente" Browser-Apps o.Ä. (d.h. keine
Entwicklungsschlüssel etc erforderlich)?
Adam schrieb:> Wie erfolgt denn die> Authentisierung der clients (Verschlüsselung nicht erforderlich)?
Die Autorisierung der Clients erfolgt über Username/Password, auch wenn
keine Verschlüsselung eingestellt ist. Da diese aber auch
unverschlüsselt übertragen werden ist hier der Schutzfaktor nicht
besonders hoch. Besser wäre es Client, Server und Smartphone mit einem
VPN zu verbinden. Damit muss man auch nicht auf die sichere
Implementierung der einzelnen Komponenten vertrauen, solange man z.B.
OpenVPN vertraut.
Adam schrieb:> Alternativ: gibt es evtl. auch eine App, die "einfach" eine> (konfigurierbare) TCP-Verbindung zum "thing" aufbaut, und empfangene> Daten als notification darstellt (und auch eine Info bei> Verbindungsverlust)?
Für eine App die TCP Daten unformatiert Anzeigt sehe ich persönlich
keinen Anwendungsfall, von daher sollte schwerlich etwas fertiges zu
finden sein.
Adam schrieb:> Oder gibt es evzl. "persistente" Browser-Apps o.Ä. (d.h. keine> Entwicklungsschlüssel etc erforderlich)?
Mit dem Ansatz der Browser-App wirst du nicht weit kommen, da diese
keine reinen TCP Verbindungen unterstützen. Was diesen noch am nächsten
kommt sind WebSockets. Einerseits ist deren Implementierung auf
Smarthone-Browsern soweit ich weiß noch nicht sehr weit. Andererseits
funktionieren diese nur mit einem HTTP-Server auf der Gegenstelle.
MQTT schrieb:> Die Autorisierung der Clients erfolgt über Username/Password, auch wenn> keine Verschlüsselung eingestellt ist.
Jetzt habe ich nicht nur deinen Fehler zitiert, sondern diesen auch noch
falsch. Natürlich muss dort Authentifizierung stehen.^^
Heinz schrieb:> Solange Dein Handy im Netzwerk / WLAN ist, hat es doch auf alle Fälle> eine Verbindung zum Internet?> Schicke die Meldung doch an WhatsApp, Hangouts, ...>> Hier ein anderes Beispiel:>> http://www.instructables.com/id/Send-Notifications-to-Your-Phone-From-an-ESP8266/
Unabhängig davon das du hier Dienste verschiedener Firmen aufzählst und
keine Kommunikationslösungen wäre ein Ansatz über ein Chat-Protokoll wie
XMPP (quelloffen, haufen Clients) möglich.
Man sollte allerdings beachten, das es einen Unterschied in der
Charakteristik zwischen einem Nachrichtenstrom (wie bei einem
Gespräch/Chat) und dem setzen von Statusmeldungen (Tür ist auf, Tür ist
zu) gibt. Die entscheidende Frage ist, interessiert mich nur der letzte
Stand oder wer wann was gesagt hat?
PS.: Die automatische Auswertung von Meldungen würde ich bei MQTT
einfacher einschätzen als bei XMPP.
Adam schrieb:> Kann jemand einen Client für iOS (iPhone) empfehlen? Es scheint> nichts> findbares zu geben..
Was auch noch eine recht simple Lösung für alle Platformen ist wäre
Telegram. Dort kannst du in ein paar Minuten einen Chatbot einrichten,
und dann ohne eigenen Server per GET-Request eine Push-Nachricht
schicken. Ich mache es oft so, einfach weil's sehr, sehr simpel ist...
LG, Sean
Sean G. schrieb:> Was auch noch eine recht simple Lösung für alle Platformen ist wäre> Telegram.
Danke, das ist im o.g. instructables link beschrieben.
Sean G. schrieb:> Was auch noch eine recht simple Lösung für alle Platformen ist wäre> Telegram. Dort kannst du in ein paar Minuten einen Chatbot einrichten,> und dann ohne eigenen Server per GET-Request eine Push-Nachricht> schicken. Ich mache es oft so, einfach weil's sehr, sehr simpel ist...
Betonung liegt auf "eigenen"
MQTT schrieb:> Und wie willst du das genau mit E-Mail umsetzen?
Ne Mailadresse hat jeder und ne SMTP Mail bau ich dir mit ner
Telnet-Konsole zusammen. Noch einfacher wirds nicht.
Es gibt mit "Tasker" eine sehr universelle Automatisierungs-App für
Android mit eigener simpler Programmierung, die auf allerlei Events
reagieren kann und auch eine Programmierung einfachster Apps mit
Schaltflächen für Aktionen erlaubt. Und dafür gibt es zig Plugins. Eines
davon, "UDP Listener Tasker Plugin", reagiert der Beschreibung nach auf
wählbare UDP Messages, d.h. es läuft dann ein Tasker Script los.
Einfacher als per UDP Message geht nicht.
MQTT schrieb:> Unabhängig davon das du hier Dienste verschiedener Firmen aufzählst und> keine Kommunikationslösungen
ist das jetzt hier auch verboten?
Ich vermute mal, Adam will einfach nur was, das funktioniert und das
sein Problem möglichst einfach löst....
Im Prinzip ja. Aber offene Software ist schöner. Dafür richte ich auch
einen eigenen Server ein. Für XMPP gibt es auch einige iOS clients.
Es gibt auch schon einige Projekte
https://www.google.de/search?q=esp8266+xmpp