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,
- EMQ (MQTT mäklare)
- MongoDB (för att lagra användarens information)
- Admin Dashboard (för att publicera anmälan)
- Android App (klient)
- 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