Სარჩევი:

Arduino– ზე დაფუძნებული ავტომობილის GPS+GPRS ქურდობის საწინააღმდეგო სისტემა: 5 ნაბიჯი (სურათებით)
Arduino– ზე დაფუძნებული ავტომობილის GPS+GPRS ქურდობის საწინააღმდეგო სისტემა: 5 ნაბიჯი (სურათებით)

ვიდეო: Arduino– ზე დაფუძნებული ავტომობილის GPS+GPRS ქურდობის საწინააღმდეგო სისტემა: 5 ნაბიჯი (სურათებით)

ვიდეო: Arduino– ზე დაფუძნებული ავტომობილის GPS+GPRS ქურდობის საწინააღმდეგო სისტემა: 5 ნაბიჯი (სურათებით)
ვიდეო: Spot Welder - წერტილოვანი შემდუღებელი. პულსის Arduino - ზე კონტროლით 2024, ივლისი
Anonim
Image
Image
აპარატურა
აპარატურა

Გამარჯობა ყველას!

მინდოდა შემექმნა სრული გადაწყვეტა GPS მანქანის საწინააღმდეგო ქურდული მოწყობილობისთვის, რომელიც იქნებოდა:

რაც შეიძლება იაფად

რაც შეიძლება სრულყოფილი

რადგან ის უბრალოდ მუშაობს-არაფერი-სხვა რაც შეიძლება გასაკეთებელი

მე დავასრულე არდუინოზე დაფუძნებული გადაწყვეტა, რომელიც დამიჯდა სულ $ 25, მეტნაკლებად.

როგორც ვიდეოდან ხედავთ, ის უბრალოდ მუშაობს! თქვენ აყენებთ მანქანას, თქვენ იღებთ შეტყობინებას თქვენს მობილურ ტელეფონში, რომ მანქანა მოძრაობს, შემდეგ გახსნით მობილურ აპლიკაციას და ხედავთ, რომ მანქანა მოძრაობს რეალურ დროში (განახლების 10 წამის ჩამორჩენით).

ეს გაკვეთილი დაგეხმარებათ ყველა ნაბიჯის გადადგმაში, იმის გათვალისწინებით, რომ გამოსავალი რამდენიმე კომპონენტია:

1) აპარატურა (არდუინოზე დაფუძნებული)

2) პროგრამული უზრუნველყოფა (Arduino პროგრამა)

3) მეტი პროგრამული უზრუნველყოფა (სერვერის მიერ GPS მისამართების მიღება)

4) კიდევ უფრო მეტი პროგრამული უზრუნველყოფა (მობილური აპლიკაცია)

Დავიწყოთ..

ნაბიჯი 1: აპარატურა

აპარატურა
აპარატურა

Სავაჭრო სია:

1) Arduino Uno R3 ან კლონი. მე გამოვიყენე "DCcEle DCcduino uno" კლონი, რომელიც აღარ ჩანს. აქ არის ექვივალენტი: ალიექსპრესზე - 3.75 $

2) GPS ერთეული Arduino– სთვის (GY-NEO6MV2 ახალი GPS მოდული Flight Control Flight Control EEPROM MWC APM2.5 დიდი ანტენა NEO6MV2). მე გამოვიყენე ეს: ალიექსპრესზე - 6.66 $

3) GPRS / GSM ერთეული Arduino– სთვის (SIM800L V2.0 5V უსადენო GSM GPRS MODULE ოთხბარიანი W / ანტენის საკაბელო თავსახური). მე გამოვიყენე ეს: ალიექსპრესზე - 6,71 $

4) სათადარიგო დუპონტის კაბელები ასეთი: ალიექსპრესზე - 0.89 $

5) IoT მონაცემთა სიმ ბარათი (ან ნებისმიერი სხვა სიმ ბარათი მონაცემთა კავშირით). მე გამოვიყენე ეს: Hologram.io– დან. მე მაქვს უფასო დეველოპერი, მხოლოდ ფასიანი გადაზიდვა - 7.50 $

სულ: 25.51 $, მაგრამ მე უკვე მქონდა კაბელები, ასე რომ ის 25 $ -ზე ნაკლებია!

ორი სურათი აჩვენებს კომპონენტებს შეკრებამდე და საბოლოო პროდუქტს. კავშირები, რომლებიც თქვენ უნდა დაამყაროთ არის:

არდუინო - SIM800L

10 - გადატვირთვა

GND - GND (2 მათგანი)

5 ვ - 5 ვ

7 - SIM_TXD

8 - SIM_RXD

არდუინო-GY-NEO6MV2

GND - GND

5v - VCC

3 - RX

4 - TX

შეაერთეთ ყველა კაბელი და ანტენა და დარწმუნდით, რომ ჩართავთ Arduino– ს იმ წყაროსგან, რომელსაც შეუძლია მოგცეთ 2A პიკი. კომპიუტერის USB ძლივს კარგადაა (მე MacBook Pro- ს ვხმარობ), ტელეფონის "შემთხვევითი" დამტენი არ იქნება საკმარისი. USB მანქანების უმეტესობა ასევე არის 1A– ზე ნაკლები. თუ ეს ასეა, თქვენ ასევე გჭირდებათ 12 ვ მანქანის მანქანის 5 ვ კვების წყარო მინიმუმ 2 ა.

ჩადეთ სიმ ბარათი. თუ თქვენ იყენებთ Hologram.io სიმ ბარათს, დარწმუნდით, რომ დარეგისტრირდით მის დაფაზე და გააქტიურეთ სიმ ბარათი (ამას რამდენიმე წუთი / საათი სჭირდება).

ნაბიჯი 2: პროგრამული უზრუნველყოფა (Arduino პროგრამა)

პროგრამული უზრუნველყოფა (Arduino პროგრამა)
პროგრამული უზრუნველყოფა (Arduino პროგრამა)

მე ვივარაუდებ, რომ თქვენ იცნობთ არდუინოს პროგრამირებას. წინააღმდეგ შემთხვევაში, გთხოვთ, დაიწყოთ ამ სახელმძღვანელოთი: ინსტრუქციებზე.

თქვენ გჭირდებათ მხოლოდ ერთი გარე ბიბლიოთეკა, მე უნდა დაინსტალირდეს ხელით. გადადით აქ: TinyGPS, გაუშვით ბიბლიოთეკა და დააინსტალირეთ თქვენს ადგილობრივ Arduino საქაღალდეში.

იქიდან, ჩვენ ვაპირებთ "გამოვიპაროთ" კოდი მათი ძირითადი მაგალითიდან და შევცვალოთ იგი ჩვენი მიზნებისათვის.

შემდეგ ჩვენ ვაპირებთ "მოვიპაროთ" ამ სახელმძღვანელოდან და შეცვალოთ კოდი კვლავ ჩვენი მიზნებისათვის.

შედეგი არის თანდართული.ino პროგრამა.

არსებობს რამოდენიმე რამ, რაც შეგიძლიათ და უნდა შეცვალოთ:

"SECONDS" განსაზღვრავს და "SERVER" განსაზღვრავს.

მე დავადგინე SECONDS 10 -ზე და აი რატომ: Hologram.io დეველოპერის პროგრამა გაძლევთ 1 მბ უფასო მონაცემს თვეში. რაც იმას ნიშნავს, რომ ჩვენ გვსურს მინიმუმამდე დავიყვანოთ გამოგზავნილი ბაიტები, მაგრამ ასევე ძალიან ხშირად გვჭირდება ჩვენი პოზიციის განახლება. ჩვენ ვაპირებთ გამოვიყენოთ სტანდარტული AT მოდემის ბრძანებები, რომ გამოაგზავნოთ UDP პაკეტები ჩვენს სერვერზე შეტყობინებების მისაღებად, lat/lon, თითოეული იყენებს 4 ბაიტს და სიჩქარეს იყენებს 1 ბაიტს. მთლიანი gps განახლება არის 20 ბაიტი (IP სათაური) პლუს 8 ბაიტი (UDP სათაური) პლუს 9 ბაიტი (დატვირთვა). ეს არის 37 ბაიტი. დავუშვათ, რომ ჩემი მანქანა აქტიურია არა უმეტეს 2 საათისა დღეში, მე შემიძლია განახლების საშუალება ყოველ 10 წამში და მოვიხმარო მხოლოდ 806 კბ თვეში (31 დღე). ეს მაძლევს 218 კბ -ს მართვის დროს საკუთარი, ანუ მანქანის ქურდისთვის. რაც მაძლევს 16,76 საათის gps მონიტორინგს ჩემი მართვის დროის მიღმა, ერთი განახლებით ყოველ 10 წამში.

ახლა, ეს UDP პაკეტები სადმე უნდა წავიდეს. მე ვიყენებ Ubuntu სერვერს, რომელიც განთავსებულია CloudAtCost ღრუბელში, რომელიც შევიძინე 8 დოლარად 80% -იანი ფასდაკლებით და რომელიც სხვა მიზნებს ემსახურება, შესაბამისად, არ შედის ხარჯების გაანგარიშებაში. თუ არ გსურთ გადაიხადოთ სერვერზე, შეგიძლიათ მიიღოთ უფასო Amazon AWS მაგალითი 12 თვის განმავლობაში და დააინსტალიროთ Ubuntu მასზე. სერვერის დაყენების შემდეგ (იხილეთ შემდეგი ნაბიჯი), მიიღეთ მისი სტატიკური IP მისამართი და განათავსეთ იგი SERVER- ის განსაზღვრების გვერდით.

ნაბიჯი 3: მეტი პროგრამული უზრუნველყოფა (Gps- ის მდებარეობების მიღება სერვერზე)

ორივე CloudAtCost და Amazon მოდის წინასწარ კონფიგურირებული Ubuntu გამოსახულებით (CloudAtCost არის Ubuntu 14.04). ასე რომ, მე არ გავდივარ ნაბიჯებს Ubuntu– ს დაყენების მიზნით, როგორც თქვენ არ მოგიწევთ. თუ თქვენ იყენებთ CloudAtCost– ს, შეიძლება გინდათ განაახლოთ Ubuntu 16.04, ეს კეთდება

sudo apt- მიიღეთ განახლება && sudo apt-get განახლება && sudo apt-get dist-upgrade

შემდეგ თქვენ უნდა დააინსტალიროთ LAMP (იხილეთ ეს სახელმძღვანელო: აქ), თუმცა ჩვენ არ ვაპირებთ PHP– ის გამოყენებას.

დააინსტალირეთ პითონი პროგრამით

sudo apt-get დააინსტალირეთ პითონი-მინიმალური პიპი

შემდეგ დაამატეთ რამდენიმე მოდული:

pip install --user urllib3 ითხოვს

ჩვენ უნდა დავაყენოთ /var /www ჩაწერა თქვენს მიერ, ასე რომ მოდი გავაკეთოთ:

sudo adduser YOUR_USER www-datasudo chown -R www-data: www-data /var /www

sudo chmod -R g+rwX /var /www

ახლა, ჩვენ გვჭირდება "სერვერი" ი) UDP პაკეტების მისაღებად, ii) ტრეკის შესაქმნელად, iii) შეტყობინების გაგზავნა ჩვენს მობილურ ტელეფონში და "სერვერი", რომელიც ემსახურება შექმნილ GPS ბილიკს (ეს იქნება apache).

პირველი სერვერისთვის დააკოპირეთ თანდართული პითონის კოდი. თქვენ უნდა დააკონფიგურიროთ შემდეგი საკითხები:

iftttuser = "შენი IFTTT მომხმარებელი"

iftttpass = "შენი IFTTT PASSWORD"

iftttappletid = "თქვენი IFTTT შეტყობინების აპლიკაცია"

iftttkey = "შენი IFTTT გასაღები"

iftttevent = "თქვენი IFTTT ღონისძიება"

როგორც თქვენ ალბათ მიხვდით, ჩვენ ვიყენებთ IFTTT– ს ჩვენი მობილური ტელეფონების რეალურ დროში შეტყობინებების სერვერზე. მიჰყევით ამ სახელმძღვანელოს: აქ მაგრამ ნაცვლად იმისა, რომ შეარჩიოთ "გამომიგზავნე sms", შეარჩიე "გაგზავნე შეტყობინება აპლიკაციაში". მიიღეთ თქვენი აპლეტის ID (გადადით აპლეტის კონფიგურაციის ბოლოში მის სანახავად) და გამოიყენეთ ზემოთ. ასევე გამოიყენეთ ასე შექმნილი გასაღები ზემოთ მოცემულ პარამეტრებში. IFTTT ღონისძიება არის სახელი, რომელიც თქვენ მიანიჭეთ თქვენს აპლეტს, მე მას მივეცი "მანქანის მოზიდვა".

ახლა, არ არსებობს რეალურ დროში შეტყობინებების პლატფორმები უფასოდ, AFAIK. თუ თქვენ იცით ერთი, შემატყობინეთ. IFTTT– ს აქვს შეფერხება. ეს შეფერხება შეიძლება შემცირდეს რამოდენიმე წამამდე, თუ იყენებთ ელ.ფოსტის ტრიგერს. სამწუხაროდ, ეს არ არის სანდო. ახლახან შექმნილ ვებგვერდს აქვს 15 წუთიანი შეფერხება. მაგრამ ჩვენ არ გვინდა დაველოდოთ 15 წუთს, რომ ვიცოდეთ, რომ ჩვენი მანქანა მოიპარეს, არა? ეს არის პაროლი, რომელიც მოგთხოვთ ყველა ზემოთ ჩამოთვლილი პარამეტრის დაყენებას. თუ თქვენ გადახვევთ პითონის კოდს, ხედავთ რამდენიმე სტრიქონს, კერძოდ 45-53, რომლითაც შესაძლებელია IFTTT- ის "შემოწმება ახლა" ფუნქციონირების ავტომატიზირება, რაც იწვევს ტრიგერების უეცარ შემოწმებას და იწვევს შეტყობინებას 1 წამზე ნაკლებ დროში! Არაფრის:)

მას შემდეგ რაც სადმე დააინსტალირეთ თქვენი პითონის კოდი, უბრალოდ გაუშვით. თუ პროფესიონალი მომხმარებელი ხართ, დაიწყეთ სერვერის ჩატვირთვისას. მიმართეთ უამრავ უფასო სახელმძღვანელოს ინტერნეტში, თუ როგორ უნდა გააკეთოთ ეს, მაგალითად ეს.

ნაბიჯი 4: კიდევ უფრო მეტი პროგრამული უზრუნველყოფა (მობილური აპლიკაცია)

კიდევ უფრო მეტი პროგრამული უზრუნველყოფა (მობილური აპლიკაცია)
კიდევ უფრო მეტი პროგრამული უზრუნველყოფა (მობილური აპლიკაცია)
კიდევ უფრო მეტი პროგრამული უზრუნველყოფა (მობილური აპლიკაცია)
კიდევ უფრო მეტი პროგრამული უზრუნველყოფა (მობილური აპლიკაცია)
კიდევ უფრო მეტი პროგრამული უზრუნველყოფა (მობილური აპლიკაცია)
კიდევ უფრო მეტი პროგრამული უზრუნველყოფა (მობილური აპლიკაცია)
კიდევ უფრო მეტი პროგრამული უზრუნველყოფა (მობილური აპლიკაცია)
კიდევ უფრო მეტი პროგრამული უზრუნველყოფა (მობილური აპლიკაცია)

ჩვენ გვჭირდება სწრაფი და მარტივი გზა, რათა ვიზუალურად გავითვალისწინოთ gps ბილიკი, რომელსაც სერვერი აგრძელებს განახლებას. შესაძლოა, მას ყველა სახის სმარტფონზე უწევს მუშაობა.

მოდით, გამოვიყენოთ მრავალფუნქციური პლატფორმის მობილური აპლიკაცია, როგორიცაა Ionic/Cordova. მე ვიყენებ Ionic v1– ს, ნუ ავურევ მას Ionic Native– ში, ან Ionic v2– ში, ეს სხვა რამეა.

მიჰყევით ამ ძალიან მარტივ ნაბიჯებს თქვენი პირველი პროექტის იონიურ ენაზე დასაწყებად: აქ.

შემდეგ, თქვენ უნდა დაიწყოთ ახალი პროექტი google maps sdk საფუძველზე, ასე:

იონური დაწყება myapp რუქები

შედით "რესურსების" საქაღალდეში და დააკოპირეთ დიდი მანქანის სურათი აქ, როგორც "icon.png". ატვირთეთ ნაცვლად პატარა ხატები, როგორც "car2.png" და "start.png" სადმე თქვენს სერვერზე, მაგალითად https://yourserver/car2.png. თქვენ დაგჭირდებათ ეს მარკერები თქვენს აპლიკაციაში.

გამოიყენეთ თანდართული index.html (გადარქმევა index.html.txt index.html), directives.js და controllers.js ფაილები და ჩადეთ მათ www (index.html), www/js (ყველა js).

დაამატეთ თქვენი პლატფორმა ასე:

იონური დამატება plaftorm android

აშენება ასე:

ანდროიდის იონური აგებულება

შემდეგ ionic გეტყვით სად შექმნა თქვენი.apk, რომელიც შეგიძლიათ დააინსტალიროთ თქვენს მობილურ ტელეფონში.

IOS– ის ასაშენებლად დაგჭირდებათ Mac და Xcode. ionic– ს შეუძლია შეინახოს Xcode პროექტი, რომელიც შეგიძლიათ გახსნათ Xcode– ში და შექმნათ თქვენი ტელეფონისთვის. თუ თქვენ არ გაქვთ iOS დეველოპერის ანგარიში, თქვენ უნდა მიამაგროთ თქვენი ტელეფონი Xcode– ზე და დააინსტალიროთ თქვენი ტელეფონი განვითარებისათვის, რომ შეძლოთ იქ პროგრამის დაყენება. ეს არის ამ ინსტრუქციის ფარგლებს მიღმა.

სხვადასხვა js ფაილებში თქვენ უნდა იპოვოთ "car2.png" და "start.png" შესაბამისი ხაზები და შეცვალოთ ისინი თქვენი სურათების ბილიკით. იგივე "plan.json".

Ის არის!!

ნაბიჯი 5: მომავალი სამუშაო

1) მე ყველაფერი ჩავყარე მუყაოს ყუთში, რომლის დამალვაც შესაძლებელია სადმე, USB- ის გასასვლელთან ახლოს. საუკეთესო რამ იქნებოდა მანქანის კაპოტის ქვეშ უკეთესი ქეისის დაყენება, 12v-> 5v კონვერტორით.

2) ბლუთუს სენსორით, თქვენ ნამდვილად "გრძნობთ", თუ მანქანაში ხართ, ასე რომ gps სისტემა არ ჩაირთვება.

3) უბრალოდ გადაიხადეთ SIM მონაცემთა გეგმისთვის და დააყენეთ SECONDS 1-ზე, რომ ისიამოვნოთ სუპერ რეალურ დროში თვალთვალით:)

ვიმედოვნებ, რომ ისიამოვნეთ ჩემი პირველი ინსტრუქციით!

გირჩევთ: