[maemo-developers] N800 as a home automation/monitoring remote
From: Mike Ferguson ferguson.mj at gmail.comDate: Wed Jun 18 14:15:40 EEST 2008
- Previous message: N810 Discount Code in US
- Next message: N800 as a home automation/monitoring remote
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi all. I think I'd like to try to use my N800 as a remote terminal for home automation/monitoring and would like some advice about whether I'm thinking along the right lines. You better know up front I'm not an experienced C programmer, but know other languages, and have done some basic C things, they just take me a while and some research. My current thoughts are: *** Client *** N800 (and therefore other PCs etc) used a GIOchannel to connect to server asynchronously, so either server or client can push data or requests to each other. A GTK notebook layout approach for different automation functions etc. Server can push status/change notifications to client which will update button state/image (e.g. light has gone on, alarm etc) A really smart client would be able to request from the server what to display, but at least from now I'm more than happy to start with a hard coded client. Eventually the clients and server should connect over an SSL stream, but that can be a further stage of development. *** Server *** Again written using GLib and GIOChannel. Possibly use D-Bus to connect to different modules/programmes for connection to, say, a serial port controlled microcontroller, usb controlled uC, etc. which do the actual work/monitoring. I've got a lot of the microcontroller side almost sorted already. As above in client section - push changes to client. Can handle multiple clients. My initial questions are: First off, does this whole idea seem OK? Any general thoughts or advice? Are GIOChannels the best way to go for this on maemo, or straight unix sockets? Any good examples around of asynchronous GIOChannel client/server usage I should look at? (I've found a couple of examples, but not many...) Will keeping the client connected constantly to the server (assuming no data is being passed back and forward) have any significant effect on battery life? I.e. Is there a way to minimise battery usage, or do I just not need to worry? Is the use of a D-Bus approach on the server a good idea, or are there better ways? Is anyone aware of a similar project that I can borrow ideas from? And lastly, is anyone willing to act as a mentor to review (bad) code or point me in the right direction for things? I'm not wanting anyone to write the code for me, but just to be able to say things like "check out foo function for an easier way to do bah", "you probably need to handle X signal" etc. But I guess if anyone else wants to contribute and use the code, I'd be more than happy to share or set this up as a garage project at some point, once I know the meager starting code won't be used as an example of what not to do! I'm not in a hurry for any of this to happen. It's all a spare time jobbie over the next year/2 years. Any help or thoughts appreciated. Thanks.
- Previous message: N810 Discount Code in US
- Next message: N800 as a home automation/monitoring remote
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]