TrafficCam

From Earlham Cluster Department

Revision as of 00:58, 3 October 2008 by Madunnh (Talk | contribs)
Jump to: navigation, search

Contents

TrafficCam

Gear to record video of the pedestrian crossing and the speed of Eastbound traffic in front of Earlham on National Road West.

Research

Shopping

Current wifi card

Current battery and charge controller

Possible technologies

Tasks

Image volume calculation

Software architecture:

Questions for Doug


Documentation

Written By: Maduna (madunnh)

Main Hardware

Closed Pelican Case

Model: 1510 Pelican Case

The case houses most of the hardware of the unit. It contains the battery, power supply, charge controller, router and the single board computer. The components of the case were carefully attached using materials such as velrco, wire-ties and bolts and nuts. The case was initially used for another project (Keck Water Monitoring Project), so some of the components i.e. the battery and charge controller were already installed. The position of the charge controller was changed to a 'vertical mount' in order to make room for a secondary battery (if required) and to bring it closer to the power supply unit.

Pelican Case with Components

The pelican case is strong, weatherproof, durable, portable and fully customizable. One outstanding feature that it has is the pressure valve, which controls the air pressure in the case, providing a safe charging environment for the battery and prevents the case from shrinking / expanding at varying pressure levels, i.e. during a flight.

B.B Battery

Model: EP2812 B.B. Battery

The battery is a 12V, 12Ah Lead-Acid rechargeable battery. It was chosen for its dimensions, capacity, operation temperature range and independent operational orientation (charges and discharges in any position). Even though the battery was not specially chosen for this project, its capacity was calculated to be sufficient for this project's hardware. The battery powers all the components of the unit.

Phocos Charge Controller

Model: Phocos CML10-2

This is a 10A, 12/24V charge controller specially chosen for its compatibility with the battery and ability to charge the battery using a solar panel. Due to the high power demand of the components and the significance this project, solar power was tested to be unreliable, especially at the deployment site where there are a lot of tall trees. Instead of a solar panel, a power supply was used. The charge controller regulates the battery charge, and safely powers the components at the same time.

Mean Well Power Supply

Model: Mean Well SP-150-15

The power supply takes normal 115V AC and outputs 15V, 0~10A which is in the range of the output of a solar power panel compatible with our charge controller and battery. The deployment site is far from any buildings with a continuous supply of AC power, but luckily, there is a streetlight near by. Because the street lights use regulated power and only turn on at nighttime, the power supply charges the battery at night and then the battery powers the unit during daytime.

Linksys WRT54G Router

Model: Linksys WRT54G

The router acts as a wireless adapter for the unit. It's firmware was upgraded to DD-WRT and it was configured to run in client mode. The router is connected to the directional wireless antenna and does port forwading to the single board computer (ports 22 [ssh] and 23 [telnet]) and the video camera (ports 80 [http] and 554 [mms]). The router was configured to connect to our local wireless network assign IP addresses to the camera and computer using static dhcp.

TS-7260 aka PMP6

Model: TS-7260 Arm SBC

This board was chosen for most of its outstanding features, especially its wide input voltage range and robustness. Also, it is the same board being used by the water monitoring project mentioned above. The TS-7260 was nicknamed PMP6; meaning Portable Monitoring Platform #6. The pmp6 retrieves speed data from the radar and archives it in its flash memory. At regular time intervals, the pmp6 sends the data to a Host machine where it is processed and synchronized with the camera's video recording. The pmp6 uses a software stack described in detail under the client software section below.

Hawking Directional Antenna

Model: Hawking HAO14SDP

The outdoor di-wifi antenna as I call it, was chosen for its long range and compatibility with our router's antenna socket. (This is the right thing to say now, but the truth is that the antenna was chosen because it was compatible with our first computer; pmp1, a TS-5600 with an ORiNOCO 802.11b PCMCIA Wireless Network Card, which was not a successful approach). For more information about this Approaches, refer to the "Unsuccessful Approaches" section below.

The di-wifi antenna is connected to the router's antenna socket using a 30ft Hawking HAC30N cable (purchased separately), and replaces one of the router's stock antenna. The other router's antenna was removed and turned off using the dd-wrt software, in order to save battery power. The antenna was mounted on a post and pointed towards one of the building with a wireless access point.

Model: Axis 211

We own an older model a similar camera used the Weather Monitoring Project, and because of the Axis camera's features and durability, it was our #1 choice. The 211 model streams the video in mjpeg and mpeg4 formats which are both useful to us (refer to the Host Software section below). The camera can be powered using either Power Over Ethernet (POE) or a 12V DC adapter. We decided to use the 12V adapter in order to avoid complications with engineering POE and possibly borking our router and laptops during configuration, testing and debugging.

The router gives access to the camera's video stream using the already mentioned port forwarding to the Host machine and admins. The camera is connected to the battery and the router using a 25ft 2-wire cable and an Ethernet cable of the same length. These cables and the radar cable, run inside a conduit which connects the camera case to the pelican case.

Axis Camera Case and Houston Doppler Radar

Model: AXIS ACH13HB

This is the outdoor default case/housing for the camera. It has a sun shield and a heater/fan inside it, to warm/cool the camera. We are currently not using the heater/fan because the case will be well protected from the sun by shrubs and also the camera gives off enough heat to warm itself up in the cold.

The camera case is connected to the pelican case as described above. The case was modified to fit the conduit and to also attach a mounting point for the radar (see images).

Model: DR500C Doppler Traffic Radar

This radar was the best choice we made for the project. I has functionality and software that is beyond our use. The DR500C was chosen for its range, simple interface and most importantly for its inbuilt intelligence. It detects vehicles and calculate their speed, which can then be captured via the radar's serial interface.

The radar is powered via a specially engineered cable unit which consists of 2 serial to Ethernet adapters, a 20ft Ethernet cable, a custom made serial cable which connects the TS-7260's COM2 to one of the serial to Ethernet adapters. This custom made cable is at the pmp6-end of the connection and it also provides 12V DC to the radar via pin 1 (+12V DC) and pin 5 (Ground [-12VDC]), which is sourced from the battery via the charge controller (see image). At the radar-end, the Ethernet cable is connected to the radar via the other serial to Ethernet adapter.

Custom Serial Cable (grey), Serial to Ethernet Adapter (black) and Ethernet Cable (yellow)

The radar is mounted under the camera case using a custom made U-shaped clamp. The data output from the radar is a 3-digit number representing the speed in mph. A software stack running on the pmp (see below for details) captures the speed and stores it locally.

Software

All scripts can be viewed in svn running on the host.

SPEED DATA PATH: speed-data --> get_image_d --> get_speed.pl --> transfer-speed-files.sh --> host
LIVE VIEW SPEED DATA PATH: ... --> get_speed.pl --> apache [port 8080] --> website on host

get_image_d: daemon in /etc/init.d/ that starts get_speed.pl

get_speed.pl: perl script in /root/scripts/ that captures the speed output from the serial console of the radar via the pmp's COM2 and stores the data in /root/data/

transfer-speed-files.sh: shell script that moves the data from /root/data/ to /root/archive and then to /media/d0/traffic-cam/speed_cache on the host

VIDEO CAPTURE PATH: camera http server --> router --> host
VIDEO STREAM PATH: ... --> host

Cron

File: /root/cron/crontab

28 * * * *   /root/scripts/kill_get_speed.sh                           > /dev/null 2>&1
29 * * * *   export TZ=EST05EDT; /root/scripts/transfer-speed-files.sh > /dev/null 2>&1
30 * * * *   export TZ=EST05EDT; /root/scripts/get_speed.pl            > /dev/null 2>&1
SPEED DATA PATH: speed-data-files --> archive_speed.pl --> database

archive_speed.pl: perl script that stores speed data from file into user hip's PostgreSQL database in a table called traffic_speed

LIVE SPEED DATA PATH: apache [port 8080] --> host webserver
VIDEO CAPTURE DATA PATHS: capture_script --> cache_directory --> archiving_script --> archive_directory

video capture scripts

VIDEO STREAM PATH: apache [port 8080] -> host webserver

Cron

User hip's crontab

*/10 * * * * /media/d0/traffic-cam/scripts/log_down_time.sh   > /dev/null 2>&1
# JPEG
*/15 * * * * /media/d0/traffic-cam/scripts/archive_images.sh  > /dev/null 2>&1
#
# MJPEG - kill script is in root's crontab
#29 * * * *   /home/hip/traffic-cam/scripts/archive_videos.sh > /dev/null 2>&1
#30 * * * *   /home/hip/traffic-cam/scripts/get_mjpeg.sh      > /dev/null 2>&1
#
# MPEG4 - kill script is in root's crontab
#29 * * * *   /home/hip/traffic-cam/scripts/archive_videos.sh > /dev/null 2>&1
#30 * * * *   /home/hip/traffic-cam/scripts/get_mpeg4.sh      > /dev/null 2>&1
#
# MPH
0 * * * *   /home/hip/traffic-cam/scripts/archive_speed.pl Front_Campus n > /dev/null 2>&1

The root crontab

# MJPEG
#28 * * * *   /home/hip/traffic-cam/scripts/kill_get_mjpeg.sh > /dev/null 2>&1
# MPEG4
#28 * * * *   /home/hip/traffic-cam/scripts/kill_get_mpeg4.sh > /dev/null 2>&1

Access Information

Security

All lockable gear will be locked using padlocks and chains where possible

Cases, conduit and cable were painted brown and green to camouflage the unit

Unsuccessful Approaches

This is a stable board with and x86 architecture, it would have been much easier to develop software for it. The main problem was that it runs a custom technologic systems kernel, which is version 2.4 and we could not successfully re-build it to enable port Ipchains/tables for port forwarding. The main idea was to let the pmp collect the speed-data from the radar and also do port 80 forwarding to the camera via a cross-over cable.

Later we figured out that with this choice of pmp, (with the wifi card connected to the Hawking directional antenna using a MC to RP-SMA cable with an RP-SMA extension cable) was going to use around the same battery power as a fully functional router with inbuilt port-forwarding and wifi capabilities. As a result, we switched to the current pmp6 (TS-7260) and then added the Linksys WRT54G router.

Our initial radar choice was a Delta Speed Sensor DRS1000 which costs more that double the cost of the Houston-Radar DR500S, was not only going to be expensive, but was also gonna require us to develop engineer cables and software to capture and convert its output into a speed value in mph.

After some extensive searching, we found the DR500S which is more advanced, much cheaper and available in the US.


For Further Questions Email: madunnh_at_cs.earlham.edu
Personal tools
Namespaces
Variants
Actions
websites
wiki
this semester
Toolbox