robotev :: blog

август 12, 2011

WebTVGiude

Публикувано в: Правя — Етикети:, , , , , — robotev @ 20:24

 

Същност на проекта

Контролерът Arduino Web TV Guide е разработен специално за конкурса „Ардуино в Интернет“ на www.robotev.com. Контролерът представлява устройство, командващо даден телевизор през интернет. Представете си как си седите пред телевизора и се чудите какво да гледате. Грабвате си лаптопа, таблета или GSM-а с WiFi, отваряте програмата на телевизията, харесвате си даден филм или предаване и в следващият момент вашия телевизор се сменя сам на избрания канал. Ако контролерът трябва да се опише с няколко думи, то най-точното описание е уеб базирано дистанционно управление.

Видео – описание на хардуера

Видео – декодиране на сигнали от дистанционно

Теория за IR комуникация

Контролерът комуникира с телевизора, както всяко едно дистанционно управление, а именно посредством инфрачервен интерфейс. Преди представянето на WebTVGuide, даваме малко теория за инфрачервената комуникация(IR).

Различните устройства използват различни протоколи и команди за комуникация по инфрачервен път.

Протокол

Протоколът по своята същност представлява описанието и форматът на разменяните съобщения. При този вид комуникация се използват инфрачервени сигнали, които се изпращат от предавателя към приемникa. Различните производители на телевизори използват различни IR протоколи. IR комуникацията може да бъде представена така:

IR команда

Командата е същинската предавана информация. При дистанционните управления всеки бутон представлява уникална команда. Една и съща функция в различните протоколи може да бъде представена с различни команди.

[ Повече информация за IR протоколите и командите ]

Принцип на работа на контролера

  • Комуникацията между клиента се извършва на 3 фази: Клиент –> Web Server: тук комуникацията е стандартен HTML протокол с GET/POST съобщения.
  • Web Server -> Arduino WebTVGuide: използва се SOCKET комуникация. Web сървърът изпраща 4 байтово съобщение, представляващо идентификатора на телевизионния канал. Този идентификатор (ID) е универсален и не зависи от модела и марката на телевизорът.
  • Arduino WebTVGuide -> Телевизор: контролерът декодира полученото съобщение и изпраща специфични инфрачервени команди за промяна на телевизионния канал. Тези команди са специфични и различни за всяки марка и модел телевизор.

Хардуер на контролера

Необходими компоненти

Хардуерът на контролерът се състои главно от 3 части:

Ардуино (Arduino Duemilanove) с ATmega328 [ линк ]
Ардуино шийлд – Ethernet със SD слот [ линк ]
WebTVGuide шийлд – IR предавател и приемник

WebTVGuide Shield

За по-пригледно компонентите са на една платка, за да няма стърчащи жици. Изработката му е лесна и не се изискват специални умения.

На платката са разположени 3 светодиода, използвани за индикация на различни състояния на контролера, TSOP и бутон за декодиране на сигналите на дистанционното за съответният телевизор.

Повечето елементи на платката са опционални. Зеленият светодиод показва, че контролерът работи нормално. Червеният – възникнала е грешка по време на инициализирането. Жълтият – контролерът се намира в режим на четене на IR команди от дистанционното. Бутонът е за влизане в този режим.

Използват се почти всичи пинове. 5 цифрови входа/изхода се използват от Ethernet шийлда, 6 – от WebTVGuide шийлда.

Използвани пинове:

02 – Бутон за декодиране
03 – IR светодиод
04 – SS (SD)
05 – ERROR светодиод (Червен)
06 – ОК светодиод (Зелен)
07 – IR TSOP

10 – SS (Ethernet)
11 – MOSI
12 – MISO
13 – SCK

A1 – RECORD светодиод (Жълт)

Софтуер на контролера

За програмиране на контролера е необходима Arduino среда. В случая е използвана Arduino 0022 за Windows [ линк ]. Изискванията на библиотеките са всичко след 0017.

Използвани библиотеки:

Ethernet.h – официалната библиотека за Ethernet Shields [ линк ]
SD.h – библиотека за достъп и управление на SD картата [ линк ]
SPI.h – библиотека за управление на SPI шината [ линк ]
IRemote.h – библиотека за управление на IR светодиода и TSOP-а [ линк ]

* първите три библиотеки вървят стандартно с Arduino средата. Последната трябва да се свали и копира в папката libraries. По подразбиране Arduino\arduino-0022\libraries\

Принцип на работа

Архив с всички файлове (включва Ардуино скица, използваните библиотеки, примерни файлове, електрическа схема и EAGLE файл на WebTVGuide Shield-а).

Автор на проекта е Ивайло Димов.

Този проект участва в конкурса „Ардуино в Интернет“. Подкрепете го като гласувате за него във Facebook.

Share and Enjoy:
  • Facebook
  • Twitter
  • Technorati
  • RSS
  • StumbleUpon
  • Print

1 Коментар »

  1. [...] Автор на проекта е Ивайло Димов. Източник: http://robotev.com/blog/2011/08/webtvgiude/ [...]

    Pingback от Интересни проекти за домашна автоматизация v.1 | Home Automation / Домашна автоматизация — август 24, 2011 @ 16:58

RSS хранилка за коментарите по тази публикация. Адрес за TrackBack

Вашият коментар

Задвижвано от WordPress