Parkinsons disease monitoring project
Wireless sensor motes placed on limbs (legs, arms) transmit periodically measured data to a central node for storing and evaluation. Once a day (or in predefined period) data from central node is downloaded to PC or PDA for analysis and computation of feedback in the form of brain stimulation or appropriate dose of medicine.
Central node stores received data from wireless sensor motes with time stamps to embedded memory card (MMC, SD, CF or similar). Central node consists of 802.15.4/ZigBee radio chip, MCU and memory card. Central node can be wear on belt therefore its size is not so important. Wireless sensor mote includes 802.15.4/ZigBee radio chip, MCU and accelerometer and should be worn on wrist similar a watch is weared. This motes should be as small as possible.
Project specification link
Final Documentation part 1 (Diploma Thesis Auersvald Martin)
Extension boards with accelerometers
PCB design was created in OrCAD 10.3. PCB was made by firm Pragoboard (PCB producer) and soldered manually.
- Analog accelerometer MMA7260Q (Freescale)
- 3-Axis, selectable sensitivity 1.5g/2g/4g/6g, low current consumption 500 μA, low voltage operation 2.2V-3.6V, high sensitivity (800mV/g @1.5g)
- Digital accelerometer LIS3LV02DQ (ST)
- 3-Axis, selectable sensitivity 2g/6g, 2.16V-3.6V single supply operation, 1.8V compatible IOs, I2C/SPI digital output interfaces, programable 12 or 16bit data representation
Program for the Tmote Sky module with the accelerometer's extension board is developed by using TinyOS/nesC and open-ZB protocol stack designed at Polytechnical Institute of Porto.
Program is based on the example application DataSendExample (created by André Cunha). The devices already have a short address meaning they are associated with the PAN coordinator. It's possible to associate three devices with accelerometer's extension board.
Sensor's data are read, processed and send via IEEE 802.15.4 protocol during the CAP period using the CSMA/CA in data frame of packet. Coordinator receives and processes packet, sensor's data places in data frame of TinyOS message and the message send over the USB to computer. By means of drivers "USB to serial comm port" we can read data from USB as well as from serial port.
- datasendaccel.h - definitions and variables
- DataSendAccel.nc - the configuration component, file containing the top-level configuration
- DataSendAccelM.nc - the module component, contains implementation and own program for two different operation modes depending if the device is the coordinator or not
- mma7260q.h - header file with the configuration of connecting external sensor
- TRead.h - header file with structure's definition of TinyOS message
- LocalTime.h, LocalTime.nc, LocalTimeC.nc, LocalTimeM.nc, LocalTimeInfo.nc, AbsoluteTimer.nc - interfaces, configuration and implementation of reading the Tmote's local time and its conversing to milliseconds.
The application in C# is running on computer and proccesing and displaying the received data from the USB/serial port.
Application uses class handles of the bit and hexadecimal manipulations. And the ZedGraph module. It's a set of classes, written in C#, for creating 2D line and bar graphs of arbitrary datasets.
- Connect - open port connection
- Disconnect - close port connection
- Port scan - find active ports
- Test - one-shot depiction of collected sensor's data
- Graph - on/off graphical representation
- osadit 3x akcelerometr (analogove)
- otestovat digitalni akcelerometr (I2C)
- topologie hvezda - 1x PAN Coordinator, 3x slaves
- program (C, Java) na ukladani sebranych dat do textoveho souboru
- asociace/disasociace do PAN
- GTS - otestovat a porovnat s CSMA/CA
- ztratovost paketu - najit slabe misto
- chybovost paketu
- casova synchronizace mezi slaves (synchronization between wireless sensor motes and central node: common time for the samples capture)
- aktualizovat WiKi
SW & Documentation
- OrCAD 10.3
- TinyOS 1.1.15 (Dec 2005)
- nesC 1.2.7a
- An IEEE 802.15.4/Zigbee protocol implementation v1.2 (in nesC/TinyOS)
- Microsoft Visual Studio 2005
HW & Documentation
- Tmote Sky (TelosB platform)
- LIS3LV02DQ (ST) - 3-Axis 2g/6g digital accelerometer
- MMA7260Q (Freescale) - 3-Axis 1.5g-6g analog accelerometer
- For central unit we can use VNC1L - it is USB host controler. Its perfect way how to storage data on USB disks.