Continuing again with my Raspberry Pi adventures and further developing my ‘BeeSafe’ project. One of the components I need to integrate is GPS module that would allow me to track the BeeHive / box should someone decide to move it.. To this end I purchased a few GPS units from ebay. This guide should get you up to speed on how to access GPS data via your Raspberry Pi / linux setup.

USB GPS with magnetic base

USB GPS with magnetic base

Plug the USB GPS into the pi, you should be able to see it detected in

sudo lsusb

Mine came up as: Bus 001 Device 004: ID 1546:01a6 U-Blox AG

Using:

dmesg | grep -i usb

I worked out that my USB GPS was paired to ttyACM0

At this point you can test your GPS device is functional and sending data by:

sudo cat /dev/ttyACM0

The next thing we need to do is pipe the GPS feed into GPSD (the gps demon) for it to interpret the data and hopefully give us something useful to use later.

sudo gpsd /dev/ttyACM0 -n -F /var/run/gpsd.sock

this command connects the output of ttyACM0 to the gpsd socket

NB: I had to ensure that the -n flag was present in this command, as trying without the flag resulted in a time out.

You should now be able to test the GPS using

cgps -s

Which will bring up a small window showing the GPS data.

Things to note; If you have any problems and cgps always displays ‘NO FIX’ under status and then aborts after a few seconds, you may need to restart the gpsd service you may have to kill and reboot the gps demon by typing

sudo killall gpsd

and then

sudo gpsd /dev/ttyACM0 -n -F /var/run/gpsd.sock

 

which will restart the gpsd service and pick up the new settings.

Now you should be able to use the GPS data for whatever your project needs; in my case I want to build a GPS fence so that if my beehive is detected leaving a known area (such as a field) then it will alert me and provide me with a GPS co-ordinate feed.

I used the Lady Ada guide on how to setup GPS devices to help me; the link is:

http://learn.adafruit.com/adafruit-ultimate-gps-on-the-raspberry-pi/setting-everything-up

Following on my project to develop a Bee monitoring tool dubbed ‘Bee Safe’.

The next part of my project is to provide the remote raspberry pi with access to the internet via a USB 3G dongle.

Fortunately in the world we live in now; finding old / used 3G dongles is very easy to do. The one I’m using was purchased from Cex for the pricey sum of £6.

£6 3G Dongle

Newly purchased 3G Dongle

While cellular data speeds and modems have vastly improved over the recent years this project only requires sending small snippets of text with the occasional photo so high speed isn’t a priority on this project.

To pair a USB dongle with a Raspberry Pi (the computer used to power Bee Safe) you need to download and install some packages; PPPD & sakis3g

To start with download PPPD via APT-GET:

sudo apt-get install ppp

Then download sakis3g:

wget "http://www.sakis3g.org/versions/latest/armv4t/sakis3g.gz"

Unpack and make the file executable:

gunzip sakis3g.gz
chmod +x sakis3g

Then execute the script which will run with a basic GUI within terminal:

sudo ./sakis3g --interactive

Sakis has a fairly comprehensive list of connections available.

Once you have been through the setup guide the modem *fingers crossed* should be online and operational. You can now exit sakis. You will stay connected.

You can check your connection and details with this command:

sudo ./sakis3g connect info

This post was pulled together from various sources, the main two being:

http://shkspr.mobi/blog/2012/07/3g-internet-on-raspberry-pi-success/

and

http://raspberry-at-home.com/installing-3g-modem/

Following on from my previous posts about a tool or piece of technology that can be used to monitor bee hives and the status of bee’s; I’m pleased to announce the next step of my development of this project.

Originally code named ‘BeePi’ because I was building on the Raspberry Pi computer system, I have developed it further and it has evolved into ‘BeeSafe’ – a micro monitoring tool used to monitor the status of a bee hive.

BeeSafe Features:

Accelerometer External Environment Sensor
Abient Temperature Sensor Magnetic Switch Alarm
Brood Temperature Sensor LED Status Lights

Which will allow me to work out:

