Manual

do

Maker

.

com

MQTT com Onion Omega

MQTT com Onion Omega

Já mostrei em outros artigos a configuração de MQTT para Raspberry Pi e ESP8266. Agora chegou a vez do MQTT com Onion Omega. Se você não leu a respeito do Onion Omega ainda, sugiro que leia os artigos anteriores ao final da página. Trata-se de uma board da arquitetura MIPS que roda Linux OpenWRT, o mesmo sistema e board que você encontra em seu roteador wireless doméstico.  Um grande atrativo da nova versão do Onion Omega é seu preço de 5 dólares, que me faz ter vontade de refazer a automação do meu apartamento utilizando apenas ela. Visite o site e confira.

MQTT com Onion Omega

Sobre o MQTT também já escrevi um bocado, inclusive um artigo sobre como configurar um broker com ele - coisa bastante simples de fazer. Basicamente, o MQTT foi criado em 1999 pela IBM para ser utilizado como um protocolo leve de comunicação, mas vejma só, a Internet das Coisas é a mão que pertence a essa luva.

O MQTT possui implementações variadas. Eu gosto bastante de utilizar o Mosquitto, mesmo após se tornar parte do projeto Eclipse, recebendo então o nome de Paho. No apt você pode ter a opção de instalar python-mosquitto ou python-paho. Pelo pip eu vi apenas o Paho. Claro que você pode programar em outra linguagem como C++ ou simplesmente utilizar o client por linha de comando no shell. Em breve escreverei um artigo utilizando MQTT em outra linguagem.

Instalação dos pacotes

Como já citei em outro artigo sobre a Onion Omega, o OpenWRT possui um gerenciador de pacotes (que inclusive demonstrei como adicionar repositório). Sempre iniciando por um 'update' (tal qual no apt, para garantir os pacotes atualizados). Se quiser ver todos os pacotes que contenham "mosquitto" e sua descrição, inicie pelo comando:

opkg find *mosquitto*

Isso lhe retornará o nome do pacote a ser instalado seguido por sua descrição. Se quiser ver apenas os nomes dos pacotes, proceda de forma similar ao apt:

opkg search *mosquitto*

A nós interessam os três pacotes disponíveis para a instalação:

opkg update
opkg install libmosquitto
opkg install mosquitto
opkg install mosquitto-client

Como você já deve ter notado, existem limitações quanto ao espaço de armazenamento do hardware e os pacotes são mais enxutos e menos disponíveis. Por exemplo, não há nada além do python-light, então teremos que usar a linha de comandos para fazer a comunicação com o MQTT broker.

mosquitto_sub

Com ele, você pode se subescrever a um tópico específico e receber informações de controle. Para exemplificar, subescrevi o Onion Omega para receber informações de quando a luz da minha bancada foi acessa. Perceba que a mensagem aparece duplicada, provavelmente por alguma falha minha na programação. Enfim:

mqtt_sub.webp

mosquitto_pub

Com o pub, você pode enviar informações para seu broker sobre temperatura, status de GPIO etc. Minha intenção é utilizar o MQTT para controlar um braço robótico que hoje está ligado na Onion Omega, não sei ainda se será possível, por isso nesse primeiro post decidi escrever sobre o MQTT na Onion Omega e fazer apenas um teste simples para prova de conceito.

Supondo que você queira mandar a hora do sistema para o broker. O comando pela linha de comando poderia ser:

mosquitto_pub -h ns1.dobitaobyte.lan -t omega/hour -m $(echo date|awk '{print $4}')

Nesse caso, presume-se que você criou em seu broker o tópico "omega/hour" ou "omega/#" para escrita. Se ainda não configurou seu MQTT broker, siga esse tutorial que escrevi para fazê-lo.

Agora inicio os experimentos com controle do braço robótico com MQTT. Se funcionar, escrevo outro post em breve! Seguem os links sobre os outros artigos que escrevi a respeito da Onion Omega e mais uma vez, eis o site do produto: Onion.io/omega

 

 

http://www.manualdomaker.com/article/onion-omega-um-avanco-com-openwrt/ http://www.manualdomaker.com/article/onion-omega-interface-de-gerenciamento/ http://www.manualdomaker.com/article/onion-omega-o-mega-mips-e-seu-modulo-rele/ http://www.manualdomaker.com/article/compilar-programas-para-onion-omega/

Inscreva-se no nosso canal Manual do Maker Brasil no YouTube.

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.