mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Welches Protokoll für Nachricht von "internet thing" an Smartphone-App?


Autor: Adam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"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)?

Autor: MQTT (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
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.

Autor: THOR (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Ich würde da direkt auf E-Mail gehen, Internetverbindung ist vorhanden 
und SMTP ist ein denkbar einfaches Protokoll.

Autor: ♪Geist (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
- 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.

Autor: MQTT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: MQTT (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
♪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.

Autor: Adam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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)?

Autor: Adam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Authentifizierung

Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: MQTT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: MQTT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.^^

Autor: MQTT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

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.

Autor: Adam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann jemand einen Client für iOS (iPhone) empfehlen? Es scheint nichts 
findbares zu geben..

Autor: Adam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Sean G. (atmega318)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Adam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: MQTT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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"

Autor: THOR (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
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.

Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich benutze für sowas gerne telnet. Robust und sicher.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

: Bearbeitet durch User
Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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....

Autor: Adam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.