Оглавление:

Датчики расширения Nodemcu ESP8266 для Weewx: 8 шагов (с изображениями)
Датчики расширения Nodemcu ESP8266 для Weewx: 8 шагов (с изображениями)

Видео: Датчики расширения Nodemcu ESP8266 для Weewx: 8 шагов (с изображениями)

Видео: Датчики расширения Nodemcu ESP8266 для Weewx: 8 шагов (с изображениями)
Видео: NodeMcu Base ESP8266 для NodeMcu V3 на ESP8266, отличие NodeMcu V3 от V2 2024, Ноябрь
Anonim
Датчики расширения Nodemcu ESP8266 для Weewx
Датчики расширения Nodemcu ESP8266 для Weewx

Это инструкция по добавлению датчиков в программное обеспечение метеостанции Weewx.

Если у вас нет 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 Источник питания 5 В (например, мобильный погрузчик).

Некоторые провода и паяльник.

Вы найдете датчик 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,3 В

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.

Вам нужно сделать пути к своим настройкам!

в

/ главная / weewx / public_html

создать папку данных

в папке данных создайте bme.txt, например, с помощью:

нано bme.txt

файл должен быть пустым.

сделать его доступным для записи с помощью:

chmod -R 777 bme.txt

(вы никогда не делаете этого на сервере, доступном в Интернете!)

в папке

/ главная / weewx / public_html

вы помещаете bme.php моего репозитория на github.

Хитрость в том, что файл INO отправляет значения в bme.php, а bme.php записывает данные в bme.txt.

Далее нам нужно добавить сервис в Weewx

поместите bme.py в папку

/ главная / weewx / bin / пользователь

откройте свой weewx.conf в папке

/ главная / weewx

Перед редактированием этого файла всегда хорошо иметь резервную копию!

перейдите к строке Engine и сделайте ее похожей на мою:

[Двигатель]

# В этом разделе указаны службы, которые должны быть запущены. Они есть

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

# определяет порядок, в котором будут запускаться службы.

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

перезапустите weewx с помощью:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx start

с командой

хвост -f / var / журнал / системный журнал

вы можете искать в файле журнала ошибки или успехи, искать выходное значение bme: found…

Дайте вашему серверу несколько минут на генерацию, в "моем" weewx.conf каждые 5 минут приходит вывод.

Если у вас есть сообщение об ошибке, проверьте свои пути.

Если у вас есть значения, вы можете показать их на веб-странице:

откройте skin.conf в

/ главная / weewx / скины / Стандарт

перейти к:

# Этот, вероятно, относится к моей станции! Add

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

сохраните файл и откройте в той же папке

index.html.tmpl

ищите строку:

#if $ day.extraTemp..

#end if

после первого #end, если вы обнаружите, поместите датчик BME с:

^^ извините, но это невозможно передать как текст:(сохраните файл и выйдите.

перезапускать Weewx не нужно.

Теперь вам нужно накормить NODEMCU ESP8266 файлом Arduino.

Не забудьте указать свой Wi-Fi и адреса в файле.

После загрузки проверьте последовательный вывод на наличие ошибок.

Через некоторое время вы должны увидеть значения на своем веб-сайте Weewx.

Шаг 4: Успех датчика BME280 + поиск и устранение неисправностей

Сенсорное устройство Success BME280 + поиск и устранение неисправностей
Сенсорное устройство Success BME280 + поиск и устранение неисправностей
Сенсорное устройство Success BME280 + поиск и устранение неисправностей
Сенсорное устройство Success BME280 + поиск и устранение неисправностей

Несколько советов для вас:

Открыть более 1 консоли с помощью замазки

на 1 консоли внесите свои изменения, а на другой консоли прочтите свой системный журнал в прямом эфире с:

хвост -f / var / журнал / системный журнал

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

Ваш результат должен быть похож на мой:

Шаг 5: Настройка оборудования Soilsensor

Настройка оборудования Soilsensor
Настройка оборудования Soilsensor
Настройка оборудования Soilsensor
Настройка оборудования Soilsensor
Настройка оборудования Soilsensor
Настройка оборудования Soilsensor

Для датчика DS18B20 нам нужно сделать шинную систему с некоторыми проводами и пайкой.

Проверьте свой DS18B20

ДАННЫЕ, GND, VCC

Между VCC и DATA вам понадобится резистор 4,7 кОм. Достаточно наличия резистора на первом DS18B20

Остальные DS18B20 параллельны друг другу.

Измерьте длину по своему усмотрению. Спаяем цепочку, я закрепил штыри термоусадочной трубкой.

Для ТЕСТА вы подключаете ДАННЫЕ к D3, а VCC к VCC (3,3 В) и 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.

Вам нужно сделать пути к своим настройкам в

/ главная / weewx / public_html

создать папку «данные» в папке данных создать файл ds18b20.txt, например nano ds18b20.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: found значение Дайте вашему серверу несколько минут для генерации, в моем weewx.conf каждые 5 минут выходят положил. Если у вас есть сообщение об ошибке, проверьте свои пути. Если у вас есть значения, вы можете показать их на странице: открыть

skin.conf в / home / weewx / skins / Standard перейдите по адресу:

# Этот, вероятно, относится к моей станции!

Добавить

почваTemp1 = DS18B201

почваTemp2 = DS18B202

почваTemp3 = DS18B203

сохраняем файл и открываем в той же папке index.html.tmpl ищем строчку:

#if $ day.extraTemp..…

#end if

после первого #end, если вы обнаружите, что поместите датчик GroundSensor с:

^^ извините, но невозможно записать это как текст: (сохраните файл и выйдите. Нет необходимости перезапускать weewx. Теперь вам нужно загрузить NODEMCU ESP8266 файлом Arduino.

Не забудьте указать свой Wi-Fi и адреса в файле. После загрузки проверьте последовательный вывод на наличие ошибок.

Через некоторое время вы должны увидеть значения на своем веб-сайте Weewx.

Шаг 7: Успех Soilsensor и устранение неисправностей

Успех Soilsensor и устранение неисправностей
Успех Soilsensor и устранение неисправностей

Если у вас все работает и вы видите значения, то выйдите на улицу и положите алюминиевую трубу в землю.

Хороший способ - нанести горячий клей на одну сторону трубы, а затем сжать трубу вместе, тогда у вас будет красивый верх, чтобы легче было приклеить ее к земле.

Сначала положите трубку в землю, можно мягко забить деревянной доской.

Если труба достаточно глубокая, вы можете положить цепь DS18B20 и провода питания в водонепроницаемый бокс.

Убедитесь, что ваш Wi-Fi работает в этом месте!

Если вы не знаете, какой датчик на какой глубине, есть 2 возможности.

Я тестирую между пальцами 1 ds18b20, у этого температура повышается.

Когда труба уже находится в земле, нормальным значением будет самая высокая точка - самая глубокая точка.

Шаг 8: Готово

Заканчивать
Заканчивать

Только конец

Публикуйте свои вопросы и показывайте свои темпы в комментариях!

Для получения дополнительной помощи присоединяйтесь к группам Weewx Google на:

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

Рекомендуемые: