Სარჩევი:
- ნაბიჯი 1: აპარატურა
- ნაბიჯი 2: პროგრამული უზრუნველყოფა (Arduino პროგრამა)
- ნაბიჯი 3: მეტი პროგრამული უზრუნველყოფა (Gps- ის მდებარეობების მიღება სერვერზე)
- ნაბიჯი 4: კიდევ უფრო მეტი პროგრამული უზრუნველყოფა (მობილური აპლიკაცია)
- ნაბიჯი 5: მომავალი სამუშაო
ვიდეო: Arduino– ზე დაფუძნებული ავტომობილის GPS+GPRS ქურდობის საწინააღმდეგო სისტემა: 5 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
Გამარჯობა ყველას!
მინდოდა შემექმნა სრული გადაწყვეტა 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 პროგრამა)
მე ვივარაუდებ, რომ თქვენ იცნობთ არდუინოს პროგრამირებას. წინააღმდეგ შემთხვევაში, გთხოვთ, დაიწყოთ ამ სახელმძღვანელოთი: ინსტრუქციებზე.
თქვენ გჭირდებათ მხოლოდ ერთი გარე ბიბლიოთეკა, მე უნდა დაინსტალირდეს ხელით. გადადით აქ: 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-ზე, რომ ისიამოვნოთ სუპერ რეალურ დროში თვალთვალით:)
ვიმედოვნებ, რომ ისიამოვნეთ ჩემი პირველი ინსტრუქციით!
გირჩევთ:
კომპაქტური ამინდის სენსორი GPRS (SIM ბარათი) მონაცემთა ბმული: 4 ნაბიჯი
კომპაქტური ამინდის სენსორი GPRS (SIM ბარათი) მონაცემთა ბმული: პროექტის შეჯამება ეს არის ბატარეაზე მომუშავე ამინდის სენსორი, რომელიც ემყარება BME280 ტემპერატურის/წნევის/ტენიანობის სენსორს და ATMega328P MCU. ის მუშაობს ორ 3.6 V ლითიუმ -თიონილის AA ბატარეაზე. მას აქვს ძალიან დაბალი ძილის მოხმარება 6 μA. ის აგზავნის
A9G GPS & GPRS მოდულის სასწავლო - აი-მოაზროვნე - AT ბრძანებები: 7 ნაბიჯი
A9G GPS & GPRS მოდულის სასწავლო | აი-მოაზროვნე | AT ბრძანებები: ჰეი, რა ხდება, ბიჭებო! აქარში აქ CETech– დან. დღეს ჩვენ ვაპირებთ A9G GPS– ის, GSM– ის და GPRS მოდულის AI Thinker– დან გავლას. არსებობს რამდენიმე სხვა მოდული, როგორიცაა A9 და A6 AI Thinker– დან, რომლებსაც აქვთ მსგავსი GSM და GPRS შესაძლებლობები, მაგრამ
Arduino Security 3G/GPRS ელ.ფოსტის კამერა მოძრაობის გამოვლენით: 4 ნაბიჯი
Arduino Security 3G/GPRS ელ.ფოსტის კამერა მოძრაობის გამოვლენით: ამ სახელმძღვანელოში მინდა გითხრათ მოძრაობის დეტექტორთან ერთად უსაფრთხოების სათვალთვალო სისტემის აგების ერთი ვერსიის შესახებ და ფოტოების გაგზავნა საფოსტო ყუთში 3G/GPRS ფარის საშუალებით. ეს სტატია ეფუძნება სხვა ინსტრუქციები: ინსტრუქცია 1 და ინსტრუქცია
Arduino და SIM900 GSM GPRS 3G ტემპერატურა და ტენიანობა, მობილური სტატისტიკა: 4 ნაბიჯი
Arduino და SIM900 GSM GPRS 3G ტემპერატურისა და ტენიანობის აღრიცხვა, მობილური სტატისტიკა: Arduino UNO R3, SIM900 Shield AND DHT22– ით შეგიძლიათ შეხვიდეთ ტემპერატურისა და ტენიანობის მონაცემების გარეთ, ოთახში, სათბურში, ლაბორატორიაში, გაგრილების ოთახში ან ნებისმიერ სხვა ადგილას სრულიად უფასოდ. ამ მაგალითს ჩვენ გამოვიყენებთ ოთახის ტემპერატურისა და ტენიანობის შესასვლელად. მოწყობილობა
TCP/IP კავშირი GPRS– ით: როგორ გავაგზავნოთ მონაცემები სერვერზე SIM900A მოდულის გამოყენებით: 4 ნაბიჯი
TCP/IP კავშირი GPRS– ით: როგორ გავაგზავნოთ მონაცემები სერვერზე SIM900A მოდულის გამოყენებით: ამ tutorial– ში მე გეტყვით იმაზე, თუ როგორ უნდა გაგზავნოთ მონაცემები TCP სერვერზე sim900 მოდულის გამოყენებით. ასევე ჩვენ ვნახავთ, როგორ შეგვიძლია მივიღოთ მონაცემები სერვერიდან კლიენტზე (GSM მოდული)