construindo serviço de notificação push personalizado com MQTT

MQTT (transporte de telemetria de Fila de mensagens) é um protocolo de mensagens leve especialmente projetado para IOT pela IBM. MQTT trabalha no modelo Publish-Subscribe.
Facebook & WhatsApp usa MQTT para seu mecanismo de mensagens.

bem, no tutorial vou mostrar como você pode implementar um serviço de notificação push usando MQTT. Não vou implementar o serviço completo, mas um protótipo sobre como ele pode ser.

Ferramentas utilizadas,

  1. EMQ (DICIONÁRIO de Broker)
  2. MongoDB (Para armazenar informações do usuário)
  3. Admin Dashboard (A publicar a notificação)
  4. App Android (Cliente)
  5. Eclipse Opas DICIONÁRIO de cliente (Android, JavaScript)


a Sua grande figura, como os componentes do sistema estão interagindo uns com os outros.

a ideia é que o Usuário se conectará ao corretor mqtt, o corretor os autenticará com dados no mongodb.
suponha que um usuário como administrador do sistema que publicará notificações & outros usuários serão inscritos para receber essas notificações. Suponha, [email protected] é um usuário, após a autenticação com o endereço de E-mail, o Usuário será inscrito no tópico([email protected]) e, em seguida, no painel de Administração, se você publicar uma mensagem sobre o tópico [email protected] o usuário irá recebê-lo. Só isso.

esquema do documento MongoDB,

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

suponha que este seja o painel de administração,

existem 3 botões. Um para sair, um é adicionar Usuário e outro para enviar notificações Push.
na tela, a visualização de notificação por push é visível. O painel de administração está conectado ao MQTT broker via Websocket. O endereço de E-mail do Usuário é o tópico em que a mensagem será publicada. Quando clicado em Enviar, Ele publicará a mensagem usando Websocket.

agora, se o respectivo endereço de E-mail estiver conectado & inscrito no respectivo tópico, O Cliente receberá a mensagem.

Nota: Este é apenas um protótipo para fins educacionais não produção pronto. Para usá-lo no sistema de produção você tem que implementar segurança & outro ajuste quando necessário.

Leave a Reply