Skip to main content

Brzi početak

Uključite ploču u USB-C priključak, spojite priloženu antenu FXUB1900 na IPEX priključka i slijedite karticu za svoju platformu kako biste vidjeli dešifrirane zračne izvještaje s ugrađenog TT-SC1 prijemnika.

1. Instalirajte platformu​

Instalirajte službeni Espressif Arduino core za ESP32 iz Upravitelja ploča (Boards Manager) Arduino IDE-a:

  1. Otvorite Arduino IDE.
  2. Idite na Tools → Board → Boards Manager.
  3. Potražite ESP32.
  4. Pronađite ESP32 by Espressif Systems i kliknite Install.

2. Instalirajte upravljački program CH340K​

Čip CH340K na ploči upravlja komunikacijom USB-serijski. Bez njegovog upravljačkog programa ploča se neće pojaviti kao serijski priključak.

Linuxu nije potreban zaseban upravljački program: CH340 je podržan iz kutije.

Na sustavu Windows preuzmite upravljački program s stranice s upravljačkim programima tvrtke WCH i pokrenite instalacijski program. Na sustavu macOS preuzmite upravljački program s stranice s macOS upravljačkim programima tvrtke WCH, otvorite .zip datoteku i slijedite upute za instalaciju.

3. Instalirajte biblioteku​

Preuzmite Arduino biblioteku za lemljeni ADS-B prijemnik s provjerenog commita:

U Arduino IDE-u idite na Sketch → Include Library → Add .ZIP Library... i odaberite preuzetu arhivu.

4. Odaberite ploču​

Za ovaj proizvod još nije dodan unos specifičan za ploču u paket Upravitelja ploča (Boards Manager), stoga odaberite najbliži opći cilj: Alati → Ploča → esp32 → ESP32S3 Dev Module.

5. Učitajte svoj prvi program​

Ovo je vlastiti primjer 1_ReadAircraftCSV biblioteke. Zadana konfiguracija priključaka biblioteke (UART1 na IO17/IO18, reset na IO21) već odgovara ovoj ploči, stoga konstruktor ne treba argumente.

ESP32S3 Dev Module
1_ReadAircraftCSV.ino
#include "ADSB-Receiver-SOLDERED.h"

// Create an instance of the ADS-B object
// Using a different board? See example 7_CustomBoardWiring.
ADSBReceiver adsb;

// Called once per decoded aircraft update, with whichever fields the module had data for.
void onAircraft(const AdsbAircraft &ac)
{
Serial.print("ICAO ");
Serial.print(ac.icao);

if (ac.callsign.length())
{
Serial.print(" call=");
Serial.print(ac.callsign);
}
if (ac.hasPosition)
{
Serial.print(" lat=");
Serial.print(ac.lat, 5);
Serial.print(" lon=");
Serial.print(ac.lon, 5);
}
if (ac.hasAltBaro)
{
Serial.print(" altBaro=");
Serial.print(ac.altBaro);
Serial.print("ft");
}
if (ac.hasVelH)
{
Serial.print(" vel=");
Serial.print(ac.velH);
Serial.print("kt");
}
if (ac.squawk.length())
{
Serial.print(" squawk=");
Serial.print(ac.squawk);
}
Serial.print(" onGround=");
Serial.print(ac.onGround() ? "yes" : "no");
Serial.print(" crcValid=");
Serial.println(ac.crcValid ? "yes" : "no");
}

void setup()
{
// Start the USB serial monitor.
Serial.begin(115200);

// Open the UART link to the module at its factory-default RUN baud.
adsb.begin(115200);
// Register the function to call whenever a decoded aircraft report arrives.
adsb.onAircraft(onAircraft);

Serial.println("Waiting for ADS-B traffic...");
}

void loop()
{
// Reads incoming bytes and fires the registered callbacks. Must run every loop.
adsb.poll();
}

6. Što očekivati​

Otvorite Alati → Serijski monitor, postavite brzinu prijenosa na 115200 i resetirajte pločicu. Prijamnik šalje CSV izvješće za svaki zrakoplov koji detektira, otprilike jednom u sekundi po zrakoplovu:

Serial MonitorAutoscrollShow timestampNewline115200 baud
Message (Enter to send message to the board)
Waiting for ADS-B traffic...
ICAO 4BB865 call=PGT2DY onGround=no crcValid=yes
ICAO 4CBEA5 onGround=no crcValid=yes
ICAO 0FFA8D onGround=no crcValid=yes
ICAO 3E7FBE onGround=no crcValid=yes
ICAO 4BB865 call=PGT2DY altBaro=36975ft squawk=7140 onGround=no crcValid=yes
ICAO 4CBEA5 onGround=no crcValid=yes
ICAO 0FFA8D onGround=no crcValid=yes
ICAO 44020A squawk=7102 onGround=no crcValid=yes
ICAO 4BB87A altBaro=37000ft vel=453.00kt squawk=3031 onGround=no crcValid=yes

Polja u retku ovise o onome što je modul zapravo dešifrirao za to ažuriranje; polje za koje modul još nema podatke jednostavno se izostavlja, zbog čega su neki retci gore kraći od drugih.

Nema izlaza izvan prve linije? Pogledajte Otklanjanje poteškoća. Za prijem je potreban zrakoplov koji emitira ADS-B unutar dometa i u vidnom polju antene.

7. Rješavanje problema​

Ako ploča nije otkrivena ili prijenos ne uspije, nastavite s Rješavanje problema.