সুচিপত্র:

আরডুইনো প্রকল্প: জিপিএস ট্র্যাকিং সমাধানের জন্য টেস্ট রেঞ্জ লোরা মডিউল RF1276: 9 টি ধাপ (ছবি সহ)
আরডুইনো প্রকল্প: জিপিএস ট্র্যাকিং সমাধানের জন্য টেস্ট রেঞ্জ লোরা মডিউল RF1276: 9 টি ধাপ (ছবি সহ)

ভিডিও: আরডুইনো প্রকল্প: জিপিএস ট্র্যাকিং সমাধানের জন্য টেস্ট রেঞ্জ লোরা মডিউল RF1276: 9 টি ধাপ (ছবি সহ)

ভিডিও: আরডুইনো প্রকল্প: জিপিএস ট্র্যাকিং সমাধানের জন্য টেস্ট রেঞ্জ লোরা মডিউল RF1276: 9 টি ধাপ (ছবি সহ)
ভিডিও: 🎬 Watch Dogs 2 🎬 Game Movie HD Story Cutscenes [ 4k 2160p 60 FRPS ] 2024, জুলাই
Anonim
আরডুইনো প্রজেক্ট: জিপিএস ট্র্যাকিং সলিউশনের জন্য টেস্ট রেঞ্জ লোরা মডিউল RF1276
আরডুইনো প্রজেক্ট: জিপিএস ট্র্যাকিং সলিউশনের জন্য টেস্ট রেঞ্জ লোরা মডিউল RF1276

সংযোগ: ইউএসবি - সিরিয়াল

প্রয়োজন: ক্রোম ব্রাউজার

প্রয়োজন: 1 এক্স Arduino মেগা

প্রয়োজন: 1 এক্স জিপিএস

প্রয়োজন: 1 এক্স এসডি কার্ড

প্রয়োজন: 2 X LoRa মডেম RF1276

ফাংশন: Arduino জিপিএস ভ্যালু পাঠায় মেইন বেস-ডাটাইনো সার্ভার লোরা মডিউলে মূল বেস স্টোর ডেটা: APPCONWIRELESS LoRa থেকে আল্ট্রা লং রেঞ্জ RF1276 একটি নতুন, প্রাইভেট এবং স্প্রেড-স্পেকট্রাম মডুলেশন টেকনিক যা অত্যন্ত কম ডেটা-রেটে ডেটা পাঠানোর অনুমতি দেয় দীর্ঘ পরিসীমা। কম ডেটা-রেট (প্রতি সেকেন্ডে কয়েক বাইট পর্যন্ত) এবং LoRa মডুলেশন খুব কম রিসিভার সংবেদনশীলতার দিকে পরিচালিত করে, মানে এই পরীক্ষায় 10km এর বেশি।

ধাপ 1: বেস স্টেশন নির্মাণ

বিল্ডিং বেস স্টেশন
বিল্ডিং বেস স্টেশন
বিল্ডিং বেস স্টেশন
বিল্ডিং বেস স্টেশন

কম্পিউটার প্রস্থ ইন্টারনেট সংযোগ এবং একটি LoRa মডেম USB পোর্টে সংযুক্ত।

Arduino গাড়ির কিট

মেট্রিক বক্স

অ্যান্ডুইনো মেগা সিরিয়াল 2 এর সাথে জিপিএস রিসিভারের সাথে এবং সিরিয়াল 1 লোরা মডেমের সাথে সংযুক্ত। স্টোর ডেটার জন্য একটি এসডি কার্ড ব্যবহার করা হয়।

ধাপ ২: প্রথম টেস্ট

প্রথম টেস্ট
প্রথম টেস্ট

Urban 10.6 কিলোমিটার নগর কেন্দ্র, গ্যালারি এবং উপকূল বরাবর লুপ দিয়ে তৈরি পথ

রিসেপশন /ট্রান্সমিশনের অনুপাত হয়েছে 321 /500TX পয়েন্ট

RX পয়েন্ট

ধাপ 3: ইন্টারফেস তৈরি করুন

ইন্টারফেস তৈরি করুন
ইন্টারফেস তৈরি করুন
ইন্টারফেস তৈরি করুন
ইন্টারফেস তৈরি করুন

1 - একটি নতুন প্রকল্প LoRa সেট আপ করুন

প্রকল্প কনফিগারেশন খুলতে আইকন কোগ টিপুন

ধাপ 4: গেজ যোগ করুন

গেজ যোগ করুন
গেজ যোগ করুন

2) গেজ স্লাইডার খুলুন।

· 3) জিপিএস পর্যন্ত স্ক্রোল করুন।

· 4) ডেস্কে একটি যোগ করুন।

ধাপ 5: গেজ জিপিএস টেনে আনুন এবং OpenStreetMap যোগ করুন

গেজ জিপিএস টেনে আনুন এবং OpenStreetMap যোগ করুন
গেজ জিপিএস টেনে আনুন এবং OpenStreetMap যোগ করুন
গেজ জিপিএস টেনে আনুন এবং OpenStreetMap যোগ করুন
গেজ জিপিএস টেনে আনুন এবং OpenStreetMap যোগ করুন

· 5) ডেস্কে OpenStreetMap ম্যাপ যোগ করুন

আইকন ম্যাপে কম্পোনেন্ট জিপিএস টেনে আনলে ওপেনস্ট্রিট ম্যাপ তৈরি হয়।

ইন্টারফেস তৈরি করুন

· 6) মানচিত্র রিফ্রেশ পরিবর্তন করুন

মানচিত্র রিফ্রেশ করার সময় 5000 থেকে 10000 এ পরিবর্তন করুন

ধাপ 6: জিপিএস গেজ টানুন এবং টেবিল লগ যোগ করুন

জিপিএস গেজ টানুন এবং টেবিল লগ যোগ করুন
জিপিএস গেজ টানুন এবং টেবিল লগ যোগ করুন

· 7) একটি টেবিল লগ গেজ যোগ করুন।

জিপিএস আইকন টেবিলের উপরে গেজ টেনে নিয়ে গেজ টেবিল লগ তৈরি করা হয়

· 8) টেবিল লগ রিফ্রেশ পরিবর্তন করুন। মানচিত্র রিফ্রেশ করার সময় 5000 থেকে 10000 এ পরিবর্তন করুন

গেজের অবস্থান সামঞ্জস্য করুন

· 9) ড্র্যাগ গেজগুলি স্ক্রিন জুড়ে টেনে এনে গেজের অবস্থান সামঞ্জস্য করে।

· 10) প্রকল্প সংরক্ষণ করুন

ধাপ 7: কোড পান

কোড পেতে
কোড পেতে

10) কোড ধারক সক্রিয় করুন

উপরের ডানদিকে বোতাম, সমস্ত নির্বাচন করুন এবং বেস কোড অনুলিপি করুন।

ধাপ 8: Arduino IDE

Arduino IDE
Arduino IDE

· 11) Arduino IDE এ কোড আটকান

· 12) কোড সম্পাদনা করুন সংজ্ঞায় এই লাইনটি যোগ করুন

ধাপ 9: কোডিং বিবরণ

সংজ্ঞায় এই লাইন যোগ করুন

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

// ** লাইব্রেরি ** // ***************************************** ************************************

#অন্তর্ভুক্ত // ++ জিপিএস লাইব্রেরি

#অন্তর্ভুক্ত // ++ SPI লাইব্রেরি #অন্তর্ভুক্ত

// ++ এসডি লাইব্রেরি //

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

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

// * এসপিআই বাসের সাথে সংযুক্ত এসডি কার্ড নিম্নরূপ:

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

// (সিএস পিন পরিবর্তন করা যায়) এবং পিন #10 (এসএস) একটি আউটপুট হতে হবে

// ** মেগা: MOSI - পিন 51, MISO - পিন 50, CLK - পিন 52, CS - পিন 53

// (সিএস পিন পরিবর্তন করা যায়) এবং পিন #52 (এসএস) একটি আউটপুট হতে হবে

// ** লিওনার্দো: ICSP হেডারের মাধ্যমে হার্ডওয়্যার SPI এর সাথে সংযোগ করুন

// পিন 4 এখানে অন্যান্য Arduino উদাহরণ const int chipSelect = 53 এর সাথে সামঞ্জস্যের জন্য ব্যবহৃত হয়;

// ++ এসডি পিন নির্বাচক

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

//** জিপিএস ** //***************************************** ************************************

TinyGPS জিপিএস; // ++ সিরিয়াল 2 এ জিপিএস

অকার্যকর gpsdump (TinyGPS & gps); // ++

bool newdataGPS = মিথ্যা; // ++

সেটআপ এ এই লাইন যোগ করুন ()

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

// ** জিপিএস সিরিয়াল সেটআপ ** // ***************************************** ************************************

