Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Метеостанция Raspberry Pi 2

Наше хакерское пространство (Bloominglabs) недавно получило от щедрого благотворителя метеостанцию ​​ADS-WS1. Вдобавок, мы были выбраны Instructables для хакатона Raspberry Pi 2, так что у нас есть несколько RPi2 для взлома. В своем проекте я решил использовать RPi2, чтобы разместить нашу метеостанцию ​​в сети.

Наша станция может измерять направление ветра, скорость ветра, дождь, температуру и влажность. Устройство может выводить данные разными способами, включая последовательный. Мне нужен был способ прочитать данные и передать их с опоры в нашу сеть. Raspberry Pi 2 прекрасно справится с этой задачей, подключив PoE к водонепроницаемому корпусу на мачте.

Шаг 1. Список деталей

1) Метеостанция ADS-WS1 (подойдет любая метеостанция, поддерживающая последовательный вывод данных)
2) Raspberry Pi (подойдет любая версия, мы использовали версию 2)
3) Адаптер Serial-to-USB
4) Последовательный кабель как минимум с одной розеткой DB9
5) Ethernet - достаточно, чтобы подключиться к вашей наружной метеостанции
6) Блок питания 5 В, 1-2 А
7) Внешний корпус

Необязательно, но рекомендуется:
8) Ограничитель перенапряжения Ethernet
9) Адаптеры подачи питания через Ethernet

Первым делом приобретите метеостанцию. Я использовал станцию ​​ADS-WS1 от Argent Data, но это не требуется. Однако это устройство очень хорошо документировано, а также имеет интегрированный TNC для передачи данных о погоде через APRS (если вы подключите его к любительскому радио). Однако это не требуется для того, что я делаю, все, что мне нужно, - это вывод последовательного порта для чтения данных. Потребляемая мощность составляет всего 50 мА, поэтому его можно подавать через RPi или отключать от источника питания RPi.
http://wiki.argentdata.com/index.php?title=ADS-WS1…

Шаг 2. Настройте ОС на Rasperry Pi 2

Вы можете использовать любую ОС, но я использовал Raspbian 7.1 на SD-карте 8 ГБ. Следуйте инструкциям для ОС, в которой вы работаете:

https://www.raspberrypi.org/documentation/installa…

После того, как вы подготовили SD-карту, установите ее в RPi2 и включите. Полезно иметь локальную консоль (дисплей с поддержкой HDMI и USB-клавиатуру). Raspbian должен использовать DHCP по умолчанию и подключаться к вашей сети, если у вас есть маршрутизатор. Однако я обнаружил, что это промахи.

В остальной части этого документа предполагается, что вы имеете некоторое базовое знакомство с Linux, документы Raspberry Pi очень хороши, если у вас возникнут проблемы с установкой RPi2 отсюда:

https://www.raspberrypi.org/documentation/

И последнее, что нужно сделать на этом этапе - подключить адаптер USB-Serial. Предполагая, что это стандартный FTDI или другое распространенное устройство Serial-to-USB, Raspbian автоматически настроит его. После подключения вы должны увидеть новое устройство / dev / ttyUSBx.

 [адрес электронной почты защищен] ~ $ ls / dev / ttyUSB * / dev / ttyUSB0 

Предполагая, что это единственное подключенное устройство USB-to-Serial, это будет / dev / ttyUSB0. Команда «lsusb» отобразит все ваши USB-устройства, что может помочь вам идентифицировать устройство, если оно не отображается правильно:

 [email protected] ~ $ lsusb 
Шина 001 Устройство 002:ID 0424:9514 Standard Microsystems Corp. Шина 001 Устройство 001:ID 1d6b:0002 Linux Foundation 2.0 root hubBus 001 Устройство 003:ID 0424:ec00 Стандартные микросистемы Corp. Bus 001 Устройство 005:ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC

Я предпочитаю устанавливать статический IP-адрес, так как на одну вещь меньше беспокоиться о том, что что-то пошло не так, когда RPi2 находится на опоре в небе. Отредактируйте / etc / network / interfaces и измените эту строку:

 iface eth0 inet dhcp 

К этой строке:

 iface eth0 inet static 

И добавьте эти строчки. Замените IP-адрес и шлюз соответствующими значениями для вашей сети:

 адрес 192.168.x.xnetmask 255.255.255.0 Gateway 192.168.x.x 

Теперь установите необходимое нам программное обеспечение, Apache2 для веб-сервера и некоторые другие утилиты. Minicom - хороший инструмент для проверки правильности работы последовательной связи, а wget предназначен для загрузки скрипта weather.sh в следующем разделе.

 apt-get install apache2apt-get install wgetapt-get install minicom 

Для будущего тестирования я рекомендую скачать этот скрипт:

 wget -O weather.sh "http://server1.nuge.com/~weather/software/weather -... 

Если по какой-то причине ссылка выше не работает, вы можете найти последнюю версию скрипта weather.sh здесь:

http://server1.nuge.com/~weather/

И последнее, но не менее важное:вам может потребоваться отредактировать файл / etc / group и добавить учетную запись «pi» или другую учетную запись, с которой вы будете тестировать, в группу «dialout». Это даст учетной записи соответствующие разрешения на чтение и запись на последовательное устройство (/ dev / ttyUSBx).

Шаг 3. Установите и настройте weewx, настройте службы для запуска при загрузке

Weewx - это программа, которая последовательно считывает данные с метеостанций нескольких производителей и представляет собой веб-интерфейс для графического представления данных.

 apt-get install weewx 

Теперь вам нужно его настроить. Отредактируйте /etc/weewx/weewx.conf и измените значения переменных. Файл конфигурации документируется самостоятельно, поэтому его легко настроить.

 # $ Id:weewx.conf 2901 2015-02-05 21:15:03Z tkeffer $ ## КОНФИГУРАЦИОННЫЙ ФАЙЛ WEEWX ## Copyright (c) 2009-2014 Tom Keffer # Полные права см. в файле LICENSE.txt. . ########################################################################## ############################# Этот раздел предназначен для общей информации о конфигурации # Установите 1 для дополнительной информации отладки, в противном случае закомментируйте ее или установите в ноль. debug =0 # Корневой каталог иерархии файлов данных weewx для этой станции. WEEWX_ROOT =/ # Как долго ждать до истечения времени ожидания соединения через сокет (FTP, HTTP):socket_timeout =20 # Не изменяйте это - он используется setup.py при установке и обновлении .version =3.1.0 ######################################### ########################################### [Станция] # Это Раздел для информации о вашей станции # Описание местоположения станции. location ="Bloominglabs - Bloomington, Indiana" # Широта и долгота в десятичных градусах ... 

Наконец, настройте apache2 и weewx для запуска при загрузке:

 update-rc.d apache2 по умолчанию 99 2update-rc.d weewx по умолчанию 99 2 

Теперь эти службы будут запускаться автоматически каждый раз при включении RPi2. Это должно быть все, что вам нужно для вашего RPi2.

Шаг 4. Подготовьте последовательный кабель и кабели питания

Для подключения контроллера вам понадобится всего 3 провода плюс 2 провода питания. На моей фотографии в 5 верхних привинчиваемых клеммах есть провода, они предназначены для отправки данных TNC / APRS на радиолюбитель и не требуются для этого урока.

Итак, сначала вам нужно подключить последовательный кабель к контроллеру погоды. Подключите кабель к адаптеру Serial-to-USB. Теперь отрежьте оставшийся конец последовательного кабеля, убедитесь, что у вас достаточно провисания, чтобы проложить кабель по мере необходимости и снять внешнюю оболочку с проводов не менее чем на 2 дюйма. Отдельные провода нужно только зачистить на 1/4 дюйма или около того. Вам нужно будет использовать мультиметр, чтобы наметить контакты кабеля и найти провода, соответствующие контактам 2, 3 и 5 контактов внутри корпуса DB9. Обычно, если вы внимательно присмотритесь, номера контактов указаны рядом с ними.

Провод контакта 2 идет к TXD1 на контроллере.
Провод контакта 3 идет к RXD1 на контроллере.
Провод контакта 5 идет на массу на контроллере.

После того, как все это подключено, вам понадобится немного энергии для контроллера. Аккумулятор на 9 В подойдет для тестирования, либо от источника питания 5 В или 12 В. Подключите плюсовой провод к входу постоянного тока, а заземляющий провод - к нижнему входу GND на контроллере.

Для этой установки я использовал пару адаптеров Power-over-Ethernet (PoE). Я запитал свой RPi2 и погодный контроллер от 5 В, я сделал адаптер для удаленного конца, чтобы разделить питание между ними. Поскольку это будет элемент, я использовал термоусадочную трубку, чтобы сделать соединение аккуратным и более устойчивым к погодным условиям. Несмотря на то, что все это будет в непромокаемом ящике, не помешает добавить дополнительные слои защиты на случай утечки.

И последнее, но не менее важное:источник питания 5 В для RPi2 подходит для питания обоих устройств. Фактически, вы можете отрезать разъем microUSB и использовать его на удаленном конце адаптера PoE.

Шаг 5. Убедитесь, что вы можете читать данные с метеостанции

Теперь вы можете включить RPi2 и контроллер. Как только они оба будут включены, используйте minicom, чтобы убедиться, что связь работает. Нам пришлось перепрошить прошивку в нашем контроллере ADS-WS1, прежде чем он заработал правильно. На контроллере есть интерактивный последовательный интерфейс, который может потребовать настройки. Арджент поддерживает вики-страницу для контроллера, которая включает команды, которые вы можете отправить юниту:

http://wiki.argentdata.com/index.php?title=ADS-WS1…

Как только контроллер отправляет обычные данные, попробуйте использовать скрипт weather.sh. Это должно подтвердить, что вы получаете разумные данные.

Шаг 6. Подготовьте снаряжение для использования на открытом воздухе

Теперь вам нужно поместить все в какой-нибудь контейнер для уличного контейнера. Технически вам следует построить экран Стивенсона, чтобы обеспечить правильные показания температуры наружного воздуха. Датчики температуры и влажности находятся внутри блока погодного контроллера (с отверстием для показаний).

http://en.wikipedia.org/wiki/Stevenson_screen

Но пока я использовал водонепроницаемую оболочку из ПВХ NEMA 4 ″. Обратной стороной является то, что мы не получаем показания влажности, а дневные показания температуры могут быть увеличены на 10-15 градусов по Фаренгейту. В будущем мы планируем построить экран Стивенсона для получения точных показаний.

Подробнее:Метеостанция Raspberry Pi 2


Производственный процесс

  1. Метеостанция на основе Raspberry Pi
  2. Метеостанция Raspberry Pi
  3. Удаленный мониторинг погоды с помощью Raspberry Pi
  4. DHT Tiny Breakout для Raspberry Pi
  5. Присоединяйтесь к IOT со своей метеостанцией - CWOP
  6. Универсальный пульт дистанционного управления Raspberry Pi
  7. Кусочек Raspberry Pi
  8. Cycle Chaser
  9. Детектор воров Raspberry Pi
  10. Датчик температуры Raspberry Pi