[Tutor] Design Outline question for personal project

Alan Gauld alan.gauld at btinternet.com
Fri Dec 21 21:29:21 CET 2007

"jupiejupe" <smlltlk at jupiterlovejoy.com> wrote

> i am going to set up a network of "zigbee" nodes.
> when a event such as: motion movement or touch awakens node
> i want it's alert to the network to trigger a programmed response.
> what i have to figure out is using a database maybe mysql or

Yes, and you might find it useful to define a Node as a class.

> (cherrypy seems interesting as a http frame (can it send pop3
> or imap? do i need a database if it does?).

Yes it can do pop and imap vuia standard python pop and imap email
modules and no it doesn't need a database for email. Databases just
store data and allow you to retrieve it. (OK some have fancy 
mechanisms too)

> so i believe that the zigbee node's have id already pre-programmed
> so that should not be an issuse.

Sounds like it.

> once the event (i'll need to have a program to take that report? or 
> does the
> database do that already?) has been reported to the database,

You probably want a node object to retrieve the data from the database
and use that to send the email usong the standard python email 

> the node id should trigger an email? (do i need an email client to 
> send that
> or does sockets have some thing to do with that?) that's really all 
> that i
> can think i need which most likey means i am missing the boat.

Sockets are involved bt the email modules should shield you from all 
of that.

> so i figure that i need to study as well as python.
> cherrypy:
>          has a mini sever and database so i can use that instead of 
> mysql?

You could use standard CGI for this but CherryPy might make it easier.

> Twisted mail?
>          do i have to use all of twisted or can i just use to mail 
> part?
> socket?

You definitely don't need Twisted at this stage.
Standard Python email modules should do all you need.

You might want some classes and hence some OOP....

Alan Gauld
Author of the Learn to Program web site

More information about the Tutor mailing list