Pyzine by Peter Kropf

Peter Kropf wired up his motorcycle in 2004 and made a 7000 mile odyssey. His published his setup in the now-defunct Pyzine magazine, but here are details rescued from the internet archive.

Here is the archived article.


A few sensors were added to the LT to track the latitude, longitude, elevation, temperature, images along with an embedded computer to record the data.

Sensors

Location

The location data comes from the GPS V through a serial port interface. Simple, effective.


Temperature


The temperature sensors are based on the 1-wire protocol and devices made by Dallas Semiconductor. A company called located in Mexico AAG makes the actual components that were used. Two of them were installed. The first was placed under the rear passenger seat to record the general outside temperature. Since the sensor computer was installed inside the right side case and ventilation is somewhat limited in the case, a second one was added there to track the heat generated by the computer and CD player.

The 1-wire temperature sensors are connected to the embedded computer via a USB interface.

As of 7/24, the minimum outside temperature was 82.06 and the maximum was 97.25. Inside the case, the minimum temperature was 82.18 and the maximum was 115.93. It looks to be an average of 17.84 degrees higher in the case. Hopefully, the components on the embedded computer will survive this heat.


Video


The camera used is a waterproof Hi RES Sony Super HAD CCD 480TVL. Its available from Sports Camera. The camera was chosen because of its small size, being waterproof and simple RCA type video out connector.

The original plan was to use an iSight from Apple. One of the limiting factors of the iSight is that it isn't waterproof. A number of ideas were examined to enclose the the camera to make it waterproof but all of them were bulky, ugly solutions that were discarded. Additionally, the iSight uses a firewire connection and getting recording software working was problematic. So that solution was dropped.


Embedded Computer


The embedded computer to record the sensor data is based on the Mini-ITX form factor from VIA. The system consists of a Epia-M motherboard, 256 MB memory, 200 GB Seagate Barracuda (ST3200822A> disk and an ATI TV Wonder VE NTSC video capture card. All these components are contained in a C-138 Mini-ITX case from Case Logic.


The back of the system shows a wide variety of ports and connections. For this project, the ethernet port, one of the USB ports, the video capture port (top RCA connector) and RS-232 port are used.

Power to the system is controlled by an ITPS Power Sequencer from Mini-Box. This is a pretty cool piece of electronics. It takes a switched power connection and an unswitched power connection as input. It provided switched power as output along with a power button connection. When power is turned on for at least 5 seconds (sensed via the switched power connection) it applies power to output and simulates pressing the power button. The system boots as one would expect. When power is turned off, it simulates pressing the power button again and waits for 45 seconds for the system to shutdown. After 45 seconds, the power is turned completely off. Pretty cool.

The ITPS Power Sequencer has a total power usage limitation of around 60 watts. With the use of the video capture card and the full sized hard drive, the system exceeds this power usage. So a relay was installed to control power from the LT's main power bus.


The system is mounted inside the right hard case on the LT, on top of the CD changer. Since the C-138 computer case was designed for use with 2.5" hard drives and a 3.5" hard drive was used, the computer case could not be closed. The ITPS Power Sequencer is mounted inside the small black case seen on the right side. A simple rubber strap is used to hold everything in place.


Software

This system wouldn't work all that well without some software.

The overall system is run using the mighty Linux operating system, specifically the Debian distribution.

All the sensor data collection program are written using the grand and elegant Python programming language. Python, batteries included.

Collecting the GPS data is done with help from the PyGarmin package. A simple program was written to read the data and and write it out to a log file.

To collect the data from the 1-wire temperature sensors, OWFS was used. OWFS is the One Wire File System. OWFS makes 1-wire sensor data, configuration and control available via the file system. This make collecting the data as simple as opening a file and reading the value. Well, almost. It turns out that in real world usage, USB connectors can be a bit flakey when riding. When the USB connector connects and disconnects, the operating system senses that occurred and reconnects the USB drivers. However, OWFS doesn't detect that this happened and it no longer can communicate with the 1-wire sensors. So, a bit of logic was written into temperature collection program to detect when this happens and to remount the OWFS.

Collecting the video data presents a bit of a space problem. Averaging 6 hours of riding per day for 6 weeks would result in more data being collected than there was disk space on the system. So a design decision was made to take individual snapshots every three seconds. These would be processed later to create warp speed videos of the trip. Another simple control program was created which controls the video4linux v4lctl program, instructing it to take snapshots and where to put them. Using this method, around 7,500 individual snapshots are taken each day using around 400 MB of disk per day. Over the 6 week period, this will fit within the disk limitation of the system.