Índice:
- Suprimentos
- Etapa 1: Introdução ao MQTT
- Etapa 2: Introdução à plataforma IoT
- Etapa 3: preparar o editor MQTT
- Etapa 4: nota de rodapé
- Etapa 5: créditos e suporte
Vídeo: Noções básicas de IoT: conectando sua IoT à nuvem usando o Mongoose OS: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
Se você é uma pessoa que gosta de consertar e eletrônica, na maioria das vezes encontrará o termo Internet das Coisas, geralmente abreviado como IoT, e que se refere a um conjunto de dispositivos que podem se conectar à Internet! Sendo uma pessoa assim, fiquei fascinado quando soube que esses dispositivos tão incríveis eram facilmente acessíveis para mim. A mera ideia de poder conectar meus projetos à internet usando um pequeno hardware e só de pensar nas inúmeras portas que ele abriria para minhas ideias de projetos me animava.
Mas dizer à IoT para se conectar à Internet não é tão simples quanto comprá-la da prateleira e ligá-la. E além de fazer com que o dispositivo se conecte à Internet, também precisamos enviar alguns dados úteis para a Internet. Este Instructable lida com o procedimento envolvido para atingir o objetivo acima declarado e se destina a leitores de qualquer nível de experiência, de iniciantes a veteranos que são novos na IoT.
Neste Instructable, a título de exemplo, demonstrarei como traçar o gráfico das leituras do sensor de temperatura interna da placa de desenvolvimento ESP32, o que deve dar aos leitores uma boa ideia do processo.
Embora este Instructable use ESP32 e Mongoose OS, o procedimento pode ser estendido a todos os IoTs e firmware que existem!
Suprimentos
Para ser capaz de implementar este Instructable sozinho, você precisará apenas de uma quantidade mínima de hardware, e eles são:
- Uma Internet das Coisas (IoT): Usei um clone de placa de desenvolvimento ESP32 barato. Se você está planejando comprar uma nova placa de desenvolvimento ESP32, você deve verificar a placa ESP32 da DFRobot.
- Um cabo de dados: use um cabo que sua IoT requer para piscar, etc.
- Uma bateria (opcional): compre-a apenas se pretende ligar sua IoT por longos períodos.
- Uma mini tábua de pão (opcional)
Eu sugiro que o leitor use uma IoT diferente de ESP32 para que ele possa realmente entender o que está sendo feito aqui, em vez de simplesmente me imitar. Acredite em mim, você vai adorar implementar esse processo usando sua própria mente em alguma outra IoT, por exemplo, ESP8266 seria uma boa escolha.
Etapa 1: Introdução ao MQTT
O que é MQTT?
"MQTT é um protocolo de mensagens simples, projetado para dispositivos restritos com baixa largura de banda. Portanto, é a solução perfeita para aplicativos de Internet das Coisas. MQTT permite enviar comandos para controlar saídas, ler e publicar dados de nós sensores e muito mais. " (De RandomNerdTutorials)
Como funciona o MQTT?
Antes de ir para a área técnica, vamos pensar primeiro no nosso mundo real. Suponha que você esteja interessado em uma coleção de cartões de propriedade de um amigo de seu amigo, digamos, Laurel, que você pessoalmente não conhece. Como você é muito meticuloso quanto à coleção de cartões, pedirá a seu amigo, suponha que Tom, para perguntar se Laurel está disposta a vendê-lo ou não. Enquanto faz isso, você vai pedir a Tom para comprar a coleção de cartões se Laurel estiver disposta a vendê-la, já que você não quer que outra pessoa coloque as mãos na coleção que você deseja! Conforme o tempo passa, Tom e Laurel interagem e, em acordo mútuo, Laurel dá sua coleção de cartões a Tom em troca de dinheiro. Após essa troca, Tom mantém os cartões consigo até que ele encontre você novamente, quando ele finalmente lhe entrega a coleção de cartões. É assim que ocorre uma troca normal em nossa vida diária.
No MQTT, os elementos básicos envolvidos na troca são o publicador (Laurel), um assinante (Você) e o corretor (Tom). Seu fluxo de trabalho também é semelhante ao exemplo do mundo real mencionado acima, exceto por uma grande diferença! No MQTT, a troca é iniciada pelo corretor, ou seja, Laurel seria a primeira a entrar em contato com Tom para dizer que deseja vender sua coleção de cartões. Se compararmos o funcionamento do MQTT com nosso exemplo do mundo real, seria o seguinte:
- Laurel diz a Tom que quer vender sua coleção de cartões (dados ou carga útil) e dá os cartões a ele.
- Tom pega os cartões em sua posse e está aberto a ofertas para a coleção de cartões. Quando você e Tom se encontram e ele descobre que você se interessa pelos cartões (inscreve-se em um tópico). Tom então lhe dá os cartões.
Como todo o processo depende do broker e de nenhuma interação direta entre o assinante e o publicador, o MQTT elimina o incômodo de sincronizar o publicador e o assinante. A presença de um corretor intermediário é uma benção para dispositivos com recursos limitados, como IoTs e microprocessadores, pois seu poder de processamento é insuficiente para realizar a transferência de dados da maneira normal, o que envolveria despesas gerais adicionais, como autenticação, criptografia etc. MQTT tem muitos outros recursos, como ser leve, distribuição um para muitos e assim por diante, o que o torna ideal para redes e clientes restritos
Etapa 2: Introdução à plataforma IoT
O que é uma plataforma IoT?
"Em um alto nível, uma plataforma de Internet das Coisas (IoT) é o software de suporte que conecta hardware de ponta, pontos de acesso e redes de dados a outras partes da cadeia de valor (que geralmente são os aplicativos do usuário final). Plataformas de IoT normalmente lidar com tarefas contínuas de gerenciamento e visualização de dados, o que permite aos usuários automatizar seu ambiente. " (De Link-Labs)
Abstratamente, uma plataforma IoT atua como o meio entre o usuário e os agentes de coleta de dados responsáveis por representar os dados coletados.
Neste Instructable, estamos planejando colocar as leituras de temperatura de nosso ESP32 online. Nosso ESP32 atuará como o editor MQTT e o corretor MQTT será uma plataforma IoT de nossa escolha. Observe que em nosso projeto, não há função de um assinante MQTT, pois os dados estão sendo representados pela própria plataforma em primeira mão. A plataforma IoT será responsável por armazenar nossos dados publicados e representá-los bem, aqui, como um gráfico de linha. Usarei Losant como minha plataforma IoT aqui, pois é de uso gratuito e oferece algumas boas maneiras de representar dados. Alguns outros exemplos de plataformas IoT são Google Cloud, Amazon AWS e Adafruit, Microsoft Azure etc. Gostaria de aconselhar o leitor a consultar a documentação da plataforma IoT escolhida.
Configurando Losant:
- Faça login no Losant
- Crie um dispositivo (tipo autônomo)
- Adicione alguns tipos de dados ao dispositivo1. Nome: temperatura, tipo de dados: Número2. Nome: deslocamento, Tipo de dados: Número3. Nome: unidade, Tipo de dados: String
- Gere uma chave de acesso e anote o ID do dispositivo e a chave de acesso
- Crie um gráfico1. Crie um painel.2. Adicione o bloco "Time Series Graph" a ele usando a variável de temperatura e seu dispositivo criado.
O "ID do dispositivo" tem o objetivo de atuar como uma impressão digital exclusiva para um dispositivo. As "chaves de acesso", como o nome sugere, permitem que a IoT publique para Losant sob a identidade do dispositivo.
Etapa 3: preparar o editor MQTT
Agora que preparamos a plataforma IoT para receber e representar os dados, precisamos preparar um publicador MQTT que seria responsável por coletar e enviar os dados para a plataforma.
O esboço da preparação do editor MQTT é o seguinte:
- Escreva o código: para instruir o editor (IoT) como coletar dados, processá-los e enviá-los para a plataforma IoT. As instruções são escritas em linguagens de programação de alto nível legíveis por humanos, normalmente chamadas de código.
- Atualize o firmware: O IoT não entenderá prontamente essas instruções, pois não conhece nenhum idioma inicialmente. Para transpor essa barreira de linguagem entre o ser humano e a máquina, o código é compilado em um conjunto bruto de instruções, basicamente conjuntos de valores hexadecimais ou binários específicos para locais de memória dentro da IoT, conhecido como firmware que é então enviado para a IoT.
Neste Instructable, como estou usando meu prático ESP32, irei atualizar o firmware do Mongoose OS para ele, que aceita programas escritos em C e JavaScript. Além da compatibilidade com JS, o Mongoose OS ainda tem muito a oferecer, como atualizações remotas, para ajustar seu programa online e um painel dedicado para dispositivos (mDash) etc.
Eu desenvolvi um aplicativo de código aberto para o Mongoose OS para este Instructable. É um aplicativo simples denominado losant-temp-sensor, que emprega MQTT para enviar leituras de temperatura ambiente aproximadas, com base nas leituras de temperatura interna do ESP32, para Losant (uma plataforma IoT gratuita). É aconselhável percorrer o código do aplicativo para um melhor entendimento. Estaremos atualizando este aplicativo para este Instructable.
Se você é do tipo aventureiro, pode tentar atingir o mesmo objetivo com o firmware Arduino-ESP32, que permite usar o ESP32 como um Arduino (com capacidade WiFi).
Um rápido resumo para atualizar o aplicativo com o Mongoose OS:
- Instale a ferramenta mos para o seu sistema operacional.
-
Abra a ferramenta e execute os seguintes comandos:
- mos clone
- cd losant-temp-sensor
- mos build --platform esp32
- mos flash
- mos wi-fi "seu ssid wi-fi" "sua senha wi-fi", por exemplo. mos wi-fi "Casa" "casa @ 123"
-
mos config-set temperature.basis =
temperatura.unidade ="
"por exemplo. mos config-set temperature.basis = 33 / temperature.unit =" celsius"
-
mos config-set device.id =
mqtt.client_id = mqtt.user = mqtt.pass =
Após o flashing bem-sucedido, permita que o dispositivo seja reinicializado e execute os seguintes comandos:
Depois de concluir todas essas etapas corretamente, você acabará com um ESP32 que envia as leituras de temperatura ao Losant periodicamente, a cada 10 minutos. A publicação bem-sucedida é indicada pelo LED azul, conforme mostrado no vídeo acima.
Etapa 4: nota de rodapé
Se você é capaz de replicar as etapas anteriores corretamente, então agora você terá um projeto de trabalho com a ajuda do qual poderá observar as tendências de temperatura dentro de sua sala, ou onde quer que você planeje colocar o projeto. Já que mantive este Instructable tão geral quanto eu poderia torná-lo, portanto, você pode usar sua IoT para coletar dados de todos os tipos e tentar concluir algo útil a partir dele, ou você pode fazer isso apenas por uma questão de ajustes, se você ' entendi corretamente este Instructable.
Para mim, a melhor parte da IoT é o fato de que ela nos permite coletar grandes blocos de dados, inconclusivos se considerados isoladamente, e convertê-los em algo conclusivo. Isso realmente atinge o espírito da ciência. Para mim, foi muito gratificante e esclarecedor notar a queda da temperatura dentro do meu quarto durante as horas de chuva através do meu gráfico.
O app losant-temp-sensor-app foi otimizado para consumo de energia, já que usa o recurso de sono profundo do ESP32, portanto, você pode usá-lo por longos períodos de tempo sem se preocupar com a bateria. Você pode estender ainda mais a eficiência de energia removendo o LED na placa de desenvolvimento. O sorteio atual de toda a configuração foi mostrado acima.
O objetivo deste Instructable, desde o início, era apenas dar a você uma introdução ao mundo da IoT. Ao terminar este Instructable, você terá um bom controle do básico que pode fortalecer ainda mais por meio de outros recursos online.
Embora você não seja capaz de fazer projetos complexos neste estágio, deve sempre ter em mente que se você tiver um tijolo forte o suficiente e uma maneira de combiná-los, então você pode fazer qualquer estrutura imaginável, desde simples para complexo. Da mesma forma, ter um bom domínio sobre o básico e saber como aplicá-lo corretamente permitirá que você monte uma infinidade de engenhocas. Portanto, dê-se um tapinha nas costas por dar o primeiro passo.
Etapa 5: créditos e suporte
Este Instrutível consiste em ilustrações, por exemplo aquele que explica a troca MQTT, que fiz pessoalmente. Essas ilustrações só foram possíveis graças aos seguintes pacotes SVG gratuitos:
- Vetor de infográfico criado por freepik - www.freepik.com
- Vetor de infográfico criado por starline - www.freepik.com
- Vetor de pessoas criado por pikisuperstar - www.freepik.com
- Vetor abstrato criado por macrovector - www.freepik.com
- Vetor abstrato criado por macrovector - www.freepik.com
- Vetor infográfico criado por pikisuperstar - www.freepik.com
Este Instructable foi patrocinado pela DFRobot. O DFRobot tem uma coleção incrível de eletrônicos, então não deixe de conferir.
Se você acha que gostou deste Instructable e quer mais Instructables como este, então você pode me apoiar no Patreon. Se você não pode ir tão longe, então você pode me seguir aqui no Instructables.
Recomendado:
Componentes de montagem em superfície de solda - Noções básicas de solda: 9 etapas (com fotos)
Componentes para montagem em superfície de solda | Princípios básicos da soldagem: Até agora, na minha Série de Princípios básicos da soldagem, discuti fundamentos suficientes sobre a soldagem para você começar a praticar. Neste Instructable, o que irei discutir é um pouco mais avançado, mas são alguns dos princípios básicos para soldar Surface Mount Compo
Usando o Flux - Noções básicas de solda: 5 etapas
Usando o Flux | Fundamentos da soldagem: sempre que você estiver soldando, a solda precisa fazer uma boa ligação com as peças nas quais você está soldando. O metal das peças e o metal da solda precisam entrar em contato direto um com o outro para criar uma boa ligação. Mas desde mim
Conectando o Arduino WiFi à nuvem usando ESP8266: 7 etapas
Conectando Arduino WiFi à nuvem usando ESP8266: Neste tutorial, vamos explicar como conectar seu Arduino à nuvem IoT através de WiFi. Vamos configurar uma configuração composta de um Arduino e um módulo WiFi ESP8266 como um IoT Thing e torná-lo pronto para se comunicar com a nuvem AskSensors.L
Conectando um sensor DHT11 / DHT22 à nuvem com uma placa baseada em ESP8266: 9 etapas
Conectando um sensor DHT11 / DHT22 à nuvem com uma placa baseada em ESP8266: No artigo anterior, conectei minha placa NodeMCU baseada em ESP8266 a um serviço Cloud4RPi. Agora é hora de um projeto real
Programa Pro-mini usando Uno (noções básicas do Arduino): 7 etapas (com imagens)
Programa Pro-mini usando Uno (Arduino Basics): Hai all, neste instrutível, gostaria de compartilhar minha experiência com meu Arduino pro-mini comprado recentemente e como consegui fazer upload do código para ele pela primeira vez, usando meu O antigo Arduino Uno.Arduino pro-mini tem os seguintes recursos: É i