Sisällysluettelo:
- Vaihe 1: Tukiaseman rakentaminen
- Vaihe 2: Ensimmäinen testi
- Vaihe 3: Luo käyttöliittymä
- Vaihe 4: Lisää mittari
- Vaihe 5: Vedä Gauge GPS ja lisää OpenStreetMap
- Vaihe 6: Vedä GPS -mittari ja lisää taulukkoloki
- Vaihe 7: Hanki koodi
- Vaihe 8: Arduino IDE
- Vaihe 9: Koodaustiedot
Video: Arduino -projekti: Testialueen LoRa -moduuli RF1276 GPS -seurantaan Ratkaisu: 9 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Liitäntä: USB - sarja
Tarvitset: Chrome -selain
Tarvitset: 1 X Arduino Mega
Tarvitset: 1 X GPS
Tarvitset: 1 X SD -kortti
Tarvitset: 2 X LoRa -modeemi RF1276
Toiminto: Arduino Lähetä GPS-arvo päätukiasemaan-Päätietokanta tallentaa dataa Dataino Server Lora -moduuliin: Erittäin pitkän kantaman RF1276 APPCONWIRELESS LoRalta on uusi, yksityinen ja hajaspektrimodulaatiotekniikka, joka mahdollistaa tietojen lähettämisen erittäin alhaisilla datanopeuksilla erittäin pitkät kantomatkat. Matala tiedonsiirtonopeus (jopa muutama tavu sekunnissa) ja LoRa-modulaatio johtavat erittäin alhaiseen vastaanottimen herkkyyteen, mikä tarkoittaa tässä testissä yli 10 km.
Vaihe 1: Tukiaseman rakentaminen
Tietokoneleveys Internet -yhteys ja LoRa -modeemi kytketty USB -porttiin.
Arduino -autosarja ·
Metrinen laatikko
Anduino Mega kytketty sarjaan 2 GPS -vastaanottimeen ja sarja 1 LoRa -modeemiin. SD -korttia käytetään tietojen tallentamiseen.
Vaihe 2: Ensimmäinen testi
· 10,6 km kaupunkien keskusten, gallerioiden ja rannikon läpi kulkevalla polulla, joka on tehty silmukoilla
Vastaanotto /lähetyssuhde on ollut 321 /500TX pistettä
RX -piste
Vaihe 3: Luo käyttöliittymä
1 - Perusta uusi projekti LoRa
Avaa projektin kokoonpano painamalla kuvaketta cog
Vaihe 4: Lisää mittari
2) Avaa mittarin liukusäädin.
· 3) Vieritä kohtaan GPS.
· 4) Lisää yksi työpöydälle.
Vaihe 5: Vedä Gauge GPS ja lisää OpenStreetMap
· 5) Lisää OpenStreetMap -kartta työpöydälle
Vedä komponentti -GPS kuvakekorttiin, OpenStreet -kartta luodaan.
Luo käyttöliittymä
· 6) Muuta kartan päivitystä
Muuta kartan päivitysaika 5000: sta 10000: een
Vaihe 6: Vedä GPS -mittari ja lisää taulukkoloki
· 7) Lisää taulukon lokimittari.
Vedä mittaria GPS -kuvaketaulukon yläpuolelle luodaan mittaritaulukko
· 8) Muuta taulukon lokin päivitystä. Muuta kartan päivitysaika 5000: sta 10000: een
Säädä mittarien asentoa
· 9) Vedä mittarit säätääksesi mittarien sijaintia vetämällä niitä näytön poikki.
· 10) Tallenna projekti
Vaihe 7: Hanki koodi
10) Aktivoi koodisäiliö
Painike oikeassa yläkulmassa, valitse kaikki ja kopioi peruskoodi.
Vaihe 8: Arduino IDE
· 11) Liitä koodi Arduino IDE: hen
· 12) Muokkaa koodia Lisää tämä rivi määritelmään
Vaihe 9: Koodaustiedot
Lisää tämä rivi määritelmään
//*************************************************************************
//** KIRJASTO ** //***************************************** ********************************
#include // ++ GPS -kirjasto
#include // ++ SPI -kirjasto #include
// ++ SD -kirjasto //
*************************************************************************
// ** SD ** // ***************************************** ********************************
// * SD -kortti kiinnitetty SPI -väylään seuraavasti:
// ** UNO: MOSI - nasta 11, MISO - nasta 12, CLK - nasta 13, CS - nasta 4
// (CS -nasta voidaan vaihtaa) ja nastan 10 (SS) on oltava lähtö
// ** Mega: MOSI - nasta 51, MISO - nasta 50, CLK - nasta 52, CS - nasta 53
// (CS -nasta voidaan vaihtaa) ja nastan 52 (SS) on oltava lähtö
// ** Leonardo: Yhdistä laitteiston SPI: hen ICSP -otsikon kautta
// Nasta 4, jota käytetään tässä johdonmukaisuuden saavuttamiseksi muiden Arduinon esimerkkien kanssa const int chipSelect = 53;
// ++ SD -nastavalitsin
//*************************************************************************
// ** GPS ** // ***************************************** ********************************
TinyGPS gps; // ++ GPS Serial2: ssa
void gpsdump (TinyGPS & gps); // ++
bool newdataGPS = epätosi; // ++
Lisää tämä rivi asetuksiin ()
//***********************************************************************
// ** GPS -sarja -asetukset ** // *************************************** ********************************
Sarja2.alku (9600); // ++
viive (1000); // ++
//***********************************************************************
// ** SD -alustus ** // **************************************** *******************************
// varmista, että sirun oletusnasta on asetettu arvoon // ++
// ulostulo, vaikka et käytä sitä: // ++
pinMode (SS, OUTPUT); // ++
Serial.println (F ("SD -kortin alustaminen…")); // ++
// katso onko kortti läsnä ja voidaanko alustaa: // ++
if (! SD.begin (chipSelect)) {// ++
Serial.println (F ("Kortti epäonnistui tai sitä ei ole")); // ++
// älä tee mitään muuta: // ++
palata; // ++
} muu {// ++
Serial.println (F ("SD -kortti OK")); // ++
} // ++
Lisää tämä rivi silmukkaan () void
serialEvent2 (); // ++ puhelun GPS -sarjatapahtuma
Lisää SeriaEvent2 -koodi
//*************************************************************************
// ** GPS -sarjatapahtuma ** // **************************************** *********************************
void serialEvent2 () {// ++
while (Serial2.available ()) {// ++
char c = Serial2.read (); // ++
// Sarjanjälki (c); // poista kommentit nähdäksesi raa'at GPS -tiedot // ++
jos (gps.koodaus (c)) {// ++
newdataGPS = tosi; // ++
tauko; // älä tulosta uusien tietojen tulostamista heti! // ++
} // ++
} // ++
} // ++
Lisää GPS -tyhjennys
//*************************************************************************
// ** gps dump ** // **************************************** *********************************
// ** Kelvollinen leveysaste asteissa on -90 ja +90. **
// ** Pituusaste on alueella -180 ja +180 **
// ** itä-länsi-sijainnin määrittäminen **
//** "123456789 1234567890" **
//** "000.00000;0000.00000" ** //*************************************************************************
void gpsdump (TinyGPS & gps) // ++
{ // ++
int vuosi; // ++
tavu kuukausi, päivä, tunti, minuutti, toinen, sadasosa; // ++
allekirjoittamaton pitkä ikä; // ++
gps.f_get_position (& LATGP00, & LONGP00 ja & age); // ++
gps.crack_datetime (& vuosi, & kuukausi, & päivä, & tunti, // ++
& minuutti, & toinen, & sadasosa, & ikä); // ++
pitkä lat, lon; // ++
gps.get_position (& lat, & lon, & age); // ++
// *********************************************************************
// ** tee merkkijono tietojen keräämiseksi lokiin: **
// *********************************************************************
String dataString = ""; // ++
dataJono += (lat / 100000); // ++
dataString += "."; // ++
dataString += lat - (lat / 100000) * 100000; // ++
dataJono += ";"; // ++
dataString += (lon / 100000); // ++
dataString += "."; // ++
dataString += lon - (lon / 100000) * 100000; // ++
dataJono += ";"; // ++
dataString += Merkkijono (static_cast (päivä)); // ++
dataJono += "/"; // ++
dataString += Jono (static_cast (kuukausi)); // ++
dataJono += "/"; // ++
dataString += Jono (vuosi); // ++
dataJono += ";"; // ++
dataString += Merkkijono (staattinen_lähetys (tunti)); // ++
dataString += ":"; // ++
dataString += Jono (static_cast (minuutti)); // ++
dataString += ":"; // ++
dataString += Jono (static_cast (toinen)); // ++ // ******************************************* *****************************
// ** SAVE TO SD ** // *************************************** **********************************
// avaa tiedosto. Huomaa, että vain yksi tiedosto voidaan avata kerrallaan, **
// joten sinun on suljettava tämä ennen toisen avaamista. ** // ********************************************* ***************************
Tiedoston dataFile = SD.open ("gps00.txt", FILE_WRITE); // ++
// ***********************************************************************
// ** jos tiedosto on saatavilla, kirjoita siihen: **
// ***********************************************************************
if (dataFile) {// ++
dataFile.println (dataString); // ++
dataFile.close (); // ++
} muu {// ++
Serial.println (F ("ERROR SD Write")); // ++
} // ++
}
Jos haluat ladata koodin, käy tällä sivulla.
Suositeltava:
Reaaliaikainen Rubikin kuution silmät ratkaistu Ratkaisu Raspberry Pi: n ja OpenCV: n avulla: 4 vaihetta
Reaaliaikainen Rubikin kuution sokeat ratkaisija Raspberry Pi: n ja OpenCV: n avulla: Tämä on Rubikin kuutiotyökalun toinen versio, joka on suunniteltu ratkaisemaan silmät. Ensimmäinen versio on JavaScriptin kehittämä, näet projektin RubiksCubeBlindfolded1Toisin kuin edellinen, tämä versio käyttää OpenCV -kirjastoa värien ja e
Täydellinen Arduino -pyörivä ratkaisu: 5 vaihetta
Täydellinen Arduino Rotary -ratkaisu: Rotary -anturit ovat käännettäviä säätönuppeja elektronisiin projekteihin, joita käytetään usein Arduino -perheen mikro -ohjaimien kanssa. Niiden avulla voidaan hienosäätää parametreja, navigoida valikoissa, siirtää kohteita näytöllä, asettaa kaikenlaisia arvoja. He ovat tavallisia korvaavia
Nähtiin LoRa IoTea -ratkaisu: 5 vaihetta
Nähtiin LoRa IoTea -ratkaisu: Automaattinen tiedonkeruujärjestelmä, jota sovelletaan teen istutukseen. Se on osa älykästä maataloustiedon keräämistä
Nähtiin IoTea LoRa -ratkaisu (päivitys 1811): 5 vaihetta
Nähtiin IoTea LoRa -ratkaisu (päivitys 1811): Internet+ on suosittu käsite nyt. Tällä kertaa kokeilimme Internetiä ja maataloutta teepuutarhan kasvattamiseksi kasvaa Internet -teetä
Nähtiin IoTea LoRa -ratkaisu (Azurella, päivitys 1812): 5 vaihetta
Nähtiin IoTea LoRa -ratkaisu (Azurella, päivitys 1812): Microsoft Azure on pilvipalvelu, joka tarjoaa tehokkaamman ja vakaamman laskentatehon. Tällä kertaa yritimme lähettää IoTea -tiedot siihen