Android x86 laptop + zunanji GPS = ?

Par let nazaj sem dobil Asus EEEpc 1005p. Specifikacije so super, 1.66ghz Atom procesor, 2Gb rama, 160gb disk. Overklill za android 🙂

IMG-20141123-00760

Android x86 za eeepc sicer obstaja, ampak ne 4.4. Zato sem rajs nalozil Android-x86 4.4-r1 live & installation iso. Standard instalacija: s programom unetbootin zapeces sliko na usb, in z usbjem zazenes laptop. Pri nalaganju predlagam ext3 format.

IMG-20141123-00759Dela. easy peasy.

SOFTWARE

Za zunanji GPS je potrebno instalirat program You Are Here (click here). Ta se poveze na gps preko usbja, in posreduje koordinate sistemu. Da pa to vse dela, je potrebno omogocit Developer options in oznacit Mock Locations. Razen konfiguracije, je to to, kar se tice SW.

HARDWARE

ja… no…. GPS ane 😀

Vbistvu je vseeno kaksen je, ce je USB potem je vse skup mal lazje. Jaz bom uporabil trusty old cheap bluetooth GPS, ki sem ga uporabil ze na Multiwii kontrolerju. Vem da dela, vem da ima 38400 baudrate, pa pini so ze odkriti. Potrebujem sicer samo TX, GND, VCC.IMG-20141123-00758

To je serijski signal, zato ga je treba pretvorit v nekaj, kar je racunalniku razumljivo. Za zacetek bom uporabil pl2303 usb2serial adapter, ki sem ga dobil pri Cubieboardu. Ce bo ok, ga bom najbrz razdrl in zmanjsal.

Torej… gps na pretvorniku, lucka dela, terminal na racunalniku kaze ok. Baudrate na 38400. IMG-20141123-00761

Ko zadevo povezem na You Are Here, se pokaze problem…IMG-20141123-00763IMG-20141123-00764Ja, to bi znal bit problem 🙂

Enter Arduino pro mini. S SoftwareSerial library lahko beres serijski signal na enem portu z dolocenim baudratom in ga prikazujes na drugem portu z drugim baudarateom.

Sam sem uporabil Digital pin 5 za GPS TX in ga poslal na, ze obstojeci, serijal port na Atmega328, to sta pin 2 (Rx) in pin 3 (Tx), kar nanese pin 0 in pin 1 na Arduino plosci.

To je program ki tece na atmegi:

#include <SoftwareSerial.h>
SoftwareSerial mySerial(5, 6); // RX, TX, GPS on 5
void setup()
{
Serial.begin(9600);
mySerial.begin(38400);
// Serial.println(“Hello world”);
}
void loop()
{
if (mySerial.available())
Serial.write(mySerial.read());
}

Vse skupaj izgleda takoleIMG-20141123-00765

Povezano na Android IMG-20141123-00766IMG-20141123-00767

SUCCESS!!

Vse skupaj je treba se zmanjsat in pospravt v ohisje od laptopa. Ampak proof of concept pa je.

 

 

 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.