вторник, 19 февраля 2013 г.

Погодная станция: продолжение (доступ через web)

В первой статье мы описали, как собрать погодную станцию с часами и использовали несколько различных датчиков (Oregon, BMP085, DHT11).

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

Все это станет возможным благодаря вот такому модулю сетевого интерфейса:

Модуль базируется на популярном чипе Wiznet W5100. Библиотека Ethernet, которая идет в составе среды Arduino, написана именно для него. Мы будем использовать именно эту библиотеку.

Помимо самого модуля (для удобства подключения к Grove Base Shield) нам потребуется два вот таких кабеля:

Для того, чтобы без проблем подключить LAN-модуль к нашей погодной станции, необходимо в ее конструкцию внести одно незначительное изменение: модуль светодиода переподключить с D13 на D8 (поскольку D13 нам потребуется для подключения LAN-модуля).

Теперь подключаем LAN-модуль следующим образом:
  • Перывй кабель (как на фото выше) подключаем к разъему SPI (на Grove Base Shield):
    • черный провод (D10) подключаем к пину NSS на LAN-модуле
    • красный провод (D11) - к пину MO (LAN)
    • белый провод (D12) - к пину MI (LAN)
    • желтый провод (D13) - к пину SCK (LAN)
  • Второй кабель подключаем к разъему 7 (будем использовать пины с питанием и D7):
    • черный провод (G) - к пину GND (LAN)
    • красный провод (V) - к пину VDD (LAN)
    • желтый провод (D7) - к пину RST (LAN)
    • белый провод (D8) - не используется, но для того, чтобы он не "болтался" подключим его к любому пину NC (LAN)

Должно получиться примерно так:
Теперь достаточно обновить скетч (в конце статьи есть ссылка на архив). 

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

В нашем случае таким адресом оказался 192.168.1.222.

Если все сделано правильно, то при обращении по этому адресу появится вот такая страница:
Как видите, все данные, что мы видели на дисплее нашей погодной станции отображаются на веб-странице. 

Если ваш провайдер предоставляет реальный ("белый") IP-адрес и вы правильно настроите роутер, то сможете открывать эту страницу не только из домашней сети, но и вообще из любой точки, где есть Сеть.

Примечание: поскольку ардуина с сетевым интерфейсом является очень маломощным "компьютером" - не следует серьезно нагружать их множественными одновременными запросами - они просто не выдержат и повиснут. 

Архив с текстом скетча находится по ссылке.

1 комментарий:

  1. А это можно все прикрутить к Majordomo (smartliving.ru) ? Покрвсивше чтоб выглядело. Или сделать поприятней вывод на самой страничке 192.168.*.* ?

    И большое спасибо за подробный мануал!

    ОтветитьУдалить