onsdag, november 26, 2014

Styra en Sony Bravia TV via nätverket

Jag snubblade av en slump över lite info om hur Sony Bravia TV-apparater kan styras över nätverket.
Tidigare har jag använt Media Remote , en av Sonys egna appar. Totalt overkill och hittar ibland inte TV:n i nätverket, vilket leder till att man måste starta om och välja apparat igen, sedan välja den "avancerade" kontrollen för att komma åt AV-inställningar eller volym. Många jobbiga klick för en enkel manöver.

Jag har haft på att-göra-listan att försöka sniffa trafiken från appen i telefonen för att se hur styrningen gått till men det har inte blivit av.
Det finns dock andra som gjort detta och delat med sig :)

Läs mer här: http://www.openremote.org/display/forums/Sony+TV+HTTP+control

Bravia TV-apparaterna tar emot xml som kan postas med till exempel curl.

För att skruva upp volymen skickar man följande till TV:n med till exempel curl (Där sekvensen AAAAAQAAAAEAAAASAw== är koden för volym up.)



Här är fler koder för diverse funktioner, saxat från en kommentar till länken lite högre upp:

'Analog': 'AAAAAgAAAHcAAAANAw==',
'Audio': 'AAAAAQAAAAEAAAAXAw==',
'Blue': 'AAAAAgAAAJcAAAAkAw==',
'ChannelDown': 'AAAAAQAAAAEAAAARAw==',
'ChannelUp': 'AAAAAQAAAAEAAAAQAw==',
'Confirm': 'AAAAAQAAAAEAAABlAw==',
'Display': 'AAAAAQAAAAEAAAA6Aw==',
'Down': 'AAAAAQAAAAEAAAB1Aw==',
'EPG': 'AAAAAgAAAKQAAABbAw==',
'Exit': 'AAAAAQAAAAEAAABjAw==',
'Forward': 'AAAAAgAAAJcAAAAcAw==',
'Green': 'AAAAAgAAAJcAAAAmAw==',
'Home': 'AAAAAQAAAAEAAABgAw==',
'Input': 'AAAAAQAAAAEAAAAlAw==',
'Left': 'AAAAAQAAAAEAAAA0Aw==',
'Mute': 'AAAAAQAAAAEAAAAUAw==',
'Next': 'AAAAAgAAAJcAAAA9Aw==',
'Num0': 'AAAAAQAAAAEAAAAJAw==',
'Num1': 'AAAAAQAAAAEAAAAAAw==',
'Num2': 'AAAAAQAAAAEAAAABAw==',
'Num3': 'AAAAAQAAAAEAAAADAw==',
'Num4': 'AAAAAQAAAAEAAAADAw==',
'Num5': 'AAAAAQAAAAEAAAAEAw==',
'Num6': 'AAAAAQAAAAEAAAAFAw==',
'Num7': 'AAAAAQAAAAEAAAAGAw==',
'Num8': 'AAAAAQAAAAEAAAAHAw==',
'Num9': 'AAAAAQAAAAEAAAAIAw==',
'Options': 'AAAAAgAAAJcAAAA2Aw==',
'PAP': 'AAAAAgAAAKQAAAB3Aw==',
'Pause': 'AAAAAgAAAJcAAAAZAw==',
'Play': 'AAAAAgAAAJcAAAAaAw==',
'Prev': 'AAAAAgAAAJcAAAA8Aw==',
'Red': 'AAAAAgAAAJcAAAAlAw==',
'Return': 'AAAAAgAAAJcAAAAjAw==',
'Rewind': 'AAAAAgAAAJcAAAAbAw==',
'Right': 'AAAAAQAAAAEAAAAzAw==',
'Stop': 'AAAAAgAAAJcAAAAYAw==',
'SubTitle': 'AAAAAgAAAJcAAAAoAw==',
'SyncMenu': 'AAAAAgAAABoAAABYAw==',
'Up': 'AAAAAQAAAAEAAAB0Aw==',
'VolumeDown': 'AAAAAQAAAAEAAAATAw==',
'VolumeUp': 'AAAAAQAAAAEAAAASAw==',
'Wide': 'AAAAAgAAAKQAAAA9Aw==',
'Yellow': 'AAAAAgAAAJcAAAAnAw==',
'HDMI1': 'AAAAAgAAABoAAABaAw==',
'HDMI2': 'AAAAAgAAABoAAABbAw==',
'HDMI3': 'AAAAAgAAABoAAABcAw==',
'HDMI4': 'AAAAAgAAABoAAABdAw==',
//not tested:
'Replay': 'AAAAAgAAAJcAAAB5Aw==',
'Advance': 'AAAAAgAAAJcAAAB4Aw==',
'TopMenu': 'AAAAAgAAABoAAABgAw==',
'PopUpMenu': 'AAAAAgAAABoAAABhAw==',
'Eject': 'AAAAAgAAAJcAAABIAw==',
'Rec': 'AAAAAgAAAJcAAAAgAw==',
'ClosedCaption': 'AAAAAgAAAKQAAAAQAw==',
'Teletext': 'AAAAAQAAAAEAAAA/Aw==',
'GGuide': 'AAAAAQAAAAEAAAAOAw==',
'DOT' : 'AAAAAgAAAJcAAAAdAw==',
'Digital': 'AAAAAgAAAJcAAAAyAw==',
'BS' : 'AAAAAgAAAJcAAAAsAw==',
'CS' : 'AAAAAgAAAJcAAAArAw==',
'BSCS': 'AAAAAgAAAJcAAAAQAw==',
'Ddata': 'AAAAAgAAAJcAAAAVAw==',
'InternetWidgets': 'AAAAAgAAABoAAAB6Aw==',
'InternetVideo': 'AAAAAgAAABoAAAB5Aw==',
'SceneSelect': 'AAAAAgAAABoAAAB4Aw==',
'Mode3D' : 'AAAAAgAAAHcAAABNAw==',
'iManual' : 'AAAAAgAAABoAAAB7Aw==',
'Jump' : 'AAAAAQAAAAEAAAA7Aw==',
'MyEPG': 'AAAAAgAAAHcAAABrAw==',
'ProgramDescription': 'AAAAAgAAAJcAAAAWAw==',
'WriteChapter': 'AAAAAgAAAHcAAABsAw==',
'TrackID' : 'AAAAAgAAABoAAAB+Aw==',
'TenKey': 'AAAAAgAAAJcAAAAMAw==',
'AppliCast': 'AAAAAgAAABoAAABvAw==',
'acTVila': 'AAAAAgAAABoAAAByAw==',
'DeleteVideo': 'AAAAAgAAAHcAAAAfAw==',
'EasyStartUp': 'AAAAAgAAAHcAAABqAw==',
'OneTouchTimeRec': 'AAAAAgAAABoAAABkAw==',
'OneTouchView' : 'AAAAAgAAABoAAABlAw==',
'OneTouchRec' : 'AAAAAgAAABoAAABiAw==',
'OneTouchRecStop' : 'AAAAAgAAABoAAABjAw==',

tisdag, november 04, 2014

Årets Halloweenutstyrsel

En barndomsvän brukar årligen anordna en uppskattad Halloweenfest. Det är alltid kul för att det är tradition att klä ut sig och fixa en cool outfit.
I år hade jag inte så mycket tid så jag knåpade ihop två lysande(höhö) accessoarer.

Först gjorde jag ett par Neopixelring-goggles, gjorda mer eller mindre rakt av från Adafruits utmärkta guide (fast jag änvände gemma-kortet istället för trinket).
Som strömkälla avnände jag ett 500mAh li-ion batteri. Det testkördes och klarade nästan tio timmar vilket var nice.
Jag hade inga färdiga goggles så jag freestylade med papp, konstläder och superlim.

Här är ett kollage av resultatet:

Eftersom jag var ute i rätt god tid för en gångs skull fick jag för mig att även göra en el-wire slips.
El-wire är ett slags fluorescerande neon-snöre som matas med högspänning från en inverter.
Tråden är ganska lätt att jobba med (tänkt dig en ståltråd). Man ska dock inte böja och bocka för mycket eftersom tråden kärna är en enkel kopparledare.

Det var en väldigt enkel och effektfull sak att bygga. Tråden tråcklades fast med "osynlig" tråd (transparent nylontråd) och tråden bockades i hörnen för att få slipsform. Invertern jag använde var i klumpigaste laget men jag la den i bröstfickan, gjorde ett hål på insidan av fickan och lät tråden från el-wire:n gå via skjortan mellan två av knapphålen.




Kort film på resultatet.