Съдържание:
- Стъпка 1: Какво ви трябва …
- Стъпка 2: Започнете с хардуерна настройка на сензора BME 280
- Стъпка 3: BME 280 Nodemcu ESP8266 код
- Стъпка 4: Успех Сензорно устройство BME280 + Отстраняване на неизправности
- Стъпка 5: Настройка на хардуера на Soilsensor
- Стъпка 6: Код DS18B20 Nodemcu ESP8266
- Стъпка 7: Успех Soilsensor и отстраняване на проблеми
- Стъпка 8: Завършете
Видео: Удължителни сензори Nodemcu ESP8266 за Weewx: 8 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Това е инструкция за добавяне на сензори към софтуера на метеорологичната станция за уикенд.
Ако нямате уикс, можете да научите някои неща в този урок.
имате нужда от основни познания за кода на 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
Запоявайте лентата в BME280.
След това свържете BME към Nodemcu:
BME VIN до 3.3V
BME GND към GND
SCL към D4
SDA към D3
Ако желаете, можете да поставите устройството в корпус, но се уверете, че има някои отвори в корпуса, така че стойностите на влажността и температурата да са правилни.
Стъпка 3: 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 + Отстраняване на неизправности
Някои съвети за вас:
Отворете повече от 1 конзола чрез замазка
на 1 конзола направете промените си, а на другата конзола прочетете вашия syslog на живо с:
tail -f/var/log/syslog
Ако имате грешка, първо погледнете вашия регистрационен файл.
Вашият изход трябва да изглежда подобен на моя:
Стъпка 5: Настройка на хардуера на 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
За кода можете да използвате моите хранилища 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 и отстраняване на проблеми
Ако имате всички работещи и виждате стойности, излезте навън и поставете алуминиевата тръба в земята.
Един добър начин е да поставите горещо лепило в едната страна на тръбата и след това да притиснете тръбата заедно, след което имате хубав връх, за да го вкарате по -лесно в земята.
Поставете първо тръбата си в земята, можете да забиете меко с дървена дъска.
Ако тръбата е достатъчно дълбока, можете да поставите вашата верига ds18b20 и захранващите проводници във водоустойчивата кутия.
Уверете се, че вашият wifi работи на това място!
Ако не знаете кой датчик е колко дълбок, има 2 възможности.
Тествам фазата, поставям 1 ds18b20 между пръста ви, температурата става по -висока за този.
Когато тръбата е вече в земята, тогава нормално най -високата стойност е най -дълбоката точка.
Стъпка 8: Завършете
Само краят
Публикувайте вашите въпроси и покажете своите темпове в коментарите!
За повече помощ се присъединете към weewx google Groups на:
groups.google.com/forum/#!forum/weewx-user
Препоръчано:
Килим със сензори/ RF комуникация с Arduino Micro: 4 стъпки (със снимки)
Килим със сензори/ RF комуникация с Arduino Micro: Наскоро завърших инсталацията Еднакво разнообразна, която е направена от поредица лампи, които реагират на сензорите, поставени в килим под лампите. Ето как направих килима със сензори за налягане. Надявам се, че ще ви бъде полезно
Изрежете броня със сензори за влага и ARDUINO: 4 стъпки (със снимки)
Изрежете броня със сензори за влага и ARDUINO: Трябва да съм пристрастен към Instructables между работата и да изпълнявам домашните си задачи, за да продължа да споделям знанията си без пари за Instructables, които пишат друга инструкция. Сега съм съдия, пресявам много инструктажи и винаги намери някой Instructabl
DIY контролер за ръкавици със сензори за електронен текстил: 14 стъпки (със снимки)
Направи си сам контролер за ръкавици със сензори за електронни текстили: Тази инструкция е стъпка по стъпка урок за това как да направите ръкавица за данни със сензори за eTextile. Проектът е сътрудничество между Рейчъл Фрейър и Артьом Максим. Рейчъл е дизайнер на сензори за текстилни и етекстилни ръкавици, а Арти проектира кръга
Навигирайте робот със сензори за обувки, без GPS, без карта: 13 стъпки (със снимки)
Навигирайте робота със сензори за обувки, без GPS, без карта: Роботът се движи по предварително програмиран път и предава (по bluetooth) действителната си информация за движение до телефон за проследяване в реално време. Arduino е предварително програмиран с пътека, а oblu се използва за усещане на движението на робота. oblu предава информация за движение
LED Eclipse със сензори за докосване и MIDI: 9 стъпки (със снимки)
LED затъмнение със сензори за докосване и MIDI: LED затъмнението е интерактивен инструмент със светодиоди, капацитивни сензори за докосване и MIDI изход, всички контролирани с Arduino Uno. Можете да програмирате устройството по много различни начини. Във всички приложения идеята е почти същата: