Ugrás a fő tartalomra

Könyvtár specifikáció

Funkciók

A CanSat NeXT-tel az összes szokásos Arduino funkciót használhatja, valamint bármilyen Arduino könyvtárat. Az Arduino funkciók itt találhatók: https://www.arduino.cc/reference/en/.

A CanSat NeXT könyvtár számos könnyen használható funkciót ad hozzá a különböző fedélzeti erőforrások, például érzékelők, rádió és az SD-kártya használatához. A könyvtár egy sor példa skiccet tartalmaz, amelyek bemutatják, hogyan kell használni ezeket a funkciókat. Az alábbi lista az összes elérhető funkciót is bemutatja.

Rendszer inicializálási funkciók

CanSatInit

Funkcióuint8_t CanSatInit(uint8_t macAddress[6])
Visszatérési típusuint8_t
Visszatérési érték0-t ad vissza, ha az inicializálás sikeres volt, vagy nem nulla értéket, ha hiba történt.
Paraméterek
uint8_t macAddress[6]
6-bájtos MAC cím, amelyet a műhold és a földi állomás oszt meg. Ez egy opcionális paraméter - ha nincs megadva, a rádió nem inicializálódik. Használt példa skiccben: Mind
LeírásEz a parancs szinte minden CanSat NeXT szkript setup() részében megtalálható. A CanSatNeXT hardver, beleértve az érzékelőket és az SD-kártyát, inicializálására szolgál. Továbbá, ha a macAddress meg van adva, elindítja a rádiót és elkezdi figyelni a bejövő üzeneteket. A MAC címnek a földi állomás és a műhold között megosztottnak kell lennie. A MAC cím szabadon választható, de vannak nem érvényes címek, mint például az összes bájt 0x00, 0x01 és 0xFF. Ha az init függvényt nem érvényes címmel hívják meg, a problémát jelenteni fogja a Soros porton.

CanSatInit (egyszerűsített MAC-cím specifikáció)

Funkcióuint8_t CanSatInit(uint8_t macAddress)
Visszatérési típusuint8_t
Visszatérési érték0-t ad vissza, ha az inicializálás sikeres volt, vagy nem nulla értéket, ha hiba történt.
Paraméterek
uint8_t macAddress
A MAC-cím utolsó bájtja, amelyet a különböző CanSat-GS párok megkülönböztetésére használnak.
LeírásEz a CanSatInit egyszerűsített verziója MAC címmel, amely automatikusan beállítja a többi bájtot egy ismert biztonságos értékre. Ez lehetővé teszi a felhasználók számára, hogy csak egy értékkel különböztessék meg az Adó-Vevő párokat, amely 0-255 lehet.

GroundStationInit

Funkcióuint8_t GroundStationInit(uint8_t macAddress[6])
Visszatérési típusuint8_t
Visszatérési érték0-t ad vissza, ha az inicializálás sikeres volt, vagy nem nulla értéket, ha hiba történt.
Paraméterek
uint8_t macAddress[6]
6-bájtos MAC cím, amelyet a műhold és a földi állomás oszt meg.
Használva példa sketchbenGroundstation receive
LeírásEz a CanSatInit függvény közeli rokona, de mindig megköveteli a MAC címet. Ez a függvény csak a rádiót inicializálja, más rendszereket nem. A földi állomás bármilyen ESP32 lap lehet, beleértve bármely fejlesztői lapot vagy akár egy másik CanSat NeXT lapot is.

GroundStationInit (egyszerűsített MAC-cím specifikáció)

Funkcióuint8_t GroundStationInit(uint8_t macAddress)
Visszatérési típusuint8_t
Visszatérési érték0-t ad vissza, ha az inicializálás sikeres volt, vagy nem nulla értéket, ha hiba történt.
Paraméterek
uint8_t macAddress
A MAC-cím utolsó bájtja, amelyet a különböző CanSat-GS párok megkülönböztetésére használnak.
LeírásEz a GroundStationInit egyszerűsített verziója MAC címmel, amely automatikusan beállítja a többi bájtot egy ismert biztonságos értékre. Ez lehetővé teszi a felhasználók számára, hogy csak egy értékkel különböztessék meg az Adó-Vevő párokat, amely 0-255 lehet.

IMU Funkciók

readAcceleration

Funkcióuint8_t readAcceleration(float &x, float &y, float &z)
Visszatérési típusuint8_t
Visszatérési érték0-t ad vissza, ha a mérés sikeres volt.
Paraméterek
float &x, float &y, float &z
float &x: Egy lebegőpontos változó címe, ahol az x-tengely adatai tárolódnak.
Használva példa sketchbenIMU
LeírásEz a függvény az on-board IMU gyorsulásának olvasására használható. A paraméterek lebegőpontos változók címei minden tengelyhez. Az IMU példa megmutatja, hogyan kell használni ezt a függvényt a gyorsulás olvasásához. A gyorsulás G egységekben (9,81 m/s) van visszaadva.

readAccelX

Funkciófloat readAccelX()
Visszatérési típusfloat
Visszatérési értékAz X-tengely lineáris gyorsulását adja vissza G egységekben.
Használva példa sketchbenIMU
LeírásEz a függvény az on-board IMU gyorsulásának olvasására használható egy adott tengelyen. Az IMU példa megmutatja, hogyan kell használni ezt a függvényt a gyorsulás olvasásához. A gyorsulás G egységekben (9,81 m/s) van visszaadva.

readAccelY

Funkciófloat readAccelY()
Visszatérési típusfloat
Visszatérési értékVisszaadja a lineáris gyorsulást az Y-tengelyen G egységekben.
Használva a példaprogrambanIMU
LeírásEz a függvény az IMU fedélzeti gyorsulásmérőjének adott tengelyéről olvassa le a gyorsulást. Az IMU példaprogram megmutatja, hogyan használható ez a függvény a gyorsulás leolvasására. A gyorsulás G egységekben (9.81 m/s) van visszaadva.

readAccelZ

Funkciófloat readAccelZ()
Visszatérési típusfloat
Visszatérési értékVisszaadja a lineáris gyorsulást a Z-tengelyen G egységekben.
Használva a példaprogrambanIMU
LeírásEz a függvény az IMU fedélzeti gyorsulásmérőjének adott tengelyéről olvassa le a gyorsulást. Az IMU példaprogram megmutatja, hogyan használható ez a függvény a gyorsulás leolvasására. A gyorsulás G egységekben (9.81 m/s) van visszaadva.

readGyro

Funkcióuint8_t readGyro(float &x, float &y, float &z)
Visszatérési típusuint8_t
Visszatérési érték0-t ad vissza, ha a mérés sikeres volt.
Paraméterek
float &x, float &y, float &z
float &x: A float változó címét adja meg, ahol az x-tengely adatai tárolódnak.
Használva a példaprogrambanIMU
LeírásEz a függvény az IMU fedélzeti giroszkópjának szögsebességét olvassa le. A paraméterek a tengelyenkénti float változók címei. Az IMU példaprogram megmutatja, hogyan használható ez a függvény a szögsebesség leolvasására. A szögsebesség mrad/s egységekben van visszaadva.

readGyroX

Funkciófloat readGyroX()
Visszatérési típusfloat
Visszatérési értékVisszaadja a szögsebességet az X-tengelyen mrad/s egységekben.
Használva a példaprogrambanIMU
LeírásEz a függvény az IMU fedélzeti giroszkópjának adott tengelyéről olvassa le a szögsebességet. A paraméterek a tengelyenkénti float változók címei. A szögsebesség mrad/s egységekben van visszaadva.

readGyroY

Funkciófloat readGyroY()
Visszatérési típusfloat
Visszatérési értékVisszaadja a szögsebességet az Y-tengelyen mrad/s egységekben.
Használva a példaprogrambanIMU
LeírásEz a függvény az IMU fedélzeti giroszkópjának adott tengelyéről olvassa le a szögsebességet. A paraméterek a tengelyenkénti float változók címei. A szögsebesség mrad/s egységekben van visszaadva.

readGyroZ

Funkciófloat readGyroZ()
Visszatérési típusfloat
Visszatérési értékA Z-tengely szögsebességét adja vissza mrad/s egységben.
Használt példa vázlatbanIMU
LeírásEz a funkció a fedélzeti IMU-ról olvassa le a szögsebességet egy adott tengelyen. A paraméterek a tengelyekhez tartozó float változók címei. A szögsebesség mrad/s egységben kerül visszaadásra.

Barométer Funkciók

readPressure

Funkciófloat readPressure()
Visszatérési típusfloat
Visszatérési értékNyomás mbar-ban
ParaméterekNincs
Használt példa vázlatbanBaro
LeírásEz a funkció a fedélzeti barométer által jelentett nyomást adja vissza. A nyomás millibar egységben van.

readTemperature

Funkciófloat readTemperature()
Visszatérési típusfloat
Visszatérési értékHőmérséklet Celsius-ban
ParaméterekNincs
Használt példa vázlatbanBaro
LeírásEz a funkció a fedélzeti barométer által jelentett hőmérsékletet adja vissza. A leolvasás egysége Celsius. Megjegyzendő, hogy ez a barométer által mért belső hőmérséklet, így nem feltétlenül tükrözi a külső hőmérsékletet.

SD Kártya / Fájlrendszer Funkciók

SDCardPresent

Funkcióbool SDCardPresent()
Visszatérési típusbool
Visszatérési értékIgaz értéket ad vissza, ha érzékeli az SD-kártyát, hamisat, ha nem.
ParaméterekNincs
Használt példa vázlatbanSD_advanced
LeírásEz a funkció arra használható, hogy ellenőrizze, az SD-kártya mechanikailag jelen van-e. Az SD-kártya csatlakozónak van egy mechanikus kapcsolója, amelyet a funkció meghívásakor olvas le. Igaz vagy hamis értéket ad vissza attól függően, hogy az SD-kártya érzékelhető-e.

appendFile

Funkcióuint8_t appendFile(String filename, T data)
Visszatérési típusuint8_t
Visszatérési érték0-t ad vissza, ha az írás sikeres volt.
Paraméterek
String filename: A fájl címe, amelyhez hozzá kell fűzni. Ha a fájl nem létezik, létrejön.
T data: Az adatok, amelyeket a fájl végére kell fűzni.
Használva a példa vázlatbanSD_write
LeírásEz az alapvető írási funkció, amelyet az olvasások SD-kártyára történő tárolására használnak.

printFileSystem

Funkcióvoid printFileSystem()
Visszatérési típusvoid
ParaméterekNincs
Használva a példa vázlatbanSD_advanced
LeírásEz egy kis segédfunkció, amely az SD-kártyán található fájlok és mappák neveit nyomtatja ki. Fejlesztés során használható.

newDir

Funkcióvoid newDir(String path)
Visszatérési típusvoid
Paraméterek
String path: Az új könyvtár útvonala. Ha már létezik, nem történik semmi.
Használva a példa vázlatbanSD_advanced
LeírásÚj könyvtárak létrehozására használják az SD-kártyán.

deleteDir

Funkcióvoid deleteDir(String path)
Visszatérési típusvoid
Paraméterek
String path: A törlendő könyvtár útvonala.
Használva a példa vázlatbanSD_advanced
LeírásKönyvtárak törlésére használják az SD-kártyán.

fileExists

Funkcióbool fileExists(String path)
Visszatérési típusbool
Visszatérési értékIgazat ad vissza, ha a fájl létezik.
Paraméterek
String path: A fájl útvonala.
Használva a példa vázlatbanSD_advanced
LeírásEz a funkció használható annak ellenőrzésére, hogy egy fájl létezik-e az SD-kártyán.

fileSize

Funkcióuint32_t fileSize(String path)
Visszatérési típusuint32_t
Visszatérési értékA fájl mérete bájtokban.
Paraméterek
String path: A fájl elérési útja.
Használt példa vázlatbanSD_advanced
LeírásEz a funkció a fájl méretének olvasására használható az SD-kártyán.

writeFile

Funkcióuint8_t writeFile(String filename, T data)
Visszatérési típusuint8_t
Visszatérési érték0-t ad vissza, ha az írás sikeres volt.
Paraméterek
String filename: A fájl címzése, amelybe írni kell.
T data: Az adatok, amelyeket a fájlba kell írni.
Használt példa vázlatbanSD_advanced
LeírásEz a funkció hasonló az appendFile()-hoz, de felülírja a meglévő adatokat az SD-kártyán. Adattároláshoz az appendFile használata javasolt. Ez a funkció hasznos lehet például beállítások tárolására.

readFile

FunkcióString readFile(String path)
Visszatérési típusString
Visszatérési értékA fájl összes tartalma.
Paraméterek
String path: A fájl elérési útja.
Használt példa vázlatbanSD_advanced
LeírásEz a funkció a fájl összes adatának változóba olvasására használható. Nagy fájlok olvasása problémákat okozhat, de kis fájlok, például konfigurációs vagy beállítási fájlok esetén megfelelő.

renameFile

Funkcióvoid renameFile(String oldpath, String newpath)
Visszatérési típusvoid
Paraméterek
String oldpath: A fájl eredeti elérési útja.
String newpath: A fájl új elérési útja.
Használt példa vázlatbanSD_advanced
LeírásEz a funkció a fájlok átnevezésére vagy áthelyezésére használható az SD-kártyán.

deleteFile

Funkcióvoid deleteFile(String path)
Visszatérési típusvoid
Paraméterek
String path: A törlendő fájl elérési útja.
Használt példa vázlatbanSD_advanced
LeírásEz a funkció használható fájlok törlésére az SD-kártyáról.

Rádió Funkciók

onDataReceived

Funkcióvoid onDataReceived(String data)
Visszatérési típusvoid
Paraméterek
String data: Fogadott adat Arduino Stringként.
Használt példa vázlatbanGroundstation_receive
LeírásEz egy visszahívási funkció, amelyet akkor hívnak meg, amikor adat érkezik. A felhasználói kódnak kell definiálnia ezt a funkciót, és a CanSat NeXT automatikusan meghívja, amikor adat érkezik.

onBinaryDataReceived

Funkcióvoid onBinaryDataReceived(const uint8_t *data, uint16_t len)
Visszatérési típusvoid
Paraméterek
const uint8_t *data: Fogadott adat uint8_t tömbként.
uint16_t len: A fogadott adat hossza bájtokban.
Használt példa vázlatbanNincs
LeírásEz hasonló az onDataReceived funkcióhoz, de az adat bináris formában van megadva a String objektum helyett. Ez haladó felhasználóknak van biztosítva, akik korlátozónak találják a String objektumot.

onDataSent

Funkcióvoid onDataSent(const bool success)
Visszatérési típusvoid
Paraméterek
const bool success: Logikai érték, amely jelzi, hogy az adat sikeresen lett-e elküldve.
Használt példa vázlatbanNincs
LeírásEz egy másik visszahívási funkció, amely hozzáadható a felhasználói kódhoz, ha szükséges. Használható annak ellenőrzésére, hogy a vételt egy másik rádió elismerte-e.

getRSSI

Funkcióint8_t getRSSI()
Visszatérési típusint8_t
Visszatérési értékAz utoljára fogadott üzenet RSSI értéke. 1-et ad vissza, ha az indítás óta nem érkezett üzenet.
Használt példa vázlatbanNincs
LeírásEz a funkció használható a vétel jelerősségének figyelésére. Használható antennák tesztelésére vagy a rádió hatótávolságának felmérésére. Az érték dBm-ben van kifejezve, azonban a skála nem pontos.

sendData (String változat)

Funkcióuint8_t sendData(T data)
Visszatérési típusuint8_t
Visszatérési érték0, ha az adat elküldésre került (nem jelzi a visszaigazolást).
Paraméterek
T data: Az elküldendő adat. Bármilyen típusú adat használható, de belsőleg sztringgé konvertálódik.
Használt példa vázlatbanSend_data
LeírásEz a fő funkció az adatok küldésére a földi állomás és a műhold között. Vegye figyelembe, hogy a visszatérési érték nem jelzi, hogy az adatot ténylegesen fogadták-e, csak azt, hogy elküldték. Az onDataSent visszahívás használható annak ellenőrzésére, hogy az adatot fogadta-e a másik végpont.

