Мазмуну:

Заттардын Интернети: LoRa метеостанциясы: 7 кадам (сүрөттөр менен)
Заттардын Интернети: LoRa метеостанциясы: 7 кадам (сүрөттөр менен)

Video: Заттардын Интернети: LoRa метеостанциясы: 7 кадам (сүрөттөр менен)

Video: Заттардын Интернети: LoRa метеостанциясы: 7 кадам (сүрөттөр менен)
Video: Generate Studio Quality Realistic Photos By Kohya LoRA Stable Diffusion Training - Full Tutorial 2024, Ноябрь
Anonim
Заттардын Интернети: LoRa Weather Station
Заттардын Интернети: LoRa Weather Station
Заттардын Интернети: LoRa Weather Station
Заттардын Интернети: LoRa Weather Station
Заттардын Интернети: LoRa Weather Station
Заттардын Интернети: LoRa Weather Station

Бул жакшы LoRa долбоорунун мисалы. Аба ырайы бекети температура сенсорун, абанын басым сенсорун жана нымдуулук сенсорун камтыйт. Маалыматтар окулуп, LoRa жана Things Network аркылуу Cayenne Mydevices жана Weather Undergroundго жөнөтүлөт.

Сиздин аймакта нерселер тармагынын LoRa шлюзу бар -жогун текшериңиз!

1 -кадам: Аппараттык

Аппараттык
Аппараттык
Аппараттык
Аппараттык
Аппараттык
Аппараттык
Аппараттык
Аппараттык

Бул долбоор үчүн мен төмөнкү жабдыктарды колдондум:

  • Arduino Pro Mini 328 - 3.3V/8MHz (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 -транслятор-модул-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)

Жалпы баасы 10 доллардан аз.

2 -кадам: Кабелдик

Wiring
Wiring
Wiring
Wiring
Wiring
Wiring

Адегенде сенсорлорду нан тактасында сынап көрүү акылдуулукка жатат. Демек сенсорлор иштейт деп ишенсеңиз болот. Сиз ошондой эле мультиметр менен электр энергиясын керектөөнү өлчөй аласыз. (Минималдуу өлчөө үчүн Low-Power lib колдонуңуз)

Адегенде RFM95W модулуна зымдарды, андан кийин Arduino Pro Miniге ширетет. Андан кийин сенсорлорду кошуңуз. Сүрөттөрдү жана схеманы көрүңүз!

3 -кадам: Корпус

Корпус
Корпус
Корпус
Корпус
Корпус
Корпус
Корпус
Корпус

Аба ырайын аныктоочу станцияны бир жерге жайгаштыруу үчүн, мен корпусту чийип, 3d принтери менен басып чыгардым.

Моделдерди Thingiverseден тапса болот. Албетте, сиз, албетте, өзүңүздүн вариантыңызды жасай аласыз.

4 -кадам: Программалык камсыздоо

Программалык камсыздоо
Программалык камсыздоо

Мен колдонгон кодду GitHubдан тапса болот:

Мен бул долбоорду ишке ашыруу үчүн PlatformIO менен Atomду колдондум, ошондуктан бул PlatformIO долбоору. Мен кийинки китепканаларды колдондум:

  • LoraMAC-in-C Arduino үчүн Томас Телкамп менен Матижс Койжманга рахмат (https://github.com/matthijskooijman/arduino-lmic)
  • Things Network Arduino китепканасынын CayenneLPP (https://github.com/TheThingsNetwork/arduino-device-lib)
  • Adafruit DHT нымдуулук жана температуранын бирдиктүү сенсор китепканасы (https://github.com/adafruit/DHT-sensor-library)
  • Аз кубат: Arduino үчүн аз кубаттуу китепкана (https://github.com/adafruit/DHT-sensor-library)

5 -кадам: Cayenne MyDevices

Cayenne MyDevices
Cayenne MyDevices

Колдонмоңузду Cayenne myDevices менен Things Networkко бириктире аласыз

Интеграцияны кошуу үчүн:

  • Things Network веб -сайтындагы колдонмо консолуна өтүңүз;
  • Оң жактагы менюдан интеграцияны тандаңыз;
  • Кайенны тандоо;
  • Көрсөтмөлөрдү аткарыңыз

6 -кадам: Аба ырайы Метро

Аба ырайы Метро
Аба ырайы Метро

Жер астындагы аба ырайына маалыматтарды жөнөтүү үчүн HTTP интеграциясын түзүңүз. Маалымат URL дарегине POST же GET менен жөнөтүлөт. Төмөнкү скрипт маалыматтарды басып алып, аны метеорологияга жөнөтөт. Https://www.wunderground.com/personal-weather-station/signup боюнча жеке аба ырайы станцияңызды каттаңыз

<? php

? php echo time ();

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

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

// jsonдан маалыматтарды алып салуу

$ temperature_1 = $ data-> payload_fields-> temperatur_1; $ barometric_pressure_2 = $ data-> payload_fields-> barometric_pressure_2; $ relat_humidity_3 = $ data-> payload_fields-> nisbiy_humidity_3;

// tempc to tempf

$ tempf = ($ temperature_1 * 9/5) + 32;

// басым

$ басым = $ barometric_pressure_2/33.863886666667;

if (isset ($ press)) &&! бош ($ press) && isset ($ tempf) &&! бош ($ tempf) && isset ($ nispi_humidity_3) &&! бош ($ relat_humidity_3)) {file_get_contents ("https:// rtupdate.wunderground.com/weatherstation/updateweatherstation.php? ID = XXXXXXX & PASSWORD = XXXXXXXX & dateutc = now & tempf = ". $ tempf." & nem = ". $ relat_humidity_3." & baromin = ". $ кысымы);

}

?>

?>

7 -кадам: Аба ырайы станцияңыздан ырахат алыңыз

Аба ырайы станцияңыздан ырахат алыңыз
Аба ырайы станцияңыздан ырахат алыңыз
Аба ырайы станцияңыздан ырахат алыңыз
Аба ырайы станцияңыздан ырахат алыңыз

Аба ырайы станцияңыздан ырахат алыңыз

Cayenne myDevicesте сиз Dashboard долбоорун бөлүшө аласыз. Өз оюңузду комментарийлерде бөлүшүңүз!

Бул меники:

Сунушталууда: