Mündəricat:

Evdə hazırlanan GPS İzləyicisi (SIM800L, Ublox NEO-6M, Arduino): 8 addım
Evdə hazırlanan GPS İzləyicisi (SIM800L, Ublox NEO-6M, Arduino): 8 addım

Video: Evdə hazırlanan GPS İzləyicisi (SIM800L, Ublox NEO-6M, Arduino): 8 addım

Video: Evdə hazırlanan GPS İzləyicisi (SIM800L, Ublox NEO-6M, Arduino): 8 addım
Video: Evdə mayasız pendirin hazırlanması/ Домашний сыр из молока/NuşOlsun/جبنه 2024, Iyul
Anonim
Evdə hazırlanan GPS İzləyicisi (SIM800L, Ublox NEO-6M, Arduino)
Evdə hazırlanan GPS İzləyicisi (SIM800L, Ublox NEO-6M, Arduino)

Yəni mənim kimi ətrafında uzanan bir GSM modulu var? Həm də GPS izləyicisi?

Eyni şeyi düşünürük!

Bu təlimatlarda, yeni başlayanlar baxımından məqsədinizə necə çatacağınızı sizə göstərməyə çalışacağam.

Əvvəlki elektrik mühəndisliyi məlumatım olmadığı üçün (düzünü desəm, bu layihəyə o qədər də ehtiyac yoxdur, amma nah) və məlumatları real vaxtda bir veb serverə ötürən bir cihaz necə edəcəyimi bilmədiyim üçün çoxsaylı problemlərlə qarşılaşdım. Yenə də nəhayət işlərin öhdəsindən gəlməyi bacardım.

Beləliklə, bu dərsdə bir başlanğıcın edə biləcəyi səhvləri vurğulamaq və buna uyğun olaraq layihəni qurmaq istəyirəm.

Unutmayın: Elektriklə işləyərkən həmişə diqqətli olun!

QEYD: Mən peşəkar deyiləm. Kod bütün ehtiyaclarınız üçün kifayət qədər mürəkkəb olmaya bilər. Layihə "hobbi layihəsi" olmaq niyyətindədir, amma! mənim üçün işlədi. Və mənim üçün işləsəydi, sizin üçün də işləyərdi!

Addım 1: ön şərtlər

Ön şərtlər
Ön şərtlər
Ön şərtlər
Ön şərtlər
Ön şərtlər
Ön şərtlər

GSM modulu - SIM800L

  • Kiçik, istifadəsi asandır
  • Mobil internetdən (GPRS) istifadə etmək bacarığı
  • Ucuz

GPS MODULU - Ublox NEO6M

  • Həm də kiçik
  • İşini çox yaxşı idarə edir

Mikro nəzarətçi - hər şey ola bilər - bir az yer boşaltmaq üçün məşhur Arduino Uno və ya Nano istifadə edə bilərsiniz.

Batareya - Əsas və yeganə enerji mənbəyi olaraq 18650 hüceyrə istifadə etdim (Nominal 3.7V)

Batareya tutacağı - niyə? - 18650 batareyasının lehimlənməsi istidən ötəri olduqca təhlükəlidir.

DC -DC Boost Dönüştürücü 5V Modulu - İstifadə etdiyim Arduino 5V -ə ehtiyac duyduğu üçün olmalıdır

Alətlər, lazımlı ola biləcək əsas şeylər:

Tellər, lehimləmə dəmiri, test üçün çörək taxtası

Addım 2: Əsas anlayış

Əsas konsepsiya
Əsas konsepsiya

Sistemin əsas konsepsiyası aşağıdakılardır:

3 hissədən ibarətdir:

  1. Uyğun GPS koordinatlarına malik olan və uzaqdan bir serverə qoşula bilən və ona məlumat göndərə bilən bir cihaz
  2. Gələn məlumatları qəbul edə bilən - saxlayan və digər müştərilərə xidmət edə bilən bir veb server
  3. Koordinatları görə biləcəyimiz platforma - İdeal olaraq indi mobil tətbiq və ya veb sayt olmalıdır

Addım 3: SIM800L Modulu

SIM800L modulu
SIM800L modulu
SIM800L modulu
SIM800L modulu

Modulla çətin anlar yaşadım.

Bəzi xüsusiyyətlərdən və istinadlardan başlamaq istərdim.

Məlumat cədvəlinə görə:

  • 3.4V - 4.4V arasında işləyir
  • SMS göndərə, digər telefonlara səsli zənglər edə və hətta İnternetə qoşula bilər!
  • AT əmrləri ilə onunla əlaqə qura bilərik!
  • Pik vaxtlarda 2A -ya qədər istifadə edə bilər! Qeyd: yəqin ki, multimetrlə ölçə bilməyəcəksiniz - aşağı seçmə nisbətlərinə görə

Təcrübəm budur ki, 3.8V -dən aşağı olan SIM800L həqiqətən işləmir.

Əlavə məlumat üçün: məlumat cədvəlinə daxil olun

Beləliklə, işiniz ən azı 2A çıxan bir enerji təchizatı moduluna (ideal olaraq 4V) ən az 3.8V təmin etməkdir.

Modulu son cihazda istifadə etməzdən əvvəl, cihazınızın düzgün işlədiyinə əmin olmaq üçün SIM800L və kompüterinizlə əlaqə qurmanızı təklif edirəm.

Hər şeydən əvvəl, yuxarıdakı şəkildəki kimi SİM kartı qoşun.

Kompüterinizə bağlamaq üçün USB -dən TTL çeviricisindən və ya Arduino -dan istifadə edə bilərsiniz.

İndi Arduino ilə gedirəm.

SIM800L VCC və GND -ni enerji mənbəyi terminallarına qoşun.

TX -ni Arduino 10 -cu rəqəmsal pinə, RX -ni arduino 11 -ci rəqəmsal pinə bağlayın.

Kodu yükləyin, bu addımda əlaqələndirdim.

Kodla, Serial Monitorunuzda əmrlər göndərə və onları geri ala bilərsiniz.

Bəzi sadə əmrlər:

AT Bağlantı qaydasındadırsa OK qaytarır.

ATD+123456789; Verilmiş telefon nömrəsinə zəng edin. Qeyd: Nöqtəli vergüllə bitirməyi unutmayın.

AT+CPIN? SİM Kartın vəziyyətini qaytarır (kilidlənir və ya bağlanmır)

SMS göndərmək istəyirsinizsə, daxil etmənizi xüsusi bir simvolla bitirməlisiniz, bu '$' işarəsi ilə edilə bilər.

Daha maraqlı əmrlər üçün bunu oxumağı məsləhət görürəm.

Müxtəlif əmrlər var, onlarla tanış olun, həqiqətən faydalıdır.

SIM800L -in hansı əməliyyatda olduğunu sizə bildirən qırmızı statuslu LED var.

64 MS ON - 800MS OFF - SIM800L şəbəkədə qeydiyyatdan keçməyib.

64 MS ON - 3000MS OFF - SIM800L şəbəkədə qeydiyyatdan keçib.

64 MS ON - 300MS OFF - SIM800l GPRS rejimindədir

Təxminən 8-10 yanıb-sönəndən sonra SIM800L yenidən başlamağa davam edərsə, bu, səmərəli enerji təchizatının olmaması ilə bağlı ola bilər.

AT -dən sonra hər şey yaxşı deyilsə, naqilləri yoxlayın! Bir multimetriniz varsa, tellərin davamlılığını yoxlayın.

Tellərin və lehim birləşmələrinin əlaqələrini yoxlayın! Modul yalnız yanıb -sönəndə işləyəcək.

Addım 4: Ublox Neo 6m

Ublox Neo 6m
Ublox Neo 6m
Ublox Neo 6m
Ublox Neo 6m

Bəzi xüsusiyyətlər

  • Maksimum gərginlik: 3.6V - Arduino'nun 3.3V pimi ilə işlədim
  • Maksimum cərəyan 67 mA -dır - buna görə onu arduino -dan gücləndirə bilərsiniz
  • Temperatur aralığı: -40-85 Selsi (sizə uyğun olacağını düşünürəm)

Sifariş verdiyim cihaz şəkildə görünən bir anten ilə gəldi, sadəcə uyğun yuvaya bağlayıram.

Cihaz siqnalları olduqda mavi LED ilə yanıb -sönür.

Əvvəlcə GPS -in burada necə işlədiyini yoxlayın.

Cihaz işə düşəndə və 3 peyk tapdıqda, yuxarıdakı kimi Arduinoya çoxlu vergüllə ayrılmış dəyərlər göndərir.

İşimizə kömək etmək üçün bu məlumatları daha insan tərəfindən oxunaqlı olması üçün təhlil etmək üçün bəzi xarici libararlardan istifadə edə bilərik.

TinyGps kitabxanasından və ya NeoGPS kitabxanasından istifadə edə bilərsiniz. İkinci çəkini daha yüngül olduğu üçün istifadə etdim.

Test etmək üçün güc pinlərini arduino 3.3V və GND -yə bağlamalısınız.

Bu kodu yükləyin və GPS ilə istifadə edin. RX Digital pin 10, TX Digital pin 11

Qeyd: Modulu açıq havada, tercihen bulud olmadıqda istifadə etməyi unutmayın.

Yarım dəqiqədən sonra cihaz yanıb -sönməli və GPS koordinatlarınızı çıxarmalıdır!:)

Bir dəfə SIM800L və GPS modulunuzun kifayət qədər işlədiyini bilsəniz, növbəti addıma keçə bilərsiniz.

Addım 5: Dövrə

Dövrə
Dövrə

Dövrə şəkildəki kimidir.

Beləliklə, 3.4V - 4.2V 18650 batareyası əsas enerji mənbəyidir. Sim800L enerjini birbaşa ondan alır. Dövrün sabitliyini artırmaq üçün aralarında paralel olaraq bir kondansatör var.

Bir kondansatör seçərkən aşağı ESR capactior seçməlisiniz.

Bir 5V artırıcı çevirici, batareyanın gərginliyini 5V-a qədər artırır (Arduino 5V ilə işlədiyi üçün ir lazımdır).

5V elektrik xətti burada Nano -ya qoşulur. Sim800L və Neo6m şəkildəki kimi Nano ilə bağlıdır. (Sim Tx-D10, SimRx-D11; NeoTX-D3, NeoRX-D4)

D12 RST -ə bağlıdır, buna görə sistemi (SIM800L istisna olmaqla) proqramlı olaraq yenidən başlata bilərik. Qeyd: Bu reboot metodu ən yaxşı təcrübə olmaya bilər)

Və nəhayət, iki LED NANO -ya bağlıdır, buna görə istifadəçiyə hər hansı bir səhv baş verərsə deyə bilərik.

Addım 6: Kod

Kod Təlimatlara əlavə olunur və ya github -a nəzər salın.

Ehtiyaclarınız üçün düzgün işləməsi üçün dəyişdirə bilərsiniz və ya istəsəniz başqalarının kodundan istifadə edə bilərsiniz.

waitUntilResponse (); köməkçi funksiyası onun kodundan götürülmüşdür. İşini yoxlayın və kod yazın!

Qısacası, quraşdırma funksiyasında SIM800L modulumuzun GPRS bağlantısını aktiv etməliyik. LED sürətlə yanıb -sönsə, uğurlu olub -olmadığını bilirik. (setupGPRSConnection ())

Döngü funksiyasında - hər 15 saniyədə bir HTTP tələbi olan sendData () funksiyası çağırılır

Məlumatları veb serverə bu formatda ötürmək üçün sorğu sətirlərindən istifadə etdim:

ip ünvanı/file.php? açar = dəyər və açar = dəyər məs.

Hər hansı bir səhv olarsa, müvafiq LED yanacaq. (SIM, GPS)

Addım 7: Veb server

Veb server
Veb server

İstifadəmiz üçün sadə, yüngül bir veb server kifayətdir.

Seçə biləcəyiniz bəzi variantlar var:

  1. Yəqin ki, müntəzəm olaraq ödəməli olduğunuz bir şirkətin uzaq bir serverindən istifadə edə bilərsiniz.
  2. Öz kompüterinizdən istifadə edə bilərsiniz. Mən bunu yalnız sınaq üçün təklif edirəm, 7/24 işlətmək həqiqətən səmərəli deyil, çünki enerji israfçılığı, təhlükəsizlik problemləri.
  3. Raspberry PI kimi kiçik bir kompüterdən istifadə edə bilərsiniz. Yüngül, ucuz, çox enerji sərf etmir.

İkinci və üçüncü variantı sınadım, yaxşı işlədilər. Yaxşı, əsas məqsəd bu təlimatların serverləri deyil, amma sizə bəzi məsləhətlər verirəm.

Bir kompüter istifadə edirsinizsə, çox güman ki, Windows istifadə edirsiniz. Sənin yerində olsaydım, üzərinə bir Apache və ya XAMPP serveri qurardım.

XAMPP -də artıq PHP var, bunun yanında HTML, Perl və Veritabanı İdarəetmə Sistemi də var. PHP ilə dinamik bir server edə bilərsiniz. Dünyanın hər yerindən yeni hazırladığınız yerli serverdən istifadə etmək istəyirsinizsə, kompüterinizə statik IP təyin etməli və bir az da irəli yönləndirmə aparmalısınız. Statik IP üçün faydalı bir dərs:

Və bütün çatdırılma işi:

Bir Moruq varsa, ondan istifadə etmək yaxşı bir təcrübədir. Linux əmrləri ilə tanış ola və öz serverinizi 7/24 işlədə bilərsiniz.

Əməliyyat sistemi Raspbian Jessie -nin başsız bir quruluşu idi (klaviatura, monitor yoxdur) - SSH bağlantısı olan kompüterimlə idarə etdim.

Raspberry -ə daxil olmaq üçün Putty istifadə etdim. Başqalarının sizə Pi daxil ola bilməməsi üçün hesabınızın şifrəsini dəyişdirməyi unutmayın. Varsayılan: pi, passw: moruq.

Sqlite3 ilə bir lighttpd veb serveri qurdum. Yaxşı dərslik burada tapıldı:

Server kodunda əsasən PHP istifadə etdim. PHP ilə məlumat əldə edə, məlumat bazalarını oxuya/yaza bilərsiniz - sorğunu json formatına kodlaşdıra bilərsiniz və s.… Bu dərslik, verilənlər bazanızı PHP ilə necə idarə etməyinizə çox kömək edəcək.

Kodumu github -da server_files qovluğunda da görə bilərsiniz.

Əlbətdə ki, uzaqdan daxil olmaq istəyirsinizsə, marşrutlaşdırıcınızda Pi -yə ötürmə etməliyik.

Addım 8: Bitmə/Təcrübə

Hələlik bir qüllə tikilmir.

Təcrübəm budur ki, sistem çox da pis deyil. Ancaq sabitlikdə irəliləyişlər gözləyir.

İzləyici əlavə etdiyim kodla işləməyibsə, narahat olmayın. SIM800L və NEO 6M -in lazım olduğu kimi işlədiyinə əmin olun. Kodumu sərbəst şəkildə dəyişdirə və ya daha yaxşısını axtara bilərsiniz. Ümid edirəm ki, bu layihəni necə tamamlaya biləcəyinizi sizə göstərə bilərəm.

Hər hansı bir tövsiyəni, şərhlərdən düzəlişləri qəbul edirəm. Soruşmaqdan çekinmeyin.

Tövsiyə: