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
Toiminto | uint8_t CanSatInit(uint8_t macAddress[6]) |
---|
Palautustyyppi | uint8_t |
Palautusarvo | Palauttaa 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 |
Kuvaus | Tä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)
Toiminto | uint8_t CanSatInit(uint8_t macAddress) |
---|
Palautustyyppi | uint8_t |
Palautusarvo | Palauttaa 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. |
Kuvaus | Tä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
Toiminto | uint8_t GroundStationInit(uint8_t macAddress[6]) |
---|
Palautustyyppi | uint8_t |
Palautusarvo | Palauttaa 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 esimerkkiohjelmassa | Groundstation receive |
Kuvaus | Tä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)
Toiminto | uint8_t GroundStationInit(uint8_t macAddress) |
---|
Palautustyyppi | uint8_t |
Palautusarvo | Palauttaa 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. |
Kuvaus | Tä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
Toiminto | uint8_t readAcceleration(float &x, float &y, float &z) |
---|
Palautustyyppi | uint8_t |
Palautusarvo | Palauttaa 0, jos mittaus onnistui. |
Parametrit | |
| float &x, float &y, float &z |
| float &x : Kelluvan muuttujan osoite, johon x-akselin data tallennetaan. |
Käytetty esimerkkiohjelmassa | IMU |
Kuvaus | Tä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
Toiminto | float readAccelX() |
---|
Palautustyyppi | float |
Palautusarvo | Palauttaa lineaarisen kiihtyvyyden X-akselilla G-yksiköissä. |
Käytetty esimerkkiohjelmassa | IMU |
Kuvaus | Tä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
Funktio | float readAccelY() |
---|
Palautustyyppi | float |
Palautusarvo | Palauttaa lineaarisen kiihtyvyyden Y-akselilla yksiköissä G. |
Käytetty esimerkkiluonnoksessa | IMU |
Kuvaus | Tä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
Funktio | float readAccelZ() |
---|
Palautustyyppi | float |
Palautusarvo | Palauttaa lineaarisen kiihtyvyyden Z-akselilla yksiköissä G. |
Käytetty esimerkkiluonnoksessa | IMU |
Kuvaus | Tä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
Funktio | uint8_t readGyro(float &x, float &y, float &z) |
---|
Palautustyyppi | uint8_t |
Palautusarvo | Palauttaa 0, jos mittaus onnistui. |
Parametrit | |
| float &x, float &y, float &z |
| float &x : Osoite float-muuttujaan, johon x-akselin data tallennetaan. |
Käytetty esimerkkiluonnoksessa | IMU |
Kuvaus | Tä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
Funktio | float readGyroX() |
---|
Palautustyyppi | float |
Palautusarvo | Palauttaa kulmanopeuden X-akselilla yksiköissä mrad/s. |
Käytetty esimerkkiluonnoksessa | IMU |
Kuvaus | Tä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
Funktio | float readGyroY() |
---|
Palautustyyppi | float |
Palautusarvo | Palauttaa kulmanopeuden Y-akselilla yksiköissä mrad/s. |
Käytetty esimerkkiluonnoksessa | IMU |
Kuvaus | Tä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
Funktio | float readGyroZ() |
---|
Palautustyyppi | float |
Palautusarvo | Palauttaa kulmanopeuden Z-akselilla yksiköissä mrad/s. |
Käytetty esimerkkiohjelmassa | IMU |
Kuvaus | Tä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
Funktio | float readPressure() |
---|
Palautustyyppi | float |
Palautusarvo | Paine mbar |
Parametrit | Ei mitään |
Käytetty esimerkkiohjelmassa | Baro |
Kuvaus | Tämä funktio palauttaa piirilevyllä olevan barometrin ilmoittaman paineen. Paine on yksiköissä millibaari. |
readTemperature
Funktio | float readTemperature() |
---|
Palautustyyppi | float |
Palautusarvo | Lämpötila Celsius-asteina |
Parametrit | Ei mitään |
Käytetty esimerkkiohjelmassa | Baro |
Kuvaus | Tä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
Funktio | bool SDCardPresent() |
---|
Palautustyyppi | bool |
Palautusarvo | Palauttaa true, jos SD-kortti havaitaan, false, jos ei. |
Parametrit | Ei mitään |
Käytetty esimerkkiohjelmassa | SD_advanced |
Kuvaus | Tä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
Function | uint8_t appendFile(String filename, T data) |
---|
Return Type | uint8_t |
Return Value | Palauttaa 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 sketch | SD_write |
Description | Tämä on peruskirjoitustoiminto, jota käytetään lukemien tallentamiseen SD-kortille. |
printFileSystem
Function | void printFileSystem() |
---|
Return Type | void |
Parameters | Ei mitään |
Used in example sketch | SD_advanced |
Description | T ämä on pieni apufunktio, joka tulostaa SD-kortilla olevien tiedostojen ja kansioiden nimet. Voidaan käyttää kehityksessä. |
newDir
Function | void newDir(String path) |
---|
Return Type | void |
Parameters | |
| String path : Uuden hakemiston polku. Jos se on jo olemassa, mitään ei tehdä. |
Used in example sketch | SD_advanced |
Description | Käytetään uusien hakemistojen luomiseen SD-kortille. |
deleteDir
Function | void deleteDir(String path) |
---|
Return Type | void |
Parameters | |
| String path : Poistettavan hakemiston polku. |
Used in example sketch | SD_advanced |
Description | Käytetään hakemistojen poistamiseen SD-kortilta. |
fileExists
Function | bool fileExists(String path) |
---|
Return Type | bool |
Return Value | Palauttaa true, jos tiedosto on olemassa. |
Parameters | |
| String path : Tiedoston polku. |
Used in example sketch | SD_advanced |
Description | Tätä funktiota voidaan käyttää tarkistamaan, onko tiedosto olemassa SD-kortilla. |
fileSize
Funktio | uint32_t fileSize(String path) |
---|
Palautustyyppi | uint32_t |
Palautusarvo | Tiedoston koko tavuina. |
Parametrit | |
| String path : Tiedoston polku. |
Käytetty esimerkkiohjelmassa | SD_advanced |
Kuvaus | Tätä funktiota voidaan käyttää tiedoston koon lukemiseen SD-kortilta. |
writeFile
Funktio | uint8_t writeFile(String filename, T data) |
---|
Palautustyyppi | uint8_t |
Palautusarvo | Palauttaa 0, jos kirjoitus onnistui. |
Parametrit | |
| String filename : Kirjoitettavan tiedoston osoite. |
| T data : Tiedostoon kirjoitettava data. |
Käytetty esimerkkiohjelmassa | SD_advanced |
Kuvaus | Tä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
Funktio | String readFile(String path) |
---|
Palautustyyppi | String |
Palautusarvo | Kaikki tiedoston sisältö. |
Parametrit | |
| String path : Tiedoston polku. |
Käytetty esimerkkiohjelmassa | SD_advanced |
Kuvaus | Tä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
Funktio | void renameFile(String oldpath, String newpath) |
---|
Palautustyyppi | void |
Parametrit | |
| String oldpath : Tiedoston alkuperäinen polku. |
| String newpath : Tiedoston uusi polku. |
Käytetty esimerkkiohjelmassa | SD_advanced |
Kuvaus | Tätä funktiota voidaan käyttää tiedostojen uudelleennimeämiseen tai siirtämiseen SD-kortilla. |
deleteFile
Funktio | void deleteFile(String path) |
---|
Palautustyyppi | void |
Parametrit | |
| String path : Poistettavan tiedoston polku. |
Käytetty esimerkkiluonnoksessa | SD_advanced |
Kuvaus | Tätä funktiota voidaan käyttää tiedostojen poistamiseen SD-kortilta. |
Radiofunktiot
onDataReceived
Funktio | void onDataReceived(String data) |
---|
Palautustyyppi | void |
Parametrit | |
| String data : Vastaanotettu data Arduino Stringinä. |
Käytetty esimerkkiluonnoksessa | Groundstation_receive |
Kuvaus | Tä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
Funktio | void onBinaryDataReceived(const uint8_t *data, uint16_t len) |
---|
Palautustyyppi | void |
Parametrit | |
| const uint8_t *data : Vastaanotettu data uint8_t-taulukkona. |
| uint16_t len : Vastaanotetun datan pituus tavuina. |
Käytetty esimerkkiluonnoksessa | Ei käytössä |
Kuvaus | Tä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
Funktio | void onDataSent(const bool success) |
---|
Palautustyyppi | void |
Parametrit | |
| const bool success : Boolen arvo, joka osoittaa, lähetettiinkö data onnistuneesti. |
Käytetty esimerkkiluonnoksessa | Ei käytössä |
Kuvaus | Tämä on toinen palautefunktio, joka voidaan lisätä käyttäjän koodiin tarvittaessa. Sitä voidaan käyttää tarkistamaan, tunnustettiinko vastaanotto toisella radiolla. |
Funktio | int8_t getRSSI() |
---|
Palautustyyppi | int8_t |
Palautusarvo | Viimeksi vastaanotetun viestin RSSI. Palauttaa 1, jos viestejä ei ole vastaanotettu käynnistyksen jälkeen. |
Käytetty esimerkkiluonnoksessa | Ei käytössä |
Kuvaus | Tä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)
Toiminto | uint8_t sendData(T data) |
---|
Palautustyyppi | uint8_t |
Palautusarvo | 0, 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 esimerkkiohjelmassa | Send_data |
Kuvaus | Tä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)
Toiminto | uint8_t sendData(T* data, uint16_t len) |
---|
Palautustyyppi | uint8_t |
Palautusarvo | 0, jos data lähetettiin (ei osoita kuittausta). |
Parametrit | |
| T* data : Lähetettävä data. |
| uint16_t len : Datan pituus tavuina. |
Käytetty esimerkkiohjelmassa | Ei käytetty |
Kuvaus | sendData -funktion binäärinen variantti, joka on tarkoitettu edistyneille käyttäjille, jotka kokevat String-objektin rajoittavaksi. |
Toiminto | int8_t getRSSI() |
---|
Palautustyyppi | int8_t |
Palautusarvo | Viimeksi vastaanotetun viestin RSSI. Palauttaa 1, jos viestejä ei ole vastaanotettu käynnistyksen jälkeen. |
Käytetty esimerkkiohjelmassa | Ei käytetty |
Kuvaus | Tä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
Toiminto | void setRadioChannel(uint8_t newChannel) |
---|
Palautustyyppi | void |
Palautusarvo | Ei mitään |
Parametrit | uint8_t newChannel : Haluttu Wi-Fi-kanavan numero (1–11). Kaikki arvot yli 11 rajataan arvoon 11. |
Käytetty esimerkkiohjelmassa | Ei käytetty |
Kuvaus | Asettaa 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
Funktio | uint8_t getRadioChannel() |
---|
Palautustyyppi | uint8_t |
Palautusarvo | Nykyinen ensisijainen Wi-Fi-kanava. Palauttaa 0, jos kanavan hakemisessa tapahtuu virhe. |
Käytetty esimerkkiohjelmassa | Ei käytetty |
Kuvaus | Hakee parhaillaan käytössä olevan ensisijaisen Wi-Fi-kanavan. Tämä funktio toimii vain kirjaston alustamisen jälkeen. |
printRadioFrequency
Funktio | void printRadioFrequency() |
---|
Palautustyyppi | void |
Palautusarvo | Ei mitään |
Käytetty esimerkkiohjelmassa | Ei käytetty |
Kuvaus | Laskee ja tulostaa nykyisen taajuuden GHz:inä aktiivisen Wi-Fi-kanavan perusteella. Tämä funktio toimii vain kirjaston alustamisen jälkeen. |
ADC-funktiot
adcToVoltage
Funktio | float adcToVoltage(int value) |
---|
Palautustyyppi | float |
Palautusarvo | Muunnettu jännite voltoissa. |
Parametrit | |
| int value : ADC-lukema, joka muunnetaan jännitteeksi. |
Käytetty esimerkkiohjelmassa | AccurateAnalogRead |
Kuvaus | Tä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
Funktio | float analogReadVoltage(int pin) |
---|
Palautustyyppi | float |
Palautusarvo | ADC-jännite voltoissa. |
Parametrit | |
| int pin : Luettava pinni. |
Käytetty esimerkkiohjelmassa | AccurateAnalogRead |
Kuvaus | Tämä funktio lukee jännitteen suoraan ilman analogRead -käyttöä ja muuntaa lukeman jännitteeksi sisäisesti käyttäen adcToVoltage . |