Სარჩევი:

Arduino პროექტი: ტესტი Range LoRa მოდული RF1276 GPS Tracking Solution: 9 ნაბიჯი (სურათებით)
Arduino პროექტი: ტესტი Range LoRa მოდული RF1276 GPS Tracking Solution: 9 ნაბიჯი (სურათებით)

ვიდეო: Arduino პროექტი: ტესტი Range LoRa მოდული RF1276 GPS Tracking Solution: 9 ნაბიჯი (სურათებით)

ვიდეო: Arduino პროექტი: ტესტი Range LoRa მოდული RF1276 GPS Tracking Solution: 9 ნაბიჯი (სურათებით)
ვიდეო: How to use LoRa Module with Arduino - Range Test - RYLR406 15KM 2024, დეკემბერი
Anonim
Arduino პროექტი: ტესტი Range LoRa მოდული RF1276 GPS Tracking Solution
Arduino პროექტი: ტესტი Range LoRa მოდული RF1276 GPS Tracking Solution

კავშირი: USB - სერიული

საჭიროა: Chrome ბრაუზერი

საჭიროა: 1 X Arduino მეგა

საჭიროა: 1 X GPS

საჭიროა: 1 X SD ბარათი

საჭიროა: 2 X LoRa მოდემი RF1276

ფუნქცია: Arduino გაგზავნეთ GPS მნიშვნელობა ძირითად ბაზაზე-ძირითადი მონაცემთა ბაზა ინახავს მონაცემებს Dataino Server Lora მოდულში: ულტრა გრძელი დიაპაზონი RF1276 APPCONWIRELESS LoRa არის ახალი, კერძო და გავრცელებული სპექტრის მოდულაციის ტექნიკა, რომელიც იძლევა მონაცემთა უკიდურესად დაბალ სიჩქარეზე მონაცემების გაგზავნის საშუალებას გრძელი დიაპაზონი. მონაცემთა დაბალი მაჩვენებელი (წამში რამდენიმე ბაიტამდე) და LoRa მოდულაცია იწვევს მიმღების ძალიან დაბალ მგრძნობელობას, რაც ნიშნავს, რომ ამ ტესტში იგულისხმება 10 კმ-ზე მეტი.

ნაბიჯი 1: საბაზო სადგურის მშენებლობა

შენობა საბაზო სადგური
შენობა საბაზო სადგური
შენობა საბაზო სადგური
შენობა საბაზო სადგური

კომპიუტერის სიგანის ინტერნეტ კავშირი და LoRa მოდემი, რომელიც დაკავშირებულია USB პორტში.

არდუინოს მანქანის ნაკრები ·

მეტრული ყუთი

Anduino Mega დაკავშირებულია სერიულ 2 -თან GPS მიმღებთან და სერიული 1 LoRa მოდემთან. SD ბარათი გამოიყენება მონაცემების შესანახად.

ნაბიჯი 2: პირველი ტესტი

პირველი გამოცდა
პირველი გამოცდა

· 10.6 კმ ბილიკზე ქალაქური ცენტრების, გალერეების და სანაპიროების გასწვრივ მარყუჟებით

მიღების /გადაცემის თანაფარდობა იყო 321 /500TX წერტილი

RX წერტილი

ნაბიჯი 3: შექმენით ინტერფეისი

შექმენით ინტერფეისი
შექმენით ინტერფეისი
შექმენით ინტერფეისი
შექმენით ინტერფეისი

1 - შექმენით ახალი პროექტი LoRa

დააჭირეთ ღილაკს cog პროექტის კონფიგურაციის გასახსნელად

ნაბიჯი 4: დაამატეთ ლიანდაგი

დაამატეთ ლიანდაგი
დაამატეთ ლიანდაგი

2) გახსენით ლიანდაგის სლაიდერი.

· 3) გადაახვიეთ GPS– ზე.

· 4) დაამატეთ ერთი მაგიდასთან.

ნაბიჯი 5: გადაიტანეთ ლიანდაგი GPS და დაამატეთ OpenStreetMap

გადაათრიეთ GPS, დაამატეთ OpenStreetMap
გადაათრიეთ GPS, დაამატეთ OpenStreetMap
გადაათრიეთ GPS, დაამატეთ OpenStreetMap
გადაათრიეთ GPS, დაამატეთ OpenStreetMap

