Мазмұны:

Үйдегі нақты уақыттағы GPS трекері (SIM800L, Ublox NEO-6M, Arduino): 8 қадам
Үйдегі нақты уақыттағы GPS трекері (SIM800L, Ublox NEO-6M, Arduino): 8 қадам

Бейне: Үйдегі нақты уақыттағы GPS трекері (SIM800L, Ublox NEO-6M, Arduino): 8 қадам

Бейне: Үйдегі нақты уақыттағы GPS трекері (SIM800L, Ublox NEO-6M, Arduino): 8 қадам
Бейне: Жылқыға арналған GPS трекер, трекерге настройка жасау 2024, Шілде
Anonim
Үйдегі нақты уақыттағы GPS қадағалаушы (SIM800L, Ublox NEO-6M, Arduino)
Үйдегі нақты уақыттағы GPS қадағалаушы (SIM800L, Ublox NEO-6M, Arduino)

Сізде мен сияқты GSM модулі бар ма? Сонымен қатар GPS-трекер?

Біз де солай ойлаймыз!

Бұл нұсқаулықтарда мен сіздің мақсатыңызға жаңадан келген адам тұрғысынан қалай жетуге болатынын көрсетуге тырысамын.

Менде бұрын электротехника бойынша білім болмағандықтан (шынымды айтсам, жобаға онша қажет емес, бірақ), мен деректерді веб-серверге нақты уақытта жіберетін құрылғыны қалай жасау керектігін білмедім, мен көптеген мәселелерге тап болдым. Десе де, мен ақыр соңында заттарды реттеуге қол жеткіздім.

Сонымен, бұл оқулықта мен бастаушы жіберуі мүмкін қателіктерді атап өткім келеді және соған сәйкес жобаны құрғым келеді.

Есіңізде болсын: электрмен жұмыс жасағанда әрқашан абай болыңыз!

ЕСКЕРТУ: Мен кәсіби емеспін. Бұл код сіздің барлық қажеттіліктеріңізге сәйкес келмеуі мүмкін. Жоба «әуесқойлық жоба» болуға бағытталған, бірақ! бұл мен үшін жұмыс істеді. Егер бұл мен үшін жұмыс істесе, ол сіз үшін де жұмыс істейтін еді!

1 -қадам: алғышарттар

Пререквизиттер
Пререквизиттер
Пререквизиттер
Пререквизиттер
Пререквизиттер
Пререквизиттер

GSM модулі - SIM800L

  • Өте кішкентай, қолдануға оңай
  • Мобильді интернетті (GPRS) пайдалану мүмкіндігі
  • Арзан

GPS модулі - Ublox NEO6M

  • Сонымен қатар кішкентай
  • Өз жұмысын өте жақсы атқарады

Микроконтроллер - кез келген нәрсе болуы мүмкін - сіз белгілі бір орынды босату үшін әйгілі Arduino Uno немесе Nano қолдана аласыз.

Батарея - мен 18650 ұяшығын негізгі және жалғыз қуат көзі ретінде қолдандым (номиналды 3.7V)

Батарея ұстағыш - неге? - себебі 18650 батареясын дәнекерлеу ыстыққа байланысты өте қауіпті.

DC -DC Boost түрлендіргіші 5V модулі - болуы керек, өйткені мен қолданған Arduino 5В қажет

Қолдануға болатын құралдар, негізгі заттар:

Сымдар, дәнекерленген темір, сынауға арналған нан тақтасы

2 -қадам: Негізгі түсінік

Негізгі түсінік
Негізгі түсінік

Жүйенің негізгі түсінігі келесідей:

Ол 3 бөлімнен тұрады:

  1. GPS -координаттары бар және серверге қашықтан қосылып, оған деректерді жібере алатын құрылғы
  2. Кіретін деректерді қабылдай алатын, оны сақтай алатын және басқа клиенттерге қызмет көрсете алатын веб -сервер
  3. Біз координаттарды көре алатын платформа - бұл енді мобильді қосымша немесе веб -сайт болуы керек

3 -қадам: SIM800L модулі

SIM800L модулі
SIM800L модулі
SIM800L модулі
SIM800L модулі

Модульмен жұмыс жасау қиын болды.

Мен кейбір сипаттамалар мен сілтемелерден бастағым келеді.

Мәліметтер парағына сәйкес:

  • Ол 3,4 - 4,4 В аралығында жұмыс істейді
  • Ол SMS жібере алады, басқа телефондарға дауыстық қоңыраулар шалады, тіпті Интернетке қосыла алады!
  • Біз онымен AT-командалары арқылы байланыса аламыз!
  • Ол 2A -ға дейін қызу уақытта қолдана алады! Ескерту: сіз оны мультиметрмен өлшей алмайтын шығарсыз, себебі оның іріктеу жылдамдығы төмен

Менің тәжірибем 3.8В төмен SIM800L жұмыс істемейді.

Қосымша ақпарат алу үшін: мәліметтер парағына кіріңіз

Сіздің міндетіңіз - модульге кемінде 3,8 В (ең дұрысы 4 В), кем дегенде 2А шығатын қуат көзі.

Модульді соңғы құрылғыда қолданар алдында, мен сіздің құрылғыңыздың дұрыс жұмыс істеп тұрғанына көз жеткізу үшін SIM800L және компьютермен байланыс орнатуды ұсынамын.

Біріншіден, SIM картасын жоғарыдағы суреттегідей қосыңыз.

Оны компьютерге қосу үшін USB -ден TTL түрлендіргішін немесе Arduino -ны пайдалануға болады.

Енді мен Arduino -мен жүремін.

SIM800L VCC және GND қуат көзінің терминалдарына қосыңыз.

TX -ті Arduino 10 -сандық пинге, RX -ті arduino 11 -ші цифрлық пинге қосыңыз.

Кодты жүктеңіз, мен осы қадамда сілтеме жасадым.

Код арқылы сіз сериялық мониторда пәрмендерді жіберіп, оларды қайтарып ала аласыз.

Кейбір қарапайым командалар:

AT Қосылым дұрыс болса, OK қайтарады.

ATD+123456789; Берілген телефон нөміріне қоңырау шалыңыз. Ескерту: нүктелі үтірмен аяқтауды ұмытпаңыз.

AT+CPIN? SIM картасының күйін қайтарады (құлыпталған немесе жабылмаған)

Егер сіз SMS жібергіңіз келсе, енгізуді арнайы таңбамен аяқтауыңыз керек, оны '$' белгісімен жасауға болады.

Басқа қызықты командалар үшін мен сізге оқуды ұсынамын.

Әр түрлі командалар бар, олармен таныс болыңыз, олар шынымен пайдалы.

Қызыл күйді көрсететін LED бар, ол SIM800L қандай операцияда екенін көрсетеді.

64 MS ON - 800MS OFF - SIM800L желіде тіркелмеген.

64 MS ON - 3000MS OFF - SIM800L желіге тіркелген.

64 MS ON - 300MS OFF - SIM800l GPRS режимінде

Егер SIM800L шамамен 8-10 жыпылықтағаннан кейін қайта қосыла берсе, бұл тиімді қуат көзінің жоқтығынан болуы мүмкін.

Егер AT -тен кейін жақсы болмаса, сымдарды тексеріңіз! Егер сізде мультиметр болса, сымдардың үздіксіздігін тексеріңіз.

Сымдар мен дәнекерленген қосылыстардың қосылуын тексеріңіз! Модуль жыпылықтаған кезде ғана жұмыс істейді.

4 -қадам: Ublox Neo 6м

Ublox Neo 6м
Ublox Neo 6м
Ublox Neo 6м
Ublox Neo 6м

Кейбір сипаттамалар

  • Максималды кернеу: 3.6 В - Мен оны Arduino -ның 3.3 В істікшесімен қостым
  • Максималды ток күші 67 мА құрайды, сондықтан сіз оны arduino -дан қуаттай аласыз
  • Температура диапазоны: -40-85 Цельсий (менің ойымша, бұл сізге сәйкес келеді)

Мен тапсырыс берген құрылғы суретте көрсетілген антеннамен келді, мен оны тиісті ұяға қосамын.

Құрылғы сигнал болған кезде көк жарық диодты шаммен жыпылықтайды.

Алдымен, егер сіз білмесеңіз, мұнда GPS қалай жұмыс істейтінін тексеріңіз.

Құрылғы қосылып, 3 спутникті тапқанда, ол жоғарыдағыдай Arduino -ға үтірмен бөлінген көптеген мәндерді жібереді.

Біздің жұмысымызға көмектесу үшін біз кейбір сыртқы либерарийлерді пайдалана отырып, бұл деректерді оқуға ыңғайлы болу үшін талдай аламыз.

Сіз TinyGps кітапханасын немесе NeoGPS кітапханасын пайдалана аласыз. Мен екіншісін қолдандым, себебі ол жеңілірек.

Тестілеу үшін arduino 3.3V және GND қуат сымдарын қосу керек.

Бұл кодты жүктеп алып, оны GPS арқылы қолданыңыз. RX Digital pin 10, TX Digital pin 11

Ескертпе: модульді ашық ауада қолдануды ұмытпаңыз, жақсырақ бұлт болмаған кезде.

Жарты минуттан кейін құрылғы жыпылықтап, GPS координаттарын шығаруы керек!:)

Сіз SIM800L мен GPS модулі дұрыс жұмыс істейтінін білсеңіз, келесі қадамға өтуге болады.

5 -қадам: Электр тізбегі

Айналым
Айналым

Схема суреттегідей.

Сонымен, 3.4В - 4.2V 18650 батареясы негізгі қуат көзі болып табылады. Sim800L энергияны одан алады. Тізбектің тұрақтылығын жақсарту үшін олардың арасында параллель конденсатор бар.

Конденсаторды таңдағанда, төмен ESR capactior таңдау керек.

Бір 5В күшейткіш түрлендіргіші батареяның кернеуін 5В дейін арттырады (Arduino 5В жұмыс істейтіндіктен ир қажет).

5В электр рельсі мұнда наноға қосылған. Sim800L және Neo6m суреттегідей Nano -мен байланысты. (Sim Tx-D10, SimRx-D11; NeoTX-D3, NeoRX-D4)

D12 RST қосылған, сондықтан біз жүйені бағдарламалық түрде қайта жүктей аламыз (SIM800L қоспағанда). ЕСКЕРТПЕ: Бұл қайта жүктеу әдісі ең жақсы тәжірибе болмауы мүмкін)

Ақырында, NANO -ға екі жарықдиодты қосылады, сондықтан қате орын алса, біз қолданушыға айта аламыз.

6 -қадам: код

Код нұсқаулықтарға бекітілген немесе github -ды қараңыз.

Сіз оны қажеттіліктеріңізге сәйкес жұмыс істеу үшін өзгерте аласыз немесе қаласаңыз, басқалардың кодын қолдана аласыз.

waitUntilResponse (); көмекші функциясы оның кодынан алынды. Оның жұмысын тексеріңіз, және кодты!

Қысқаша айтқанда, орнату функциясында SIM800L модулінің GPRS қосылымын қосу керек. Жарық диоды тез жыпылықтаса, оның сәтті болатынын білеміз. (setupGPRSConnection ())

Цикл функциясында - әрбір 15 секунд сайын HTTP сұранысы бар sendData () функциясы шақырылады

Мен деректерді веб -серверге осы форматта жіберу үшін сұрау жолдарын қолдандым:

ip адресі/file.php? key = мән & кілт = мән, мысалы

Егер қате орын алса, сәйкес жарық диоды жанады. (SIM, GPS)

7 -қадам: веб -сервер

Веб -сервер
Веб -сервер

Біздің қолдану үшін қарапайым жеңіл веб -сервер жеткілікті.

Сіз таңдауға болатын бірнеше нұсқалар бар:

  1. Сіз компанияның қашықтағы серверін қолдана аласыз, оған үнемі төлеу қажет.
  2. Сіз өзіңіздің жеке компьютеріңізді пайдалана аласыз. Мен оны тек тестілеу үшін ұсынамын, оны тәулік бойы жұмыс істеу тиімді емес, себебі энергия шығыны, қауіпсіздік мәселелері.
  3. Сіз Raspberry PI сияқты шағын компьютерді пайдалана аласыз. Жеңіл, арзан, көп қуат жұмсамайды.

Мен 2 -ші және 3 -ші нұсқаны көрдім, олар жақсы жұмыс істеді. Негізгі мақсат - бұл нұсқаулықтардың серверлері емес, бірақ мен сізге бірнеше кеңестер беремін.

Егер сіз ДК қолдансаңыз, сіз Windows жүйесін қолданасыз. Егер мен сіз болсаңыз, мен оған Apache немесе XAMPP серверін орнатар едім.

XAMPP -те PHP бар, сонымен қатар ол HTML, Perl және мәліметтер базасын басқару жүйесімен бірге келеді. PHP көмегімен сіз динамикалық сервер жасай аласыз. Егер сіз әлемнің кез келген нүктесінен жасаған жергілікті серверді қолданғыңыз келсе, сізге дербес компьютерге статикалық IP тағайындау және портфорттауды орындау қажет. Тұрақты IP үшін пайдалы оқулық:

Және портфельдингтің бәрі:

Егер сізде таңқурай болса, оны қолданған дұрыс. Сіз Linux командаларымен танысып, тәулік бойы жұмыс жасай аласыз.

Операциялық жүйе басы жоқ Raspbian Jessie болды (пернетақта, монитор жоқ) - мен оны SSH байланысы бар компьютермен басқардым.

Мен таңқурайға кіру үшін Putty қолдандым. Басқалар сізге Pi кіре алмауы үшін есептік жазбаның құпия сөзін өзгертуді ұмытпаңыз. Әдепкі мән: pi, passw: таңқурай.

Мен sqlite3 бар lighttpd веб -серверін орнаттым. Жақсы оқу құралы мына жерден табылды:

Мен серверлік кодта негізінен PHP қолдандым. PHP көмегімен сіз деректерді ала аласыз, мәліметтер қорын оқи аласыз/жаза аласыз - сұранысты json форматына кодтай аласыз және т.

Сіз менің кодты github -да, server_files қалтасынан көре аласыз.

Әрине, егер сіз оған қашықтан қол жеткізгіңіз келсе, маршрутизатордағы Pi -ге портфельді жіберуді қосуыңыз керек.

8 -қадам: Аяқтау/тәжірибе

Қоршау әлі жасалмаған.

Менің тәжірибем - бұл жүйе өте жаман емес. Бірақ тұрақтылықты жақсарту күтілуде.

Егер трекер мен қосқан кодпен жұмыс істемесе, алаңдамаңыз. SIM800L мен NEO 6M жұмыс істейтініне көз жеткізіңіз. Сіз менің кодты еркін өзгерте аласыз немесе жақсырақ іздей аласыз. Мен сізге бұл жобаны қалай аяқтауға болатынын көрсететін мысал келтіремін деп үміттенемін.

Мен кез келген кеңесті, түсініктемелерден түзетуді қабылдаймын. Сұраудан тартынбаңыз.

Ұсынылған: