Zrób to sam Lokalizator GPS Glonass - ochrona samochodów. Lokalizator GPS do samochodu. Jak zainstalować radiolatarnię śledzącą samochód bez miesięcznej opłaty?

Po kilku eksperymentach z arduino postanowiłem zrobić prosty i niezbyt drogi tracker GPS z wysyłaniem współrzędnych przez GPRS na serwer.
Używane Arduino Mega 2560 (Arduino Uno), SIM900 - moduł GSM/GPRS (do przesyłania informacji na serwer), odbiornik GPS SKM53 GPS.

Wszystko kupiłem na ebay.com, w kwocie około 1500 zł (około 500 zł arduiny, trochę mniej - moduł GSM, trochę więcej - GPS).

Odbiornik GPS

Najpierw musisz zrozumieć, jak pracować z GPS. Wybrany moduł jest jednym z najtańszych i najprostszych. Producent obiecuje jednak baterię do zapisywania danych satelitarnych. Według danych technicznych zimny start powinien zająć 36 sekund, natomiast w moich warunkach (10 piętro od parapetu, nie ma w pobliżu budynków) trwało to aż 20 minut. Kolejny start to już jednak 2 minuty.

Ważnym parametrem urządzeń podłączonych do arduino jest pobór mocy. Jeśli przeciążysz konwerter arduino, może się przepalić. Dla zastosowanego odbiornika maksymalny pobór prądu wynosi 45mA @ 3,3v. Dlaczego w specyfikacji wskazać siłę prądu przy napięciu innym niż wymagane (5V) jest dla mnie zagadką. Jednak konwerter arduino wytrzyma 45 mA.

Połączenie
GPS nie jest kontrolowany, chociaż ma pin RX. Za co - nie wiadomo. Najważniejszą rzeczą, jaką możesz zrobić z tym odbiornikiem, jest odczytanie danych NMEA z pinu TX. Poziomy - 5V, tylko dla arduino, prędkość - 9600 bodów. Podłączam VIN do VCC arduino, GND do GND, TX do RX odpowiedniego portu szeregowego. Dane odczytuję najpierw ręcznie, a następnie za pomocą biblioteki TinyGPS. Co zaskakujące, wszystko jest czytelne. Po przejściu na Uno musiałem użyć SoftwareSerial, a potem zaczęły się problemy - część znaków wiadomości zaginęła. Nie jest to bardzo krytyczne, ponieważ TinyGPS odcina nieprawidłowe wiadomości, ale jest to raczej nieprzyjemne: można zapomnieć o częstotliwości 1 Hz.

Krótka uwaga na temat SoftwareSerial: w Uno nie ma portów sprzętowych (innych niż ten podłączony do portu szeregowego USB), więc musisz użyć oprogramowania. Tak więc może odbierać dane tylko na pinie, na którym płyta obsługuje przerwania. W przypadku Uno są to 2 i 3. Co więcej, tylko jeden taki port może jednocześnie odbierać dane.

Tak wygląda „stanowisko testowe”.

Odbiornik/nadajnik GSM


Teraz zaczyna się ciekawsza część. Moduł GSM - SIM900. Obsługuje GSM i GPRS. Ani EDGE, ani 3G nie są obsługiwane. W przypadku przesyłania danych o współrzędnych jest to prawdopodobnie dobre - nie będzie opóźnień i problemów podczas przełączania między trybami, a GPRS jest teraz prawie wszędzie. Jednak w przypadku bardziej złożonych aplikacji może to nie wystarczyć.

Połączenie
Moduł jest również kontrolowany przez Port szeregowy, na tym samym poziomie - 5V. A tutaj już potrzebujemy zarówno RX, jak i TX. Moduł jest nakładką, czyli jest montowany na arduino. Co więcej, jest kompatybilny zarówno z mega, jak i uno. Domyślna prędkość to 115200.

Zbieramy na Mega, a potem czeka nas pierwsza niemiła niespodzianka: pin TX modułu pada na 7 pin mega. Przerwania nie są dostępne na 7 pinie mega, co oznacza, że ​​będziesz musiał połączyć 7 pin, powiedzmy, z 6 pinem, na którym możliwe są przerwania. Tym samym zmarnujemy jeden pin arduino na nic. Cóż, jak na mega, to nie jest zbyt straszne - w końcu pinów jest wystarczająco dużo. Ale dla Uno jest to już trudniejsze (przypominam, że są tylko 2 piny obsługujące przerwania - 2 i 3). Jako rozwiązanie tego problemu można zaproponować nie instalowanie modułu na arduino, ale połączenie go przewodami. Następnie możesz użyć Serial1.

Po podłączeniu próbujemy „rozmawiać” z modułem (nie zapomnij go włączyć). Wybieramy prędkość portu - 115200, przy czym dobrze, jeśli wszystkie wbudowane porty szeregowe (4 na mega, 1 na uno) i całe oprogramowanie działają z tą samą prędkością. W ten sposób można osiągnąć bardziej stabilną transmisję danych. Dlaczego - nie wiem, chociaż chyba.

Więc piszemy prymitywny kod do przekazywania danych między portami szeregowymi, wysyłamy atz, w odpowiedzi milczymy. Co się stało? Ach, wielkość liter ma znaczenie. ATZ, mamy OK. Hurra, moduł nas słyszy. Zadzwoń do nas, jeśli jesteś zainteresowany? ATD +7499 ... Dzwoni telefon stacjonarny, z arduino wydobywa się dym, laptop jest wycięty. Arduino wypaliło się. Złym pomysłem było zasilanie go 19 woltami, chociaż jest napisane, że może działać od 6 do 20 V, zalecane jest 7-12 V. Karta katalogowa na module GSM nie mówi nigdzie o poborze mocy pod obciążeniem. Cóż, Mega idzie do magazynu części. Z zapartym tchem włączam laptopa, który otrzymał +19V przez linię +5V z USB. Działa, a nawet USB się nie wypaliło. Dzięki Lenovo za ochronę.

Po przepaleniu konwertera szukałem pobieranego prądu. Tak więc szczyt - 2A, typowo - 0,5A. To wyraźnie wykracza poza możliwości przetwornika Arduino. Potrzebujesz oddzielnego jedzenia.

Programowanie
Moduł daje szerokie możliwości przesyłania danych. Zaczynając od połączeń głosowych i SMS-ów, a kończąc w rzeczywistości na GPRS. Ponadto w przypadku tych ostatnich możliwe jest wykonanie żądania HTTP za pomocą poleceń AT. Będziesz musiał wysłać kilka, ale warto: tak naprawdę nie chcesz ręcznie generować żądania. Z otwieraniem kanału transmisji danych przez GPRS jest kilka niuansów - pamiętasz klasyczne AT + CGDCONT = 1, „IP”, „apn”? Więc tutaj potrzebujesz tego samego, ale trochę bardziej przebiegłego.

Aby uzyskać stronę konkretny adres URL wyślij następujące polecenia:
AT+SAPBR=1,1 //Otwarty przewoźnik (Carrier) AT+SAPBR=3,1,"CONTYPE","GPRS" //typ połączenia - GPRS AT+SAPBR=3,1,"APN","internet" //APN, dla Megafon - internet AT+HTTPINIT //Zainicjuj HTTP AT+HTTPPARA="CID",1 //ID przewoźnika do użycia. AT+HTTPPARA="URL","http://www.example.com/GpsTracking/record.php?Lat=%ld&Lng=%ld" //Rzeczywisty adres URL, po sprintf ze współrzędnymi AT+HTTPACTION=0 //Żądanie dane metodą GET //czekaj na odpowiedź AT+HTTPTERM //zatrzymaj HTTP

W rezultacie, jeśli istnieje połączenie, otrzymamy odpowiedź z serwera. Oznacza to, że w rzeczywistości wiemy już, jak przesłać dane o współrzędnych, jeśli serwer otrzyma je przez GET.

Odżywianie
Ponieważ złym pomysłem jest zasilanie modułu GSM z konwertera Arduino, jak się dowiedziałem, zdecydowano się kupić na tym samym ebayu konwerter 12v->5v,3A. Jednak moduł nie lubi zasilania 5V. Przechodzimy do hacka: podłączamy 5V do pinu z którego pochodzi 5V z arduino. Następnie wbudowany konwerter modułu (dużo mocniejszy niż konwerter arduino, MIC 29302WU) zrobi z 5V to, czego potrzebuje moduł.

serwer

Serwer napisał prymitywny - przechowujący współrzędne i rysujący na Yandex.maps. W przyszłości możliwe jest dodawanie różnych funkcji, w tym obsługa wielu użytkowników, stan „uzbrojony/nieuzbrojony”, stan systemów samochodu (zapłon, reflektory itp.), możliwe jest nawet sterowanie systemy. Oczywiście z odpowiednim wsparciem dla trackera, który płynnie zamienia się w pełnoprawny alarm.

Próby terenowe

Tak wygląda zmontowane urządzenie bez obudowy:

Po zamontowaniu konwertera zasilania i włożeniu go do obudowy z niedziałającego modemu DSL układ wygląda tak:

Przylutowałem przewody, wyjąłem kilka styków z padów arduino. Wyglądają tak:

Podłączyłem 12V w aucie, jeździłem po Moskwie, dostałem tor:


Punkty toru są dość daleko od siebie. Powodem jest to, że wysyłanie danych przez GPRS zajmuje stosunkowo dużo czasu i w tym czasie współrzędne nie są odczytywane. To jest wyraźny błąd programistyczny. Jest to traktowane po pierwsze poprzez przesłanie paczki współrzędnych na raz z czasem, a po drugie przez asynchroniczną pracę z modułem GPRS.

Czas wyszukiwania satelitów na siedzeniu pasażera samochodu to kilka minut.

wnioski

Stworzenie trackera GPS na arduino własnymi rękami jest możliwe, choć nie jest to trywialne zadanie. Głównym pytaniem jest teraz, jak schować urządzenie w samochodzie, aby nie było narażone na działanie szkodliwych czynników (woda, temperatura), nie było osłonięte metalem (GPS i GPRS będą ekranowane) i nie było szczególnie zauważalne. Na razie leży po prostu w kabinie i łączy się z gniazdkiem zapalniczki.

Cóż, nadal musisz poprawić kod, aby uzyskać płynniejszą ścieżkę, chociaż tracker już wykonuje główne zadanie.

Używane urządzenia

  • Arduino Mega 2560
  • Arduino Uno
  • GPS SkyLab SKM53
  • Osłona GSM/GPRS oparta na SIM900
  • Konwerter DC-DC 12v->5v 3A

Dla wielu właścicieli firm transportowych zakup sprzętu lokalizacyjnego staje się koniecznością. Sygnalizator GPS do samochodu pomaga monitorować zużycie paliwa, ruch i określanie lokalizacji online. Istnieje wiele opcji tego sprzętu, urządzenia różnią się charakterystyką i kosztem.

Lokalizator GPS do samochodu - co to jest

Wizualnie urządzenie wygląda jak czarna skrzynka wielkości paczki papierosów, ale drogie modele mogą być jeszcze mniejsze. Samochodowy lokalizator GPS jest zainstalowany w kabinie samochodu, pomaga dokładnie określić współrzędne obiektu. Błąd takich urządzeń rzadko przekracza 2,5 metra. Cały system składa się z urządzenia odbiorczego i nadawczego. Sygnalizator w samochodzie do śledzenia ruchu przesyła dane do komputera, które odbiera odbiornik GPS.

GLONASS lub GPS służy do śledzenia ruchu samochodu, na komputerze jest zainstalowane specjalne oprogramowanie, które odbiera dane z radiolatarni samochodu. Lokalizator można podłączyć przez deskę rozdzielczą lub rozładowywać baterie. Sygnalizator GPS dla samochodu odbiera sygnał z kilku satelitów znajdujących się na orbicie i poprzez opóźnienie w odpowiedzi system określa lokalizację samochodu, a następnie przesyła dane do komputera lub telefonu. Oprócz określania współrzędnych, latarnia do śledzenia samochodu może:

  • transmitować, odbierać dźwięk przez mikrofon;
  • rejestrować przebytą trasę;
  • monitor opróżniania, tankowania.

Lokalizator GPS do samochodu bez miesięcznej opłaty

Oprócz zakupu systemu śledzenia (beacon) mogą wystąpić dodatkowe koszty oprogramowania, obsługi serwera itp. Z tego powodu ludzie szukają lokalizatora GPS do samochodu bez opłata za subskrybcję. Można znaleźć wiele ofert, które oferują takie warunki, ale rozsądny człowiek musi zrozumieć, że firma musi coś zarobić. Możliwe, że warunki rzeczywiście nie będą obejmowały płatności miesięcznych, ale dodatkowe koszty będą ukryte w innych paragrafach, na przykład:

  1. Tag GPS do samochodu nie wymaga opłaty abonamentowej, jednak aby korzystać z oprogramowania należy podłączyć konkretną taryfę na telefon, za którą trzeba będzie zapłacić. Firma otrzyma wówczas swój udział za sprzedany pakiet.
  2. Cały system monitorowania i śledzenia działa tylko na specjalnym oprogramowanie kupić. Nie uda się połączyć sygnalizatora do samochodu z innym oprogramowaniem i nie ma wyboru.
  3. W niektórych przypadkach podpisujesz umowę, która nie obejmuje opłaty miesięcznej, możesz zainstalować moduł nadajnika, a otrzymasz niezbędne oprogramowanie. Po roku musisz odnowić umowę, wtedy mówią ci, że musisz płacić za korzystanie z usług, ale nie chcesz już zmieniać systemu śledzenia.
  4. Istnieją realne oferty, w których śledzenie samochodu odbywa się bez miesięcznych opłat. Oprogramowanie dostarczane jest na jeden komputer, możesz z niego korzystać tylko z niego. Jest to dopuszczalne dla osoby prywatnej, która chce zabezpieczyć swój samochód przed kradzieżą, ale absolutnie nie jest to wygodne dla firm z kilkoma menedżerami i więcej niż jednym samochodem.

Lokalizator GPS do samochodu z mikrofonem

Katalog tego produktu może oferować wiele opcji. Produkuj trackery do samochodów różnych krajach, niektórzy mają dobra jakość, inni biedni, ale niska cena. Kolejną cechą wyróżniającą jest obecność w trackerze dodatkowe funkcje, na przykład niektóre opcje pomagają śledzić zużycie paliwa (opróżnianie / uzupełnianie zbiornika). Czasami właściciele firm i osoby prywatne decydują się na zakup lokalizatora GPS do samochodu z mikrofonem w sklepie internetowym. Dzięki temu usłyszysz wszystko, co dzieje się w kabinie pojazdu. Promień słyszenia wynosi zwykle 8 m.

Lokalizator GPS do samochodu na magnesie

Istnieje kilka opcji montażu tego urządzenia. Lokalizator GPS do samochodu na magnesie należy do samodzielnej wersji urządzenia i jest ulepszoną wersją modelu przypinanego. Ta lampa ostrzegawcza do samochodu posiada silny magnes, pomaga ją dyskretnie zamocować w dowolnej części samochodu. W przypadku kradzieży ważnym warunkiem jest dobre ukrycie lokalizatora, aby później możliwe było śledzenie ruchu auta. Urządzenie zasilane jest akumulatorami, dobrze trzyma się na wszelkich żelaznych samolotach, nie spada podczas jazdy. Znalezienie trackera na magnesie jest znacznie trudniejsze.

Instalowanie lokalizatora GPS w samochodzie

Z reguły w tę procedurę zaangażowani są wyspecjalizowani pracownicy, którzy poprawnie skonfigurują urządzenie. Zainstalowanie lokalizatora GPS w samochodzie jest niedrogie, ale jeśli chcesz, możesz to zrobić sam. Jeśli nie ma pewności, że ustawienia są prawidłowe, należy powierzyć sprawę profesjonalistom. Lokalizator montowany jest na samochodzie w kilku etapach:

Szkolenie

Musisz włożyć kartę SIM do specjalnego gniazda w trackerze na samochód. Jeżeli beacon znajduje się w samochodzie służbowym, wówczas części otwieranego urządzenia należy zaplombować, aby uniknąć nieuprawnionego wtargnięcia innej osoby. Pomoże to kontrolować integralność urządzenia i wiarygodność danych z niego. Następnie musisz podłączyć urządzenie do sieci pokładowej pojazdu. Z reguły stosuje się do tego 3 przewody z bloku deski rozdzielczej lub zapalniczki.

Lepiej ukryć urządzenie przed ciekawskimi oczami w samochodzie, aby nie było możliwości jego demontażu. Z reguły tracker jest instalowany wewnątrz deski rozdzielczej. Urządzenie śledzące nie może stykać się z żadnymi ruchomymi częściami maszyny. Należy pamiętać, że w celu uzyskania najlepszego odbioru antena urządzenia musi być zawsze skierowana w niebo. Niektóre modele mają odłączaną antenę, więc pamiętaj, że odległość między nią a trackerem nie powinna przekraczać 30 cm.

Połączenie

Po wykonaniu poprzednich kroków należy poprawnie podłączyć urządzenie do panelu. Potrzebujesz do tego 3 przewodów z zapalniczki lub sieci pokładowej. Konsekwentnie połącz stałe plusy i minusy z blokiem. Ostatni przewód to linia ACC z niestałym plusem, należy go podłączyć do bateria zapasowa. Następnie zainstaluj anteny GSM i GLONASS/GPS.

Samochodowy lokalizator GPS do samochodu

Niektórzy ludzie nie ufają producentom tych urządzeń i chcą własnoręcznie wykonać lokalizator GPS do swojego samochodu. Najłatwiej jest użyć smartfona. Wszystkie nowoczesne modele tych urządzeń są wyposażone w modem GPS, który może stać się latarnią morską dla samochodu. To wygodny sposób zabezpieczenia się przed kradzieżą dla osób fizycznych. Latarnia morska „zrób to sam” jest tworzona w następujący sposób:

  1. Pobierz na swój telefon specjalny program z Internetu.
  2. Przejdź do zasobu „Gpshome”.
  3. Zarejestruj się i przejdź do Obszar osobisty.
  4. Następnie potrzebujesz sekcji „Ustawienia”, w której możesz dodać niezbędne dane dotyczące śledzonego obiektu.
  5. Będziesz musiał zajrzeć pod baterię telefonu, aby przepisać IMEI (unikalny numeryczny identyfikator komórki).
  6. Wprowadź dane w formularzu na stronie.
  7. Uruchom na telefonie komórkowym zainstalowany program i zobacz, czy śledzenie rozpoczęło się na koncie osobistym w witrynie.

Jak wybrać lokalizator GPS do swojego samochodu?

Istnieje wiele ofert producentów tego produktu, więc są trudności z zamówieniem trackera. Jest kilka parametrów, które pomogą Ci podjąć decyzję o zakupie. Sygnalizator GPS do samochodu, który lepiej wybrać:

  1. Zapytaj konsultanta o dokładność lokalizacji. Jeśli błąd przekracza 2,5 metra, to nawet niska cena nie jest powodem do zakupu takiego urządzenia. Tracker musi poprawnie i dokładnie określić wszystkie parametry.
  2. Dowiedz się, z jaką prędkością beacon może odbierać sygnał i przesyłać go do komputera. Im mniejsza ta wartość, tym lepiej.
  3. Daj pierwszeństwo modelom, które mogą przechwytywać odbite sygnały satelitarne. Dotyczy to samochodów poruszających się po mieście. Brak tej funkcji spowoduje błąd w wyświetlaniu trasy (tak jakby pojazd nie poruszał się po drodze).
  4. Dostępność dodatkowych funkcji. Jeśli potrzebujesz mikrofonu, wskaźnika paliwa, to niedrogie modele ich nie mają.

Cena lokalizatora GPS do samochodu

Jeśli chcesz uzyskać dokładne dane o lokalizacji, trasie swojego samochodu, powinieneś kupić dobry tracker. Cena tych urządzeń mieści się w przybliżeniu w jednym segmencie. Oto kilka popularnych modeli urządzeń:

  1. Gwiezdny Majak M17. Urządzenie jest połączone przewodem, cena wynosi od 6000 rubli.
  2. Znacznik GPS M100. Jest kabel do podłączenia urządzenia do panelu, jest też akumulator awaryjny, cena wynosi od 4500 rubli.
  3. Voyager 4. Urządzenie jest podłączone do sieci samochodu, ale może chwilowo działać z wbudowanego akumulatora, cena od 6200 zł.
  4. Proma Sat 1000. Autonomiczny lokalizator magnetyczny do samochodu, który według producenta utrzymuje ładunek przez około 2 lata. Cena - od 11 200 rubli.

Wideo: jak działa lokalizator GPS

Myślę, że każdy szanujący się pilot rozumie, że obracanie głowy w kokpicie za pomocą myszki lub joysticka jest co najmniej niewygodne, a co najwyżej powolne i nieefektywne. Aby ułatwić to zadanie, inteligentni ludzie wymyślili urządzenia, takie jak trackery głowy, które śledzą ruch głowy i powtarzają te ruchy w grze.

Wybitnym przedstawicielem takich urządzeń jest TrackIR. Urządzenie jest niewątpliwie dobre, ale drogie… jego cena to około 6-9 tysięcy rubli (w zależności od wersji). Dziś zacznę serię artykułów i pokażę na swoim przykładzie, jak za skromne pieniądze złożyć urządzenie nie gorzej. Wstępne wydatki na urządzenie wynoszą do 1,5 tysiąca rubli (w moim przypadku wyszło 900 rubli).

Czego do tego potrzebujemy?

1. kamera internetowa bez filtra IR (IR-infrared) (jeśli jest to usuniemy)

2. Diody podczerwieni od 1 do 4 sztuk (ja używam 3)

Jeśli nie masz kamery internetowej (która będzie musiała zostać „zepsuta”, jeśli masz filtr IR), polecam zakup kamery Playstation 3 Eye. Cena tego aparatu to około 1300 rubli, ale można go kupić taniej. Jednocześnie kamera ma dość szeroki kąt widzenia, co jest wygodne, jeśli nie chcemy przypadkowo wypaść z „klatki” podczas bitwy, a także ma wysoką wydajność (do 120 klatek/s) , dzięki czemu śledzenie jest dokładniejsze.

Jak kupić taniej?

Metoda numer 1:

Aby kupić grę EyePet na PS3 w zestawie z tym aparatem, teraz na Yandex.market (St. Petersburg) widzę ją w sprzedaży za 890 rubli, czyli o 1,5 taniej niż kupowanie osobno.

Metoda numer 2:

Kup używane. Osobiście właśnie to zrobiłem, ostatecznie wydając śmieszne 400 rubli.

Jak to działa?

Aby obsługiwać cały ten system, na głowie umieszcza się niewielkie urządzenie (przyczepiane do czapki lub słuchawek), na którym umieszczone są diody podczerwieni. biegnie program specjalny tracking, który wykorzystuje nasz aparat do śledzenia pozycji diod. Ponadto, na podstawie pozycji diod, oblicza pozycję głowy i jest przenoszony do gry.

Dlatego diody są na podczerwień, to w kamerze nie powinno być filtra IR, albo trzeba go będzie usunąć. Jeśli tak jest, to światło diod będzie mocno osłabione i śledzenie będzie działać słabo lub wcale.

Przykład roboczy (jeszcze nie mój):

Część praktyczna - wyjmij filtr IR

Filtr IR usunę na przykładzie kamery Playstation 3 Eye. Procedura jest dość skomplikowana i to nie dlatego, że potrzebne są specjalne umiejętności, ale głupio ciężko wybrać obiektyw

1. Wyjmujemy zaślepki od tyłu nożem i odkręcamy 4 śruby

2. Otwórz górę obudowy. Czeka tu zasadzka, sprawa jest bardzo trudna do otwarcia. Jeśli martwisz się wyglądem aparatu, to klipsy przytrzymujące obudowę znajdują się jeden po bokach, a dwa na górze (niektóre nadal są na dole, ale nie pękają przy zgrubnym otwarciu). Jeśli tak jak ja nie zależy Ci na wyglądzie, a kilka nacięć na obudowie nie straszy, to bierzemy płaski śrubokręt i z grubsza zaczynamy ściskać obudowę po bokach i od góry, a dopiero na końcu od dołu . W takim przypadku zaciski boczne i górne najprawdopodobniej zostaną złamane (ale to nie ma znaczenia, kamera jest mocno skręcona tymi czterema śrubami, które niedawno odkręciłeś).

3. Odkręć dwie śruby od dołu, aby zdjąć nóżkę (podstawkę) kamery

4. Odkręcamy 3 śruby na górze deski i pojedynczo z boków (nie dotykaj dolnych)

5. Usuń pozostałości ciała

6. Delikatnie trzymając obiektyw, odkręć go od tyłu (dwie ostatnie śruby)

7. Ostrożnie wyjmij soczewkę, nie dotykając matrycy... Nie daj Boże drapać - może się nie udać!

8. I tu zaczynają się hemoroidy. Konieczne jest wykopanie górnej soczewki nożem. Miejsce, w którym stała, jest zaznaczone czerwonym zacienionym okręgiem. W tym celu bardzo długo i żmudnie wykopałem rowek wokół obiektywu, wbijając tam czubek noża (lepiej użyć szerokiego noża), po czym udało mi się go tylko wyciągnąć, uszkadzając przy tym sam obiektyw… ale biorąc pod uwagę, że już go nie potrzebuję, i tak go wyrzuciłem).

9. Po wyciągnięciu soczewki zbieramy wszystko z powrotem

10. Aby dodatkowe światło nie zakłócało wyraźnego widzenia diod IR należy wykonać filtr. Na przykład powstaje negatyw (film fotograficzny) lub część magnetyczna (naleśnik) starej dyskietki 3,5 cala. Użyłem dyskietki. Okrąg o średnicy 1,5 cm jest wycinany i umieszczany w bagnecie (korpusie obiektywu) przed zamontowaniem obiektywu w korpusie lub mocowany w jakiś sposób na górze.

Wynikowa kamera pokaże czarny obraz, ale jeśli weźmiesz pilota telewizora, skierujesz go na kamerę i naciśniesz dowolny przycisk, zobaczysz jasną kropkę z emitera IR. Jeśli tak się stało, wszystko jest zrobione perfekcyjnie.

Zamówiłem diody SFH485P (nie muszą być uziemione, mają już dobry kąt świecenia i dobrą długość fali 880) z ebay, bo Znalezienie ich na stanie okazało się problemem. A raczej musisz szukać tego, co mi nie odpowiada. W efekcie otrzymam je za 2-3 tygodnie i wtedy będę mógł kontynuować artykuł pokazujący przykłady na żywo...

To jeden z najbardziej udanych projektów head trackera, z jakimi się spotkałem. Najbardziej Zaawansowana technologia- akcelerometr, żyroskop i kompas jak w słuchawkach Wirtualna rzeczywistość Gear VR, Playstation VR, Oculus Rift i nie tylko. A do stworzenia wystarczy tylko minimalna zdolność do lutowania i więcej niż skromna ilość pieniędzy. A teraz w porządku.

Opcje

Całkowity koszt: 750 rubli.

montaż

Istnieje bardzo prosta i szczegółowa oficjalna instrukcja. Potrzebujemy z niego tylko tabeli połączeń.

Myślę, że komentarze są niepotrzebne. Wystarczy wziąć dwie deski, przymierzyć i przykleić taśmą dwustronną. Następnie łączymy styki płyt z przewodami zgodnie z płytką.

Tutaj chciałbym przedstawić dwie rekomendacje. Pierwszy: płytka czujnika już tablice arduino, a większość połączeń jest po jednej stronie (2,3,7,GNDx2), więc zostawiamy ją otwartą (przesuń płytkę czujnika na drugą stronę), a pozostałe dwa przewody (VCC i GND) lepiej przylutować ) zanim skleimy deski razem , bo potem będzie to trudniejsze. Druga: najpierw przylutuj długie przewody (GND i INT), a następnie krótkie (SCL, SDA, AD0). Ja, jak widać na zdjęciu, pomyliłem się z INT. A co najważniejsze: nie oszczędzaj topnika! A jeśli jest neutralny (na przykład kalafonia), to nie można go prać.

Przycisk jest po prostu przylutowany jeden koniec do Arduino (10), a drugi koniec przez przewód do najbliższego uziemienia (GND). W zasadzie przycisk jest już zamocowany, ale dodatkowo przykleiłem go cyjanoakrylanem.

I to wszystko, możesz tego użyć!

Ulepszenia

Pamiętasz, jak na samym początku wspomniałem o złączu dwupinowym? Jest potrzebny do podkreślenia. Przyklejony superglue tuż pod guzikiem. Wystarczą dwie małe krople.

Zasadniczo lubię wygląd urządzenie i dość trudno je zepsuć. Ale dla większej niezawodności ukrył go jednak w termokurczu.

Wskaźniki nie są dla nas interesujące - mimo wszystko urządzenie jest na głowie. A przycisk w zasadzie łatwo wciska się przez skurcz termiczny, ale nadal wyciąłem mały otwór i przykleiłem mały kawałek plastiku na samym przycisku, aby był łatwiejszy do wyczucia.

Firmware, kalibracja i strojenie

Tutaj wszystko jest więcej niż proste. Ściąganie oficjalna aplikacja EDTracker GUI, rozpakuj i uruchom.

Wybierz wersję (EDTraket2_9250) i odpowiedni port. Jeśli żądany port nie, możesz zaktualizować listę za pomocą przycisku „Skanuj porty”. Po wybraniu odpowiedniego portu uruchamiamy firmware przyciskiem Flash. Pod koniec oprogramowania rozpocznie się standardowa 20-sekundowa kalibracja żyroskopu, w której konieczne jest utrzymywanie trackera w bezruchu. Ta sama kalibracja jest przeprowadzana przy każdym włączeniu urządzenia.

  1. Po prawej stronie otwórz mur magnetometru
  2. Ustaw czułość na około 75% (skala 3/4)
  3. Kliknij Uruchom ponownie i zacznij obracać nasze urządzenie we wszystkich możliwych płaszczyznach
  4. Trzeba to robić, aż współczynniki matrycy przestaną się zmieniać, ale musi się zgromadzić co najmniej 500 Punktów, im więcej tym lepiej

Kropki są wyświetlane na obrazie. Czerwony - pomiary surowe z czujnika, zielony - przeliczone. Cały ten trójwymiarowy obraz obraca się wokół zera, tj. środek kuli zielonych kropek.

Jeśli kompas nie jest skalibrowany, śledzenie głowy nie będzie działać poprawnie.

Nie ma tu wielu ustawień:

  • Wybór trybu osi (wykładniczy/liniowy)
  • Czułość na oś
  • Wygładzanie

Nie lubię zezować na monitor, więc używam trybu wykładniczego, czułość powyżej 100, wygładzanie 75-90%. Czuję się tak komfortowo.

Pozostaje tylko dołączyć do ulubionego zestawu słuchawkowego i możesz dołączyć do bitwy! Jedyny przycisk służy do centrowania.

Wrażenie

Wrażenia są niezwykle pozytywne. Miałem już tracker na kamerze i tagu (GTX vTrack MkI) i mam coś do porównania.

  • niska cena
  • ścisłość
  • brak aparatu (dla paranoika)
  • i co najważniejsze - nie trzeba ustalać pozycji przed komputerem, lubię schodzić w dół i w górę podczas gry, a z kamerą musiałem zawsze trzymać się w centrum kadru
  • grzechotanie w skrajnych pozycjach - kara za wysoką czułość i tryb wykładniczy
  • kalibracja żyroskopu odpływa, jeśli zestaw słuchawkowy przez jakiś czas leżał na stole, należy go ponownie skalibrować na głowie przez 20 sekund przed użyciem
  • wysokie wartości czułości nie są zapisywane po wyłączeniu, przed każdym użyciem trzeba ponownie ustawić czułość - to najprawdopodobniej błąd w oprogramowaniu
  • EDTracker UI po pewnym czasie zawiesza się z błędem
  • na Klawisz skrótu nie można przypisać kombinacji przycisków, a fakt, że program okresowo ulega awarii, uniemożliwia korzystanie z HotKey. Dobrze, że wystarczy przycisk na samym urządzeniu

Jak dla mnie minusy są bardzo niewielkie. A ponieważ oprogramowanie open source kod źródłowy- zawsze możesz coś naprawić. Podoba mi się urządzenie i będę z niego korzystać. Może profesjonalne urządzenia jak TrackIR mogą okazać się czymś lepszym, nie jestem gotów rezygnować z zalet jakie daje to urządzenie.

Po kilku eksperymentach z arduino postanowiłem zrobić prosty i niezbyt drogi tracker GPS z wysyłaniem współrzędnych przez GPRS na serwer.
Używane Arduino Mega 2560 (Arduino Uno), SIM900 - moduł GSM/GPRS (do przesyłania informacji na serwer), odbiornik GPS SKM53 GPS.

Wszystko kupiłem na ebay.com, w kwocie około 1500 zł (około 500 zł arduiny, trochę mniej - moduł GSM, trochę więcej - GPS).

Odbiornik GPS

Najpierw musisz zrozumieć, jak pracować z GPS. Wybrany moduł jest jednym z najtańszych i najprostszych. Producent obiecuje jednak baterię do zapisywania danych satelitarnych. Według danych technicznych zimny start powinien zająć 36 sekund, natomiast w moich warunkach (10 piętro od parapetu, nie ma w pobliżu budynków) trwało to aż 20 minut. Kolejny start to już jednak 2 minuty.

Ważnym parametrem urządzeń podłączonych do arduino jest pobór mocy. Jeśli przeciążysz konwerter arduino, może się przepalić. Dla zastosowanego odbiornika maksymalny pobór prądu wynosi 45mA @ 3,3v. Dlaczego w specyfikacji wskazać siłę prądu przy napięciu innym niż wymagane (5V) jest dla mnie zagadką. Jednak konwerter arduino wytrzyma 45 mA.

Połączenie
GPS nie jest kontrolowany, chociaż ma pin RX. Za co - nie wiadomo. Najważniejszą rzeczą, jaką możesz zrobić z tym odbiornikiem, jest odczytanie danych NMEA z pinu TX. Poziomy - 5V, tylko dla arduino, prędkość - 9600 bodów. Podłączam VIN do VCC arduino, GND do GND, TX do RX odpowiedniego portu szeregowego. Dane odczytuję najpierw ręcznie, a następnie za pomocą biblioteki TinyGPS. Co zaskakujące, wszystko jest czytelne. Po przejściu na Uno musiałem użyć SoftwareSerial, a potem zaczęły się problemy - część znaków wiadomości zaginęła. Nie jest to bardzo krytyczne, ponieważ TinyGPS odcina nieprawidłowe wiadomości, ale jest to raczej nieprzyjemne: można zapomnieć o częstotliwości 1 Hz.

Krótka uwaga na temat SoftwareSerial: w Uno nie ma portów sprzętowych (innych niż ten podłączony do portu szeregowego USB), więc musisz użyć oprogramowania. Tak więc może odbierać dane tylko na pinie, na którym płyta obsługuje przerwania. W przypadku Uno są to 2 i 3. Co więcej, tylko jeden taki port może jednocześnie odbierać dane.

Tak wygląda „stanowisko testowe”.

Odbiornik/nadajnik GSM


Teraz zaczyna się ciekawsza część. Moduł GSM - SIM900. Obsługuje GSM i GPRS. Ani EDGE, ani 3G nie są obsługiwane. W przypadku przesyłania danych o współrzędnych jest to prawdopodobnie dobre - nie będzie opóźnień i problemów podczas przełączania między trybami, a GPRS jest teraz prawie wszędzie. Jednak w przypadku bardziej złożonych aplikacji może to nie wystarczyć.

Połączenie
Moduł jest również sterowany przez port szeregowy, o tym samym poziomie - 5V. A tutaj już potrzebujemy zarówno RX, jak i TX. Moduł jest nakładką, czyli jest montowany na arduino. Co więcej, jest kompatybilny zarówno z mega, jak i uno. Domyślna prędkość to 115200.

Zbieramy na Mega, a potem czeka nas pierwsza niemiła niespodzianka: pin TX modułu pada na 7 pin mega. Przerwania nie są dostępne na 7 pinie mega, co oznacza, że ​​będziesz musiał połączyć 7 pin, powiedzmy, z 6 pinem, na którym możliwe są przerwania. Tym samym zmarnujemy jeden pin arduino na nic. Cóż, jak na mega, to nie jest zbyt straszne - w końcu pinów jest wystarczająco dużo. Ale dla Uno jest to już trudniejsze (przypominam, że są tylko 2 piny obsługujące przerwania - 2 i 3). Jako rozwiązanie tego problemu można zaproponować nie instalowanie modułu na arduino, ale połączenie go przewodami. Następnie możesz użyć Serial1.

Po podłączeniu próbujemy „rozmawiać” z modułem (nie zapomnij go włączyć). Wybieramy prędkość portu - 115200, przy czym dobrze, jeśli wszystkie wbudowane porty szeregowe (4 na mega, 1 na uno) i całe oprogramowanie działają z tą samą prędkością. W ten sposób można osiągnąć bardziej stabilną transmisję danych. Dlaczego - nie wiem, chociaż chyba.

Więc piszemy prymitywny kod do przekazywania danych między portami szeregowymi, wysyłamy atz, w odpowiedzi milczymy. Co się stało? Ach, wielkość liter ma znaczenie. ATZ, mamy OK. Hurra, moduł nas słyszy. Zadzwoń do nas, jeśli jesteś zainteresowany? ATD +7499 ... Dzwoni telefon stacjonarny, z arduino wydobywa się dym, laptop jest wycięty. Arduino wypaliło się. Złym pomysłem było zasilanie go 19 woltami, chociaż jest napisane, że może działać od 6 do 20 V, zalecane jest 7-12 V. Karta katalogowa na module GSM nie mówi nigdzie o poborze mocy pod obciążeniem. Cóż, Mega idzie do magazynu części. Z zapartym tchem włączam laptopa, który otrzymał +19V przez linię +5V z USB. Działa, a nawet USB się nie wypaliło. Dzięki Lenovo za ochronę.

Po przepaleniu konwertera szukałem pobieranego prądu. Tak więc szczyt - 2A, typowo - 0,5A. To wyraźnie wykracza poza możliwości przetwornika Arduino. Potrzebujesz oddzielnego jedzenia.

Programowanie
Moduł daje szerokie możliwości przesyłania danych. Zaczynając od połączeń głosowych i SMS-ów, a kończąc w rzeczywistości na GPRS. Ponadto w przypadku tych ostatnich możliwe jest wykonanie żądania HTTP za pomocą poleceń AT. Będziesz musiał wysłać kilka, ale warto: tak naprawdę nie chcesz ręcznie generować żądania. Z otwieraniem kanału transmisji danych przez GPRS jest kilka niuansów - pamiętasz klasyczne AT + CGDCONT = 1, „IP”, „apn”? Więc tutaj potrzebujesz tego samego, ale trochę bardziej przebiegłego.

Aby uzyskać stronę pod określonym adresem URL, wyślij następujące polecenia:
AT+SAPBR=1,1 //Otwarty przewoźnik (Carrier) AT+SAPBR=3,1,"CONTYPE","GPRS" //typ połączenia - GPRS AT+SAPBR=3,1,"APN","internet" //APN, dla Megafon - internet AT+HTTPINIT //Zainicjuj HTTP AT+HTTPPARA="CID",1 //ID przewoźnika do użycia. AT+HTTPPARA="URL","http://www.example.com/GpsTracking/record.php?Lat=%ld&Lng=%ld" //Rzeczywisty adres URL, po sprintf ze współrzędnymi AT+HTTPACTION=0 //Żądanie dane metodą GET //czekaj na odpowiedź AT+HTTPTERM //zatrzymaj HTTP

W rezultacie, jeśli istnieje połączenie, otrzymamy odpowiedź z serwera. Oznacza to, że w rzeczywistości wiemy już, jak przesłać dane o współrzędnych, jeśli serwer otrzyma je przez GET.

Odżywianie
Ponieważ złym pomysłem jest zasilanie modułu GSM z konwertera Arduino, jak się dowiedziałem, zdecydowano się kupić na tym samym ebayu konwerter 12v->5v,3A. Jednak moduł nie lubi zasilania 5V. Przechodzimy do hacka: podłączamy 5V do pinu z którego pochodzi 5V z arduino. Następnie wbudowany konwerter modułu (dużo mocniejszy niż konwerter arduino, MIC 29302WU) zrobi z 5V to, czego potrzebuje moduł.

serwer

Serwer napisał prymitywny - przechowujący współrzędne i rysujący na Yandex.maps. W przyszłości możliwe jest dodawanie różnych funkcji, w tym obsługa wielu użytkowników, stan „uzbrojony/nieuzbrojony”, stan systemów samochodu (zapłon, reflektory itp.), możliwe jest nawet sterowanie systemy. Oczywiście z odpowiednim wsparciem dla trackera, który płynnie zamienia się w pełnoprawny alarm.

Próby terenowe

Tak wygląda zmontowane urządzenie bez obudowy:

Po zamontowaniu konwertera zasilania i włożeniu go do obudowy z niedziałającego modemu DSL układ wygląda tak:

Przylutowałem przewody, wyjąłem kilka styków z padów arduino. Wyglądają tak:

Podłączyłem 12V w aucie, jeździłem po Moskwie, dostałem tor:


Punkty toru są dość daleko od siebie. Powodem jest to, że wysyłanie danych przez GPRS zajmuje stosunkowo dużo czasu i w tym czasie współrzędne nie są odczytywane. To jest wyraźny błąd programistyczny. Jest to traktowane po pierwsze poprzez przesłanie paczki współrzędnych na raz z czasem, a po drugie przez asynchroniczną pracę z modułem GPRS.

Czas wyszukiwania satelitów na siedzeniu pasażera samochodu to kilka minut.

wnioski

Stworzenie trackera GPS na arduino własnymi rękami jest możliwe, choć nie jest to trywialne zadanie. Głównym pytaniem jest teraz, jak schować urządzenie w samochodzie, aby nie było narażone na działanie szkodliwych czynników (woda, temperatura), nie było osłonięte metalem (GPS i GPRS będą ekranowane) i nie było szczególnie zauważalne. Na razie leży po prostu w kabinie i łączy się z gniazdkiem zapalniczki.

Cóż, nadal musisz poprawić kod, aby uzyskać płynniejszą ścieżkę, chociaż tracker już wykonuje główne zadanie.

Używane urządzenia

  • Arduino Mega 2560
  • Arduino Uno
  • GPS SkyLab SKM53
  • Osłona GSM/GPRS oparta na SIM900
  • Konwerter DC-DC 12v->5v 3A