· 5) დაამატეთ OpenStreetMap რუკა მაგიდასთან

გადაათრიეთ კომპონენტის GPS ხატის რუკაზე, იქმნება OpenStreet რუკა.

შექმენით ინტერფეისი

· 6) შეცვალეთ რუქის განახლება

შეცვალეთ რუქის განახლების დრო 5000 -დან 10000 -მდე

ნაბიჯი 6: გადაიტანეთ GPS საზომი და დაამატეთ ცხრილის ჟურნალი

გადაიტანეთ GPS საზომი და დაამატეთ ცხრილის ჟურნალი
გადაიტანეთ GPS საზომი და დაამატეთ ცხრილის ჟურნალი

· 7) დაამატეთ ცხრილის ჟურნალი ლიანდაგი.

GPS– ის ხატის ზემოთ ლიანდაგის გადაწევით იქმნება ლიანდაგის ცხრილის ჟურნალი

· 8) ცხრილის ჟურნალის განახლების შეცვლა. შეცვალეთ რუქის განახლების დრო 5000 -დან 10000 -მდე

გაზომვის პოზიციის მორგება

· 9) გადაათრიეთ ლიანდაგები დაარეგულირეთ გაზომვების პოზიცია ეკრანზე გადაადგილებით.

· 10) პროექტის შენახვა

ნაბიჯი 7: მიიღეთ კოდი

Კოდის მიღება
Კოდის მიღება

10) გააქტიურეთ კოდის კონტეინერი

ღილაკი ზედა მარჯვენა ღილაკზე, აირჩიეთ ყველა და დააკოპირეთ ძირითადი კოდი.

ნაბიჯი 8: Arduino IDE

Arduino IDE
Arduino IDE

· 11) ჩასვით კოდი Arduino IDE– ზე

· 12) კოდის რედაქტირება დაამატეთ ეს ხაზი განმარტებაში

ნაბიჯი 9: დეტალების კოდირება

დაამატეთ ეს ხაზი განმარტებაში

//*************************************************************************

// ** ბიბლიოთეკა ** // ************************************** *******************************

#მოიცავს // ++ GPS ბიბლიოთეკას

#მოიცავს // ++ SPI ბიბლიოთეკას #მოიცავს

// ++ SD ბიბლიოთეკა //

*************************************************************************

// ** SD ** // ************************************** *******************************

// * SD ბარათი მიმაგრებულია SPI ავტობუსზე შემდეგნაირად:

// ** UNO: MOSI - pin 11, MISO - pin 12, CLK - pin 13, CS - pin 4

// (CS პინის შეცვლა შესაძლებელია) და პინი #10 (SS) უნდა იყოს გამომავალი

// ** მეგა: MOSI - pin 51, MISO - pin 50, CLK - pin 52, CS - pin 53

// (CS პინის შეცვლა შესაძლებელია) და პინი #52 (SS) უნდა იყოს გამომავალი

// ** ლეონარდო: დაუკავშირდით ტექნიკურ SPI– ს ICSP სათაურის საშუალებით

// პინ 4 გამოიყენება აქ Arduino– ს სხვა მაგალითებთან თანმიმდევრულობისთვის const int chipSelect = 53;

// ++ SD პინის ამომრჩევი

//*************************************************************************

// ** GPS ** // ************************************** *******************************

TinyGPS gps; // ++ GPS სერიალზე 2

ბათილი gpsdump (TinyGPS & gps); // ++

bool newdataGPS = false; // ++

დაამატეთ ეს ხაზი კონფიგურაციაში ()

//***********************************************************************

// ** GPS სერიული დაყენება ** // ************************************* *******************************

Serial2.begin (9600); // ++

დაგვიანება (1000); // ++

//***********************************************************************

// ** SD ინიციალიზაცია ** // ************************************** ******************************

// დარწმუნდით, რომ ნაგულისხმევი ჩიპის არჩევის პინი დაყენებულია // ++ - ზე

// გამომავალი, მაშინაც კი, თუ თქვენ არ იყენებთ მას: // ++

pinMode (SS, OUTPUT); // ++

Serial.println (F ("SD ბარათის ინიციალიზაცია …")); // ++

// ნახეთ, არის თუ არა ბარათი და შესაძლებელია მისი ინიციალიზაცია: // ++

თუ (! SD.begin (chipSelect)) {// ++

Serial.println (F ("ბარათი ვერ მოხერხდა, ან არ არის"); // ++

// მეტი არაფერი გააკეთო: // ++

დაბრუნების; // ++

} სხვა {// ++

Serial.println (F ("SD ბარათი OK")); // ++

} // ++

დაამატეთ ეს ხაზები მარყუჟში () void

serialEvent2 (); // ++ ზარის GPS სერიული მოვლენა

დაამატეთ SeriaEvent2 კოდი

//*************************************************************************

// ** GPS serialEvent ** // ************************************** ********************************

void serialEvent2 () {// ++

ხოლო (Serial2.available ()) {// ++

char c = Serial2.read (); // ++

// სერიული. ბეჭდვა (გ); // უკომენტარო GPS ნედლი მონაცემების სანახავად // ++

if (gps.encode (c)) {// ++

newdataGPS = ჭეშმარიტი; // ++

შესვენება; // ახალი მონაცემების დაუყოვნებლივ დაბეჭდვის კომენტარი! // ++

} // ++

} // ++

} // ++

დაამატეთ GPS ნაგავსაყრელი ხმამაღლა

//*************************************************************************

// ** gps dump ** // ************************************** ********************************

// ** გრძედის მოქმედი დიაპაზონი გრადუსებში არის -90 და +90. **

// ** განედი არის დიაპაზონში -180 და +180 **

// ** აღმოსავლეთ-დასავლეთის პოზიციის დაზუსტება **

//** "123456789 1234567890" **

//** "000.00000;0000.00000" ** //*************************************************************************

ბათილი gpsdump (TinyGPS & gps) // ++

{ // ++

int წელს; // ++

ბაიტი თვე, დღე, საათი, წუთი, წამი, მეასედი; // ++

ხელმოუწერელი ხანგრძლივი ასაკი; // ++

gps.f_get_position (& LATGP00, & LONGP00, & ასაკი); // ++

gps.crack_datetime (& წელი, & თვე, & დღე, & საათი, // ++

& წუთი, & მეორე, & მეასედები, და ასაკი); // ++

გრძელი ლათ, ლონ; // ++

gps.get_position (& lat, & lon, & age); // ++

// *********************************************************************

// ** გააკეთეთ სტრიქონი მონაცემების შესანახად შესასვლელად: **

// *********************************************************************

სიმებიანი dataString = ""; // ++

dataString += (lat / 100000); // ++

dataString += "."; // ++

dataString += lat - (lat / 100000) * 100000; // ++

dataString += ";"; // ++

dataString += (lon / 100000); // ++

dataString += "."; // ++

dataString += lon - (lon / 100000) * 100000; // ++

dataString += ";"; // ++

dataString += სიმებიანი (static_cast (დღე)); // ++

dataString += "/"; // ++

dataString += სიმებიანი (static_cast (თვე)); // ++

dataString += "/"; // ++

dataString += სიმებიანი (წელი); // ++

dataString += ";"; // ++

dataString += სიმებიანი (static_cast (საათი)); // ++

dataString += ":"; // ++

dataString += სიმებიანი (static_cast (წუთი)); // ++

dataString += ":"; // ++

dataString += სიმებიანი (static_cast (მეორე)); // ++ // ***************************************** ****************************

// ** შენახვა SD ** // ************************************* *********************************

// გახსენით ფაილი. გაითვალისწინეთ, რომ მხოლოდ ერთი ფაილის გახსნა შეიძლება ერთდროულად, **

// ასე რომ თქვენ უნდა დახუროთ ეს ერთი მეორის გახსნამდე. ** // ******************************************* ***************************

ფაილის მონაცემები ფაილი = SD.open ("gps00.txt", FILE_WRITE); // ++

// ***********************************************************************

// ** თუ ფაილი ხელმისაწვდომია, ჩაწერეთ: **

// ***********************************************************************

if (dataFile) {// ++

dataFile.println (dataString); // ++

dataFile.close (); // ++

} სხვა {// ++

Serial.println (F ("ERROR SD ჩაწერა")); // ++

} // ++

}

თუ გსურთ კოდის ჩამოტვირთვა, გთხოვთ ეწვიოთ ამ გვერდს.

გირჩევთ: