Erstellen eines benutzerdefinierten Push-Benachrichtigungsdienstes mit MQTT
MQTT (Message Queue Telemetry Transport) ist ein leichtes Messaging-Protokoll, das von IBM speziell für IOT entwickelt wurde. MQTT arbeitet mit dem Publish-Subscribe-Modell.
Facebook & WhatsApp verwendet MQTT für ihre Messaging-Engine.
Nun, im Tutorial werde ich zeigen, wie Sie einen Push-Benachrichtigungsdienst mit MQTT implementieren können. Ich werde keinen kompletten Service implementieren, sondern einen Prototyp, wie es sein kann.
Werkzeuge werden verwendet,
- EMQ (MQTT-Broker)
- MongoDB (Zum Speichern von Benutzerinformationen)
- Admin Dashboard (Zum Veröffentlichen von Benachrichtigungen)
- Android App (Client)
- Eclipse Paho MQTT Client (Android, JavaScript)
Es ist das große Bild, wie Komponenten im System miteinander interagieren.
Die Idee ist, dass der Benutzer eine Verbindung zum mqtt-Broker herstellt und der Broker sie mit Daten in Mongodb authentifiziert.
Nehmen Sie einen Benutzer als Systemadministrator an, der Benachrichtigungen veröffentlicht & Andere Benutzer werden abonniert, um diese Benachrichtigungen zu erhalten. Angenommen, [email protected] ist ein Benutzer, nach der Authentifizierung mit der E-Mail-Adresse wird der Benutzer das Thema abonniert([email protected] ) und dann vom Admin-Dashboard aus, wenn Sie eine Nachricht zum Thema veröffentlichen [email protected] der Benutzer wird es erhalten. Das ist alles.
MongoDB-Dokumentschema,
{ "user_email": "email address of user", "user_password": "password of user", "type": "admin/user"}
Angenommen, dies ist das Admin-Dashboard,
Es gibt 3 Tasten. Eine zum Abmelden, eine zum Hinzufügen von Benutzern und eine zum Senden von Push-Benachrichtigungen.
Im Bildschirm ist die Push-Benachrichtigungsansicht sichtbar. Das Admin-Dashboard ist über Websocket mit dem MQTT-Broker verbunden. Die E-Mail-Adresse des Benutzers ist das Thema, in dem die Nachricht veröffentlicht wird. Wenn Sie auf Senden klicken, wird die Nachricht mithilfe von Websocket veröffentlicht.
Wenn nun die jeweilige E-Mail-Adresse mit dem jeweiligen Thema verbunden ist &, erhält der Client die Nachricht.
Hinweis: Dies ist nur ein prototyp für pädagogisches zweck nicht produktion bereit. Um es im Produktionssystem zu verwenden, müssen Sie bei Bedarf security & other tuning implementieren.
Leave a Reply