Serial2.begin (9600); // ++

বিলম্ব (1000); // ++

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

// ** SD আরম্ভ ** // ****************************************** *********************************

// নিশ্চিত করুন যে ডিফল্ট চিপ সিলেক্ট পিন // ++ এ সেট করা আছে

// আউটপুট, এমনকি যদি আপনি এটি ব্যবহার না করেন: // ++

পিনমোড (এসএস, আউটপুট); // ++

Serial.println (F ("এসডি কার্ড আরম্ভ করা …")); // ++

// দেখুন কার্ডটি আছে কিনা এবং আরম্ভ করা যাবে কিনা: // ++

যদি (! SD.begin (chipSelect)) {// ++

Serial.println (F ("কার্ড ব্যর্থ, বা উপস্থিত নয়")); // ++

// আর কিছু করবেন না: // ++

প্রত্যাবর্তন; // ++

} অন্যথায় {// ++

Serial.println (F ("SD card OK")); // ++

} // ++

লুপ () অকার্যকর এই লাইন যোগ করুন

serialEvent2 (); // ++ জিপিএস সিরিয়াল ইভেন্ট কল করুন

SeriaEvent2 কোড যোগ করুন

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

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

void serialEvent2 () {// ++

while (Serial2.available ()) {// ++

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

// সিরিয়াল.প্রিন্ট (গ); // কাঁচা জিপিএস ডেটা দেখতে অস্বস্তি // ++

যদি (gps.encode (c)) {// ++

newdataGPS = সত্য; // ++

বিরতি; // অবিলম্বে নতুন ডেটা প্রিন্ট করতে অসুবিধা! // ++

} // ++

} // ++

} // ++

জিপিএস ডাম্প ভাউড যোগ করুন

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

// ** জিপিএস ডাম্প ** // ****************************************** ***********************************

// ** ডিগ্রীতে অক্ষাংশের বৈধ পরিসর হল -90 এবং +90। **

// ** দ্রাঘিমা রেঞ্জ -180 এবং +180 **

// ** পূর্ব-পশ্চিম অবস্থান নির্দিষ্ট করে **

//** "123456789 1234567890" **

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

void gpsdump (TinyGPS & gps) // ++

{ // ++

int বছর; // ++

বাইট মাস, দিন, ঘন্টা, মিনিট, সেকেন্ড, শততম; // ++

স্বাক্ষরবিহীন দীর্ঘ বয়স; // ++

gps.f_get_position (& LATGP00, & LONGP00, & বয়স); // ++

gps.crack_datetime (& year, & month, & day, & hour, // ++

& মিনিট, & দ্বিতীয়, & শততম, & বয়স); // ++

লং ল্যাট, লন; // ++

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 += স্ট্রিং (স্ট্যাটিক_কাস্ট (দিন)); // ++

dataString += "/"; // ++

dataString += স্ট্রিং (স্ট্যাটিক_কাস্ট (মাস)); // ++

dataString += "/"; // ++

dataString += স্ট্রিং (বছর); // ++

dataString += ";"; // ++

dataString += স্ট্রিং (স্ট্যাটিক_কাস্ট (ঘন্টা)); // ++

dataString += ":"; // ++

dataString += স্ট্রিং (স্ট্যাটিক_কাস্ট (মিনিট)); // ++

dataString += ":"; // ++

dataString += স্ট্রিং (স্ট্যাটিক_কাস্ট (সেকেন্ড)); // ++ // ************************************************ *******************************

// ** SD এ সংরক্ষণ করুন ** // ***************************************** **************************************

// ফাইলটি খুলুন। মনে রাখবেন যে একবারে কেবল একটি ফাইল খোলা যেতে পারে, **

// তাই অন্যটি খোলার আগে আপনাকে এটি বন্ধ করতে হবে। ** // ************************************************ *****************************

ফাইল dataFile = SD.open ("gps00.txt", FILE_WRITE); // ++

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

// ** যদি ফাইলটি পাওয়া যায় তবে এটিতে লিখুন: **

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

যদি (dataFile) {// ++

dataFile.println (dataString); // ++

dataFile.close (); // ++

} অন্যথায় {// ++

Serial.println (F ("ERROR SD Write")); // ++

} // ++

}

আপনি যদি কোডটি ডাউনলোড করতে চান তবে দয়া করে এই পৃষ্ঠাটি দেখুন।

প্রস্তাবিত: