Showing posts with label android development. Show all posts
Showing posts with label android development. Show all posts

Friday, 6 June 2014

Advanced Hand Held Data Logger Now Available

A hand-held data logger (or counter) is a device which is used to manually record vehicle data relating to road junctions, pedestrian movements and carry out other survey tasks.  Our system is in fact in no way limited to traffic data collection, and there may be hundreds of uses for it. However, this is one industry where I think it may prove popular over time.

Using a rugged weatherproof tablet PC we've had customised for us as the base unit, DataDevil has developed a system which replaces old-fashioned digital hand-held data loggers such as these, with something more affordable, and much more flexible.  The data recorded is accessed centrally, and very conveniently using the web-based control panel.

Because touch-screen interfaces provide no tactile feedback we were initially concerned about data quality, but trials with our custom acrylic overlay demonstrated excellent count accuracy is possible.

This overlay can also be easily removed when setting up a counter or when using the unit for a non-counting task such as a registration survey for example.  The installed software currently only supports counting and simple event recording tasks, but we intend to develop software for undertaking registration (such as parking) surveys and other survey types over the next few months.

To list some of the main advantages that our system offers over those of our competitors:
  1. Each event is recorded with a time-stamp with one second accuracy.  If grouping the data is required, it can instantly be carried out later using the web-based control panel to create reports for 1, 5, 15 or 60 minute time slices.
  2. Units can be configured for any number of surveys happening any time in the next 28 days.
  3. All units can be set up using just one device.  You set up a survey task for each counter using any one of the counters, and the others can instantly download their appropriate settings. 
  4. Data can be instantly sent to the DataDevil server using WiFi or the 3G mobile network. This can happen at any time where there is a connection making data instantly available after a survey if required.
  5. Data from all counters, and across all survey dates can be exported either separately, or combined into a single Excel workbook.
  6. Users can be shown customised information about the survey task they are undertaking within the device, meaning that in many cases, printed instructions are not necessary.  A terms screen, location map, vehicle class images and turning movement identification maps are all supported.
You can see from the above, that we've given this a lot of thought, and the software is in a different class from the existing tally counter apps available in Google Play.  However, it is also available in Google Play, as an app that which you can install on most Android tablet PCs.

I hope to write more about how our clients are using the system in future posts, but for now please have a look at the short video illustration.  I think this gives a better overview than words can.


For more information, please visit the website.

--

For those who are interested, this software was implemented in Python and Java with the Kivy framework, and I expect to be using this productive combination for several more projects in the coming months.  The back-end server currently also uses Python, although I may move towards Node.js and something like MongoDB in future, if there proves to be significant demand for real-time data collection/analysis.

Finally - apologies for the dark demo video.  I found it surprisingly hard to film the tablet screen effectively, but wanted to accurately show the responsiveness of the software running on the actual tablet, so I didn't use a PC based Android emulator like many app demos do.  If anyone knows how I can get a better video result, I'd be pleased to hear from you?  Perhaps I just need a better camera!

Monday, 5 August 2013

Portable Traffic Surveillance from £160 per Unit

Recently client demand and personal interest led me to design/develop a cheap, easily installable and portable unit for recording video, which can be mounted directly on lighting columns and other suitable street furniture.

I had looked around for off-the-shelf devices that could serve this purpose, but they were all deficient in one area or another, be it battery life, recording format or storage capacity.

My solution is based on the Android smartphone platform, but the choice of device would depend upon budget and the precise application requirements.

Here are some general system specifications:
  • fully weatherproof
  • portable unit weighs 900g
  • continuous recording for up to 24 hours - or timed recording
  • periodic unit status and image updates over the mobile phone network
  • web-based interface for viewing and control of unit
  • uses the h264 video codec
  • USB data interface
The application determines which smartphone is most suitable for each survey type.  Suitable phones start at around £100.


Star N9770 (£100) and HTC One V (£170)

The cheap phone I initially used is based on the Dual Core Arm Cortex A9.  The camera module is not of high quality, and though fine during daylight hours, during periods of low-light, the frame rate is reduced to 8fps. The HTC phone costs a little more, but offers significantly better low-light video quality, and faster shutter speeds.  Outside the hours of daylight, the HTC phone provides acceptable quality footage, whereas the Star N9770 does not.

Software Development

My preferred programming language is Python, and where possible I would always choose this over Java, but for the smartphone software I decided that using Java (Android's standard development language) would give me easy access to the core libraries required for this type of application.

It was relatively easy to implement this functionality, so the verbosity of Java didn't cause me too much frustration, and there were only a couple of challenges that required some deeper consideration.
  1. Since the application needs to run for an extended period, I needed to allow the recording process to continue whilst the screen was switched off.
  2. Because I wanted regular updates to be sent to my web server for viewing/control, I needed to establish how to create snapshot images and upload them over the mobile phone network without impeding the video recording too severely.
The web server software which allows the periodic status and snapshot image uploads to be easily viewed from a web-based interface was implemented using Django and Python, and was also a fairly trivial exercise.

Hardware Development

In order to protect the device from the elements, I decided to use a polycarbonate IP66 rated (weatherproof) enclosure, and mount the phone and other parts inside in such a way that they can be fairly easily replaced.  This is especially important when the enclosures themselves constitute a significant part of the unit cost, and when smartphone devices and their cameras are improving all the time.

To ensure there was sufficient power for a typical survey, I added a USB battery portable pack that provided an extra 12000ma without adding too much to the weight or volume of the unit.

My approach was to drill a small hole in the back of the enclosure, where the camera sensor would be, and replace it with a small piece of glass, this was glued with silicone sealant to achieve a weatherproof seal.  The transparent lid allows a better look at the internal layout, but the production units are fully opaque as this looks better, and won't get so hot on sunny days!


A few options for mounting the enclosure were considered, but I settled on a mechanism that allows the enclosure to be clamped on a lighting column using two light telescopic poles.  This allows the unit to be mounted at up to 4.5m which means views are largely free from vehicular obstructions.


This spring clamp allows quick installation (around 30 seconds) on lighting columns up to about 90mm in diameter.

I subsequently also added a basic shield in the form of a small section of plastic pipe to the enclosure to protect the sensor area from rain and sun glare.

Video Processing

Once the video footage has been recorded, it can be easily extracted from the phone within the enclosure using either USB or wirelessly, and processed to form video that can be used either within the advanced enumeration software which I have also developed (www.countforcash.com), or in some cases within machine vision software that I am working on.

Uses

These units are to be used for various survey purposes ranging from vehicle turning counts and queue length surveys to cycle and pedestrian surveys.  The ease of installation and low cost means they can also be deployed to reduce the impact of any other hardware or equipment failure, or even to monitor other equipment for vandalism.