Índice:
- Etapa 1: Instalando o Mqtt Broker:
- Etapa 2: Teste MQTT (Mosquitto)
- Etapa 3: Trabalhar com Armtronix Board e Mqtt
Vídeo: MQTT em placas Armtronix: 3 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:34
Neste instrutível, gostaríamos de mostrar inicialmente como você pode usar um sistema baseado em Linux (Debian ou Ubuntu) e instalar o Mosquitto (Mqtt Broker) nele, também mostrar como usar o cliente Mqtt em seu telefone (Android) / baseado em Linux sistema, enviando e recebendo mensagens via Mqtt. Depois de nos familiarizarmos com isso, gostaríamos de mostrar como você pode configurar e conectar nossa placa com este corretor Mqtt instalado. Também gostaria de mostrar como você pode adicionar autenticação ao corretor Mqtt e algumas dicas e truques básicos para depurar. Então vamos começar ………..
Etapa 1: Instalando o Mqtt Broker:
Existem vários brokers Mqtt que você pode instalar. Alguns conhecidos são mencionados abaixo. Alguns deles são serviços baseados em nuvem.
- HiveMQ
- MosquittoCloud
- MQTT
- Adafruit.io
Estaremos mostrando a você como instalar o Mosquitto em um sistema baseado em Linux (Ubuntu 18.04). Para fazer isso, primeiro adicione o Mosquitto à lista de fontes do Ubuntu. Assim que o Mosquitto estiver disponível nos repositórios do Ubuntu, você poderá instalá-lo com apt-get.
Basta abrir um Terminal. Para abrir um Terminal, vá para o canto inferior esquerdo da área de trabalho do Ubuntu, clique em Mostrar aplicativo (grade 3X3 apontada). Uma janela será aberta. Lá você procura Terminal. Clique no terminal para ver uma janela aberta, conforme mostrado nas imagens a seguir.
- Mostrar aplicativo (imagem 1).
- Procure o terminal (imagem 2).
- Janela do Terminal (Imagem 3).
Digite os seguintes comandos depois de abrir o Terminal
sudo apt-add-repository ppa: mosquitto-dev / mosquitto-ppa
sudo apt-get update
sudo apt-get install mosquitto
Você também pode instalar o cliente Mqtt. O comando para fazer isso será
sudo apt-get install mosquitto-clients
Algumas imagens para sua referência
- Adicionando ppa (Imagem 4).
- Atualizando repo (Imagem 5).
- Instalando o Mosquitto (Imagem 6).
- Instalando o cliente Mosquitto (Imagem 7).
Etapa 2: Teste MQTT (Mosquitto)
Para testar o mqtt via ubuntu (mesmo sistema ou outro sistema), você precisa instalar o cliente mqtt que foi instalado anteriormente pelo comando sudo apt-get install mosquitto-clients. Caso queira testá-lo usando um telefone celular (Android), você pode instalar o aplicativo MyMqtt da Play Store.
Mqtt funciona em algo chamado Tópicos. Para facilitar a compreensão, considere esses tópicos como uma pasta no disco rígido de um computador. Vamos tratar este computador como um servidor de computador (que no mundo mqtt é um corretor Mqtt). Neste servidor, consideremos ter uma pasta.
Nome da pasta: / Folder_one /
Agora vamos considerar duas pessoas de dois sistemas diferentes (PC / Laptop) acessando este servidor para ler arquivos ou para enviar / descarregar arquivos ou para fazer ambas as operações.
Nomearemos as duas pessoas / sistema como Sistema X, Sistema Y (Esses são clientes Mqtt no mundo Mqtt).
Agora, digamos que o System X envie / despeja algum arquivo (nome do arquivo: temperatura) na pasta “/ Folder_one /”, isso no mundo mqtt podemos chamar isso de publicação (enviamos alguma mensagem / carga em vez de arquivo).
Agora, digamos que o Sistema Y deseja obter / ler este arquivo ou qualquer novo arquivo ou atualizar nesta pasta, a primeira coisa que ele precisa é saber o nome da pasta e o caminho, que em nosso caso é “/ Folder_one /”. Agora ele irá para esta pasta e ler / receber aquele arquivo (nome do arquivo: temperatura). Saber o caminho / tópico e verificar se há mudanças no arquivo / novos arquivos no mundo Mqtt é inscrever-se nesse tópico.
Considerando o exemplo acima, System X está publicando em “/ Folder_one” e System Y assinou “/ Folder_one”
Observe também que o System X também pode assinar “/ Folder_one” e o System Y também pode publicar em “/ Folder_one”. Da mesma forma, até mesmo o sistema Server (The Mqtt Broker) pode publicar / assinar “/ Folder_one” instalando o cliente Mqtt nele, como fizemos atualmente. A outra coisa a lembrar é que para publicar ou assinar um tópico, você precisará saber o endereço IP do Mqtt Broker.
Primeiro, iremos testá-lo através do cliente ubuntu, que está instalado no mesmo sistema que o corretor. Abriremos duas janelas de terminal, uma delas publicará e a outra se inscreverá nela. Para o exemplo, usaremos / Folder_one como o tópico. Antes de publicar / assinar um tópico, você precisará encontrar o endereço IP do Ubuntu. Para fazer isso, clique no canto superior direito da tela, selecione a configuração wi-fi, a partir daí você será capaz de encontrar o endereço IP do sistema ubuntu (atualmente o IP do broker). Atalho de tela compartilhado para referência (Imagem 8).
Ou para encontrar o endereço IP do corretor, você pode encontrar o endereço IP instalando ferramentas de rede usando o seguinte comando no terminal
sudo apt install net-tools
Instalando o net-tools (Imagem 9). Após isso basta digitar o comando ipconfig você obterá uma lista de interface de rede com o mac e endereço IP
sudo ipconfig
O endereço IP do meu sistema é 192.168.1.67 (Imagem 10)
Publicar
mosquitto_pub -h 192.168.1.67 -t / Folder_one -m pub_to_folderone
Aqui, mosquitto_pub é o comando, seguido pelo elemento identificador de parâmetro -h que é o endereço IP do host / corretor (em nosso caso 192.168.1.67), seguido por -t que é o nome do tópico para o editor (em nosso caso / Folder_one), seguido por -m que significa a mensagem / carga a ser enviada que (em nosso caso é pub_to_folderone).
Subscrever
mosquitto_sub -h 192.168.1.67 -t / Folder_one
Mensagem enviada pelo editor: pub_to_folderone
Exemplo para publicação
mosquitto_pub -h 192.168.1.67 -t / Folder_one -m “hi test mqtt”
mosquitto_pub -h 192.168.1.67 -t / Folder_one -m “mqtt funcionando”
Exemplo de resposta recebida ao inscrever-se no tópico
mosquitto_sub -h 192.168.1.67 -t / Folder_one
Mensagem enviada pelo editor:
- pub_to_folderone
- oi teste mqtt
- mqtt trabalhando
Pub Sub em duas janelas de terminal separadas lado a lado (Imagem 11)
Testando Mqtt no Android (my mqtt)
Instale o aplicativo mymqtt da Play Store em seu telefone Android (Imagem 12)
Abra o aplicativo e clique no canto superior esquerdo (Imagem 13, Imagem 14).
Clique em Configurações e insira o endereço IP do corretor, a porta por padrão é 1883. Atualmente não estamos usando um corretor mqtt autenticado, então o nome de usuário e a senha estarão em branco. Basta salvá-lo e clicar novamente no canto superior esquerdo do aplicativo (<Configurações) a gaveta será aberta novamente (Imagem 15).
No topo da gaveta, ele mostrará o endereço IP do corretor e a porta à qual o aplicativo está conectado (Imagem 16).
Agora adicione o tópico que deseja inscrever clicando em Inscrever-se. Aqui estaremos adicionando tópico como / Folder_one (Imagem 17, Imagem 18).
Depois de fazer isso, a partir do sistema ubuntu, usando o terminal, publicaremos no tópico. Ao publicar, você deve obter a carga útil / mensagem publicada neste aplicativo móvel. Por exemplo, publicar carga útil como “ARM -Automation Robotics & Mechatronics”. O comando é conforme mencionado anteriormente.
mosquitto_pub -h 192.168.1.67 -t / Folder_one -m “ARM -Automation Robotics & Mechatronics”
publicando a partir do sistema ubuntu (Imagem 19).
Mensagem publicada recebida no painel (Imagem 20).
Agora vamos publicar do telefone Android (My mqtt) e se inscrever no sistema ubuntu. Para este exemplo, estamos usando o tópico “/ mymqtt_to_pub”.
Para fazer isso, primeiro abra um terminal em seu sistema ubuntu e inscreva-se no tópico “/ mymqtt_to_pub” usando o seguinte comando (Imagem 21)
mosquitto_sub -h 192.168.1.67 -t / mymqtt_to_pub
Agora vá para a gaveta do aplicativo mymqtt e clique em publicar. Adicione o tópico de publicação (no nosso caso é “/ mymqtt_to_pub”) e envie uma mensagem como se fosse “oi Ubuntu”, pressione o botão enviar (Imagem 22, Imagem 23).
A mensagem deve aparecer na janela do seu terminal do sistema Ubuntu (Imagem 24).
Observe que o sistema ubuntu e o telefone Android devem estar na mesma rede ou a porta 1883 deve ser exposta e você deve saber o endereço IP do seu roteador / gateway para que o mqtt funcione. Se você deseja adicionar autenticação ao seu corretor mqtt, pode fazê-lo seguindo o link do blog mencionado abaixo https://medium.com/@eranda/setting-up-authenticat … Siga a partir da segunda etapa deste blog. Habilitamos a autenticação de nosso corretor e usaremos um corretor autenticado para nossas placas.
Etapa 3: Trabalhar com Armtronix Board e Mqtt
Atualmente para este instrutível, estamos usando nosso Wifi Single Dimmer Board que usa Triac para cortar a onda senoidal e, por sua vez, escurece a lâmpada ou controla a velocidade do ventilador. Também o conectamos por meio do tipo de autenticação mqtt.
Inicialmente configuramos a placa. As etapas para configurá-lo são mencionadas abaixo.
Ao ligar a placa, ela começará a hospedar um ponto de acesso Wifi.
Usando um telefone Android ou laptop, conecte-se a este AP (Imagem 25).
Uma vez conectado a este AP digite 192.168.4.1 abrindo um navegador (chrome / firefox) a partir do sistema / telefone conectado ao AP. Certifique-se de que não está usando sua conexão de dados (3G / 4G).
Ao digitar o IP, será aberta uma página onde deverá ser inserido o seguinte (Imagem 26).
- SSID: nome do Wifi AP.
- Senha: Senha SSID.
- Modo IoT Mqtt ou Http (Selecione Mqtt).
- Mqtt Broker IP (em nosso caso, é 192.168.1.67).
- Nome de usuário e senha Mqtt, como estamos usando o tipo de autenticação, usamos Naren, xxxx
- Mqtt publish topic: será sobre qual tópico o fórum também publica, usamos / testpub.
- Mqtt subscribe topic: Este será o tópico em que o fórum ouvirá os comandos para acionar o triac, que usamos / testsub.
- Nome do dispositivo: é o nome que você chama de alexa para acionar a placa, usamos corvi.
Após inserir os dados, clique no botão submit, ao fazer isso você obterá uma tela conforme a Figura 27, aguarde um tempo até que a placa deixe de hospedar o AP.
Observe que conectamos nossa placa via Uart ao monitor serial do Arduino IDE. Portanto, no lado esquerdo, você verá as mensagens de depuração que ele imprime via Uart (isso é apenas para sua referência).
Feito isso, você pode visualizar a tela de depuração. A maioria dos detalhes estará visível lá. Depois disso, ele se conectará com sucesso ao broker na tela de depuração (serial), você pode ver isso.
Conectado ao broker MQTT com autenticação. Inscrito no tópico 1.
Depois de imprimir isso, você pode agora começar a enviar comandos via mqtt no tópico em que ele se inscreveu, ou seja, / testsub /
Para esta placa, os comandos são:
- R13_ON: Para ligar o triac em 100%.
- R13_OFF: Para desligar o triac para 0%.
- Dimmer: xx: Onde, xx é o valor de escurecimento e pode ser variado de 0 a 99.
- Reset: Para limpar a configuração da placa.
- Status: Imprime o status do dimmer do quadro no tópico de publicação do quadro.
Para enviar este comando de um sistema baseado em ubuntu onde o cliente mqtt está instalado, apenas digite-o conforme mostrado abaixo. Dois parâmetros adicionais são adicionados aqui por causa da autenticação - ou seja, -u que é o nome de usuário e -P é a senha, observe que eles diferenciam maiúsculas de minúsculas.
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t / testsub -m R13_ON
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t / testsub -m R13_OFF
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t / testsub -m Dimmer: 50
Nota: 50 é o valor do dimmer
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t / testsub -m R13_ON
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t / testsub -m Status
Para o status mais recente, o status é impresso no tópico de publicação do fórum, que em nosso caso é / testpub. Em nosso painel, qualquer alteração no dispositivo é impressa no tópico de publicação do fórum. Por exemplo, se passarmos Dimmer: 50 no tópico inscrito no quadro do que em executá-lo fisicamente, o quadro enviará uma mensagem informando o nível esmaecido no tópico de publicação. O exemplo é mostrado abaixo, Para se inscrever a partir do seu sistema ubuntu para o tópico de publicação do fórum, digite o seguinte comando
mosquitto_sub -h 192.168.1.67 -u Naren -P xxxx -t / testpub
a mensagem que recebemos é
DimmerIS50
alguns curtos de tela do mesmo estão abaixo (Imagem 28, Imagem 29)
Recomendado:
Placas de circuito gravado com ácido para impressora 3D SLA: 7 etapas (com imagens)
Placas de circuito gravado com ácido da impressora 3D SLA: Remix … remix … Bem, preciso de uma placa de desenvolvimento para meus chips ATtiny. Não tenho CNC para cortar PCB. Não conheço o Kicad e não quero encomendar placas. Mas eu tenho uma impressora de resina … e ácido e conheço SketchUp. E gosto de fazer coisas. O que aconteceu
Detecção de objetos com placas Sipeed MaiX (Kendryte K210): 6 etapas
Detecção de objetos com placas Sipeed MaiX (Kendryte K210): Como continuação do meu artigo anterior sobre reconhecimento de imagem com placas Sipeed MaiX, decidi escrever outro tutorial, com foco na detecção de objetos. Houve algum hardware interessante surgindo recentemente com o chip Kendryte K210, incluindo S
Placas tectônicas, Makey -makey: 3 etapas
Tectonic Plates, Makey -makey: Como profesora de Historia siempre ele buscado unir mi disciplina com a tecnologia de manera lúdica, atractiva y educativa para los estudiantes, es por esto que cree um mapa interactivo usando materiais muy básicos, makey-makey y scracth MIT , en est
Reconhecimento de imagem com placas K210 e Arduino IDE / Micropython: 6 etapas (com imagens)
Reconhecimento de imagem com placas K210 e Arduino IDE / Micropython: Eu já escrevi um artigo sobre como executar demos OpenMV no Sipeed Maix Bit e também fiz um vídeo de demonstração de detecção de objetos com esta placa. Uma das muitas perguntas que as pessoas fizeram é - como posso reconhecer um objeto que a rede neural não é tr
Placas Chladni: 5 etapas
Placas Chladni: Onze groep heeft een Chladni plaat gemaakt, hiervoor zijn de volgende stappen nodig