Taula de continguts:
- Pas 1: subministraments
- Pas 2: node LoRa
- Pas 3: connexió del node i del sensor
- Pas 4: envieu dades al Gateway
- Pas 5: MakePython Lora
- Pas 6: passarel·la LoRaWAN
- Pas 7: baixeu el codi
- Pas 8: rebre dades
- Pas 9: utilitzeu ThingSpeak IoT
- Pas 10: Resultat
Vídeo: Lora Gateway basat en MicroPython ESP32: 10 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Lora ha estat molt popular en els darrers anys. El mòdul de comunicació sense fils que utilitza aquesta tecnologia sol ser barat (amb espectre lliure), de mida petita, eficient en energia i amb una distància de comunicació llarga, i s’utilitza principalment per a la comunicació mútua entre terminals IoT o per a l’intercanvi de dades amb un amfitrió. Hi ha molts mòduls LoRa al mercat, com ara RFM96W, que està equipat amb xip SX1278 (compatible), que és molt petit. L’utilitzo amb MakePython ESP32 com a passarel·la.
A continuació, utilitzaré dos nodes LoRa per enviar les dades de temperatura i humitat a la passarel·la i després les penjaré a Internet a través de la passarel·la. Aquí aprendreu com penjar dades remotes de diversos nodes LoRa al núvol a través de la passarel·la.
Pas 1: subministraments
1 * MakePython ESP32
MakePython ESP32 és una placa ESP32 amb una pantalla OLED SSD1306 integrada.
2 * Ràdio Maduino LoRa
Maduino Lora Radio és una solució IoT (Internet de les coses) basada en el mòdul Atmel’s Atmega328P MCU i Lora. Pot ser un projecte real per a projectes IoT (especialment aplicacions de llarg abast i de baix consum)
2 * DHT11
1 * MakePython Lora
Pas 2: node LoRa
Aquest és l'esquema de Maduino Lora Radio.
El mòdul Arduino Lora Radio com a node LoRa l’utilitzem per enviar dades de temperatura i humitat a la passarel·la.
(Aquest WiKi presenta com utilitzar la ràdio Maduino Lora i enviar i rebre dades)
Pas 3: connexió del node i del sensor
El VCC i el GND de DHT11 estan connectats a 3V3 i GND de Maduino i el pin DATA està connectat a D4 de Maduino.
El node 0 és al parc, el node 1 és a l’edifici d’oficines a prop de l’empresa, es troben a uns 2 quilòmetres de distància i després tinc les dades de temperatura i humitat a casa.
Pas 4: envieu dades al Gateway
Descarregueu TransmitterDHT11.ino, obriu-lo a Arduino IDE.
Quan afegiu un node, modifiqueu el número de node en conseqüència. Per exemple, ara utilitzeu 2 nodes, el primer node per modificar el nodenum = 0 per executar el programa, el segon node per modificar el nodenum = 1 per executar el programa, etc., podeu afegir més node.
int16_t packetnum = 0; // comptador de paquets, augmentem per xmissió
int16_t nodenum = 0; // Modifiqueu el número del node
Recopileu dades i imprimiu-les
Missatge de cadena = "#" + (Cadena) nodè + "Humitat:" + (Cadena) humitat + "% Temperatura:" + Temperatura (Cadena) + "C" + "num:" + (Cadena) paquet; Serial.println (missatge); packetnum ++;
Envieu un missatge a 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);
Obriu el monitor sèrie, podeu veure les dades de temperatura i humitat recollides i enviar-les.
# 0 Humitat: 6.00% Temperatura: 27.00C num: 0
Transmetre: S'està enviant a rf95_server S'està enviant … S'està esperant que es completi el paquet … S'està esperant la resposta … No hi ha resposta, hi ha un oient al voltant?
Deixa-ho de banda, ara hem de crear el Lora Gateway.
Pas 5: MakePython Lora
Aquest és el pin corresponent del mòdul RFM96W i MakePython ESP32. Per tal de facilitar la connexió amb MakePython ESP32, vaig crear una placa de circuit amb el mòdul RFM96W. Sí, hi ha dos RFM96W que poden enviar i rebre dades alhora, però ara només en necessito una.
Pas 6: passarel·la LoRaWAN
LoRaWAN és una xarxa d’àrea ampla de baixa potència basada en LoRa, que pot proporcionar-ne un: baix consum d’energia, escalabilitat, alta qualitat de servei i xarxa sense fils de llarga distància segura.
Reuneu MakePython Lora i ESP32 per crear una passarel·la que pugui rebre dades remotes i penjar-les a Internet.
Pas 7: baixeu el codi
Baixeu-vos tots els fitxers ‘xxx.py’ de WiKi i pengeu-los a ESP32.
Obriu el fitxer LoRaDuplexCallback.py, heu de fer alguns ajustaments perquè el vostre ESP32 es pugui connectar a la xarxa i pujar dades al servidor.
Modifiqueu l'API_KEY que heu obtingut a ThingSpeak (introduiré com obtenir-lo més endavant)
#https://thingspeak.com/channels/1047479
API_KEY = 'UBHIRHVV9THUJVUI'
Modifiqueu SSID i PSW per connectar WiFi
ssid = "Makerfabs"
pswd = "20160704"
Pas 8: rebre dades
Cerqueu la funció on_receive (lora, payload) al fitxer LoRaDuplexCallback.py, on podeu dir a ESP32 què fer després de rebre les dades. El codi següent analitza i mostra les dades de temperatura i humitat rebudes.
def on_receive (lora, càrrega útil):
lora.blink_led () rssi = lora.packetRssi () try: length = len (càrrega útil) -1 myStr = str ((càrrega útil [4: length]), 'utf-8') length1 = myStr.find (':') myNum1 = myStr [(length1 + 1):(length1 + 6)] myNum2 = myStr [(length1 + 20):(length1 + 25)] print ("*** Missatge rebut *** / n {}"). format (càrrega útil)) si config_lora. IS_LORA_OLED: lora.show_packet (("{}". format (càrrega útil [4: longitud])), rssi) si wlan.isconnected (): msgCount global print ('Sending to network …') node = int (str (càrrega útil [5: 6], 'utf-8')) si node == 0: URL = "https://api.thingspeak.com/update?api_key=" + API_KEY + "& field1 = "+ myNum1 +" & field2 = "+ myNum2 res = urequests.get (URL) print (res.text) node elif == 1: URL =" https://api.thingspeak.com/update?api_key= "+ API_KEY +" & field3 = "+ myNum1 +" & field4 = "+ myNum2 res = urequests.get (URL) print (res.text) excepte Excepció com a e: print (e) print (" amb RSSI {} n ".format (rssi))
A jutjar el nombre per distingir els nodes i carregar les dades a Internet mitjançant l’URL, podem controlar les dades remotes de diferents nodes en qualsevol moment. Podeu afegir més nodes i fer canvis similars al codi.
si node == 0:
URL = "https://api.thingspeak.com/update?api_key=" + API_KEY + "& field1 =" + myNum1 + "& field2 =" + myNum2 res = urequests.get (URL) print (res.text)
Pas 9: utilitzeu ThingSpeak IoT
Passos:
- Registreu un compte a https://thingspeak.com/. Si ja en teniu, inicieu la sessió directament.
- Feu clic a Canal nou per crear un canal de ThingSpeak nou.
- Introduïu el nom, Descripció, seleccioneu el camp 1. A continuació, deseu el canal a la part inferior.
- Feu clic a l’opció Claus API, copieu la clau API, l’utilitzarem al programa.
Pas 10: Resultat
Podeu veure les dades del node 0 i del node 1 a la pantalla, tot i que es troben a 2 quilòmetres de distància.
Inicieu sessió al vostre compte de ThingSpeak i feu clic al canal que heu creat, podreu veure les dades de temperatura i humitat carregades.
El gràfic field1 i el field2 són les dades d’humitat i temperatura del node Lora 0, i el gràfic field3 i el gràfic field4 són les dades d’humitat i temperatura del node Lora 1.
Recomanat:
MuMo - LoRa Gateway: 25 passos (amb imatges)
MuMo - LoRa Gateway: ### ACTUALITZACIÓ 10-03-2021 // la informació / actualitzacions més recents estaran disponibles a la pàgina de github: https: //github.com/MoMu-Antwerp/MuMo Què és MuMo? MuMo és una col·laboració entre desenvolupament de productes (un departament de la Universitat d'Anvers) sota el
Termòmetre infraroig sense contacte basat en Arduino - Termòmetre basat en IR mitjançant Arduino: 4 passos
Termòmetre infraroig sense contacte basat en Arduino | Termòmetre basat en IR que utilitza Arduino: Hola nois, en aquest instructable farem un termòmetre sense contacte amb arduino, ja que de vegades la temperatura del líquid / sòlid és massa alta o baixa a la temperatura i és difícil fer-hi contacte i llegir-ne temperatura llavors en aquell escenari
Generador de música basat en el temps (generador de midi basat en ESP8266): 4 passos (amb imatges)
Generador de música basat en el temps (generador de midi basat en ESP8266): Hola, avui explicaré com fer el vostre propi generador de música basat en el temps. Es basa en un ESP8266, que és com un Arduino, i respon a la temperatura, a la pluja i intensitat lumínica. No espereu que faci cançons senceres o progrés d’acords
MicroPython IoT Rover basat en WEMOS D1 (ESP-8266EX): 7 passos (amb imatges)
MicroPython IoT Rover basat en WEMOS D1 (ESP-8266EX): ** Actualització: he publicat un nou vídeo per a v2 amb llança ** Organitzo tallers de robòtica per a nens petits i sempre busco plataformes econòmiques per construir projectes fascinants. Tot i que els clons Arduino són econòmics, utilitza el llenguatge C / C ++ que els nens no són
Com fer flash el microprogramari MicroPython en un commutador intel·ligent basat en Sonoff ESP8266: 3 passos (amb imatges)
Com fer flash el microprogramari MicroPython en un commutador intel·ligent basat en Sonoff ESP8266: què és Sonoff? Sonoff és una línia de dispositius per a Smart Home desenvolupada per ITEAD. Un dels dispositius més flexibles i econòmics d’aquesta línia són Sonoff Basic i Sonoff Dual. Es tracta de commutadors habilitats per a Wi-Fi basats en un gran xip, ESP8266. Mentre