Wednesday, November 3, 2010

Goals and Issues

Below is current look at some of goals and issues I'm currently dealing with-

So far my project has three main components:

Sensor Network <-> Base Station  <-> Web Interface

They are interconnected and pass data between each other.

Sensor Network


The sensor network is gathering the sensor data is currently based on Jeenodes which are Arduino based nodes.

Status: Hardware has been solder together, sensors have been purchased and the code for the protocol has been written.

Goals
  • Create robust adaptable nodes that can easily be reconfigured
  • Create Wired and Wireless Links
  • Create a Mesh Network
 Current Issues
  • How to design so an average user can configure a node? Pre programed ROM? Dip switches? Web interface?
    • Solution: Processing sketch that directly communicates with node to set address and sensor configuration to the Arduino ROM
  • Current Wireless Chip doesn't do mesh networking: cost prohibitive

Base Station


A Server program running on a PC reads packets of data from the sensor network and passes them on to a web interface. Currently using a Processing.org Java Program

Status: Protocol code has been ported to java. Actual interface still needs to be built.

Goals
  • Be user configurable
  • Easy to deploy/setup

Current Issues
  • How to Connect to Web server?
    • XML-RPC seems like the simplest solution right now and offers a lot of flexibility. 
    • Using EEML like pachube might work too but would require a lot more code.
  • How to save settings? flat file, SQL database, remotel?
    • I haven't decided how to solve this yet. Some settings must be saved locally, ie web server address, Pachube api key. Using an XML file is the best soultion for this. 
    • Other settings like node and sensors names would be better stored in a better database if it is to scale to thousands of sensors. Can it call a remote server to get this info or should it be local?
  • How to store data if Internet Connection goes down?
    • Store it memory is the easiest, SQL would be better

Web Interface


Status: In planning.

The web interface right now is going to be using LAMP Linux, Apache, mySQL and PHP.  The code is going to based on the Zend Framework and a UI library I started writng a while back. The front end is going to use jQuery and jQueryUI. Graphs will use the Google Graph API.

Goals
  • Work on a varety of platforms and screen sizes
  • Use Web 2.0 Ajax etc. Jquery
  • Create an interactive Remote for the network
Current Issues
  • Server local or remote?
    • A good webserver is hard for an average user to setup. A remote server can also handle more users. User can also access the remote to get info about power/data outages

No comments:

Post a Comment