bygga Anpassad push notification service med MQTT

MQTT (Message Queue Telemetry Transport) är ett lätt meddelandeprotokoll speciellt utformat för IoT av IBM. MQTT fungerar på Publicera-prenumerera Modell.
Facebook & WhatsApp använder MQTT för sin meddelandemotor.

Tja, i handledningen ska jag visa hur du kan implementera en push-meddelandetjänst med MQTT. Jag kommer inte att implementera komplett service utan en prototyp på hur det kan vara.

verktyg kommer att användas,

  1. EMQ (MQTT mäklare)
  2. MongoDB (för att lagra användarens information)
  3. Admin Dashboard (för att publicera anmälan)
  4. Android App (klient)
  5. Eclipse Paho MQTT klient( Android, JavaScript)


det är den stora bilden, hur komponenter i systemet interagerar med varandra.

tanken är att användaren kommer att ansluta till MQTT broker, mäklare kommer att autentisera dem med data i mongodb.
anta en användare som systemadministratör som publicerar aviseringar & andra användare prenumererar på att ta emot dessa aviseringar. Antag, [email protected] är en användare, efter autentisering med e-postadressen kommer användaren att prenumerera på ämnet([email protected]) och sedan från admin dashboard om du publicerar ett meddelande om ämne [email protected] användaren kommer att få det. Det är allt.

MongoDB Dokumentschema,

{ "user_email": "email address of user", "user_password": "password of user", "type": "admin/user"}

Antag att detta är admin dashboard,

det finns 3 knappar. En för att logga ut, en är att lägga till användare och en annan för att skicka Push-meddelanden.
på skärmen är push-meddelandevyn synlig. Admin dashboard är ansluten till MQTT broker via Websocket. Användarens e-postadress är ämnet där meddelandet kommer att publiceras. När du klickar på Skicka det kommer att publicera meddelandet med Websocket.

nu om respektive e-postadress är ansluten & prenumererar på respektive ämne kommer klienten att få meddelandet.

Obs: Detta är bara en prototyp för utbildningsändamål inte produktionsklar. För att använda den i produktionssystemet måste du implementera säkerhet & annan inställning där det behövs.

Leave a Reply