Current temperature of Bee cluster in the Hive – Are the Bees still alive
Current temperature of the environment around the hive – Are the bee’s likely to be active
If the Hive is open – Is someone doing something to the Hive
If the hive has fallen over – Has an animal or something caused the hive to fall over exposing the inside of the hive
If the hive is being moved – Useful if you think your Hive is being stolen
Quick Traffic light: Red, Amber or Green Status of the Hive

This is the first picture of the base PCB that will operate BeeSafe:

Bee Safe Base PCB

Bee Safe Base PCB

As you can see, it still requires a lot of work including soldering all the components to the board and then programming the system to detect and report from the various sensors.

From a software perspective at the Hive level, I need to start writing how and what the software will do, how often it will record measurements, what the traffic light system will show to the users, what data will be submitted to the cloud for capture and in what frequency.

Next stop is the cloud.. While I have ideas on what data I want to capture. I need to nail down specifications on what I want the cloud to do and how I want the cloud to be engaged by users.

Web, Email, Text and API are all things I want included in the project but the balance is finding out the best way to include them. If your Hive was broken into – would you want a text message saying that? What about on-demand reporting about how your hives are doing? What about logging in to your hive in the middle of winter to confirm that the bee cluster is overwintering well and that the temperature internally isn’t dropping too low (a sign the bees are starving and dying off).

I hope to manufacture these boards in greater numbers once I have developed this initial PCB, confirming that all the components work in the way they should and that I have suitable demand for the BeeSafe Project.

 

In a previous post (http://l-k.me/J) I described an idea I had to make use of a Raspberry Pi as a local sensor tool on a bee hive, a project I’ve dubbed ‘BeePi’.

Below is a small requirement chart for the projects needs and potential:

Requirement Must Have Would Like To Have Nice To Have
Internal Hive Temp Sensor Yes
External Hive Temp Sensor Yes
XYZ Accelerometer Yes
High Capacity Battery Yes
Solar Charging Battery Charger Yes
WiFi Transmitter Yes
WiFi Hub Yes
3G Connectivity Yes
Hive Disassembly Sensor Yes
RFID Antenna Yes
Weather Station Yes

While all of these could be rolled into a singular project, but it makes sense to break up development into phases based on real world requirements and (of course) money.

A lot of what is required for this project exists in singular projects already published by the Raspberry Pi community, a large following of users are making use of the Maplin USB Weather Station (http://l-k.me/I), GPIO Temperature Sensor(s) (http://l-k.me/K) and RFiD Reader (http://l-k.me/L). The use of a 3G and / or WiFi dongle makes sending data exceptionally easy as the OS will handle any of the connecting to the internet / network leaving any software to make / receive API calls and store the data where appropriate.

The use of the BeePi as a WiFi Hub is also worth considering if you have more than one hive in a location it makes sense to have a singular hub / data collecting server that all of the other BeePi’s connect to. There are many tutorials on the internet that show you how to turn your Raspberry Pi into a WiFi hub and make use of a singular 3G dongle to connect them all to the internet (Or even host the database locally).

After a bit of juggling and budgeting my Phase One build will look like this:

Internal Hive Temp Sensor
External Hive Temp Sensor
XYZ Accelerometer
High Capacity Battery
Solar Charging Battery Charger
USB WiFi Transmitter

I don’t want to host the data from the hive locally (on the BeePi), so I will write a program to gather up the sensor data periodically and then send the data to a database hosted somewhere (more to come on that as it is developed).

I want to capture the internal brood temperature, external atmospheric temperature, XYZ geometry of the hive. The BeePi will be powered by a chunky long life battery which will be maintained by a solar panel. The hive will be connected to my WiFi network via USB WiFi stick.

To aide development and keep phases in line with each other I will design any PCB’s to include the optional bits; RFiD reader, Hive Disassembly Sensor, 3G data stick. So that should I need to add these to my project or as requirements change I don’t have to go back to square one and make a new base-board.

For the sensors I am going to be using; I’ve chosen to keep things simple:

Internal and External Temperature Sensor: DS18B20 3 Pin 1 wire temperature, these are particularly handy and cool as you can connect several to the same GPIO pin but capture data from them all separately via serial interface. The tutorial guide I am using is: (http://l-k.me/K).

XYZ Accelerometer: ADXL345 a simple I2C accelerometer which you connect  via the BeePi’s GPIO Pins (http://l-k.me/M).

Power and Solar: Power will come from a 12V 7AmpHour battery which will be charged via solar panel regulated with a solar charge controller. The board I will design will take 12V and step down to 5V which will be used to power the Raspberry Pi, WiFi and connected devices. The hope is that the battery and sun will maintain the project indefinitely however as this is all theoretical (at time of writing!) I may need A) a bigger battery B) a bigger solar panel C) BOTH.

While you can source all of these components from UK distributors, I HIGHLY recommend looking at eBay and sellers who are based on HK or china as I have found the price difference to be considerable between UK and Asian sellers.

More to come as the project develops!

*FYI this idea is still a concept and needs to be ironed out!*

It’s worth mentioning one of the great technology releases of 2011 / 2012 was the Raspberry PI (www.raspberrypi.org), a credit card sized computer powered by an ARM processor which can run a select few flavours of Linux.

One of the great selling points of the Pi, are it’s GPIO Pins (General Input Output Pins) which allows you to connect up a vast multitude of sensors, lights, relays directly to the Pi and engage with it via the command line or computer program.

As an avid bee keeper I have spent my last few summers tending to a few bee hives, growing up two colonies to hopefully gather up lots of honey for me! (a treat I love!).

At a recent bee keeping event I ran into a man who had developed a bee hive sensor that is able to be placed inside the bee hive to capture a number of different aspects of a bee hive, such as; temperature, hive geometry to name a few. It was a great product but A) well out of my price range and B) not flexible enough to further development.

So I thought to myself, could I make something similar and what would it look like. Well the short answer is yes, and below are the (incomplete) specifications for what I would want my ‘BeePi” to look like and operate.

Project BeePi; An autonomous data gathering tool use to sense, collect and report back on a bee hive and hive surroundings.

It will feature;

Sensors:Hive internal temperature sensor, external temperature sensor, XYZ accelerometer and hive disassembly removal sensor.

Communications: The BeePi can connect via Wifi to a hub, Wifi to a master BeePi (collecting data from a whole apiary) or communicate via a 3G/4G dongle. Potential exists for a RFID based  ‘Check-In & Check-Out’ style system – useful if many people manage the hives in a particular area.

What will these sensors do?

Well, imagine your bee-hive(s) is located in an area where you suspect animals (or people) could knock the bee hive over. Using the accelerometer when the box is turned at an angle (for example being knocked over) the BeePi could send a message (via sms, pre-recorded message or email) with details about the hive, its location and at what time the event occurred.

Using an internal temperature sensor placed close to the cluster of the hive in the brood box it will give you an indication on the current status of your bees, including if the queen is laying and overall health of the hive. Typically happy brood = happy hive.

An external sensor placed close to the enterence the hive will give you an indication on if the bees are flying, as generally lower than 13 – 10c and they will stay inside and keep warm.

Hive disassembly sensor will alert you to when your hive is being dissembled, this could be handy if you believe someone is stealing from your hive and you wish to track times and events.

I believe that this is a valuable idea and project and will document my progress as I develop it further.

 

Mac OS  Security ships fully locked down. The idea being to protect servers and vulnerable users from malicious attacks from the get-go.

Permalinks make use of .htaccess files to allow URL’s to point directly to a specific blog post while making reference to the title of the blog; so in this case : http://www.mathewjenkinson.co.uk/getting-permal…rk-in-mac-os-x rather than http://www.mathewjenkinson.co.uk/?postid=123456. This for users is considerably easier to read and to navigate to.

To get Permalinks to work on your Mac (or other Unix / Linux box) you need to give your web server access to write the .htaccess file for that site.

On Mac OS; the steps are:

1) Load terminal and navigate to the root folder of your website; usually: ‘/Library/WebServer/Documents/Domain.com’

2) Change the ownership of the file to the www group by ‘sudo chmod _www .htaccess’

3) Navigate to ‘/Private/etc/apache2/sites’ and open (nano) the file connected to your site. It will be something like: ‘0001_any_80_domain.com.conf’

4) In the conf file; find the reference “AllowOverride” and switch it from “None” to “All”. Save the file

5) At this point you can reload Apache or the whole server; I tend to reboot the server using ‘Sudo Reboot’ as it only takes a few seconds to reboot.

So more recently I have started to make use of Cloud based systems, VPN’s, Web Services / Servers etc. One of the things I have wanted to build for a while is a portable Router / WiFi hub that can support a VPN connection.

There has recently been a lot of published warnings about people being exposed while surfing the internet at cafes or other public WiFi hot spots.

The idea of this project is to make use of a Raspberry PI, a second Ethernet Dongle, a Wifi Dongle and a VPN connection. One of the Raspberry Pi’s Ethernet sockets plugs into the public internet while the other (and soon to come WiFi Access Point) acts as its own private network, tunneling all data to the internet via a VPN connection.

Below are some of my notes about how I have build a Raspberry PI, VPN secured Router:

Raspberry Pi VPN Router Config

eth0 (on the PI) connected to the internal network
eth1 (USB to Ethernet) connected to the internet / network
tun0 The VPN Tunnel created when the PI connects to the VPN server
wlan0 (Usb to Wifi) Not Configured

Start with a NEW blank image of Raspberry ArmHF from http://www.raspberrypi.org/downloads

The first thing you should do is run:

sudo apt-get update && sudo apt-get install ca-certificates

which will update and upgrade your PI’s base image and also install certificates information

Once all the updates and installs have taken place we need to reboot the pi:

Sudo shutdown now -r

From here we need to configure all the network interfaces 1st
Then configure the VPN, test the vpn, and then install all the packages to make the Pi into a VPN’ed Router

To configure the network interfaces we need to edit the following file:

/etc/network/interfaces to do this we will use nano:

sudo nano /etc/network/interfaces

To keep things flexible and easy to manage we will want the INTERNET facing ethernet socket to be a DHCP Client, remember this is the USB to Ethernet port (eth1). We want the INTERNAL facing Ethernet socket (On the Pi, eth0) to be static and issue out IP addresses to connected computers. When the VPN connection goes live we will link the Eth0 to Tun0 so that all data traffic from Eth0 goes via the VPN connection.

Inside /etc/network/interfaces we need to add the following (removing the old data):


# interfaces(5) file used by ifup(8) and ifdown(8)

auto lo
iface lo inet loopback

#Onboard NIC connecting to the Internal Network
auto eth0
iface eth0 inet static
address 192.168.50.1
netmask 255.255.255.0
network 192.168.50.0
broadcast 192.168.50.255
gateway 192.168.50.1
#USB NIC serving as internet gateway
auto eth1
iface eth1 inet dhcp

Save the file and close the editor, as it stands now, your file has been saved but not loaded. You can load the file by either rebooting the PI or rebooting networking interfaces:

sudo /etc/init.d/networking restart

You can either do this now or in my case, wait and install all packages needed and then give the system a reboot to load everything in one go.
From here we need to install the following tools:

bind9 isc-dhcp-server perl libnet-ssleay-perl openssl openvpn libauthen-pam-perl libpam-runtime libio-pty-perl libdigest-md5-perl apt-show-versions libapt-pkg-perl this is done by:

sudo apt-get install bind9 isc-dhcp-server perl libnet-ssleay-perl openssl openvpn libauthen-pam-perl libpam-runtime libio-pty-perl libdigest-md5-perl apt-show-versions libapt-pkg-perl

Installing the VPN Tunnel:
With OpenVPN installed we can load our provided .OVPN file. This will have been generated (or provided from your VPN provider) by your server and needs to be loaded into:

/etc/openvpn/

In my case, i have the file loaded on an internal webserver so I just issue the commands:

cd /etc/openvpn/

sudo wget http://server.local/files/PI_VPN.ovpn

This downloads the .ovpn file to the directory, now we need to edit the file’s name so that OpenVPN picks it up on the next reload.

sudo mv PI_VPN.ovpn openvpn.conf

Now you need to reboot the VPN Server to pick up the new settings:

sudo /etc/init.d/openvpn restart

Installing the Router section:
Now we need to edit the DHCP server config details so that when users connect to the PI it will issue a DHCP address and resolve DNS Queries.

sudo nano /etc/dhcp/dhcpd.conf

As we want this DHCP server to have command of the IP network we need to make it authoritative, so you need to find and remove the # uncommenting out the following line:

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;

Now we need to add a new subnet to the network:

subnet 192.168.50.0 netmask 255.255.255.0 {
range 192.168.50.10 192.168.50.250;
option broadcast-address 192.168.50.255;
option routers 192.168.50.1;
default-lease-time 600;
max-lease-time 7200;
option domain-name “local”;
option domain-name-servers 8.8.8.8, 8.8.4.4;
}

This sets the reference IP range from 192.168.50.10 to 192.168.50.250 – more than enough for a small local network.
The networks domain is called ‘local’ you can also change this to anything you want ie home

Ive also appended the DNS Settings for Google’s Domain servers to this note, this means any DNS lookups perfomed by the PI will resolve against Google and not your ISP. If your using a custom DNS Server this is the place to change the information to reflect this.

Now Save the file and exit.

You can reboot the DHCP Service by typing in:

sudo /etc/init.d/isc-dhcp-server restart

You should recieve two OK messages.

If you have more than one device connected to your (new) internal network you should be able to ping them by typing in:

Ping 192.168.50. 55 (assuming your ping’ing device has an IP of 192.168.50.55) but it wont allow you to connect out to the wider world just yet.

Now we need to edit the IP Tables of the PI, to allow the forwarding of traffic from the VPN gateway into the internal network.

To do this type:

sudo echo 1 > /proc/sys/net/ipv4/ip_forward

which will allow the forwarding of IPV4 IP traffic, we also need to edit:

sudo nano /etc/sysctl.conf

and uncomment out (remove the #) around the line:

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

Save the file and exit.

Now we need to edit the IP Tables rules to allow for traffic. Type in:

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

Unfortunately, due to the nature of IP Tables if the PI looses power, it will reset it the IP tables back, loosing all your settings (not handy if you plan on moving the PI about) so we need to now backup and save your new settings.
This is done by saving your IP Tables as a rule file:

sudo iptables-save > /etc/iptables.up.rules

You can call the saved file anything you like, but it helps to keep things organised.
Now we need to create and edit a script to load the IP Tables Rule file:

sudo nano /etc/network/if-pre-up.d/iptables

and insert:

#!/bin/sh
#This script restores iptables upon reboot

iptables-restore < /etc/iptables.up.rules

exit 0

Now we need to edit the ownership & permissions of this file so it will run on boot:

sudo chown root:root /etc/network/if-pre-up.d/iptables && sudo chmod +x /etc/network/if-pre-up.d/iptables && sudo chmod 755 /etc/network/if-pre-up.d/iptables

You should now be able to reboot your PI as much as you like and it will retain all your data settings! (YaY).

Its worth giving your PI a reboot now, Given all the things you have now loaded onto the PI you will need to give it a reboot to get it going properly.

So one of the buzzword’s used in 2012 was ‘Big Data’, representing the interconnection of lots of databases from a variety of sources all communicating together.

Why might you want to engage with big data? Well say your website or app wants to make use of a post code search tool to confirm someones address, or allow your visitors to look up a weather report for a holiday destination you are offering without the user leaving your website or app.

This is achieved through the use of some technology known as ‘web services’ or an ‘Application Programming Interface’ (API).

One of my projects for 2013 involves making use of API’s to load data from a web server so I thought I would share how API’s work through this demo:

Lets say you have a database of recipes containing:

  • Recipe ID
  • Title
  • Thumbnail of the Dish
  • Ingredients & Method
  • Author

Next you would need to define what formats you want your data to be presented back, in this case I am going to use JSON and XML formatting.

On your web server create a new folder or appropriate place to store your API data file. In my case I have chosen: domain.com/api_interface/ and add a new file titled ‘API.php’

Inside API.php we can start to add some code:

<?php

//Checking and Getting the two variables format and number of records
if(isset($_GET[‘format’]) and intval($_GET[‘num’])) {

//Set our variables
$format = strtolower($_GET[‘format’]);
$num = intval($_GET[‘num’]);

In this code we open the PHP tags and check that we are getting two variables from the HTTP request – the format (either XML or JSON) and num (number of rows of data).

After this we need to connect to the database and start to query for data:

//Connect to the Database
$con = mysql_connect(“localhost”,”username”,”password”) or die (‘MySQL Connection Error.’);
mysql_select_db(“database_name”, $con) or die(‘MySQL Table Error.’);

//Run the API query
$result = mysql_query(‘SELECT * FROM table ORDER BY `recipe_id` ASC LIMIT ‘ . $num, $con) or die(‘MySQL Query Error.’);

This query will look-up the table ‘table’ from the database ‘database_name’ and return in ASCENDING order rows of data.

Now we have the data we can build an array and begin to present the data we would like.

//Preapre our output
if($format == ‘json’) {

$recipes = array();
while($recipe = mysql_fetch_array($result, MYSQL_ASSOC)) {
$recipes[] = array(‘post’=>$recipe);
}

$output = json_encode(array(‘posts’ => $recipes));

Fortunately for us PHP includes an encoder for JSON so specifying that we want the data in JSON format we can load the data into an array and then write the data directly into the correct format.

If on the other hand we would like our data in XML format we can use a loop inside php to load the array and then fill in the XML tags to present back the XML format required:

elseif($format == ‘xml’) {

header(‘Content-type: text/xml’);
$output .= “<?xml version=\”1.0\”?>\n”;
$output .= “<recipes>\n”;

for ($i = 0 ; $i < mysql_num_rows($result) ; $i++)
{
$row = mysql_fetch_assoc($result);
$output .= “<recipe> \n”;
$output .= “<recipe_id>” . $row[‘recipe_id’] . “</recipe_id> \n”;
$output .= “<recipe_name>” . $row[‘title’] . “</recipe_name> \n”;
$output .= “<recipe_img_small>” . $row[‘thumbnail_photo_url’] . “</recipe_img_small> \n”;
$output .= “<recipe_link>http://www.domain.com/recipes/recipe_detail.php?=” . $row[‘recipe_id’] . “</recipe_link> \n”;
$output .= “</recipe> \n”;
}

$output .= “</recipes>”;

The else if statement is connected to the IF statement above and relates to the users choice of data they would like (JSON Vs XML). As the If statement is run it loops through the statement filling in the blanks with data from the Array creating a complete XML file.

This is what the files look like in their respective outputs.

JSON:

{“posts”:[{“post”:{“recipe_id”:”1″,”title”:”Quick and Easy Rice”,”large_photo_url”:”tbd”,”thumbnail_photo_url”:”tbd”,”ingredients”:”Rice\r\nBoiling Water\r\nSesame Oil – Optional\r\n”,”method”:”Cook some rice”,”Author”:”Mathew”,”thumbs”:”1″}}]}

XML:

<recipes>
<recipe>
<recipe_id>1</recipe_id>
<recipe_name>Quick and Easy Rice</recipe_name>
<recipe_img_small>tbd</recipe_img_small>
<recipe_link>http://www.domain.com/recipes/recipe_detail.php?=1</recipe_link>
</recipe>
</recipes>

Building an API like this gives developers the most amount of flexibility when it comes to interfacing with your information and data.

Its worth noting that this API has got NO limitations attached to it and that should someone get a hold of your the API they would be able to spam your web server countless times bringing it down. I HIGHLY recommend the use of an API Key system such as mashery.com or  3scale.net/

Following on from my previous post (see post), concerning the unboxing of an Android based Mini GPS tracker, I’ve finally cracked how it works and what you need to do, the below is a review and how-to on my successes with the device so far;

For starters the Tracker is tiny:

Operation is relatively simple; I’m using a prepaid SIM card which you simply slot into the SIM card slot, once fully inserted the Tracker activates and a red light illuminates for about 10 seconds.

Initially my tracker did nothing, I spent the morning trying to see if it was a SIM card fault, the number not being activated or the tracker itself. Eventually I came to the conclusion that all things network related were fine and began to lose confidence in the Tracker.

THEN: It sprung into life. Out of no-where the tracker started responding to SMS commands and if I were to ring the device it would answer and I could hear the surrounding – very interesting.

Points to note:

‘GPS’ & ‘DW’ commands appear to do the same thing, but not what I was expecting.

I was expecting a raw output of GPS Lat and Long Co-ordinates from the Tracker, something in a raw easy to use format would have been nice… but alas I was presented with this:

Not being able to read the Chinese I don’t know what it says but a quick copy and paste of the characters into Google Translate reveals ‘View image URL’ so now we know that the device is using some kind of 3rd party mechanism to present the users with a picture of a map centered around the GPS co-ordinates.

It would have been nice to have raw GPS data, particularly as the URL your forwarded too doesn’t seem to work and auto directs to another web server which isn’t currently working.  Given that this device is (hopefully) Android based their might be an option to reprogram the tracker? –don’t hold your breath.

A quick few Google searches reveal a few others are having the same issues – both with the web server as well as the lack of any kind of good quality support from the sellers. Below is a link to a seller who appears to be communicating:

http://club.dx.com/forums/forums.dx/threadid.1261336

A few months back I ordered from a ‘Made in China’ website a small GPS / GSM tracking device, the device sounded pretty interesting – tho not in a stalkerish way!

Devices like this have been speculated about for many years and indeed used by various governments of the world for years. But more recently companies and individuals have taken to using the devices.

From a data perspective devices like this can serve a greater good. The tracking of a elderly loved one serves a useful purpose and backed up by SOS buttons its very easy to see benefit from something like this.

I had previously investigated building something like this in the past as an experiment so I was intrigued to see what an official product did and looked like. Plus being only $15USD inc. shipping it didnt break the bank.

Boxed:

Its clear to see how small the tracker is:

Technologically it features an ARM A8 Processor (hence the name Mini A8) which is one of the chipsets being produced in the millions out in China. This processor is able to run Googles ‘Android’ operating system so being able to program and interact with the tracker should be quite easy..

The instructions on the other hand are a different matter… While the Chinese are very good at many things, technical translation is not one of them.

eg “before using the new machine should be filled with electricity, in order to achieve the best effort”

So this is a ‘rough’ Chinglish to English translation guide on how to operate the A8 Mini Tracker

Mini A8 Android GPS / GSM Tracker English Users Guide.

This product uses the latest technology produced from Taiwan. Small yet mighty, It features a long battery life, simple easy to use, stable operation and easy installation.

While the device has a range of uses, the top uses are: Monitoring and support of elderly / cared for individuals, vehicle and logistics tracking as well as individual location tracking.

Powering ON: The device is powered on, once a SIM card has been inserted into the SIM tray. Turning the device over (Android face down) slide the cover back to reveal the SIM tray.

Once a SIM card has been inserted the system will begin its boot process. You will see a light illuminate for approximately 10 seconds. Once this light has been extinguished replace the cover.

Environmental Monitoring:  You can use the tracker’s onboard Mic to listen to the surrounding environment. To do this simply dial the number connected to the SIM you inserted, the tracker should answer and after approximately 5 seconds you should be able to hear up to approximately 10 meters from the tracker.

Sound Controlled Call Back: One advantage of the A8 that It can ring you when when noise around the device exceeds 45 DB. To configure this, ring from the phone you wish to the A8 to call you, once connected to the tracker wait 3 seconds and then hang up.

This feature can be turned off by sending an SMS text of ‘0000’ to the phone number of the A8. You can also turn this feature back on again by sending an SMS of ‘1111’ to the A8’s number.

GPS Positioning: In CAPITALS send an SMS message of either ‘DW’ or ‘GPS’ to the A8′. After a few minutes the A8 will respond with the GPS co-ordinates.

SOS Emergency Call: From the phone you wish to receive SOS calls from. Send in CAPITALS an SMS with the words ‘SOS’. After 3 seconds press the SOS button on the A8 to test this functionality. The indicator should flash and the phone should ring.

The Mini A8 GPS/ GSM Tracker operates at frequencies of: GSM 850/900/1800/1900MHz

Notices:

Before initial use, please ensure you fully charge the device, A 5.0V Power supply has been supplied however any 5.0VDC power source will work.

If your not able to interact with the A8 Device try removing the SIM card, reinserting and recharging before next use.

and finally my favourite quote of the manual:

“this product is forbidden for illegal purposes, Otherwise your peril.”