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,

  1. EMQ (MQTT-Broker)
  2. MongoDB (Zum Speichern von Benutzerinformationen)
  3. Admin Dashboard (Zum Veröffentlichen von Benachrichtigungen)
  4. Android App (Client)
  5. 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