|
|
|
Overview:
List of supplies needed to build the system: Base Station Component Supplies:
Components for 1 monitor:
Watts Up Pro: The Watts Up Pro has a USB interface which the module will communicate over. VDIP1:
The Watts Up Pro is a USB slave device, meaning that it needs a USB host device to communicate with and the Watts Up Pro must also get power from the host device. A low cost easy to use USB host device is the VDIP1 USB host module by Viniculum (FTDI). Luckily, the Watts Up Pro uses a FTDI USB chip, which means that the VDIP1 is able to communicate with the Watts Up Pro. Out of the box, the VDIP1 has a fairly simple firmware version installed. To get the VDIP1 ready to communicate with the Watts Up do the following: 1. Update the Firmware: Go here and download the latest VDAP firmware Put it in the root directory of a Flash Drive and rename the file: FTRFB.FTD Stick the flash drive in the VDIP1 and power it up. It is helpful to be monitoring the TX pin of the VDIP1 as this will provide information about the firmware upgrade progress. It took about 5 seconds for me. After the update is done just pull the stick out. It may be a good idea to erase the .ftd file if you are planning on using the thumbdrive with VDIP1 since if the file is on there, the module will try to update it's firmware everytime you stick the thumbdrive in. 2. Produce a new version of the firmware Use Vinculum's firmware customization software ( Viniculum Firmware Customiser) to modify the v03.64VDAPF firmware. The firmware defaults to 9600 baud with hardware control on for serial. The Watt's Up runs at 115200 with no harware control, so I modified the firmware for this. Here is the firmware file: ftrfb_VDAP_115200noHD.FTD. To install this, follow the same instructions as above in part 1. Now the VDIP1 will be ready to work with the Watts Up Pro. XBee: The XBee provides our wireless communication. The XBee is a pretty sophisticated radio, with onboard microcontroller. Here are the settings used in this system: Transmitters (in Modules):
Atmel 168: A microchip is neccisary to coordinate all the communication. In this case I used an Atmel 168 and program it with arduino. Here is the final version of arduino code I used:VDIP_final I also burn the program directly to the chip (as supposed to including the arduino bootloader as well, since this slows down start up). Circuit Board + Circuit Board Assembly: I use eagle to design boards. I use 4pcb.com to get board made. These are the files needed for the circuit board as a zip file: here. A note if you are using default methods to create Gerber Files for 4pcb.com. You must rename the extensions on the files eagle creates as follows:
You can first upload the zip file to freedfm.com which is a service of 4pcb.com. When you upload, here is the following information: Nicely, 4pcb.com has an offer to make boards for $33 dollars each, in under a week. There are cheaper ways out there, but it can take a long time (slow boat to china). Here are images of the board schematic and board image:
The following are the default options for the $33 per board:
Here is an image of the circuit board assembled:
Python Script: This python script (server) runs on a computer with the reciever XBee attached via an XBee dongle. The computer must also have internet access. This script is written in python and requires that Python is installed on the laptop. Python installed on Macs but additional modules must be installed. Here is the list of needed software:
Remote Server Setup: A Mysql database is used. It is written in php and uses a mysql database. The system also has a system using the google charts api to generate png charts |