Här finns bra beskrivning på hur man integrerar med exhange från PHP:
http://www.howtoforge.com/talking-soap-with-exchange
Den har vi utgått från när vi sen skrivit vår version:
http://projekt.auml.se/websvn/HomeAutom ... tegration/
(exchange.php är den intressanta filen)
Just nu har vi tre stycken "konferensrumsdisplayer" uppsatta på jobbet, dessa tre sitter på ett CAN-nät vilket vi kopplat med en vanlig telefonkabel (sån här:
http://se.farnell.com/1461484), två trådar till CAN och två till matningspänning/GND.
Själva enheterna är enkla slavar: vrider man på vredet skickas information på CAN, för att få text på displayen måste man skicka CAN-paket med texten, för att styra RGB-LEDen så måste man skicka CAN-paket med PWM-data.
Så logiken ligger på en pc.
För att kommunicera mellan pcn och CAN-nätet finns en can-ethernet-gateway.
Logiken är skriven i javascript och exekveras i ett ramverk som kör googles javascriptmotor V8. Det innebär alltså att det är ganska enkelt att skriva om logiken.
Vårt script för att köra displayerna:
http://projekt.auml.se/websvn/HomeAutom ... Display.js
Så här kan det se ut när det kommer inkommande data från vredet:
Kod: Markera allt
Display.prototype.rotaryPosUpdate = function(SwitchId)
{
this.screenSaverCnt = 0;
this.mainScreenCnt = 0;
for (var i = 0; i < this.myRotaryService.getSteps(SwitchId); i++)
{
if (this.myRotaryService.getDirection(SwitchId) == "Clockwise")
{
if (this.currentMenuItem.doRight)
{
this.currentMenuItem.doRight();
}
}
else
{
if (this.currentMenuItem.doLeft)
{
this.currentMenuItem.doLeft();
}
}
}
this.updateDisplay();
}
All kod och all hårdvara vi använt finns tillgänglig.
Dessa kort är själva CAN-noden med AVRmega168:
http://projekt.auml.se/homeautomation:h ... r:corecard
De finns färdigmonterade att köpa av mig

cirka 150sek.
Dessa kort är display+rotary encoder:
http://projekt.auml.se/homeautomation:h ... nsion:clcd
De är inte monterade men PCBt kan köpas av mig för cirka 25sek.
Dessa är till för RGB-LEDen:
http://projekt.auml.se/homeautomation:h ... n:touchexp
De är inte monterade men PCBt kan köpas av mig för cirka 15sek.
Vi har använt ascii-OLED på 2x20 tecken men vanlig ascii-LCD går ju bra också.
Sen behövs det lite kringkomponenter som kontaktdon osv. Kanske hamnar runt 500sek för hårdvaran för en display.
Vi kan ju bygga åt dig annars men det kostar ju mer såklart

Sen är det ju inte lika roligt som att bygga själv.