Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03
Lora se tornou muito popular nos últimos anos. O módulo de comunicação sem fio que usa esta tecnologia é geralmente barato (usando espectro livre), pequeno em tamanho, eficiente em termos de energia e tem uma longa distância de comunicação e é usado principalmente para comunicação mútua entre terminais IoT ou troca de dados com um host. Existem muitos módulos LoRa no mercado, como o RFM96W, que é equipado com o chip SX1278 (compatível), que é muito pequeno. Eu o uso com MakePython ESP32 como um gateway.
Em seguida, usarei dois nós LoRa para enviar os dados de temperatura e umidade para o gateway e, em seguida, carregá-los-ei para a Internet por meio do gateway. Aqui, você aprenderá como fazer upload de dados remotos de vários nós LoRa para a nuvem por meio do gateway.
Etapa 1: suprimentos
1 * MakePython ESP32
MakePython ESP32 é uma placa ESP32 com um display OLED SSD1306 integrado.
2 * Rádio Maduino LoRa
O Rádio Maduino Lora é uma solução IoT (Internet das coisas) baseada no módulo Atmega328P MCU e Lora da Atmel. Pode ser um projeto real para projetos de IoT (especialmente aplicações de longo alcance e baixo consumo de energia)
2 * DHT11
1 * MakePython Lora
Etapa 2: Nó LoRa
Este é o esquema da Rádio Maduino Lora.
Módulo Arduino Lora Radio como nó LoRa, nós o usamos para enviar dados de temperatura e umidade para o gateway.
(Este WiKi apresenta como usar o Rádio Maduino Lora e enviar e receber dados)
Etapa 3: Conexão do Nó e do Sensor
O VCC e GND de DHT11 são conectados a 3V3 e GND de Maduino, e o pino DATA está conectado a D4 de Maduino.
O nó 0 está no parque, o nó 1 está no prédio de escritórios perto da empresa, eles estão a cerca de 2 quilômetros um do outro, e então eu obtenho seus dados de temperatura e umidade em casa
Etapa 4: enviar dados para o gateway
Baixe TransmitterDHT11.ino, abra-o no Arduino IDE.
Ao adicionar um nó, modifique o número do nó de acordo. Por exemplo, agora use 2 nós, o primeiro nó para modificar o nó = 0 para executar o programa, o segundo nó para modificar o nó = 1 para executar o programa e assim por diante, você pode adicionar mais nó.
int16_t packetnum = 0; // contador de pacotes, nós incrementamos a permissão
int16_t nodenum = 0; // Modifica o número do nó
Colete dados e imprima-os
String mensagem = "#" + (String) nodenum + "Umidade:" + (String) umidade + "% Temperatura:" + (String) temperatura + "C" + "num:" + (String) packetnum; Serial.println (mensagem); packetnum ++;
Envie uma mensagem para rf95_server
uint8_t radioPacket [message.length () + 1];
message.toCharArray (radioPacket, message.length () + 1); radioPacket [message.length () + 1] = '\ 0'; rf95.send ((uint8_t *) radioPacket, message.length () + 1);
Abra o monitor serial, você pode ver os dados coletados de temperatura e umidade e enviá-los.
# 0 Umidade: 6,00% Temperatura: 27,00C num: 0
Transmitir: Enviando para rf95_server Enviando … Aguardando o pacote terminar … Aguardando resposta … Sem resposta, há um ouvinte por perto?
Deixe isso de lado, agora precisamos fazer o Lora Gateway.
Etapa 5: MakePython Lora
Este é o pino correspondente do módulo RFM96W e MakePython ESP32. Para facilitar a conexão com o MakePython ESP32, fiz uma placa de circuito com o módulo RFM96W. Sim, há dois RFM96W nele, que podem enviar e receber dados ao mesmo tempo, mas agora só preciso de um.
Etapa 6: Gateway LoRaWAN
LoRaWAN é uma rede de área ampla de baixo consumo de energia baseada em LoRa, que pode fornecer: baixo consumo de energia, escalabilidade, alta qualidade de serviço e rede sem fio segura de longa distância.
Monte MakePython Lora e ESP32 para fazer um gateway que pode receber dados remotos e carregá-los para a Internet.
Etapa 7: Baixar o código
Baixe todos os arquivos ‘xxx.py’ do WiKi e envie-os para o ESP32.
Abra o arquivo LoRaDuplexCallback.py. Você precisa fazer alguns ajustes para que seu ESP32 possa se conectar à rede e fazer upload de dados para o servidor.
Modifique a API_KEY que você obteve no ThingSpeak (apresentarei como obtê-la mais tarde)
#https://thingspeak.com/channels/1047479
API_KEY = 'UBHIRHVV9THUJVUI'
Modifique SSID e PSW para conectar Wi-Fi
ssid = "Makerfabs"
pswd = "20160704"
Etapa 8: Receber dados
Encontre a função on_receive (lora, payload) no arquivo LoRaDuplexCallback.py, onde você pode dizer ao ESP32 o que fazer após receber os dados. O código a seguir analisa e exibe os dados recebidos de temperatura e umidade.
def on_receive (lora, carga útil):
lora.blink_led () rssi = lora.packetRssi () try: length = len (payload) -1 myStr = str ((payload [4: length]), 'utf-8') length1 = myStr.find (':') myNum1 = myStr [(length1 + 1):(length1 + 6)] myNum2 = myStr [(length1 + 20):(length1 + 25)] print ("*** Mensagem recebida *** / n {}". format (payload)) if config_lora. IS_LORA_OLED: lora.show_packet (("{}". format (payload [4: length])), rssi) if wlan.isconnected (): global msgCount print ('Enviando para a rede…') node = int (str (payload [5: 6], 'utf-8')) if node == 0: URL = "https://api.thingspeak.com/update?api_key=" + API_KEY + "& field1 = "+ myNum1 +" & field2 = "+ myNum2 res = urequests.get (URL) print (res.text) elif node == 1: URL =" https://api.thingspeak.com/update?api_key= "+ API_KEY +" & field3 = "+ myNum1 +" & field4 = "+ myNum2 res = urequests.get (URL) print (res.text) exceto Exceção como e: print (e) print (" com RSSI {} n ".format (rssi))
Julgando o número para distinguir os nós e fazendo o upload dos dados para a Internet por meio da URL, podemos monitorar os dados remotos de nós diferentes a qualquer momento. Você pode adicionar mais nós e fazer alterações semelhantes no código.
se nó == 0:
URL = "https://api.thingspeak.com/update?api_key=" + API_KEY + "& field1 =" + myNum1 + "& field2 =" + myNum2 res = urequests.get (URL) print (res.text)
Etapa 9: use o ThingSpeak IoT
Passos:
- Inscreva-se em https://thingspeak.com/. Se você já tiver um, faça login diretamente.
- Clique em Novo canal para criar um novo canal ThingSpeak.
- Nome de entrada, descrição, campo selecionado 1. Em seguida, salve o canal na parte inferior.
- Clique na opção API Keys, copie a API Key, iremos utilizá-la no programa.
Etapa 10: Resultado
Você pode ver os dados do nó 0 e do nó 1 na tela, embora estejam a 2 quilômetros de distância.
Faça login em sua conta ThingSpeak e clique no canal que você criou, você pode ver os dados de temperatura e umidade carregados.
O gráfico field1 e os gráficos field2 são os dados de umidade e temperatura do nó Lora 0, e o gráfico field3 e o gráfico field4 são os dados de umidade e temperatura do nó Lora 1.
Recomendado:
Controle remoto IR baseado em Arduino automático baseado em temperatura: 7 etapas
Controle remoto IR baseado em Arduino automático baseado em temperatura: Ei, e aí, pessoal! Akarsh aqui da CETech. Cansado de acordar no meio de um sono profundo só porque a temperatura ambiente está muito baixa ou muito alta por causa do seu AC mudo. Então este projeto é para você. Neste projeto, vamos fazer o nosso
Gateway UDP / IP serial para Arduino baseado no escudo ESP8266: 8 etapas
Gateway UDP / IP serial para Arduino baseado em ESP8266 Shield: Já publiquei em 2016 este instrutível " Como fazer seu próprio gateway Wifi para conectar seu Arduino à rede IP ". Já fiz algumas melhorias no código e ainda estou usando esta solução. No entanto, existem agora alguns escudos ESP8266 t
Termômetro infravermelho sem contato baseado em Arduino - Termômetro baseado em IR usando Arduino: 4 etapas
Termômetro infravermelho sem contato baseado em Arduino | Termômetro baseado em IR usando Arduino: Olá pessoal, neste instructables faremos um termômetro sem contato usando arduino. Já que às vezes a temperatura do líquido / sólido é muito alta ou muito baixa e então é difícil fazer contato com ele e ler sua temperatura então naquele cenário
MicroPython IoT Rover baseado em WEMOS D1 (ESP-8266EX): 7 etapas (com imagens)
MicroPython IoT Rover Baseado no WEMOS D1 (ESP-8266EX): ** Atualização: Publiquei um novo vídeo para v2 com um lance ** Eu organizo workshops de robótica para crianças e estou sempre procurando por plataformas econômicas para construir projetos intrigantes. Embora os clones do Arduino sejam baratos, ele usa a linguagem C / C ++ que as crianças não
Como atualizar o firmware MicroPython em um switch inteligente Sonoff baseado em ESP8266: 3 etapas (com imagens)
Como atualizar o firmware MicroPython em um switch inteligente Sonoff baseado em ESP8266: O que é Sonoff? Sonoff é uma linha de dispositivos para Smart Home desenvolvida pela ITEAD. Um dos dispositivos mais flexíveis e baratos dessa linha são Sonoff Basic e Sonoff Dual. Esses são switches habilitados para Wi-Fi baseados em um ótimo chip, ESP8266. Enquanto