Physical Address

304 North Cardinal St.
Dorchester Center, MA 02124

SLS czyli System Lokalizacji SMS

Lokalizator GPS SLS

logoKilka lat temu namierzanie samochodów lub innych pojazdów przez system GPS był tylko w filmach SF. W dzisiejszych czasach chyba już to nikogo nie dziwi technika idzie bardzo szybko do przodu i ludzie mają coraz fajniejsze pomysły. Parę tygodni temu z kolegą zrobiliśmy taki system który umożliwia namierzenie samochodu z zamontowanym urządzeniem po przez sms z współrzędnymi geograficznymi gdzie znajduję się samochód.

gps gps3 gps2
Ogólny zamysł na te urządzenie miał mój kolega w pierwszej wersji miał wysyłać tylko współrzędne geograficzne w treści sms’a, ja podsunąłem pomysł żeby zrobić link do mapki. Same współrzędne geo by były trochę pustymi danymi bo byśmy musieli mieć przy sobie komputer żeby je gdzieś wprowadzić na przykład do map Google. Był by jeszcze jeden kłopot może nie duży ale zawsze mianowicie moduł GPS wysyła trochę inaczej współrzędne niż „rozumie” to skrypt Map Google. Dane prosto z GPS wyglądają tak 53 04.914N; 021 33.999E a skrypt Mapy Google przyjmuję takie dane 53.08190N; 21.56665E.

Do zbudowania tego urządzenia potrzebujemy telefon wykorzystywany jako modem do odbierania połączenia i do wysyłania SMS z danymi. Wybór na telefon padł na Siemens’a m35. Siemens ma otwarte komendy AT co daje nam szerokie możliwości możemy wysyłać smsy dzwonić po przez wydawanie mu komend przez terminal. Całe urządzenie steruje atmega8 oczywiście zaprogramowana odpowiednim programem to jest całe serce układu. Urządzenie nie ma żadnych dodatkowych opcji było to zamierzone z powodu na pobór prądu i bezpieczeństwo korzystania z urządzenia. Nie ma żadnego zdalnego gaszenia silnika ani odcięcia zapłonu ani zamykania i otwierania drzwi. Urządzenie jest podłączone na stałe do instalacji samochodu 12V, przez dwie przetwornice napięcia 3,3V i 5V. Przetwornica 3,3V zasila mikro-kontroler Atmega8L jest to Atmega o obniżonym napięciu zasilania i działa już od 2,7V. Nie mogło być wszystko zasilane napięciem 5V z powodu iż komunikacja z telefonem jest na poziomie 3,3V powyżej tego napięcia zaczynały się problemy z komunikacją z telefonem. Przetwornica 5V zasila tylko moduł GPS firmy ublox. Urządzenie podczas spoczynku pobiera prąd od 35-40mA w czasie dzwonienia do niego i wysyłania smsa pobiera około 100mA ten skok poboru prądu jest bardzo krótki trwa około 3 sekundy. Atmega8 czuwa także nad tym aby telefon się nie wyłączył sam i co 5 minut wciska przycisk włączana telefonu czyli zieloną słuchawkę. Napisałem wciska przycisk to znaczy zwiera go do masy.
A to jak wygląda treść sms’a w telefonie.
www.sls.piersa.pl/?n=53.081906&e=21.566655&s=17
53.081906
21.566655
20.0km/h

Teraz napiszę trochę o wyświetlaniu mapy. Do jej wyświetlenia nie potrzebujemy komputera wystarczy telefon z przeglądarką internetową w którym będziemy mogli wyświetlić stronę HTML.  W sms’e wysyłany jest link do strony z mapą z Google przez skrypt PHP. Można było zrobić bezpośrednio link do mapy Google ale są dwie wady tego rozwiązania mianowicie link jest długi i wchodząc na niego musimy pobrać obrazek na telefon i dopiero go otworzyć, drugi mankament to, że nie możemy zmienić skali mamy tylko jedną skalę którą wcześniej zadeklarowaliśmy, a wysłanie dwóch linków w jednej wiadomości jest niemożliwy ponieważ wiadomość sms może mieć tylko 150 znaków. Zastosowanie skryptu na stronie internetowej na własnym serwerze jest bardzo dobrym rozwiązaniem ponieważ mamy nieograniczone możliwości co do modyfikacji wyświetlania mapy. Ja to zrobiłem tak jak widać poniżej na zdjęciu

sc

Na żywo działającą stronę możemy zobaczyć pod adresem www.sls.piersa.pl Dane do wyświetlenia mapy są pobierane z linku przez metodę GET w języku PHP są trzy zmienne N E i S. Wszystkie zmienne są obowiązkowe w przeciwnym wypadku mapa nie zostanie wyświetlona poniżej link gdzie co wstawić

www.sls.piersa.pl/?n=DŁUGOŚ&e=SZEROKOŚĆ&s=SKALA OD 1 DO 21

na stronie znajduje się formularz w który można sobie wpisać współrzędne na przykład swojego miasta i zobaczyć jak to wszystko działa.

Tu znajduję się fragment kodu PHP


#####################PHP#####################
if (($_GET['n'] == "") || ($_GET['e'] == "") || ($_GET['s'] == ""))
{
...........
}
else
$n = "".$_GET['n']."";
$e = "".$_GET['e']."";
$s = "".$_GET['s']."";
........
img border="0" src="http://maps.google.com/staticmap?center&markers='.$n.','.$e.',midblue&zoom='.$s.'&maptype=mobile" width="300" height="300"
................
#####################PHP#####################

w miejsce kropek trzeba wstawić swój kod nie będę udostępniał całego kodu ponieważ nawet początkujący da sobie rade z tym skryptem a tu chciałem pokazać tylko ogólny zarys na czym się opiera skrypt pobierający mapę.
A teraz w skrócie jak działa całe urządzenie

  1. Dzwonimy na numer telefonu który jest w naszym urządzeniu.
  2. Urządzenie rozłączy nas po pierwszym sygnale.
  3. Po chwili otrzymamy link zwrotny z danymi z urządzenia.
  4. Wchodzimy przez telefon na link który otrzymaliśmy w wiadomości.

To by było chyba na tyle w razie jakichkolwiek pytań proszę pisać. Poniżej więcej zdjęć wzór płytki i schemat.

gps2 gps3plytka

schemat

12 komentarzy

  1. Mogę opisać trochę to tu.
    Komunikacja miedzy GPS a uC odbywa się po UARcie normalny port RS232 jak w komputerze, moduł GPS wysyła dane praktycznie non stop gdzieś co 10 sekund uC wychwytuje tylko jedną linijkę z tego ciągu i filtruje. Wyciąga tylko dane na temat współrzędnych oraz prędkość. Komunikacją miedzy uC a modułem GSM moduł GSM to telefon najtańsze rozwiązanie tel około 30zł moduł GSM około 110zł. Telefon jest sterowany komendami AT kiedy dzwonimy do niego on wysyła do naszego uC RING’a u nas jest tak zrobione że nie rozpoznajemy całego słowa RING tylko pierwszą literę czyli R stwierdziliśmy, że tak wystarczy. Dalej jest tak jeżeli nasz uC wychwyci, że jest „R” to znaczy że ma wysłać komendę AT do telefonu rozłączającą połączenie ATD bodajże (dawno to było nie pamiętam już) następnie jest przygotowywana struktura SMS’a następnie jest wysyłany do nas sms

  2. Struktura SMS’a to jest zwykła komenda AT numer i treść sms’a i tak naprawdę nie jest nigdzie zapisywana. Jeszcze odpowiem na jedno pytanie które zapewne nie długo padnie gdzie jest zapisany numer telefonu na który jest wysyłany sms zapisany jest w uC lecz mozna by było to zmodyfikować żeby był pobierany z książki telefonicznej z telefonu.

  3. Problem z zasięgiem czasem się pojawia. Pisząc antena zewnętrzna myślę, że Ci chodzi o taka antenę na zewnątrz samochodu ? Montaż takiej anteny jest kłopotliwy i na dodatek ją widać „ktoś już widzi, że coś jest w samochodzie więcej”. W chwili obecnej mam przylutowaną antenę zewnętrzną do telefonu i schowaną pod deską rozdzielczą obok telefonu. Co do zasięgu to zależy jeszcze od operatora, ja kartę mam w play (najtaniej wychodzi do takich urządzeń). Nie przeprowadzałem testów czy telefon w sieci paly i moje urządzenie w tych samych miejscach mają taką samą siłę sygnału. Aby to sprawdzić przydało by się dopisać w programie wyciąganie poziomu sygnału z telefonu i wysyłanie tych danych w smsie.

Dodaj komentarz