1

Etapa 1

Собрать устройство

2

Etapa 2

Написать прошивку

3

Etapa 3

Получать данные с устройства

4

Etapa 4

Установить ОС на сервер

5

Etapa 5

Написание программы для обработки данных, получаемых с Arduino

6

Etapa 6

Установка веб-сервера

7

Etapa 7

Установка базы данных

8

Etapa 8

Верстка и дизайн

9

Etapa 9

Добавить веб-страницу со статистикой

10

Etapa 10

Отладка

11

Etapa 11

Финал

12

Etapa 12

Тестирование веб-сервера

13

Etapa 13

Установка CGI-сервера

1

Etapa 1

Собрать устройство

2

Etapa 2

Написать прошивку

3

Etapa 3

Получать данные с устройства

4

Etapa 4

Установить ОС на сервер

5

Etapa 5

Написание программы для обработки данных, получаемых с Arduino

6

Etapa 6

Установка веб-сервера

7

Etapa 7

Установка базы данных

8

Etapa 8

Верстка и дизайн

9

Etapa 9

Добавить веб-страницу со статистикой

10

Etapa 10

Отладка

11

Etapa 11

Финал

12

Etapa 12

Тестирование веб-сервера

13

Etapa 13

Установка CGI-сервера

09 marzo 2014 06 abril 2014
Objetivo completado 12 mayo 2014

Autor del objetivo

Andrew Shubin

Rusia, Новосибирск

31 año / año / año

Negocio y Finanzas

Создать систему мониторинга температуры и влажности.

На самом деле система уже есть, но я решил её переделать чуть ли не с нуля.

В систему входит:

  • Arduino Duemilanove
  • DHT11 для мониторинга температуры и влажности дома
  • DHT22 длямониторинга температуры и влажности на улице
  • Монохромный LCD-дисплей для отображения данных
  • Raspberry Pi

Arduino должна собирать данные с датчиков, отображать их на дисплее, а так же передавать Raspberry Pi. Raspberry Pi должна принимать данные, в реальном времени отображать текущие показания на веб-странице, раз в 5 минут писать показания в базу данных и отправлять насервис народного мониторинга. Так же сайте системы должна быть возможность просмотра статистики (за сутки, неделю, месяц, год) в виде графиков.

  1. Собрать устройство

    Устройство будет представлять собой Arduino + два датчика температуры и влажности (один уличный DHT22, один домашний DHT11) + монохромный LCD-дисплей. Уличный датчик будет вынесен за окно и находиться в непрозрачной емкости (для предотвращения попадания прямых солнечных лучей и влаги). Планируется пластиковая бутылка, разрезанная наполовину (часть с горлышком).

    Arduino — аппаратная вычислительная платформа, основными компонентами которой являются простая плата ввода-вывода и среда разработки на языке Processing/Wiring.

    В данном случае используется Arduino Duemilanove (не оригинальная).

    Ниже фото как это выглядело раньше =)

  2. Написать прошивку

    Собственно из-за прошивки всё и началось, я её потерял (не сделал бэкап при переустановке ОС). Конечно я мог написать такую же, но решил переделать всё.

    Нам нужнополучить с уличного и домашнего датчика данные о влажности и температуре, отобразить на дисплее, а также сформировать JSON-подобную строку с данными и отправить через SerialPort (USB в данном случае) на сервер.

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

    Для простоты работы воспользуемся библиотеками для датчиков серии DHTи LCDдисплея. Писать будем в Arduino IDE.

  3. Получать данные с устройства

    На этом этапе немного поиграемся с разными языками программирования, получая JSON через Serial Port.

    Немного поменял данные, которые принимает Raspberry Pi.

  4. Установить ОС на сервер

    OC (Raspbian) на Raspberry Pi я уже порядочно позасрал. Хотел бы поставить чистенькую ось.

    Сюда же будет входить установка полезных утилиток, драйверов (для wi-fi адаптера) и т.д.

  5. Написание программы для обработки данных, получаемых с Arduino

    Программка должна слушать Serial Port, ловить JSON-строку, если есть ошибки - сообщать о них, и записывать ошибку в БД, а так же отправлять данные о погоде на narodmon.ru, в базу данных и на сайт.

  6. Установка веб-сервера

    Веб-сервером я скорее всего выберу nginx, хоть с Apache2 я знаком лучше.

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

    Так же веб-сервер должен работать с тремя доменами (по меньшей мере).

  7. Установка базы данных

    Базой данных скорее всего станет MySQL. У неё есть очень удобная админка (phpMyAdmin), у других тоже есть, но этот набор привычнее.

  8. Верстка и дизайн

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

  9. Добавить веб-страницу со статистикой

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

  10. Отладка

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

  11. Финал

    Система целиком работает какое-то время, чтобы можно было сделать о неё какие-то выводы.

    Например с прошлой системой было много проблем:

    • Если умирал роутер, то после его перезагрузки Raspberry сама к нему не подключалась, нужно было перезагружать.
    • После перезагрузки Raspberry Pi все скрипты приходилось включать вручную.
    • Не устраивала работа веб-сервера.
  12. Тестирование веб-сервера

    Погонять тестовые странички, разные домены, CGI-сценарии и т.д.

  13. Установка CGI-сервера

    В прошлый раз всё крутилось на PHP (в плане сайта). Теперь я хочу сайт сделать на Python.

  • 9254
  • 09 marzo 2014, 08:08
Registración

Las posibilidades
están ilimitadas.
Es la hora
de descubrir las suyas

Уже зарегистрированы?
Entrada al sitio

Entre.
Está abierto.

¿Aún no está registrado?
 
Conéctese a cualquiera de sus cuentas, sus datos se tomarán de la cuenta.
¿Ha olvidado la contraseña?