Съдържание:

Удължителни сензори Nodemcu ESP8266 за Weewx: 8 стъпки (със снимки)
Удължителни сензори Nodemcu ESP8266 за Weewx: 8 стъпки (със снимки)

Видео: Удължителни сензори Nodemcu ESP8266 за Weewx: 8 стъпки (със снимки)

Видео: Удължителни сензори Nodemcu ESP8266 за Weewx: 8 стъпки (със снимки)
Видео: Water level monitoring system with Nodemcu ESP8266 with new blynk app 2024, Юли
Anonim
Удължителни сензори Nodemcu ESP8266 за Weewx
Удължителни сензори Nodemcu ESP8266 за Weewx

Това е инструкция за добавяне на сензори към софтуера на метеорологичната станция за уикенд.

Ако нямате уикс, можете да научите някои неща в този урок.

имате нужда от основни познания за кода на Arduino и как да качвате на устройство.

Можете да намерите информация за weewx тук:

Това, което изграждате, е 2 устройства:

1 Устройството изпраща Температура и Влажност към софтуера weewx.

1 Устройството изпраща Температурите на почвата от различни дълбочини на почвата към софтуера weewx.

Първото ни устройство е сензор BME 280.

Второто ни устройство е верига от 3 сензора за температура DS18B20. (Можете да добавите още, ако желаете).

Да започваме:

Стъпка 1: Какво ви трябва …

От какво имаш нужда…
От какво имаш нужда…
От какво имаш нужда…
От какво имаш нужда…
От какво имаш нужда…
От какво имаш нужда…

Weewx работи и работи + достъп до weewx сървъра. (например малинов PI 3).

2 модула Nodemcu ESP8266

3 или повече сензора DS18B20

1 комбиниран сензор BME 280

1 алуминиева тръба или подобна с диаметър 10 мм и 1 мм дебелина на стената и ок. 1 метър дълъг

1 Водоустойчив корпус с кабелна уплътнение и контрагайка.

1 5V източник на захранване (например мобилен товарач).

Някои проводници и запояване.

Можете да намерите BME280 сензорни и Nodemcu модули в ebay.

За алуминиева тръба избирам местен магазин за хардуер

За DS18B20 и водоустойчив калъф използвам www.reichelt.de

www.reichelt.de/DS-18B20/3/index.html?ACTI…

www.reichelt.de/EL-FK-110/3/index.html?ACT…

и групата кабелни уплътнения с контрагайки

www.reichelt.de/Kabelverschraubungen-Bopla…

За bme280 можете по избор да използвате разклоняваща се кутия

www.reichelt.de/Installationsmaterial/EL-D…

Стъпка 2: Започнете с хардуерна настройка на сензора BME 280

Започнете с хардуерна настройка на сензора BME 280
Започнете с хардуерна настройка на сензора BME 280

Запоявайте лентата в BME280.

След това свържете BME към Nodemcu:

BME VIN до 3.3V

BME GND към GND

SCL към D4

SDA към D3

Ако желаете, можете да поставите устройството в корпус, но се уверете, че има някои отвори в корпуса, така че стойностите на влажността и температурата да са правилни.

Стъпка 3: BME 280 Nodemcu ESP8266 код

BME 280 Nodemcu ESP8266 код
BME 280 Nodemcu ESP8266 код
BME 280 Nodemcu ESP8266 код
BME 280 Nodemcu ESP8266 код
BME 280 Nodemcu ESP8266 код
BME 280 Nodemcu ESP8266 код

За кода можете да използвате моите хранилища на github:

github.com/Landixus/BME280_TO_SERVER_WEEWX

Ino файлът се нуждае от някои вмъквания от вас:

IP адресът на вашия weewx сървър или URL адрес

и маршрута, където имате php файла, уверете се, че областта е достъпна за запис.

Избирам каталога public_html, защото е домашен сървър.

ако искате да клонирате git хранилищата и да имате инсталиран git на вашия сървър, можете да клонирате с командата:

"git clone" https://github.com/Landixus/BME280_TO_SERVER_WEEWX"

Сега трябва да направим някои неща на нашия weewx сървър.

Трябва да направите пътищата към вашите настройки!

в

/home/weewx/public_html

създайте папка данни

в папката с данни създайте bme.txt например с:

nano bme.txt

файлът трябва да е празен.

направете го възможно за писане с:

chmod -R 777 bme.txt

(никога не правите това на сървър, достъпен в интернет!)

в папката

/home/weewx/public_html

поставихте bme.php на моето github репо.

Номерът е, че INO файлът изпраща стойности до bme.php и bme.php записва данните в bme.txt

След това трябва да добавим услугата в weewx

поставете bme.py в папка

/home/weewx/bin/user

отворете вашия weewx.conf в папка

/home/weewx

винаги е добре да имате резервно копие, преди да редактирате този файл!

слезте до линия Engine и направете линията да изглежда като моята:

[Двигател]

# Този раздел определя услугите, които трябва да се изпълняват. Те са

# групирани по тип и реда на услугите във всяка група

# определя реда, в който ще се изпълняват услугите.

data_services = user.pond. PondService, user.bme.bme

рестартирайте weewx с:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx start

с командата

tail -f/var/log/syslog

можете да потърсите в регистрационния файл за грешки или успех, да потърсите изход bme: намерена стойност на …

Дайте на вашия сървър няколко минути за генериране, в "my" weewx.conf на всеки 5 минути идва изход.

Ако имате съобщение за грешка, проверете пътищата си.

Ако имате стойности, можете да отидете да ги покажете на уеб страницата:

отворена кожа.conf в

/home/weewx/skins/Standard

отидете на:

# Това вероятно е специфично за моята станция! Add

extraTemp3 = BME1 температураextraHumid1 = BME1 Влажност

запишете файла и го отворете в същата папка

index.html.tmpl

потърси ред:

#if $ day.extraTemp..

#край ако

след първия #край, ако намерите, поставете вашия BME сензор с:

^^ съжалявам, но не е възможно да се постави това като текст:(запазете файла и излезте.

няма нужда да рестартирате weewx.

Сега трябва да захранвате NODEMCU ESP8266 с файла Arduino.

Не забравяйте да настроите своя wifi и адреси във файла.

След зареждане проверете серийния изход за грешки.

След кратък период трябва да видите стойностите на вашия уебсайт weewx.

Стъпка 4: Успех Сензорно устройство BME280 + Отстраняване на неизправности

Успешно сензорно устройство BME280 + отстраняване на неизправности
Успешно сензорно устройство BME280 + отстраняване на неизправности
Успешно сензорно устройство BME280 + отстраняване на неизправности
Успешно сензорно устройство BME280 + отстраняване на неизправности

Някои съвети за вас:

Отворете повече от 1 конзола чрез замазка

на 1 конзола направете промените си, а на другата конзола прочетете вашия syslog на живо с:

tail -f/var/log/syslog

Ако имате грешка, първо погледнете вашия регистрационен файл.

Вашият изход трябва да изглежда подобен на моя:

Стъпка 5: Настройка на хардуера на Soilsensor

Настройка на хардуера на Soilsensor
Настройка на хардуера на Soilsensor
Настройка на хардуера на Soilsensor
Настройка на хардуера на Soilsensor
Настройка на хардуера на Soilsensor
Настройка на хардуера на Soilsensor

За сензора DS18B20 трябва да направим шинна система с някои проводници и запояване.

Проверете вашия DS18B20

ДАННИ, GND, VCC

Между VCC и DATA имате нужда от 4.7K резистор. Достатъчно е, ако имате резистора на първия DS18B20

Другите DS18B20 са успоредни един на друг.

Измерете дължината за вашите нужди. Запоявайте верига заедно, закрепих щифтовете със свиваща се тръба.

За ТЕСТ свържете DATA към D3 и VCC към VCC (3.3V) и GND към GND.

За опцията за дълбок сън трябва да прикрепите мост между RST и D0 (GPIO16)

Не трябва да поставяте веригата в алуминиевата тръба в момента, направете си тестове преди това!

Стъпка 6: Код DS18B20 Nodemcu ESP8266

DS18B20 Nodemcu ESP8266 код
DS18B20 Nodemcu ESP8266 код

За кода можете да използвате моите хранилища GITHUB:

github.com/Landixus/multipleDS18B20WeeWX

Също така ino файлът се нуждае от някои вмъквания от вас: IP адресът на вашия weewx сървър или URL адрес и маршрутът, където сте поставили php файла, уверете се, че областта може да се записва, избирам public_html директория, защото е домашен сървър.

Ако искате да клонирате git хранилищата и да имате инсталиран git на вашия сървър, можете да клонирате с командата „git clone

Сега трябва да направим някои неща, които всички работят на нашия weewx сървър.

Трябва да направите пътищата към настройките си в

/home/weewx/public_html

създайте папка "данни" в папката с данни създайте ds18b20.txt например nano ds18b20.txt txt трябва да е празен. направете го възможно за запис с chmod -R 777 ds18b20.txt (никога не правите това на сървър, който е достъпен в интернет!) в папката/home/weewx/public_html поставяте ground.php на моя github представител. Номерът е, че INO файлът изпраща стойности към ground.php и ground.php записва данните в ds18b20.txt, след което трябва да добавим услугата в weewx, поставете ds18b20.py в папка/home/weewx/bin/ потребител

отворете вашия weewx.conf в папка /home /weewx

винаги е добре да имате резервно копие, преди да редактирате този файл!

слез на ред:

[Двигател]

# групирани по тип и реда на услугите във всяка група

# определя реда, в който ще се изпълняват услугите.

prep_services = weewx.engine. StdTimeSynch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 добавете вграденото след запетая

"user.ds18b20.ds18b20" трябва да изглежда като горната линия ^^

рестартирайте weewx с:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx start

с командата tail -f/var/log/syslog можете да търсите в лог файла за грешки или успех потърсете изход ds18b20: намерена стойност на Дайте на вашия сървър няколко минути за генериране, в моя weewx.conf на всеки 5 минути излизат слагам. Ако имате съобщение за грешка, проверете пътищата си. Ако имате стойности, можете да отидете да ги покажете на страницата: отворено

skin.conf in/home/weewx/skins/Стандартно отидете на:

# Това вероятно е специфично за моята станция!

добавете

groundTemp1 = DS18B201

groundTemp2 = DS18B202

groundTemp3 = DS18B203

запишете файла и отворете в същата папка index.html.tmpl потърсете ред:

#if $ day.extraTemp..…

#край ако

след първия #край, ако откриете, поставете своя сензор за земя с:

^^ съжаляваме, но не е възможно да поставите това като текст: (запишете файла и излезте. няма нужда да рестартирате weewx. Сега трябва да захранвате NODEMCU ESP8266 с файла Arduino.

Не забравяйте да настроите своя wifi и адреси във файла. След зареждане проверете серийния изход за грешки.

След кратък период трябва да видите стойностите на вашия уебсайт weewx.

Стъпка 7: Успех Soilsensor и отстраняване на проблеми

Успех Soilsensor и отстраняване на проблеми
Успех Soilsensor и отстраняване на проблеми

Ако имате всички работещи и виждате стойности, излезте навън и поставете алуминиевата тръба в земята.

Един добър начин е да поставите горещо лепило в едната страна на тръбата и след това да притиснете тръбата заедно, след което имате хубав връх, за да го вкарате по -лесно в земята.

Поставете първо тръбата си в земята, можете да забиете меко с дървена дъска.

Ако тръбата е достатъчно дълбока, можете да поставите вашата верига ds18b20 и захранващите проводници във водоустойчивата кутия.

Уверете се, че вашият wifi работи на това място!

Ако не знаете кой датчик е колко дълбок, има 2 възможности.

Тествам фазата, поставям 1 ds18b20 между пръста ви, температурата става по -висока за този.

Когато тръбата е вече в земята, тогава нормално най -високата стойност е най -дълбоката точка.

Стъпка 8: Завършете

завършек
завършек

Само краят

Публикувайте вашите въпроси и покажете своите темпове в коментарите!

За повече помощ се присъединете към weewx google Groups на:

groups.google.com/forum/#!forum/weewx-user

Препоръчано: