ዝርዝር ሁኔታ:

የአርዱዲኖ ፕሮጀክት የሙከራ ክልል LoRa ሞዱል RF1276 ለጂፒኤስ መከታተያ መፍትሄ 9 ደረጃዎች (ከስዕሎች ጋር)
የአርዱዲኖ ፕሮጀክት የሙከራ ክልል LoRa ሞዱል RF1276 ለጂፒኤስ መከታተያ መፍትሄ 9 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የአርዱዲኖ ፕሮጀክት የሙከራ ክልል LoRa ሞዱል RF1276 ለጂፒኤስ መከታተያ መፍትሄ 9 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የአርዱዲኖ ፕሮጀክት የሙከራ ክልል LoRa ሞዱል RF1276 ለጂፒኤስ መከታተያ መፍትሄ 9 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: Arduino Home Automation | Control using TV remote(አምፖሎችዎን በቴሌቪዥን የርቀት መቆጣጠሪያ እንዴት እንደሚቆጣጠሩ) 2024, ህዳር
Anonim
አርዱዲኖ ፕሮጀክት የሙከራ ክልል LoRa ሞዱል RF1276 ለጂፒኤስ መከታተያ መፍትሄ
አርዱዲኖ ፕሮጀክት የሙከራ ክልል LoRa ሞዱል RF1276 ለጂፒኤስ መከታተያ መፍትሄ

ግንኙነት: ዩኤስቢ - ተከታታይ

የሚያስፈልግዎት - የ Chrome አሳሽ

የሚያስፈልግ: 1 X Arduino Mega

ፍላጎት: 1 ኤክስ ጂፒኤስ

ፍላጎት: 1 ኤክስ ኤስዲ ካርድ

ፍላጎት: 2 X LoRa ሞደም RF1276

ተግባር: አርዱinoኖ የጂፒኤስ እሴትን ወደ ዋናው መሠረት ይላኩ-በ Dataino አገልጋይ ሎራ ሞዱል ውስጥ ዋናው የመደብር ማከማቻ ውሂብ-እጅግ በጣም ረጅም ክልል RF1276 ከ APPCONWIRELESS ሎራ አዲስ ፣ የግል እና የተስፋፋ ስፔክትሬት ሞጁል ቴክኒክ ሲሆን ይህም እጅግ በጣም ዝቅተኛ በሆነ የውሂብ ተመኖች ላይ እጅግ በጣም ዝቅተኛ በሆነ የውሂብ ተመኖች ላይ መረጃን ለመላክ ያስችላል። ረጅም ክልሎች። ዝቅተኛ የውሂብ ተመን (በሰከንድ እስከ ጥቂት ባይት) እና የሎራ ሞጁል ወደ በጣም ዝቅተኛ የመቀበል ትብነት ይመራሉ ፣ በዚህ ሙከራ ውስጥ ከ 10 ኪ.ሜ በላይ ማለት ነው።

ደረጃ 1: የመሠረት ጣቢያ መገንባት

የመሠረት ጣቢያ
የመሠረት ጣቢያ
የመሠረት ጣቢያ
የመሠረት ጣቢያ

የኮምፒተር ስፋት የበይነመረብ ግንኙነት እና ከዩኤስቢ ወደብ ጋር የተገናኘ የሎራ ሞደም።

አርዱinoኖ የመኪና ኪት ·

ሜትሪክ ሳጥኑ

Anduino Mega ከተከታታይ 2 ወደ ጂፒኤስ ተቀባዩ ፣ እና ተከታታይ 1 ከሎራ ሞደም ጋር ተገናኝቷል። ኤስዲ ካርድ ለማከማቻ ውሂብ ያገለግላል።

ደረጃ 2 የመጀመሪያው ፈተና

የመጀመሪያው ፈተና
የመጀመሪያው ፈተና

· በከተማ ማዕከሎች ፣ ማዕከለ -ስዕላት እና በሎፕ በተሠራው የባሕር ዳርቻ በኩል በመንገድ ላይ 10.6 ኪ.ሜ

የመቀበያ /ማስተላለፍ ጥምርታ 321 /500TX ነጥብ ነበር

RX ነጥብ

ደረጃ 3 በይነገጽ ይፍጠሩ

በይነገጽን ይፍጠሩ
በይነገጽን ይፍጠሩ
በይነገጽን ይፍጠሩ
በይነገጽን ይፍጠሩ

1 - አዲስ ፕሮጀክት LoRa ያዘጋጁ

የፕሮጀክት ውቅረትን ለመክፈት አዶን ጠቅ ያድርጉ

ደረጃ 4: መለኪያ አክል

መለኪያ አክል
መለኪያ አክል

2) የመለኪያ ተንሸራታቹን ይክፈቱ።

· 3) ወደ ጂፒኤስ ይሸብልሉ።

· 4) አንዱን ወደ ጠረጴዛው ያክሉ።

ደረጃ 5: መለኪያ ጂፒኤስ ይጎትቱ እና OpenStreetMap ን ያክሉ

መለኪያ ጂፒኤስ ይጎትቱ እና OpenStreetMap ን ያክሉ
መለኪያ ጂፒኤስ ይጎትቱ እና OpenStreetMap ን ያክሉ
መለኪያ ጂፒኤስ ይጎትቱ እና OpenStreetMap ን ያክሉ
መለኪያ ጂፒኤስ ይጎትቱ እና OpenStreetMap ን ያክሉ

· 5) የ OpenStreetMap ካርታ ወደ ዴስክ ያክሉ

በአዶ ካርታ ላይ ያለውን አካል ጂፒኤስ በመጎተት ፣ OpenStreet ካርታ ይፈጠራል።

በይነገጽን ይፍጠሩ

· 6) የካርታ ማደስን ይለውጡ

የካርታ እድሳት ጊዜን ከ 5000 ወደ 10000 ይለውጡ

ደረጃ 6 የጂፒኤስ መለኪያ ይጎትቱ እና የሠንጠረዥ ምዝግብ ማስታወሻ ያክሉ

የጂፒኤስ መለኪያ ይጎትቱ እና የሠንጠረዥ ምዝግብ ማስታወሻ ያክሉ
የጂፒኤስ መለኪያ ይጎትቱ እና የሠንጠረዥ ምዝግብ ማስታወሻ ያክሉ

· 7) የሠንጠረዥ ምዝግብ ማስታወሻ መለኪያ ያክሉ።

መለኪያውን ከጂፒኤስ አዶ ጠረጴዛ በላይ በመጎተት የመለኪያ ሰንጠረዥ ምዝግብ ማስታወሻ ተፈጥሯል

· 8) የሠንጠረዥ ምዝግብ ማስታወሻን ያድሱ። የካርታ እድሳት ጊዜን ከ 5000 ወደ 10000 ይለውጡ

የመለኪያዎቹን አቀማመጥ ያስተካክሉ

· 9) የመጎተት መለኪያዎች በማያ ገጹ ላይ በመጎተት የመለኪያዎቹን አቀማመጥ ያስተካክላሉ።

· 10) ፕሮጀክት ያስቀምጡ

ደረጃ 7: ኮድ ያግኙ

ኮድ ያግኙ
ኮድ ያግኙ

10) የኮድ መያዣን ያግብሩ

በላይኛው ቀኝ ጥግ ላይ ያለው አዝራር ፣ ሁሉንም ይምረጡ እና የመሠረት ኮዱን ይቅዱ።

ደረጃ 8: Arduino IDE

አርዱዲኖ አይዲኢ
አርዱዲኖ አይዲኢ

· 11) በአርዱዲኖ አይዲኢ ላይ ኮድ ይለጥፉ

· 12) ኮድ አርትዕ ይህንን መስመር በትርጉሙ ውስጥ ያክሉ

ደረጃ 9 የኮድ ዝርዝሮች

ይህንን መስመር በትርጉሙ ውስጥ ያክሉ

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

// ** ቤተ መጻሕፍት ** // ***************************************** ********************************

#ያካትቱ // ++ የጂፒኤስ ቤተ -መጽሐፍት

#ያካትቱ // ++ የ SPI ቤተ -መጽሐፍት #ያካትቱ

// ++ SD ቤተ -መጽሐፍት //

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

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

// * የኤስዲ ካርድ ከ SPI አውቶቡስ ጋር ተያይ attachedል -

// ** UNO: MOSI - ፒን 11 ፣ ሚሶ - ፒን 12 ፣ CLK - ፒን 13 ፣ ሲኤስ - ፒን 4

// (የሲኤስ ፒን ሊለወጥ ይችላል) እና ፒን #10 (ኤስ.ኤስ.) የውጤት መሆን አለበት

// ** ሜጋ: MOSI - ፒን 51 ፣ ሚሶ - ፒን 50 ፣ CLK - ፒን 52 ፣ ሲኤስ - ፒን 53

// (የሲኤስ ፒን ሊለወጥ ይችላል) እና ፒን #52 (ኤስ.ኤስ.) የውጤት መሆን አለበት

// ** ሊዮናርዶ - በ ICSP ራስጌ በኩል ከሃርድዌር SPI ጋር ይገናኙ

// ፒን 4 እዚህ ከሌሎች የአርዱዲኖ ምሳሌዎች ወጥነት ጋር ጥቅም ላይ የዋለ const int chipSelect = 53;

// ++ የኤስዲ ፒን መራጭ

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

//** አቅጣጫ መጠቆሚያ ** //***************************************** ********************************

TinyGPS ጂፒኤስ; // ++ ጂፒኤስ በ Serial2 ላይ

ባዶ gpsdump (TinyGPS & gps); // ++

bool newdataGPS = ሐሰት; // ++

ይህንን መስመር በማዋቀር ውስጥ ያክሉ ()

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

// ** የጂፒኤስ ተከታታይ ቅንብር ** // *************************************** ***********************************

Serial2.begin (9600); // ++

መዘግየት (1000); // ++

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

// ** SD ማስጀመር ** // **************************************** *** *******************************

// ነባሪው ቺፕ መምረጫ ፒን ወደ // ++ መዋቀሩን ያረጋግጡ

// ውፅዓት ፣ ባይጠቀሙበት እንኳን // ++

pinMode (ኤስ ኤስ ፣ ውፅዓት); // ++

Serial.println (ኤፍ (“የ SD ካርድ ማስጀመር…”)); // ++

// ካርዱ ካለ እና ሊጀመር የሚችል መሆኑን ይመልከቱ - // ++

ከሆነ (! SD.begin (chipSelect)) {// ++

Serial.println (ኤፍ ("ካርድ አልተሳካም ፣ ወይም የለም")); // ++

// ከዚህ በላይ ምንም አታድርጉ: // ++

መመለስ; // ++

} ሌላ {// ++

Serial.println (F ("የ SD ካርድ እሺ"))); // ++

} // ++

ይህንን መስመሮች በ loop () ባዶነት ውስጥ ያክሉ

serialEvent2 (); // ++ የጂፒኤስ ተከታታይ ክስተት ይደውሉ

SeriaEvent2 ኮድ ያክሉ

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

// ** የጂፒኤስ ተከታታይ ክስተት ** // **************************************** *********************************

ባዶነት serialEvent2 () {// ++

ሳለ (Serial2.available ()) {// ++

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

//Serial.print(c); // ያልታሰበ ጥሬ የጂፒኤስ መረጃን ለማየት // ++

ከሆነ (gps.encode (c)) {// ++

newdataGPS = እውነት; // ++

ሰበር; // አዲስ መረጃን ወዲያውኑ ለማተም አለመቻል! // ++

} // ++

} // ++

} // ++

የጂፒኤስ መጣል ባዶነትን ያክሉ

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

// ** ጂፒኤስ መጣል ** // **************************************** *********************************

// ** በዲግሪዎች ውስጥ ያለው ትክክለኛ የኬክሮስ ክልል -90 እና +90 ነው። **

// ** ኬንትሮስ በክልል -180 እና +180 ** ውስጥ ነው

// ** የምስራቅ-ምዕራብ አቀማመጥን በመጥቀስ **

//** "123456789 1234567890" **

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

ባዶ gpsdump (TinyGPS & gps) // ++

{ // ++

በዓመት ውስጥ; // ++

ባይት ወር ፣ ቀን ፣ ሰዓት ፣ ደቂቃ ፣ ሁለተኛ ፣ መቶ ፣ // ++

ያልተፈረመ ረጅም ዕድሜ; // ++

gps.f_get_position (& LATGP00 ፣ & LONGP00 ፣ እና ዕድሜ); // ++

gps.crack_datetime (& ዓመት ፣ እና ወር ፣ እና ቀን ፣ እና ሰዓት ፣ // ++)

& ደቂቃ ፣ እና ሁለተኛ ፣ እና መቶኛ ፣ እና ዕድሜ); // ++

ረዥም ላት ፣ ሎን; // ++

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

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

// ** ለመግባት ውሂቡን ለመሰብሰብ ሕብረቁምፊ ያድርጉ - **

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

ሕብረቁምፊ ውሂብString = ""; // ++

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); // ++

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

// ** ፋይሉ የሚገኝ ከሆነ ይፃፉለት **

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

ከሆነ (dataFile) {// ++

dataFile.println (dataString); // ++

dataFile.close (); // ++

} ሌላ {// ++

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

} // ++

}

ኮዱን ለማውረድ ከፈለጉ እባክዎን ይህንን ገጽ ይጎብኙ።

የሚመከር: