Мазмуну:

Үйдө реалдуу убакытта GPS Tracker (SIM800L, Ublox NEO-6M, Arduino): 8 кадам
Үйдө реалдуу убакытта GPS Tracker (SIM800L, Ublox NEO-6M, Arduino): 8 кадам

Video: Үйдө реалдуу убакытта GPS Tracker (SIM800L, Ublox NEO-6M, Arduino): 8 кадам

Video: Үйдө реалдуу убакытта GPS Tracker (SIM800L, Ublox NEO-6M, Arduino): 8 кадам
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Июль
Anonim
Үйдө реалдуу убакытта GPS Tracker (SIM800L, Ublox NEO-6M, Arduino)
Үйдө реалдуу убакытта GPS Tracker (SIM800L, Ublox NEO-6M, Arduino)

Демек, менде GSM модулу барбы? Ошондой эле GPS-трекер?

Биз да ушундай деп ойлойбуз!

Бул көрсөтмөлөрдө мен сизге жаңы келген адамдын көз карашы менен сиздин максатка кантип жетүүңүздү көрсөтүүгө аракет кылам.

Мурунку электротехникалык билимим болбогондуктан (чынын айтсам, долбоорго анчалык муктаж эмес, бирок жок), жана маалыматты веб-серверге реалдуу убакытта айдай турган түзмөктү кантип жасоо керек экенин билген эмесмин, көптөгөн көйгөйлөргө туш болдум. Ошентсе да, мен акыры иштей турган нерселерди алууга жетиштим.

Ошентип, бул үйрөткүчтө мен башталгычтын кетире турган каталарын баса белгилеп, ошого жараша долбоорду түзгүм келет.

Эсиңизде болсун: Электр энергиясы менен иштеп жатканда дайыма этият болуңуз!

ЭСКЕРТҮҮ: Мен профессионал эмесмин. Код сиздин бардык муктаждыктарыңыз үчүн татаал эмес болушу мүмкүн. Долбоор "хобби долбоору" болууга ниеттенүүдө, бирок! бул мен үчүн иштеди. А эгер ал мен үчүн иштесе, ал силер үчүн да иштейт!

1 -кадам: Пререквизиттер

Алдын ала шарттар
Алдын ала шарттар
Алдын ала шарттар
Алдын ала шарттар
Алдын ала шарттар
Алдын ала шарттар

GSM модулу - SIM800L

  • Аябай кичинекей, колдонууга оңой
  • Мобилдик интернетти (GPRS) колдонуу мүмкүнчүлүгү
  • Арзан

GPS модулу - Ublox NEO6M

  • Ошондой эле кичинекей
  • Өз ишин абдан жакшы аткарат

Микроконтроллер - бардык нерсе болушу мүмкүн - белгилүү бир орун бошотуу үчүн атактуу Arduino Uno же Nano колдонсоңуз болот.

Батарея - Мен 18650 уячасын негизги жана жалгыз энергия булагы катары колдондум (Номиналдуу 3.7V)

Батарея кармагыч - эмне үчүн? - анткени 18650 батареясын ширетүү ысыктан улам абдан коркунучтуу.

DC -DC Boost Converter Step Up Module 5V - Мен колдонгон Arduino бери 5V керек, болушу керек

Куралдар, эң керектүү нерселер:

Сымдар, ширетүүчү, сыноо үчүн нан

2 -кадам: Негизги түшүнүк

Негизги түшүнүк
Негизги түшүнүк

Системанын негизги түшүнүгү төмөнкүлөр:

Ал 3 бөлүктөн турат:

  1. Түзмөк - тиешелүү GPS -координаттары бар жана алыстан серверге туташып, ага маалыматтарды жөнөтө алат
  2. Кирүүчү маалыматтарды кабыл ала турган - аны сактай турган жана башка кардарларга кызмат кыла турган веб -сервер
  3. Платформа - биз координаттарды көрө алабыз - Идеалында ал азыр мобилдик тиркеме же веб -сайт болушу керек

3 -кадам: SIM800L модулу

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

Мен модуль менен кыйын күндөрдү өткөрдүм.

Мен кээ бир мүнөздөмөлөрдөн жана шилтемелерден баштагым келет.

Маалыматтар барагына ылайык:

  • Бул 3.4V - 4.4V ортосунда иштейт
  • Бул SMS жөнөтө алат, башка телефондорго үн чалууларды жасайт, ал тургай интернетке туташат!
  • Биз аны менен AT-командалар аркылуу баарлаша алабыз!
  • Ал эң жогорку убакта 2Ага чейин колдоно алат! Эскертүү: сиз мультиметр менен өлчөй албайсыз, анткени анын ылдамдыгы төмөн

Менин тажрыйбам 3.8Vдан төмөн SIM800L чындыгында иштебейт.

Кошумча маалымат алуу үчүн: маалымат барагына

Ошентип, сиздин милдетиңиз модулга жок дегенде 3.8В (идеалдуу түрдө 4V), жок дегенде 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.6V - Мен аны Arduino 3.3V пин менен иштеттим
  • Максималдуу учурдагы тартуу 67mA - андыктан аны arduinoдон кубаттай аласыз
  • Температура диапазону: -40-85 Цельсий (бул сизге туура келет деп ойлойм)

Мен заказ кылган аппарат сүрөттө көрүнгөн антенна менен келген, мен аны жөн гана тиешелүү уячасына туташтырам.

Түзмөк сигналдар болгондо, көк LED менен өчөт.

Биринчиден, бул жерде GPS кантип иштээрин текшериңиз, эгер билбесеңиз.

Түзмөк күйгүзүлүп, 3 спутникти тапканда, жогорудагыдай Arduinoго үтүр менен бөлүнгөн көптөгөн баалуулуктарды жөнөтөт.

Жумушубузга жардам берүү үчүн, биз кээ бир тышкы китепчелерди колдонуп, бул маалыматтарды адам окуй тургандай кылып талдай алабыз.

Сиз TinyGps китепканасын же NeoGPS китепканасын колдоно аласыз. Мен экинчисин колдондум, анткени бул жеңил.

Сыноо үчүн, электр казыктарын arduino 3.3V жана GNDге туташтыруу керек.

Бул кодду жүктөп алып, аны GPS менен колдонуңуз. RX Digital пин 10, TX Digital пин 11

Эскертүү: Модулду сыртта колдонууну унутпаңыз, эгерде булут жок болсо.

Жарым мүнөттөн кийин, түзмөк көз ирмеп, GPS координаттарын чыгарышы керек!:)

SIM800L жана GPS модулуңуз жетиштүү деңгээлде иштеп жатканын билсеңиз, кийинки кадамга өтсөңүз болот.

5 -кадам: Circuitry

Circuitry
Circuitry

Район сүрөттөгүдөй.

Ошентип, 3.4V - 4.2V 18650 батареясы негизги энергия булагы болуп саналат. Sim800L энергияны андан түз алат. Райондун туруктуулугун жакшыртуу үчүн алардын ортосунда параллелдүү конденсатор бар.

Конденсатор тандоодо төмөн ESR capactior тандашыңыз керек.

Бир 5V жогорулатуучу конвертер батареянын чыңалуусун 5Вга чейин жогорулатат (Arduino 5V менен иштегендиктен ир керек).

5V электр темир жолу бул жерде Наного туташкан. Sim800L жана Neo6m сүрөттө көрсөтүлгөндөй Nano менен байланышкан. (Sim Tx-D10, SimRx-D11; NeoTX-D3, NeoRX-D4)

D12 RST менен туташкан, андыктан биз системаны программалык түрдө кайра жүктөй алабыз (SIM800Lден башка). ЭСКЕРТҮҮ: Бул кайра жүктөө методу мыкты практика болбошу мүмкүн)

Акырында, эки LEDS NANOго туташкан, андыктан кандайдыр бир ката болуп жатса, колдонуучуга айта алабыз.

6 -кадам: Код

Код Instructables тиркелет же githubду карап көрүңүз.

Сиз аны муктаждыктарыңыз үчүн туура иштеши үчүн өзгөртө аласыз, же кааласаңыз башкалардын кодун колдоно аласыз.

waitUntilResponse (); жардамчы функциясы анын кодунан алынды. Анын ишин текшериңиз жана кодду да бериңиз!

Кыскача айтканда, орнотуу функциясында биз SIM800L модулубуздун GPRS туташуусун иштетишибиз керек. Биз билебиз, эгерде LED тез жаркылдаса, анда ал ийгиликтүү болот. (setupGPRSConnection ())

Цикл функциясында - ар 15 секундда HTTP өтүнүчү бар sendData () функциясы чакырылат

Мен маалымат форматтарын веб -серверге түртүү үчүн суроо тилкелерин колдондум:

ip дареги/file.php? key = маани & ачкыч = маани ж.

Эгерде кандайдыр бир ката кетсе, тиешелүү LED күйөт. (SIM, GPS)

7 -кадам: Webserver

Webserver
Webserver

Биздин колдонуу үчүн жөнөкөй жеңил веб -сервер жетиштүү.

Сиз тандай турган кээ бир параметрлер бар:

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

Мен 2 -чи, 3 -вариантты сынап көрдүм, алар жакшы иштешти. Ооба, негизги максат - бул көрсөтмөлөрдүн серверлери эмес, бирок мен сизге кээ бир кеңештерди айтып жатам.

Эгер сиз ПК колдонсоңуз, балким Windows колдоносуз. Эгер мен сиздин ордуңузда болсом, ага Apache же XAMPP серверин орнотмокмун.

XAMPPде буга чейин PHP бар, ал HTML, Perl жана маалымат базасын башкаруу тутуму менен кошо келет. PHP менен сиз динамикалык сервер жасай аласыз. Эгерде сиз дүйнөнүн каалаган жеринен жасаган жергиликтүү сервериңизди колдонууну кааласаңыз, анда сиздин компьютериңизге статикалык IP дайындоо жана портфордду жасоо керек. Статикалык IP үчүн пайдалуу окуу куралы:

Жана бүтүндөй портфелдик нерсе:

Эгерде сизде Малина бар болсо, аны колдонуу жакшы практика. Сиз Linux буйруктары менен таанышып, өз сервериңизди 24/7 иштете аласыз.

OS Raspbian Jessie болчу, башы жок орнотуу менен (клавиатура, монитор жок) - мен аны компьютерим менен SSH туташуусу менен башкардым.

Мен Малиниме кирүү үчүн Putty колдондум. Башкалар сизге Pi кире албашы үчүн, каттоо эсебиңиздин сырсөзүн өзгөртүүнү унутпаңыз. По умолчанию: pi, passw: малина.

Мен sqlite3 менен lighttpd веб -серверин орноттум. Жакшы окуу куралы бул жерден табылган:

Мен сервер кодунда негизинен PHP колдондум. PHP менен сиз маалыматтарды ала аласыз, маалымат базаларын окуй/жаза аласыз - суроону json форматына кодтой аласыз, ж.б.… Бул окуу куралы сизге көп жардам берет, PHP менен маалымат базаңызды башкарууга.

Сиз менин кодумду githubдан, server_files папкасынан көрө аласыз.

Жана, албетте, эгер сиз алыстан киргиңиз келсе, роутериңиздеги Пиңизге өткөрүүнү иштетишиңиз керек.

8 -кадам: Аяктоо/Тажрыйба

Корпус али жасала элек.

Менин тажрыйбам, система өтө жаман эмес. Бирок туруктуулукту жакшыртуу күтүлүүдө.

Эгерде трекер мен кошкон код менен иштебесе, кабатыр болбоңуз. SIM800L жана NEO 6M иштеши керек экенине ынануу үчүн аракет кылыңыз. Сиз менин кодумду эркин өзгөртө аласыз, же жакшыраагын издей аласыз. Мен бул проекти кантип аягына чыгара алаарыңызды көрсөтө алам деп үмүттөнөм.

Мен ар кандай кеңештерди, комментарийлерден оңдоолорду кабыл алам. Сураныч тартынбаңыз.

Сунушталууда: