wearable + mobile dev.
current ProjectTxoom system.
(include notes from hw meeting on 20020806 + brief summary of design descisions/options/etc+ –nik gaffney)
Work is continuing on a new wireless sensor aquisition system, to hopefully overcome the problems found with all the previous systems. The current version is still built on a series of comprimises between price,availability,elegance,wirelessness and flexibility, however it should be edging towards something better.
Hardware setup
- CerfBoard (strongARM) see: Cerf Notes
- 3d acceleromter units
- WCF12 802.11b compact flash card
- sony info lithium battery + 5V regulator
Software setup
- i-Linux (instrinsyc's branch of familiar from http://www.handhelds.org )
- adxl drivers
- calibration + sensing code (gpio → OSC )
details can be found in the techspec (linked from Project Txoom System ), code is in cvs, and notes can be found in the Cerf Notes node.
datarates.
- sampling periodicity: ~10ms/vector or as close to 4ms/point as possible (100-250Hz)
- latency: should be as low as possible. if a vector takes too long to store, send points.
- thruput: accelerometer data is single byte (8bit) per point.
calulations for 2x3d acceleromters (for reference)
- 8bits x 6axis = 48bits/0.004s = 12kbps (at 4ms sampling rate) per player.
- 8bits x 6axis = 48bits/0.01s = 4800bps (at 10ms sampling rate) per player.
- 8bits x 6axis = 48bits/0.02s = 2400bps (at 20ms sampling rate) per player.
(note: raw data, no correction, or stop bits)
players | 4ms | 10ms | 20ms |
1 | 12k | 4800 | 2400 |
2 | 24k | 9600 | 4800 |
3 | 36k | 14.4k | 7200 |
4 | 48k | 19.2k | 9600 |
5 | 60k | 24k | 12k |
{{sensor_monitor.png}}
setup + config notes for CERF/CEED based system
see also CerfNotes for more details
wired connection
- prerequisites
- ceed
- sensors + cables
- network with DHCP server
- power suppply or batteries
- attach ethernet cable to the ceed box
- powerup ceed
- wait for a while,
- find its ip
- run nmap or similar to find which ip# it has …
- eg. # nmap -sP 192.168.254.1-15
- check which ips are in use before + after turning the ceed on
- check there is something listening to port 5333 on the host machine (eg, 'oz', 'nc -lup 5333' or an OSC capable program)
- connect to the ceed # ssh -lroot 10.0.0.x
- load the adxl module # insmod adxl.o
- run the sensor program in test mode # ./operate -c debug.conf -h <host.ip>
- check which chanels are active
- edit the operate.conf file if required.
- run the sensor program # ./operate -h <host.ip>
- sit back + relax
wireless connection
- make sure the base station is active
- check SSID set to f0am (using ap-config under GNU/Linux)
- contine as above from the 'powerup ceed' step
setup + config notes for IPaq based system
see also IPaq Notes for more details
these notes are meant as a quick guide to setting up the ipaq + sensor sets for the tgarden/tx0om system(s). insprired by my lack of memory, and the fact that teh wearables can be fickle creatures, .. .
so,
- connect access point to network
- turn on ipaq
- press the “Q” button to boot linux
- open 'Utilities → Input Methods → Xkbd' by clicking on the screen
- open 'Root' window by clicking on the screen
- (optional) type 'bash' for smoother shell interaction
- type 'ifconfig' and see if there is an entry for 'wlan0'
- type 'pump' and check ifconfig again.
- if there is no entry for 'wlan0' device, type…
ifconfig wlan0 192.168.254.3 netmask 255.255.255.0 up (substituting the suitable ip# and mask for the network)
- check ifconfig again. try to ping a host (using ip#)
- if there is no route to host, try typing…
route add default gw 192.168.254.1 (or whatever the ip# of the access point is)
- type 'route' and check the routing table is correct
- dont bother with /etc/resolv.conf unless you must
- it should now be possible to connect to the ipaq using ssh
now, the sensors…
- make sure the stamp is charged + sensors connected
- on the ipaq, enter 'cat /dev/ttySA0' to display data comming in the serial port
- connect the stamp to the ipaq serial port
- sit back + watch the numbers,. ..
- if there are no numbers, there is a problem (find it + continue)
calibrating…
- cd to 'sensors' directory of $HOME
- calibrate -c &<sensor number>
- check the min + max values for each sensor channel
operating…
- operate -h <host running oz>
- sit back + relax
see also: Mobile Computing, Wearable Computing, Sensor Technology, Human Interface System