Siirry pääsisältöön

Kirjaston määrittely

Toiminnot

Voit käyttää kaikkia tavallisia Arduino-toimintoja CanSat NeXT:in kanssa, sekä mitä tahansa Arduino-kirjastoja. Arduino-toiminnot löytyvät täältä: https://www.arduino.cc/reference/en/.

CanSat NeXT -kirjasto lisää useita helppokäyttöisiä toimintoja eri sisäänrakennettujen resurssien, kuten antureiden, radion ja SD-kortin, käyttämiseen. Kirjaston mukana tulee joukko esimerkkiohjelmia, jotka näyttävät, kuinka näitä toimintoja käytetään. Alla oleva lista näyttää myös kaikki saatavilla olevat toiminnot.

Järjestelmän alustustoiminnot

CanSatInit

Toimintouint8_t CanSatInit(uint8_t macAddress[6])
Palautustyyppiuint8_t
PalautusarvoPalauttaa 0, jos alustus onnistui, tai nollasta poikkeavan arvon, jos tapahtui virhe.
Parametrit
uint8_t macAddress[6]
6-tavuinen MAC-osoite, joka on jaettu satelliitin ja maa-aseman kesken. Tämä on valinnainen parametri - kun sitä ei anneta, radiota ei alusteta. Käytetty esimerkkiohjelmassa: Kaikki
KuvausTämä komento löytyy lähes kaikista CanSat NeXT -skripteistä setup()-kohdasta. Sitä käytetään CanSatNeXT-laitteiston, mukaan lukien antureiden ja SD-kortin, alustamiseen. Lisäksi, jos macAddress on annettu, se käynnistää radion ja alkaa kuunnella saapuvia viestejä. MAC-osoitteen tulisi olla jaettu maa-aseman ja satelliitin kesken. MAC-osoitteen voi valita vapaasti, mutta on olemassa joitakin ei-sallittuja osoitteita, kuten kaikki tavut 0x00, 0x01 ja 0xFF. Jos alustusfunktio kutsutaan ei-sallitulla osoitteella, se raportoi ongelman sarjaporttiin.

CanSatInit (yksinkertaistettu MAC-osoitteen määrittely)

Toimintouint8_t CanSatInit(uint8_t macAddress)
Palautustyyppiuint8_t
PalautusarvoPalauttaa 0, jos alustus onnistui, tai nollasta poikkeavan arvon, jos tapahtui virhe.
Parametrit
uint8_t macAddress
MAC-osoitteen viimeinen tavu, jota käytetään erottamaan eri CanSat-GS-parit.
KuvausTämä on yksinkertaistettu versio CanSatInit:stä MAC-osoitteella, joka asettaa muut tavut automaattisesti tunnettuun turvalliseen arvoon. Tämä mahdollistaa käyttäjien erottavan lähettimen-vastaanottimen parit vain yhdellä arvolla, joka voi olla 0-255.

GroundStationInit

Toimintouint8_t GroundStationInit(uint8_t macAddress[6])
Palautustyyppiuint8_t
PalautusarvoPalauttaa 0, jos alustus onnistui, tai ei-nolla, jos tapahtui virhe.
Parametrit
uint8_t macAddress[6]
6-tavun MAC-osoite, jonka satelliitti ja maa-asema jakavat.
Käytetty esimerkkiohjelmassaGroundstation receive
KuvausTämä on läheinen sukulainen CanSatInit-funktiolle, mutta se vaatii aina MAC-osoitteen. Tämä funktio alustaa vain radion, ei muita järjestelmiä. Maa-asema voi olla mikä tahansa ESP32-lauta, mukaan lukien mikä tahansa kehityslauta tai jopa toinen CanSat NeXT -lauta.

GroundStationInit (yksinkertaistettu MAC-osoitteen määrittely)

Toimintouint8_t GroundStationInit(uint8_t macAddress)
Palautustyyppiuint8_t
PalautusarvoPalauttaa 0, jos alustus onnistui, tai ei-nolla, jos tapahtui virhe.
Parametrit
uint8_t macAddress
MAC-osoitteen viimeinen tavu, jota käytetään erottamaan eri CanSat-GS-parit.
KuvausTämä on yksinkertaistettu versio GroundStationInit-funktiosta MAC-osoitteella, joka asettaa muut tavut automaattisesti tunnettuun turvalliseen arvoon. Tämä mahdollistaa käyttäjien erottavan lähettimen-vastaanottimen parit vain yhdellä arvolla, joka voi olla 0-255.

IMU-funktiot

readAcceleration

Toimintouint8_t readAcceleration(float &x, float &y, float &z)
Palautustyyppiuint8_t
PalautusarvoPalauttaa 0, jos mittaus onnistui.
Parametrit
float &x, float &y, float &z
float &x: Kelluvan muuttujan osoite, johon x-akselin data tallennetaan.
Käytetty esimerkkiohjelmassaIMU
KuvausTätä funktiota voidaan käyttää lukemaan kiihtyvyyttä sisäiseltä IMU:lta. Parametrit ovat osoitteita kelluville muuttujille jokaiselle akselille. Esimerkki IMU näyttää, kuinka tätä funktiota käytetään lukemaan kiihtyvyyttä. Kiihtyvyys palautetaan G-yksiköissä (9.81 m/s).

readAccelX

Toimintofloat readAccelX()
Palautustyyppifloat
PalautusarvoPalauttaa lineaarisen kiihtyvyyden X-akselilla G-yksiköissä.
Käytetty esimerkkiohjelmassaIMU
KuvausTätä funktiota voidaan käyttää lukemaan kiihtyvyyttä sisäiseltä IMU:lta tietyllä akselilla. Esimerkki IMU näyttää, kuinka tätä funktiota käytetään lukemaan kiihtyvyyttä. Kiihtyvyys palautetaan G-yksiköissä (9.81 m/s).

readAccelY

Funktiofloat readAccelY()
Palautustyyppifloat
PalautusarvoPalauttaa lineaarisen kiihtyvyyden Y-akselilla yksiköissä G.
Käytetty esimerkkiluonnoksessaIMU
KuvausTätä funktiota voidaan käyttää lukemaan kiihtyvyyttä sisäisestä IMU:sta tietyllä akselilla. Esimerkki IMU näyttää, kuinka tätä funktiota käytetään kiihtyvyyden lukemiseen. Kiihtyvyys palautetaan yksiköissä G (9.81 m/s).

readAccelZ

Funktiofloat readAccelZ()
Palautustyyppifloat
PalautusarvoPalauttaa lineaarisen kiihtyvyyden Z-akselilla yksiköissä G.
Käytetty esimerkkiluonnoksessaIMU
KuvausTätä funktiota voidaan käyttää lukemaan kiihtyvyyttä sisäisestä IMU:sta tietyllä akselilla. Esimerkki IMU näyttää, kuinka tätä funktiota käytetään kiihtyvyyden lukemiseen. Kiihtyvyys palautetaan yksiköissä G (9.81 m/s).

readGyro

Funktiouint8_t readGyro(float &x, float &y, float &z)
Palautustyyppiuint8_t
PalautusarvoPalauttaa 0, jos mittaus onnistui.
Parametrit
float &x, float &y, float &z
float &x: Osoite float-muuttujaan, johon x-akselin data tallennetaan.
Käytetty esimerkkiluonnoksessaIMU
KuvausTätä funktiota voidaan käyttää lukemaan kulmanopeutta sisäisestä IMU:sta. Parametrit ovat osoitteita float-muuttujiin jokaiselle akselille. Esimerkki IMU näyttää, kuinka tätä funktiota käytetään kulmanopeuden lukemiseen. Kulmanopeus palautetaan yksiköissä mrad/s.

readGyroX

Funktiofloat readGyroX()
Palautustyyppifloat
PalautusarvoPalauttaa kulmanopeuden X-akselilla yksiköissä mrad/s.
Käytetty esimerkkiluonnoksessaIMU
KuvausTätä funktiota voidaan käyttää lukemaan kulmanopeutta sisäisestä IMU:sta tietyllä akselilla. Parametrit ovat osoitteita float-muuttujiin jokaiselle akselille. Kulmanopeus palautetaan yksiköissä mrad/s.

readGyroY

Funktiofloat readGyroY()
Palautustyyppifloat
PalautusarvoPalauttaa kulmanopeuden Y-akselilla yksiköissä mrad/s.
Käytetty esimerkkiluonnoksessaIMU
KuvausTätä funktiota voidaan käyttää lukemaan kulmanopeutta sisäisestä IMU:sta tietyllä akselilla. Parametrit ovat osoitteita float-muuttujiin jokaiselle akselille. Kulmanopeus palautetaan yksiköissä mrad/s.

readGyroZ

Funktiofloat readGyroZ()
Palautustyyppifloat
PalautusarvoPalauttaa kulmanopeuden Z-akselilla yksiköissä mrad/s.
Käytetty esimerkkiohjelmassaIMU
KuvausTätä funktiota voidaan käyttää lukemaan kulmanopeus tietyn akselin piirilevyllä olevasta IMU:sta. Parametrit ovat osoitteita float-muuttujiin jokaiselle akselille. Kulmanopeus palautetaan yksiköissä mrad/s.

Barometrifunktiot

readPressure

Funktiofloat readPressure()
Palautustyyppifloat
PalautusarvoPaine mbar
ParametritEi mitään
Käytetty esimerkkiohjelmassaBaro
KuvausTämä funktio palauttaa piirilevyllä olevan barometrin ilmoittaman paineen. Paine on yksiköissä millibaari.

readTemperature

Funktiofloat readTemperature()
Palautustyyppifloat
PalautusarvoLämpötila Celsius-asteina
ParametritEi mitään
Käytetty esimerkkiohjelmassaBaro
KuvausTämä funktio palauttaa piirilevyllä olevan barometrin ilmoittaman lämpötilan. Lukeman yksikkö on Celsius. Huomaa, että tämä on barometrin mittaama sisäinen lämpötila, joten se ei välttämättä vastaa ulkoista lämpötilaa.

SD-kortti / Tiedostojärjestelmäfunktiot

SDCardPresent

Funktiobool SDCardPresent()
Palautustyyppibool
PalautusarvoPalauttaa true, jos SD-kortti havaitaan, false, jos ei.
ParametritEi mitään
Käytetty esimerkkiohjelmassaSD_advanced
KuvausTätä funktiota voidaan käyttää tarkistamaan, onko SD-kortti mekaanisesti paikalla. SD-kortin liittimessä on mekaaninen kytkin, joka luetaan, kun tätä funktiota kutsutaan. Palauttaa true tai false riippuen siitä, havaitaanko SD-kortti.

appendFile

Functionuint8_t appendFile(String filename, T data)
Return Typeuint8_t
Return ValuePalauttaa 0, jos kirjoitus onnistui.
Parameters
String filename: Lisättävän tiedoston osoite. Jos tiedostoa ei ole, se luodaan.
T data: Data, joka lisätään tiedoston loppuun.
Used in example sketchSD_write
DescriptionTämä on peruskirjoitustoiminto, jota käytetään lukemien tallentamiseen SD-kortille.

printFileSystem

Functionvoid printFileSystem()
Return Typevoid
ParametersEi mitään
Used in example sketchSD_advanced
DescriptionTämä on pieni apufunktio, joka tulostaa SD-kortilla olevien tiedostojen ja kansioiden nimet. Voidaan käyttää kehityksessä.

newDir

Functionvoid newDir(String path)
Return Typevoid
Parameters
String path: Uuden hakemiston polku. Jos se on jo olemassa, mitään ei tehdä.
Used in example sketchSD_advanced
DescriptionKäytetään uusien hakemistojen luomiseen SD-kortille.

deleteDir

Functionvoid deleteDir(String path)
Return Typevoid
Parameters
String path: Poistettavan hakemiston polku.
Used in example sketchSD_advanced
DescriptionKäytetään hakemistojen poistamiseen SD-kortilta.

fileExists

Functionbool fileExists(String path)
Return Typebool
Return ValuePalauttaa true, jos tiedosto on olemassa.
Parameters
String path: Tiedoston polku.
Used in example sketchSD_advanced
DescriptionTätä funktiota voidaan käyttää tarkistamaan, onko tiedosto olemassa SD-kortilla.

fileSize

Funktiouint32_t fileSize(String path)
Palautustyyppiuint32_t
PalautusarvoTiedoston koko tavuina.
Parametrit
String path: Tiedoston polku.
Käytetty esimerkkiohjelmassaSD_advanced
KuvausTätä funktiota voidaan käyttää tiedoston koon lukemiseen SD-kortilta.

writeFile

Funktiouint8_t writeFile(String filename, T data)
Palautustyyppiuint8_t
PalautusarvoPalauttaa 0, jos kirjoitus onnistui.
Parametrit
String filename: Kirjoitettavan tiedoston osoite.
T data: Tiedostoon kirjoitettava data.
Käytetty esimerkkiohjelmassaSD_advanced
KuvausTämä funktio on samanlainen kuin appendFile(), mutta se korvaa olemassa olevan datan SD-kortilla. Datan tallennukseen tulisi käyttää appendFile. Tämä funktio voi olla hyödyllinen esimerkiksi asetusten tallentamiseen.

readFile

FunktioString readFile(String path)
PalautustyyppiString
PalautusarvoKaikki tiedoston sisältö.
Parametrit
String path: Tiedoston polku.
Käytetty esimerkkiohjelmassaSD_advanced
KuvausTätä funktiota voidaan käyttää lukemaan kaikki data tiedostosta muuttujaan. Suurten tiedostojen lukeminen voi aiheuttaa ongelmia, mutta se on sopiva pienille tiedostoille, kuten konfiguraatio- tai asetustiedostoille.

renameFile

Funktiovoid renameFile(String oldpath, String newpath)
Palautustyyppivoid
Parametrit
String oldpath: Tiedoston alkuperäinen polku.
String newpath: Tiedoston uusi polku.
Käytetty esimerkkiohjelmassaSD_advanced
KuvausTätä funktiota voidaan käyttää tiedostojen uudelleennimeämiseen tai siirtämiseen SD-kortilla.

deleteFile

Funktiovoid deleteFile(String path)
Palautustyyppivoid
Parametrit
String path: Poistettavan tiedoston polku.
Käytetty esimerkkiluonnoksessaSD_advanced
KuvausTätä funktiota voidaan käyttää tiedostojen poistamiseen SD-kortilta.

Radiofunktiot

onDataReceived

Funktiovoid onDataReceived(String data)
Palautustyyppivoid
Parametrit
String data: Vastaanotettu data Arduino Stringinä.
Käytetty esimerkkiluonnoksessaGroundstation_receive
KuvausTämä on palautefunktio, joka kutsutaan, kun dataa vastaanotetaan. Käyttäjän koodin tulee määritellä tämä funktio, ja CanSat NeXT kutsuu sitä automaattisesti, kun dataa vastaanotetaan.

onBinaryDataReceived

Funktiovoid onBinaryDataReceived(const uint8_t *data, uint16_t len)
Palautustyyppivoid
Parametrit
const uint8_t *data: Vastaanotettu data uint8_t-taulukkona.
uint16_t len: Vastaanotetun datan pituus tavuina.
Käytetty esimerkkiluonnoksessaEi käytössä
KuvausTämä on samanlainen kuin onDataReceived-funktio, mutta data tarjotaan binäärimuodossa String-objektin sijaan. Tämä on tarkoitettu edistyneille käyttäjille, jotka kokevat String-objektin rajoittavaksi.

onDataSent

Funktiovoid onDataSent(const bool success)
Palautustyyppivoid
Parametrit
const bool success: Boolen arvo, joka osoittaa, lähetettiinkö data onnistuneesti.
Käytetty esimerkkiluonnoksessaEi käytössä
KuvausTämä on toinen palautefunktio, joka voidaan lisätä käyttäjän koodiin tarvittaessa. Sitä voidaan käyttää tarkistamaan, tunnustettiinko vastaanotto toisella radiolla.

getRSSI

Funktioint8_t getRSSI()
Palautustyyppiint8_t
PalautusarvoViimeksi vastaanotetun viestin RSSI. Palauttaa 1, jos viestejä ei ole vastaanotettu käynnistyksen jälkeen.
Käytetty esimerkkiluonnoksessaEi käytössä
KuvausTätä funktiota voidaan käyttää vastaanoton signaalin voimakkuuden seuraamiseen. Sitä voidaan käyttää antennien testaamiseen tai radiokantaman arvioimiseen. Arvo ilmaistaan dBm-yksiköissä, mutta asteikko ei ole tarkka.

sendData (String-muunnelma)

Toimintouint8_t sendData(T data)
Palautustyyppiuint8_t
Palautusarvo0, jos data lähetettiin (ei osoita kuittausta).
Parametrit
T data: Lähetettävä data. Mitä tahansa datatyyppiä voidaan käyttää, mutta se muunnetaan sisäisesti merkkijonoksi.
Käytetty esimerkkiohjelmassaSend_data
KuvausTämä on päätoiminto datan lähettämiseen maanpäällisen aseman ja satelliitin välillä. Huomaa, että palautusarvo ei osoita, vastaanotettiinko data, vaan ainoastaan, että se lähetettiin. Callback-funktiota onDataSent voidaan käyttää tarkistamaan, vastaanotettiinko data toisessa päässä.

sendData (Binäärinen variantti)

Toimintouint8_t sendData(T* data, uint16_t len)
Palautustyyppiuint8_t
Palautusarvo0, jos data lähetettiin (ei osoita kuittausta).
Parametrit
T* data: Lähetettävä data.
uint16_t len: Datan pituus tavuina.
Käytetty esimerkkiohjelmassaEi käytetty
KuvaussendData-funktion binäärinen variantti, joka on tarkoitettu edistyneille käyttäjille, jotka kokevat String-objektin rajoittavaksi.

getRSSI

Toimintoint8_t getRSSI()
Palautustyyppiint8_t
PalautusarvoViimeksi vastaanotetun viestin RSSI. Palauttaa 1, jos viestejä ei ole vastaanotettu käynnistyksen jälkeen.
Käytetty esimerkkiohjelmassaEi käytetty
KuvausTätä funktiota voidaan käyttää vastaanoton signaalin voimakkuuden seuraamiseen. Sitä voidaan käyttää antennien testaamiseen tai radioalueen arvioimiseen. Arvo ilmaistaan dBm, mutta asteikko ei ole tarkka.

setRadioChannel

Toimintovoid setRadioChannel(uint8_t newChannel)
Palautustyyppivoid
PalautusarvoEi mitään
Parametrituint8_t newChannel: Haluttu Wi-Fi-kanavan numero (1–11). Kaikki arvot yli 11 rajataan arvoon 11.
Käytetty esimerkkiohjelmassaEi käytetty
KuvausAsettaa ESP-NOW-kommunikaatiokanavan. Uuden kanavan tulee olla standardien Wi-Fi-kanavien (1–11) sisällä, jotka vastaavat taajuuksia alkaen 2.412 GHz 5 MHz välein. Kanava 1 on 2.412, Kanava 2 on 2.417 ja niin edelleen. Kutsu tämä funktio ennen kirjaston alustamista. Oletuskanava on 1.

getRadioChannel

Funktiouint8_t getRadioChannel()
Palautustyyppiuint8_t
PalautusarvoNykyinen ensisijainen Wi-Fi-kanava. Palauttaa 0, jos kanavan hakemisessa tapahtuu virhe.
Käytetty esimerkkiohjelmassaEi käytetty
KuvausHakee parhaillaan käytössä olevan ensisijaisen Wi-Fi-kanavan. Tämä funktio toimii vain kirjaston alustamisen jälkeen.

printRadioFrequency

Funktiovoid printRadioFrequency()
Palautustyyppivoid
PalautusarvoEi mitään
Käytetty esimerkkiohjelmassaEi käytetty
KuvausLaskee ja tulostaa nykyisen taajuuden GHz:inä aktiivisen Wi-Fi-kanavan perusteella. Tämä funktio toimii vain kirjaston alustamisen jälkeen.

ADC-funktiot

adcToVoltage

Funktiofloat adcToVoltage(int value)
Palautustyyppifloat
PalautusarvoMuunnettu jännite voltoissa.
Parametrit
int value: ADC-lukema, joka muunnetaan jännitteeksi.
Käytetty esimerkkiohjelmassaAccurateAnalogRead
KuvausTämä funktio muuntaa ADC-lukeman jännitteeksi käyttäen kalibroitua kolmannen asteen polynomia lineaarisemman muunnoksen aikaansaamiseksi. Huomaa, että tämä funktio laskee jännitteen tuloportissa, joten akun jännitteen laskemiseksi sinun on otettava huomioon myös vastusverkko.

analogReadVoltage

Funktiofloat analogReadVoltage(int pin)
Palautustyyppifloat
PalautusarvoADC-jännite voltoissa.
Parametrit
int pin: Luettava pinni.
Käytetty esimerkkiohjelmassaAccurateAnalogRead
KuvausTämä funktio lukee jännitteen suoraan ilman analogRead-käyttöä ja muuntaa lukeman jännitteeksi sisäisesti käyttäen adcToVoltage.