Screenshot from the prototype web application

Make your own GPS system with Google Maps!

The following images are screenshots from the web application. Please click the images to get a better view. The first image illustrates the two options the user has: (1) real time positioning & (2) historic summary.

Introduction

Real time positioning

Historic summary from several position reports

Possibilities and limitations

Make your own GPS system with Google Maps!

My last posts have in general presented a positioning system which is not dedicated a specific purpose. My intention is to make a generic concept that can fit different needs, that you do minimum configurations to adapt the positioning system to your business model. Take the blog account on wordpress.com for instance – the user make own adjustments of what kind of information that should appear on the blog, without calling the owner or extra resources. You make your own adjustments via the dashboard.

The possibilities and limitations regard to the mobile device (the tracking device)

As mentioned earlier I advice you to make the use of minimum resources of the mobile unit, especially if the tracking device is depended on limited battery power. But if you like to make the most of the mobile unit from Roundsolutions, you may have many possibilities. I especially like the possibility to establish alternative communication links if the GPRS module fails to send position reports. In case of such problems it may send the reports per SMS, or eventually make a call to signal an error.

When it comes to coverage, you’ll need to differ between the GSM and GPS coverage. Clearly there are limitations regard to the problems to calculate the position if you move the mobile unit into buildings, parking houses, shopping centers, etc. Even in your car you may have problems if the antenna isn’t near the windows. These problems may be met by installing roof mounted antenna that gains more sensitivity to the GPS receiver. The downside is the extra cost, but many of the alternative antennas include both GPS and GSM. If the mobile unit manages to state the geographic position by using multiple methods, not only GPS, you’ll soon have an attractive device on the market.

The possibilities and limitations regard to The Access module (web access to the position reports)

During the development phase of the prototype I had suddenly a lot more ideas when I made the web access module. I think this configuration may differ quite a lot between different product concepts. If you already have a web server and a database running, why not add this positioning system to it? You may keep the cost at a minimum, and prevent another sub-system that you have to deal with.

The prototype allows you to log in to the web application and read the position reports from a Google Map. Another possibility is to distribute the position reports directly to the end-user per e-mail, RSS feed, SMS, etc. But take care of security matters!

Why Google Maps? If you represent an agency that makes and studies road traffic data, you may like to catch data parameters to generate specific reports. Another example is from Holland where the government has made the decision to remove the toll bars to collect road taxes. They want to install a GPS tracking device in each vehicle to monitor the user and bill him or her after each travel. This is a brilliant example to make the effect to improve road traffic.

The system drawing – The Positioning system

Make your own GPS system with Google Maps!

Please read part 1-5 for more information and idea overview. This system drawing makes the brief summary of the Positioning system. Please click on the image to get a better view.

Access to GPS information – The Access module (part 5)

Make your own GPS system with Google Maps!

Please read part 1-4 for more information and idea overview.

We have come to the fifth and final module of the Positioning system. Until now we have collected and stored the data from each tracking device, but we need to make a mechanism that  possible the user access to the data.

What are the options? You might send a data report once a day or week per e-mail. A call center that gives information about your tracking devices. This is the hard, non-flexible and expensive way. I think the user want instant data access anywhere and presented in a self-decided format. The data should be presented in two main categories: Real-time and historic data. It shouldn’t  be a coincidence that we have decided to structure our data in the database in two tables, real-time data and historic data (see part 4).

Web access

We need to understand the users need. My suggestion for this prototype is to make the data available on a web page on a Google Map. Almost everyone in this part of the world have access to a computer, a smart phone or any other kind of terminal. If you make a web page that support a “standard” configuration, you’ll have a potential to reach more users, rather than pushing highly specialized and unique software to them. The day you find a bug in your software or a need to include a new function, you’ll be happy to only update the web-application.

Security

I understand that some would like to focus on security, and that is pretty obvious since we are dealing with tracking devices that are attached to humans or personal belonging equipment. If you allow all internet users to follow your car all time, your privacy life might be at risk. Your web page need user access mechanisms, a username and password, and when logging in you’ll only get access to your own tracking devices. Every tracking device contains a unique id-number (IMEI number) that might be linked to one or several users that are permitted to read the data.

Many possibilities

As you already know, when we step into the web arena, there are many possibilities to make a user-friendly, flexible, dynamic and intuitive user application. For my prototype I have used the following components for the web application:

- HTML and JavaScript: You will need this to make the web-page that run the script locally on the computer/terminal

- PHP: You will need PHP to be able to run the application on the server-side. For example when you request data from your database

- AJAX: AJAX and XML is perfect if you need a dynamic web application that allow the user to do database requests.

- MySQL: You might install WampServer that allow you to run MySQL database on a Apache server with PHP.

These subjects are widely discussed on different user forums, both at new-beginner and professional level.

Google Map

If you want to integrate a Google Map in your web application you’ll have a powerful tool to present your tracking devices on the electronic map. Google provides a lot of information for web-developers. There are several examples of maps with different functionalities. When you integrate the map you briefly put a set of HTML/JavaScript code into your application from a standard Google configuration. You then make your changes according to your plan, for example to integrate the variables for the different data sections. When you run your application the map is continuously updated by the Google server according to change in zoom level, type of map, map-icons and map orientation. One of the main advantages for this solution is the possibility to mark the path between the different position-reports from your tracking devices. This is excellent for the historic presentation of the data.

I have made an application that present all the different sections of the position report from each tracking device in an information bubble in the map. You only click on the actual position node to get more information, instead of filling the entire web page with data sections. Between each position report I have put a red line to illustrate the route.

Next time I will make a short summary of part 1-5, I’m also going to focus on the product potential of positions systems. Please participate.

Data storage – The central module (Part 4)

Make your own GPS system with Google Maps!

Please read part 1 to 3 to get the introduction and idea overview.

I assume you would like to have several tracking devices that transmit the position reports to an online server. The server will act as a  central module in the system, which means it collects all data from every tracking device and makes these reports available for other systems or applications to read. Maybe you would exclude the server and transmit the position reports directly from the GPS/GSM devices to the end-users? If you would like every internet-user to easily access your system, you may solve many difficulties to avoid pushing software to each terminal, only let them go directly to your web-server to access information.

I suggest the following few steps in order to collect the data from the tracking devices:

1. Prepare and receive data reports

2. Extract each section of the position report, and make necessary re-calculations

4. Access the database and store the data

You might do all these steps with a Python or Java application. For test purposes you might set up a fixed IP address that all tracking devices connects to, then you might sort each incoming report in several sockets. Off course, you must make the ability to receive 1 or more reports, at the same as you are prepared to receive even more incoming reports. For security reasons you should close each socket after end of report.

Requirements:

Like the mobile module (the GPS/GSM application) you may identify a lot of requirements about an application that initially seems to be pretty easy to make. I think the success lies in your ability to sort these requirements, make them even more clear, and prioritize them. If you imagine the different cases about your mobile units (tracking devices), you see how flexible the applications must be to handle driving into tunnels, power failure, interference, etc.

It is different to make it work in your lab, if you compare it with the real world. Off course, you need to test your system to identify most of the challenges you will meet.

Capacity:

System capacity will most probably be a topic. For this server application I think your requirements about the position report frequency is important. Lets assume that you would like to update the position of each mobile module every 10-15.second, then you can multiply the resulting data-traffic with the number of active mobile devices. Your application and server processing capacity must meet these requirements, unless you accept less report frequency.

Re-calculations:

Why would you need to make re-calculations of your data. You need to know what you are going to do with the data – where is it going to be used? If you would like to present the data in a Google Map, you must understand which format Google is using for longitude and altitude. If these elements aren’t correct you might end up in Antarctica when you should be in New York city. There are a lot of different formats to choose among when presenting a geographic position. Google Maps uses longitude and latitude in decimal-degrees numbers. The mobile module (GE-863GPS) uses longitude and latitude in degrees, decimal and minutes. Re-calculation is necessary, but why can’t it be done in the mobile module application before transmitting to the server? I think you should never process more than is strictly necessary in the mobile module application if you plan to make a system that depends on battery capacity. If you plan to make a portable mobile module you should make the application very simple in order to save as much battery power as possible.

Store your data in the database:

As soon as you have organized you data, you’ll need to store your data in a log file or database. Databases are excellent to store and structure data, especially when you later want to access them with one or several search criteria. In part 3 I presented the different data sections you may make from your GPS tracking device:

(1) the unique mobile identity number

(2) date

(3) time (UTC)

(4) latitude

(5) longitude

(6) altitude

(7) speed (km/h & knots)

(8) course

(9) the number of satellite in view

You may configure a MySQL database that store all these sections, that collect the data from your server application. If using Python you’ll need a Python MySQL update of your version. The image shows an example of a database table based on data from the GE-863 GPS.

The data collection – The GPS module (Part 3)

Make your own GPS system with Google Maps!

Please read part 1 and 2 to get the introduction and idea overview.

Let me suggest a product, a development kit, that give you the tools to make a data collection module. Go to Roundsolutions (www.roundsolutions.com) and study the Telit GE-863 GPS. If you know Python or C programming you might make your own instructions for the GPS module as a stand-alone device or a part of a positioning system. The module doesn’t only hold a GPS receiver but also a GSM communication device. All this is tightly put together on the printed circuit board. The development kit is for both highly professionals and amateurs.

You get support from Roundsolutions during the development phase. Please note that Roundsolutions is only an example; I’m sure there are other companies that give the same kind of products and services.

The instructions, the so-called AT-commands, are pretty straight forward to make. To integrate these commands into the Python code might sometimes be challenging if you are not familiar with such programming, but everything is possible with a bit support and hours of work. With the development kit (S-3) you control and run your own AT- or Python scripts directly from your laptop, or you might transfer your python file to the module and make It run as a stand-alone unit.

Any questions so far? Can I make my own mobile phone with GPS functionality?

Ok, let’s not be overenthusiastic about this. Let us keep focus about the intention to make a positioning system, not a traditional handheld GPS device. Make it easy – easy to keep up, update, change, etc. With the GE-863 device you might make pretty advanced stuff if desirable.

What about GPS and GSM coverage? You might integrate both the GSM- and GPS antenna on the printed circuit board, but obviously the antennas do not always come into satellite and base station view – the connectivity is then lost or often interrupted. If your intended product allow an external antenna, especially the GPS antenna. If the module is vehicle or boat installed, I recommend to use a sensitive roof antenna. Then you can reduce the risk of  insufficient GPS coverage in normal operation environment. Testing will confirm your worries about this question.

What kind of information does the module give? This module gives the following: (1) the unique mobile identity number,  (2) date, (3) time (UTC), (4) latitude, (5) longitude, (6) altitude, (7) speed (km/h & knots), (8) course and (9) the number of satellite in view. It is up to you what data you want to collect from the GPS receiver. I consider these data posts as fundamental to make a positioning system.

If you have considered all this already, it’s time to discuss the data collection process. What are the instructions?

I propose the following:

1) Initialize the GPS unit and GSM communication link – Power on

2) Log on the GSM network. You may use a SIM-card from your mobile operator

3) Request a position report from the GPS receiver

4) Collect the entire position report (see point 1-9 above) into a single data message

5) Transmit the data message to the open Internet (f.ex GPRS).

Please note that the mobile networks need a user name and a password for user access. Your mobile operator provides this information.

The GPS module might repeat point 3-5 over and over again with 60 seconds intervals. How often should it report its position in your Positioning system?

The main modules of a positioning system (Part 2)

Make your own GPS system with Google Maps!

Please read part 1 for more information and idea overview.

First, to make a proof of concept, we need an overall discussion about the positioning system without going for the details and specific requirements. Regardless which problem or challenge the positioning system is going to solve, I think all such systems will have the same main modules. Off course, they might function and appear different for different services.

I suggest three main modules:

1) First of all the system needs a data-collection module, and I’m then thinking about a GPS unit that analyses the receiving satellite signals and calculates the position plus other several components of a geographical position. A GPS normally calculates longitude, latitude, altitude, speed, course, it also makes reports about link quality and the number of satellites it receives from.

2) The second module is the data-storage of reports from several GPS receivers, a kind of central server that receives the position reports  from several GPS-nodes (1) and stores each position report in a local database. The module’s main purpose is to manage and keep track of the portfolio of GPS receivers, therefore I’m not too concerned about the data handling. I think the success lies in the ability to handle many incoming reports and effective make the data available for the users.

3) The third and last module is data accessibility. This module makes it possible for users to download the structured data from the database (2) and see what kind of information it has. Perhaps one user only will have access to information from a few GPS nodes and is then prohibited to access any more information. Data accessibility might need presentable report with key statistics, but initially I think about the use of Google Maps or the Google Earth application to present the GPS nodes on the map. Maps will make well presentations about the tracking history of the GPS nodes.

The potential of tracking devices (Part 1)

Make your own GPS system with Google Maps!

Where do we find GPS devices these days? Almost everywhere, and It almost seems like people can’t find their way at all without the popular GPS receivers, especially when travelling by car in cities. You find GPS products also for personal training, farming, shipping, walking in deep forests, emergency units and many more. They are easy to use and pretty accurate too, but for me it seems like the only success of such products are those portable and “personal” devices. They are solving the questions – where am I, how long have I come, find the way, what’s the distance, time?

But, is that all? Aren’t there other kinds of challenges in our daily life that might be solved?

It might be interesting to use more of the potential of tracking devices without crossing the line of doing illegal monitoring of privacy life. Already you find other more comprehensive solutions of monitoring. For example you may place a small tracking device a secret place in your car – If your car gets stolen you may make a call for it with your mobile phone, and the tracking node is possible to locate on an electronic map. Or, maybe you want to monitor your transport vehicles, to calculate more correct delivery time for your customers? I’m sure there are other examples.

Why and how can you make such a low-cost product og service that is easy to manage, easy to update, compliance to other systems, easy to expand, etc? Something that everybody need – that make us even more effective, secure and accurate.

This blog, with the help and support from you, will go into and concrete the positioning  topic. Also, it will be interesting to even make a prototype of a positioning system based on exiting and well-known products and services.

Positioning system based on GPS

Welcome to my blog!

This blog will mainly present the projects that I’m involved in, and I really want you readers to contribute with your thoughts and ideas about the different topics.

My first topic is about “Positioning system” based on GPS and web technology and services. Please enter the section from the menu above.

Hva er en blogg, og hvilke blogger finnes?

I hverdagen..

Jeg leser ofte VG-nett for å holde meg oppdatert på de siste nyhetene. VG er et nettsted som informerer deg som leser hva det er som skjer i verden, men av og til tenker jeg på om VG har lyst til å høre hva jeg syns og hva som opptar meg? Er jeg nødt til å rane en bank for å få oppmerksomhet? Håper jeg slipper å gjøre det.

Når det er sagt kan vi nevne at VG har opprettet en side hvor du kan skrive blogg http://www.vgb.no/. Men hva er egentlig en blogg?

 

blogging

 

Definisjonen sier at en blogg er en webside som kontinuerlig blir oppdatert av innlegg som blir organisert slik at det ferskeste innlegget blir presentert øverst. Blogger blir opprettet og kommentert av alle og enhver som ønsker å skrive kommentarer innenfor et emne, som for eksempel mat, politikk, nyheter eller innenfor mer personlige kategorier. En typisk blogg kombinerer tekst, bilder og linker til andre blogger eller websider. Selv om de fleste blogger primært inneholder tekst, finner du også blogger av fotogallerier eller videoer. Se flere detaljer om definisjonen av blog på http://jilltxt.net eller http://en.wikipedia.org/wiki/Blogging.

Noen har sikkert en eller annen gang laget en hjemmeside. En side på Internett som du har dedikert til deg selv der du skriver litt om deg selv, dine interesser og opplevelser. Hvis du har en gjestebok, kan dine venner eller hvem som helst skrive inn en hilsen og kommentere innholdet ditt. Man kan si at publisering og oppadtering av web-sider var en tidlig form for blogging, bare at den var en-veis kommuniserende mellom deg og andre og derav mindre fleksibel. Gjesteboken ble da et steg videre da de andre kunne skrive og kommentere tilbake til deg. Her er en vilkårlig valgt gjestebok hos Norsk Country Musikk Forbund: http://www.ncf-norge.com/gbles.asp. I 1998 kom Open Diary hvor du kunne skrive inn kommentarer til innlegg. Dette ble det første blogg-miljøet med stor interesse av tusener av sider. Som et resultat av et bedrende kommunikasjonmiljø på Internett, så man tidlig at engasjementet og antall brukere økte. Nettverket ble større.

 

 

Er det sammenheng i alt dette?

Skal man prøve å oppsummere dette til noe fornuftig, ikke bare en jungel av forskjellige teknikker for å snakke sammen på Internett. Hva ønsker vi av dette?

Vi ønsker å presentere oss på nettet og håper gjerne at de som besøker oss skal legge igjen et svar på det du har å fortelle. Kanskje vil vi ha en diskusjon og et nettverk av sider og ressurser å refferere til i denne prosessen? Et bilde forteller med enn tusen ord, derfor vi ha mulighet for gallerier, grafer og tabeller. Kommunikasjonen må gå toveis i et betydelig nettverk av deltakere hvis det skal være interessant å delta.

 

Video om en som presenterer seg for Internett. Velg dine venner med omhu!

 

Jeg tror at en blogg er et resultat av det vi allerede har utviklet på Internett. Hjemmeside, gjestebok, open diary, søkemotorer og linker til andre blogger eller web-sider. Ikke bare tekst men også bilder og vidoer som gjør opplevelsen litt mer interessant. Dette gjør at andre velger å besøke deg om og om igjen.

Bloggen er et produkt av sammensydde tjenester utviklet for å tilby deg som bruker av det interaktive Internett den mest aktuelle kommunikasjonsformen som til nå er utviklet.

 

 

Hva gjør jeg for å lage min egen blogg? 

La oss si du har noe på hjertet som du vil meddele de andre på Internett. Må jeg være utdannet programmerer for å lage slike fine bloggesider som du finner her? Må jeg bruke betydelig med tid og ressurser for å lage min egen blogg?

Nei, du trenger ikke det, og trenger heller ikke å betale for det heller. Det finnes mange som tilbyr blogg i et format som du ønsker. Eksempelvis WordPress eller BlogSpot. Her oppretter du din egen blogg ved å regisrtrere dine brukerdata. I ditt valg av bloggdesign kan du velge blant mange forskjellige layout. Du kan også selv velge hvilke funksjoner som skal være oppsatt, for eksempel søkemuligheter, linker og bilder. Du trenger ikke å installere noe programvare på din maskin da det er muligheter for å bruke browser-basert programvare. Denne siden hos Nettreaktor viser hvordan du oppretter din egen bloggside.

Når du er igang ønsker du sikkert også å engasjere deg i andres blogger. Det finnes et hav av blogger, og i løpet av det neste minuttet har brukerne av bloggmiljøet laget en roman av blogginnlegg. Her trengs det et verktøy som filtererer ut de interessante bloggene som er av interesse av å lese. Bloggdigger er et eksempel på et slikt verktøy. Ønsker du å søke etter fisk, kan du skrive for eksempel “fishing” og søke deg til “Cooking in the Caribbean & Food in the Caribbean “.

 

 

Blogger vi uten nytte? 

Hvilken samfunnsmessig funksjon har blogging? Hva hvis din blogg engasjerer mennesker til å uttrykke dem selv, til å diskutere og fremme hverdagslige ting som må gjøres noe med. Tror du det blir ignorert av samfunnstoppene?

I en norsk lærebok for 8.klasse, “Fra saga til CD”, står det skrevet om blogging: “I begynnelsen av 2000-tallet begynte disse bloggene i større grad å kommentere og være et korrektiv til det som blir sagt i aviser, radio og på fjernsyn. En amerikansk blogger avslørte i 2004 at det amerikanske nyhetsprogrammet “60 Minutes” sendte et innslag om den amerikanske presidenten Georg W. Bush som var basert på forfalskede dokumenter. Under tsunamikatastrofen i 2004 var mange blogger veldig godt besøkt og også sitert av de store tradisjonelle mediekanalene. Selskaper som overvåker nyheter på Internett (Presseklipptjenester) , begynner nå også å overvåke blogger. Noen kaller derfor bloggene for den femte statsmakt.”

 

 

 

Det har vært gjort studier som har sett på blogging versus journalistikk. Media har stor innvirkning på politikk, men det kan også refereres til blogging som har hatt sin innvirkning. Se www.tpmcafe.com. Media har en objektiv presentasjon, selv om noen mener at objektivitet ikke eksisterer. Blogging er i utgangspunktet subjektivt fordi det er knyttet opp til menneskers egne meninger. Selv om det er bra at media presenterer stoff uten å ta noens side, er det av og til greit at noen sier det akkurat slik som det er uten at man trenger å pynte på noe. Blogging skaper dermed stor takhøyde og engasjement.

 

 

Øvrige eksempler på blogging 

Man ser også at blogging er brukt blant soldater i krigen i Irak. Det kalles Warblog og gir oss muligheten til å forstå hvordan krigen er fra soldatens perspektiv. Et eksempel på Warblog er The Command Post . Her har du også blogging innen sikkerhetspolitikk og andre konflikter som pågår.

Noen foretrekker å se på bilder fremfor å lese. Photoblogs.org har blogger som inneholder mange interessante bildegallerier. Noen reklamerer disse for salg med høy oppløsning.

 

 

 

Vlog er en blogg som inkluderer video, oppbygd på samme måte som er ordinær blogg med det siste innlegget øverst. Denne typen blogging kom ikke igang skikkelig før i 2005 etter at Ipod og iTunes kom på markedet. I denne sammenheng kom også Video podcast som er en tjeneste som gir deg muligheten til å laste ned valgt musikk eller videoer fra en distributør.

 

Blogging er ikke bare fritidssysler men også bidragsyter i arbeidslivet

Blogging skaper mye positivt i en hverdag som krever mye av oss. Jeg mener at blogging fremmer kommunikasjon mellom mennesker, bidrar til økt læring og skaper engasjement rundt debatter som er viktig for samfunnsutviklingen. Med en så viktig funksjon forstår vi godt at virksomheter implementerer blogging som verktøy. Videre skal vi utdype dette nærmere.

 

Tilbake

Follow

Get every new post delivered to your Inbox.