sendData (Bináris változat)

Funkcióuint8_t sendData(T* data, uint16_t len)
Visszatérési típusuint8_t
Visszatérési érték0, ha az adat elküldésre került (nem jelzi a visszaigazolást).
Paraméterek
T* data: Az elküldendő adat.
uint16_t len: Az adat hossza bájtokban.
Használt példa vázlatbanNincs
LeírásA sendData funkció bináris változata, amelyet haladó felhasználóknak biztosítanak, akik korlátozottnak érzik magukat a String objektum által.

getRSSI

Funkcióint8_t getRSSI()
Visszatérési típusint8_t
Visszatérési értékAz utoljára fogadott üzenet RSSI-je. 1-et ad vissza, ha az indítás óta nem érkezett üzenet.
Használt példa vázlatbanNincs
LeírásEz a funkció használható a vétel jelerősségének figyelésére. Használható antennák tesztelésére vagy a rádió hatótávolságának mérésére. Az érték dBm-ben van kifejezve, azonban a skála nem pontos.

setRadioChannel

Funkcióvoid setRadioChannel(uint8_t newChannel)
Visszatérési típusvoid
Visszatérési értékNincs
Paraméterekuint8_t newChannel: A kívánt Wi-Fi csatornaszám (1–11). Bármely 11 feletti érték 11-re lesz korlátozva.
Használt példa vázlatbanNincs
LeírásBeállítja az ESP-NOW kommunikációs csatornát. Az új csatornának a szabványos Wi-Fi csatornák (1–11) tartományában kell lennie, amelyek frekvenciái 2,412 GHz-től indulnak 5 MHz-es lépésekkel. Az 1-es csatorna 2,412, a 2-es csatorna 2,417 és így tovább. Ezt a funkciót a könyvtár inicializálása előtt hívja meg. Az alapértelmezett csatorna 1.

getRadioChannel

Funkcióuint8_t getRadioChannel()
Visszatérési típusuint8_t
Visszatérési értékAz aktuális elsődleges Wi-Fi csatorna. 0-t ad vissza, ha hiba lép fel a csatorna lekérésekor.
Használt példa sketchbenNincs
LeírásLekéri az aktuálisan használt elsődleges Wi-Fi csatornát. Ez a funkció csak a könyvtár inicializálása után működik.

printRadioFrequency

Funkcióvoid printRadioFrequency()
Visszatérési típusvoid
Visszatérési értékNincs
Használt példa sketchbenNincs
LeírásKiszámítja és kiírja az aktuális frekvenciát GHz-ben az aktív Wi-Fi csatorna alapján. Ez a funkció csak a könyvtár inicializálása után működik.

ADC Funkciók

adcToVoltage

Funkciófloat adcToVoltage(int value)
Visszatérési típusfloat
Visszatérési értékÁtalakított feszültség voltban.
Paraméterek
int value: Az átalakítandó ADC olvasás.
Használt példa sketchbenAccurateAnalogRead
LeírásEz a funkció egy kalibrált harmadrendű polinom segítségével alakítja át az ADC olvasást feszültséggé a lineárisabb átalakítás érdekében. Vegye figyelembe, hogy ez a funkció a bemeneti tűnél lévő feszültséget számítja ki, így az akkumulátor feszültségének kiszámításához figyelembe kell venni az ellenálláshálózatot is.

analogReadVoltage

Funkciófloat analogReadVoltage(int pin)
Visszatérési típusfloat
Visszatérési értékADC feszültség voltban.
Paraméterek
int pin: A beolvasandó tű.
Használt példa sketchbenAccurateAnalogRead
LeírásEz a funkció közvetlenül olvassa a feszültséget az analogRead használata helyett, és belsőleg átalakítja az olvasást feszültséggé az adcToVoltage segítségével.