Sida 1 av 1

Rumsbokning info LCD

Postat: 26 juni 2009, 09:18:12
av mippen
För ett tag sedan stötte jag in på en hemsida där ett företag gjort en smidig ipod touch app.
Den visade rumsbokningar som var gjorda på ett specifikt rum.
Självklart har jag tappat bort länken :-(

I just detta fallet så tror jag dom kopplade ipod appen mot en egen server applikation.

Jag skulle vilja göra något liknande.
Att över nätverk kontakta vår Exchange server, få ut boknings info och presentera denna på en skärm.
Då det finns en mängd olika ethernet lösningar till uP så skulle jag vilja gå på en sådan.
Vill inte behöva ha en speciell app på en pc som trycker ut "text info" till displayerna.

Exchange servern används redan för rumsbokningarna så det vore bra att kunna använda denna info.

Steg 1 i projektet får bli att med en egen PC app kunna hämta exchange info.
Har inte hittat ngn lösning här ännu... hoppas det finns lite erfarenhet här på forumet ;-)

- Edit -

Inte applikationen jag tänkte på men i alla fall funktionen jag är ute efter:
http://www.ohgizmo.com/2008/01/10/roomw ... y-offices/
$2000 är lite i överkant för min smak så en egen lösning är både roligare och billigare.

Re: Rumsbokning info LCD

Postat: 26 juni 2009, 10:38:20
av johano

Re: Rumsbokning info LCD

Postat: 26 juni 2009, 10:41:16
av mippen
Japp

Var den jag tänkte på.
Skulle vilja göra ngt liknande som sagt.

Steg 1, lyckas skriva en app i sin dator som själv kan synca mot servern.
Steg 2, köra en egen LCD med en uP och visa lite info

Re: Rumsbokning info LCD

Postat: 26 juni 2009, 11:21:21
av eqlazer
Låter som du är ute efter vad vi precis gjort mot en Exchange-server.

Första bilden visar en av tre displayer vi har satt upp vid konferensrum
http://elektronikforumet.com/forum/view ... 89#p454089

Med detta systemet så kan man bläddra bland dagens bokningar och även boka. RGB-dioden har vi som status för om rummet är bokat eller ej, mycket smidigt då man ser det på långt håll (just nu använder vi bara rött och grönt). Dessa delar är ännu lite dåligt dokumenterade men det ska bli bättring på det.

Re: Rumsbokning info LCD

Postat: 26 juni 2009, 11:24:25
av mippen
Exakt Vad jag är ute efter :-D

Var inne och läste lite om projektet men uppfattade aldrig att du körde mot en exchange server.
Fick "bilden" av ett CAN baserat nätverk med egna "servrar".

Men om du redan idag kör mot exchange så vore jag mycket tacksam för mer info.
Precis sådana displayer hade varit fint att sätta upp på rummen.
Var beställer jag ;-)

Re: Rumsbokning info LCD

Postat: 26 juni 2009, 14:09:37
av eqlazer
Jag själv kan inte alla delar i systemet, men i princip är det vårt vanliga system med CAN-nät, gateway till ethernet, servermjukvara som med vi skriver logik/intelligens i javascript. För interaktionen med Exchange så går det via PHP och SOAP.
Verkar som arune snart kommer få tummen ur och göra en wikisida om Exchange-interaktionen och bokningssystemet. Får be att återkomma när vi har lite mer kött på benen (aka info i wikin) så blir det lättare att ta detaljerna då.

Hade du tänkt att bygga allt själv eller på vilken nivå ska det vara?

Re: Rumsbokning info LCD

Postat: 26 juni 2009, 14:13:03
av mippen
Steg 1 får bli att förstå exchange delen.
Sedan får man undersöka hur mycket jobb det är och vad som går att hitta färdigt.

Re: Rumsbokning info LCD

Postat: 26 juni 2009, 16:16:39
av arune
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.

Re: Rumsbokning info LCD

Postat: 26 juni 2009, 19:00:54
av eqlazer
Och just nu är det bara bokningssystemet som körs på displayerna men funderingar finns på att peta dit lunchmenyer från närliggande restauranger och busstidtabell. Det är ju "bara" lite javascriptande som behövs för det.

Re: Rumsbokning info LCD

Postat: 27 juni 2009, 08:52:57
av mippen
Tack för infon!
Hade lite svårt att få den öveblicken när jag surfade på er projekt sida.

CAN är ett trevligt protokoll.. Kör det som master bus på vår elektronik på jobbet.
Finns en och annan hw man kan leka vidare med där.
Dock så brukar det vara som vanligt, att man inte har exakt rätt anpassning.

Fanns det PCB:er hos er med LCD interface + can driver?
Själva byggandet är inga konstigheter.

Skall kika vidare på PHP bitarna.

Skulle gärna vilja slippa att köra logiken på en pc.
Alltid trevligt att minimera antalet noder i systemet.

Re: Rumsbokning info LCD

Postat: 27 juni 2009, 21:30:52
av arune
Fanns det PCB:er hos er med LCD interface + can driver?
Det framgick dåligt men vi har alltså ett monterat kort som har bas-funktion: AVR mega168, CAN, switchad DC/DC (http://projekt.auml.se/homeautomation:h ... r:corecard), alla oanvända portar på mcu:n går till en IO-header där man kan koppla in vad man behöver, så vi har tagit fram och beställt ett antal kort som man kan montera på "bas-kortet" (http://projekt.auml.se/homeautomation:h ... nsion:clcd är ett kort som kan kopplas på direkt, ett så kallat expansionskort). Det är alltså väldigt utvecklingsvänligt.

Vi har bootloader som fungerar på CAN, vilket gör att man enkelt kan flasha om dem när enheterna sitter på plats.
Vi har ett hyfsat smidigt system för att lägga in flera olika mjukvaror på samma bas-kort, alltså byggscript och sånt som hjälper till.
Logiken har vi lagt på en pc för att kunna skriva den enkelt. (vi har gjort lite experiment med att köra vårt logik-ramverk på en arm typ gumstix eller beagleboard för att slippa ha en pc utan något mer embedded med linux)
Skulle gärna vilja slippa att köra logiken på en pc.
Alltid trevligt att minimera antalet noder i systemet.
Absolut, jag tycker dock att så länge det inte gäller kritiska system så är det bättre att minimera prislappen. Alternativet i det här fallet är ju att köra nån nano-itx eller arm-kort (gumstix/beagleboard) och det blir dyrt, då är det nog billigare att köpa sina ipod-touch.

Re: Rumsbokning info LCD

Postat: 27 juni 2009, 23:41:24
av mippen
Helt sant att man skall ha prislappen som en tidig punkt i sin kravlista.
Gillar dock skarpt ert projekt!
Många intressanta lösningar och trevlig utveckling av noderna.

Bilden på display med RGB diod gör mig ännu mer sugen på att fixa ngt liknande.
Skall fundera lite mer på om man har någon lämplig burk att köra "intelligensen" på.
Finns mängder utav burkar i nätverket men många är kritiska på sitt egna sätt.

Ipod touch ger massa trevlig hårdvara.
Touch skärm, wlan och en mjukvaruplattform.

Kommer följa utvecklingen på er hemsida med stort intresse!

Re: Rumsbokning info LCD

Postat: 29 juni 2009, 12:39:10
av arune
arune skrev:Absolut, jag tycker dock att så länge det inte gäller kritiska system så är det bättre att minimera prislappen. Alternativet i det här fallet är ju att köra nån nano-itx eller arm-kort (gumstix/beagleboard) och det blir dyrt, då är det nog billigare att köpa sina ipod-touch.
Givetvis behöver det inte bli så dyrt med en något mer avancerad mcu med ethernet, i komponentkostnad åtminstone. Men räknar man med utvecklingskostnaderna (vilket man är väldigt dålig på att göra när det är ett hobbyprojekt) så blir det givetvis alltid dyrt att börja från noll.

Jag har förresten "starterkits" för vårt system, om någon är intresserad. Det består av tre enheter (där en av dem fungerar som en can-usb-gateway, så att man får in can till pcn), kablar och "buss-grenuttag". Enheterna är testade och de två enheterna som inte är gateway har can-bootloader så man enkelt kan flasha dem med sin applikation.
Kostar 700sek.
Det som inte medföljer är USBkabel (a till mini b) och nätadapter.
Vi som håller på har en IRC-kanal dit man gärna får titta till och prata om man är intresserad :) (#hobby heter kanalen och finns på EFnet)