Sisällysluettelo:

Esineiden internet: LoRa -sääasema: 7 vaihetta (kuvilla)
Esineiden internet: LoRa -sääasema: 7 vaihetta (kuvilla)

Video: Esineiden internet: LoRa -sääasema: 7 vaihetta (kuvilla)

Video: Esineiden internet: LoRa -sääasema: 7 vaihetta (kuvilla)
Video: Lonely (short version) 2024, Heinäkuu
Anonim
Esineiden internet: LoRa -sääasema
Esineiden internet: LoRa -sääasema
Esineiden internet: LoRa -sääasema
Esineiden internet: LoRa -sääasema
Esineiden internet: LoRa -sääasema
Esineiden internet: LoRa -sääasema

Tämä on esimerkki mukavasta LoRa -projektista. Sääasemassa on lämpötila -anturi, ilmanpaineanturi ja kosteusanturi. Tiedot luetaan ja lähetetään Cayenne Mydevices- ja Weather Underground -laitteille LoRa- ja The Things Network -palvelun avulla.

Tarkista, onko alueellasi The Things -verkon LoRa Gateway!

Vaihe 1: Laitteisto

Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto

Tässä projektissa käytin seuraavaa laitteistoa:

  • Arduino Pro Mini 328 - 3,3 V/8 MHz (https://www.sparkfun.com/products/11114)
  • RFM95W (https://www.hoperf.com/rf_transceiver/lora/RFM95W.html) (https://www.aliexpress.com/item/RFM95W-20dBm-100mW-868Mhz-915Mhz-DSSS-spread-spectrum-wireless -lähetin-vastaanotin-moduuli-SPI-SMD/32799536710.html)
  • DHT22 (https://www.aliexpress.com/item/High-Precision-AM2302-DHT22-Digital-Temperature-Humidity-Sensor-Module-For-arduino-Uno-R3/32759158558.html)
  • BME280 (https://www.aliexpress.com/item/I2C-SPI-BMP280-3-3-BMP280-3-3-Digital-Barometric- Pressure-Altitude-Sensor-High-Precision-Atmospheric/32775855945.html)

Kokonaiskustannukset alle 10 dollaria.

Vaihe 2: Johdotus

Johdotus
Johdotus
Johdotus
Johdotus
Johdotus
Johdotus

On järkevää testata anturit ensin leipälaudalla. Joten voit olla varma, että anturit toimivat. Voit myös mitata virrankulutusta yleismittarilla. (Käytä pienitehoista lib-arvoa vähimmäismäärän mittaamiseen)

Liitä johdot ensin RFM95W -moduuliin ja sitten juotettava ne Arduino Pro Mini -laitteeseen. Lisää sitten anturit. Katso kuvat ja kaavio!

Vaihe 3: Kotelo

Kotelo
Kotelo
Kotelo
Kotelo
Kotelo
Kotelo
Kotelo
Kotelo

Jotta voisin sijoittaa sääaseman jonnekin, piirsin kotelon ja tulostin sen 3D -tulostimella.

Mallit löytyvät Thingiversesta. Voit tietysti tehdä oman varianttisi.

Vaihe 4: Ohjelmisto

Ohjelmisto
Ohjelmisto

Käyttämäni koodi löytyy GitHubista:

Käytän Atomia PlatformIO: n kanssa tämän projektin toteuttamiseen, joten tämä on PlatformIO -projekti. Käytin seuraavia kirjastoja:

  • LoraMAC-in-C for Arduino kiitos Thomas Telkampille ja Matthijs Kooijmanille (https://github.com/matthijskooijman/arduino-lmic)
  • CayenneLPP of The Things Network Arduino Library (https://github.com/TheThingsNetwork/arduino-device-lib)
  • Adafruit DHT -kosteus- ja lämpötila-anturikirjasto (https://github.com/adafruit/DHT-sensor-library)
  • Pienitehoinen: Kevyt pienitehoinen kirjasto Arduinolle (https://github.com/adafruit/DHT-sensor-library)

Vaihe 5: Cayenne MyDevices

Cayenne MyDevices
Cayenne MyDevices

Voit integroida sovelluksesi The Things Network -verkkoon Cayenne myDevicesin kanssa

Integraation lisääminen:

  • Siirry The Things Network -sivuston sovelluskonsoliin;
  • Valitse integraatiot oikeasta yläkulmasta;
  • Valitse Cayenne;
  • Seuraa ohjeita

Vaihe 6: Maanalainen sää

Maanalainen sää
Maanalainen sää

Jos haluat lähettää tietoja Weather undergroundiin, luo HTTP -integraatio. Tiedot lähetetään URL -osoitteeseen POST- tai GET -muodossa. Seuraava komentosarja tallentaa tiedot ja lähettää ne Weather Undergroundille. Rekisteröi oma sääasemasi osoitteessa

<? php

? php kaikuaika ();

file_put_contents ('json/post'.time ().'. json ', file_get_contents (' php: // input '));

$ json = file_get_contents ('php: // input'); $ data = json_decode ($ json);

// poista tiedot jsonista

$ lämpötila_1 = $ data-> hyötykuormakentät-> lämpötila_1; $ barometric_pressure_2 = $ data-> payload_fields-> barometric_pressure_2; $ suhteellinen_kosteus_3 = $ data-> hyötykuormakentät-> suhteellinen_kosteus_3;

// tempc to tempf

$ tempf = ($ lämpötila_1 * 9/5) + 32;

// paine

$ paine = $ barometrinen_paine_2/33.863886666667;

if (isset ($ pressure) &&! empty ($ pressure) && isset ($ tempf) && tyhjä ($ tempf) && isset ($ relative_humidity_3) &&! empty ($ relat_humidity_3)) {file_get_contents ("https:// rtupdate.wunderground.com/weatherstation/updateweatherstation.php? ID = XXXXXXX & PASSWORD = XXXXXXXX & dateutc = now & tempf = ". $ tempf." & kosteus = ". $ suhteellinen_kosteus_3." & baromin = ". $ paine);

}

?>

?>

Vaihe 7: Nauti sääasemastasi

Nauti sääasemastasi
Nauti sääasemastasi
Nauti sääasemastasi
Nauti sääasemastasi

Nauti sääasemastasi

Cayenne myDevicesissa voit jakaa projektin hallintapaneelin. Jaa omasi kommenteissa!

Tämä on minun:

Suositeltava: