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

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:

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:

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

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:

mosquitto_sub
mosquitto_sub

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:

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

 

 

Inscreva-se no nosso newsletter, alí em cima à direita e receba novos posts por email.

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Nossos grupos:

Arduino BR – https://www.facebook.com/groups/microcontroladorarduinobr/
Raspberry Pi BR – https://www.facebook.com/groups/raspberrybr/
Orange Pi BR – https://www.facebook.com/groups/OrangePiBR/
Odroid BR – https://www.facebook.com/groups/odroidBR/
Sistemas Embarcados BR – https://www.facebook.com/groups/SistemasEmbarcadosBR/
MIPS BR – https://www.facebook.com/groups/MIPSBR/
Do Bit ao Byte – https://www.facebook.com/groups/dobitaobyte/

Próximo post a caminho!

 

Comments

comments

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão. Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.