Najnowszy sprzęt Onkyo (produkowany od 2010 roku) został wyposażony w złącze Ethernet (LAN) do łączności przez sieć oraz możliwości sterowania z zewnętrznego sprzętu. Onkyo posiada własny protokół sterowania swoimi urządzeniami „ICSP” dla RS232 oraz rozszerzony o dodatkowe nagłówki „eICSP” dla Ethernetu. Dzięki temu Inteligentny Dom eHouse może bezpośrednio sterować sprzętem Onkyo bezpośrednio przez sieć LAN. Sterowanie przez RS-232 wymaga dodatkowego Hardwaru i fizycznego połączenia ze sprzętem więc stało się nieekonomiczne w sprzęcie nowszej generacji wyposażonym w złącze Ethernet.
Protokół ICSP wygląda następująco: „!1PWR00\x0D” (dla wyłączenia zasilania) gdzie:
- ’!’ – jest początkiem komendy
- cyfra jest to nr urządzenia
- komenda sterująca
- ’\0x0D’ znak końca linii
Protokół eICSP jest rozszerzony o Headery (nagłówki) i wygląda następująco:
ISCP\x00\x00\x00\x10\x00\x00\x00\x08\x01\x00\x00\x00!1PWR01\x1A\x0D (włączenie zasilania)
ISCP\x00\x00\x00\x10\x00\x00\x00\x08\x01\x00\x00\x00!1PWR00\x1A\x0D (wyłączenie zasilania) gdzie:
- Nagłówek stały: „ISCP\x00\x00\x00\x10\x00\x00\x00\x08\x01\x00\x00\x00”
- ’!’ początek komendy – jak w ICSP
- cyfra jest to nr urządzenia – jak w ICSP
- komenda sterująca – jak w ICSP
- znak końca ramki „\x1A” lub „\x1A\x0A” lub „\x1A\x0D\x0A” w zależności od urządzenia. gdzie \x1A = [EOF], \x0A – [LF], \x0D – [CR]
Komendy sterujące wysyła się bezpośrednio z klienta TCP lub socketów TCP. Ponieważ nagłówek zawiera dane zapisane binarnie nie można zrobić tego ze standardowego Telneta.
Wg. dokumentacji urządzenia akceptują tylko jedno połączenie a producent rekomenduje utrzymywanie otwartego połączenia TCP.
Jednak jeśli chcemy sterować bezpośrednio z różnych urządzeń lub uniezależnić się od błędów sieci, oprogramowania lepiej jest wysłać komendę sterującą, odczekać na odbiór potwierdzenia ze sprzętu A/V a następnie rozłączyć połączenie TCP od sprzętu.
Tracimy w ten sposób online’owe odbieranie statusów komend sterowanych z zewnątrz np przez podczerwień ale w większości przypadków nie jest to koniecznie. Integracja pełna wymagałaby zaimplementowania całego statusu sprzętu A/V w panele sterujące (dedykowanego rozwiązania) dla danego sprzętu.
z poziomu aplikacji eHouse4cServer zdarzenie sterowania sprzętem A/V ma postać „onkyo%IP%%Komenda%” gdzie %IP% jest adresem IP urządzenia ONKYO, %KOMENDA% jest kodem ISCP np „!1PWR00”. Oprogramowanie eHouse4cServer samo dodaje header i footer przed wysłaniem zdarzenia do sprzętu A/V.
Protokół ONKYO eICSP:
eISCP Header | I | S | C | P | |||||||||||||||||||||||||||||||||||||||||||||||||||||
Header Size | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data Size | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Version | Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
eISCP Data | 1stChar | 2ndChar | 3rdChar | 4thChar | |||||||||||||||||||||||||||||||||||||||||||||||||||||
5thChar | ISCP Message | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EndChar | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
eISCP Data(=ISCP Message) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1st | 2nd | 3rd-5th | 6th- | last | |||||||||||||||||||||||||||||||||||||||||||||||||||||
! | 1 | P | W | R | 0 | 1 | [EOF] | [CR] | [LF] | ||||||||||||||||||||||||||||||||||||||||||||||||