Arduino Weather Station (OREGON EDITION)
Погодная станция на базе
Arduino Mini Pro + Oregon THGN122N + ENC28J60 + BMP180
· http://narodmon.ru/5849 ·

Отличительные черты проекта:

- сбор данных с датчиков погодных станций OREGON типа THGR122N, THGN132N и т.п.
- Локальный WEB интерфейс · 55.7307N, 37.6709E ·
- подключение к сервису · Народный мониторинг ·

Связаться с автором · Тимур М. Омаров ·

Комплектующие:

  • Arduino Mini Pro
  • Датчик температуры и влажности Oregon THGN122N
  • Датчик давления BMP180 или BMP085
  • Ethernet адаптер ENC28J60
  • Премник XY-MK-5V 433Mhz
  • Кусок антенного провода 17см
  • Регулятор напряжения · LM7805 ·
  • Конденсаторы (0,1uF и 0,33uF)
  • Пластиковый бокс

Ключевые моменты:

Ethernet ENC28J60

Модули ENC28J60 мне встречались двух видов 3,3В и 5В.
И те и другие крайне капризны к питанию и требуют отдельного от Arduino питания, Arduino просто не может выдать необходимый модулю ток и он будет работать, но крайне не стабильно.
Так же у меня были проблемы с китайскими блоками питания USB, с ними были хаотично возникающие глюки, модуль то работал стабильно, то не работал вовсе.
Я решил не мудрить и взял блок питания на 9 вольт и собрал преобразователь напряжения на базе · LM7805 · + два конденсатора по схеме из datasheet и получил на выходе честные 5 вольт и отсутствие глюков (LM7805 работает с разным входящим напряжением от 5 до 18 вольт).
Преобразователь напряжения греется конечно, но без радиатора работает успешно в закрытом боксе без вентиляции.
При окончательной сборке, я приклеил его к пластиковой крышке для большей площади рассеивания тепла и по показателям инфракрасного градусника температура упала и прилично.
В случае 3,3 вольтового ENC28J60 стоит обратить внимание на · LM317 · из которого можно получить широкий диапазон питания.

· Библиотека EtherCard ·

Приемник XY-MK-5V 433Mhz

Подключаем к D3.
Ключевой момент в моделе приемника 433mhz - это антенна, я делал как спиральные, так и простые антены. По опыту эксплуатации, скажу одно, проще и надежнее простой отрезок изолированного провода в 16,5 - 17 см.

· Документация по антеннам 433Mhz ·


Датчик давления BMP180 или BMP085

Оба датчика работаю с библиотекой BMP085.

· Библиотека BMP085 ·

Исходник v.5.7. от 26.07.2016

· NMServer_v5_OREGON_MiniPro.ino ·

Вместо пар нулей (выделены красным) в следующих двух строчках подставить любые значения,
подходящие под значения MAC адреса.
Строки дублируют один и тот же MAC адрес.
static byte b_mac[] = { 0xD4,0xCA,0x6D,0x00,0x00,0x00 };
char c_mac[]="D4CA6D000000";

Changelog and bugfixes:

01.11.2015 - Ведется борьба с зависанием Arduino, проблема похоже в нехватке памяти. На данный момент почистил код, в том числе уменьшил объем символов WEB страницы, в этой версии закомментировал автоматический рефреш.

29.12.2015 - Вчера завис опять, но проработал очень долго почти полтора месяца, при чем WEB интерфейс работал, а данные на NM отправлялись с ошибкой сначала, потом и вовсе перестали отправляться. Ощущение что не вычищается буфер в библиотеке EtherCard, пытаюсь разобраться...

26.07.2016 - Обновлен IP адрес narodmon.ru, добавлен WATCHDOG таймер + Небольшие изменения в интерфейсе и коде, исправлены небольшие баги. Обновил библиотеки.
Внимание! WATCHDOG таймер работает не на всех моделях ARDUINO, точнее в 80% случаев работать не будет. В связи с этим необходимо прошить BOOTLOADER на версию OPIBOOT, данный загрузчик поддерживает данную функцию. В этой статье детально описана проверка Arduino на работу функции Watchdog и перепрошивка бутлоадера. Признаюсь, мне пришлось покапаться в интернете, чтобы все таки научиться и понять тонкости перепрошивки, тем более когда используется Arduino в качестве программатора.

ToDo:

- К весне подключить такое же устройство по адресу · с. Семеновское, Ступинский район. ·
20.09.2015 - проект реализован на Arduino Mega 2560 + W5100.
07.02.2016 - · Исходник для Arduino Mega 2560 + W5100. ·
- Расширение функционала анемометром и счетчиком Гейгера, путем добавления второго удаленного устройства (хватило бы памяти...).

Итог

Данный экземпляр работает по адресу: · Москва, Волгоградский проспект д.6. ·







Литература и благодарности

В первую очередь большое спасибо, создателям сервиса · Народный мониторинг ·.

· Arduino&Oregon или погодная станция своими руками ·

· Подключение Arduino Pro Mini + Enc28j60 + DHT11 + DS18B20 к сервису narodmon.ru ·

А так же, большое спасибо · Дмитрию Осипову · за его уроки.

© 2015 Timur M. Omarov

Яндекс.Метрика