Průvodce – LoRa APRS iGate
Tuto konstrukci vytvořil OE5BPA a navrhl samotný lora modem, Rozhodl jsem se použít právě tuto konstrukci hned z několika důvodů. A to hlavně z toho hlediska že jde napájet pomocí POE což hodně usnadní instalaci a provoz. Není potřeba tahat napájecí kabel a řešit připojeni přes wifi. Konstrukce je jednoduchá protože vše obstará modul LilyGO TTGO T-internet který obsahuje ESP32 a ten poskytne dostatečný výkon. Takže pokud hledáte kompaktní konstrukci pro svoji novou lora iGate tak zvažte požití této konstrukce.
Potřebný hardware:
- LilyGO TTGO T-internet PoE ESP32 – LAN8720A
- Programátor, debugger pro LILYGO TTGO T-Internet-POE, CH340
- LoRa modem (SMD)
- Box na naše zařízeni: Zde ke stažení
LILYGO TTGO T-Internet-POE ESP32-WROOM LAN8720A
Vývojová deska založená na modulu ESP32-WROOM, která obsahuje LAN kontrolér LAN8720A s možností napájení POE osazené čipem SI3404, konektor pro SD kartu a I/O konektor.
Deska je vhodná pro vývoj aplikací komunikujících přes LAN, WiFi nebo Bluetooth napájených pomocí POE. Desku lze napájet i pomocí USB-C konektoru integrovaným na desce. Tento konektor však slouží pouze pro napájení. Pro programování a debug je zapotřebí programátor.
Chipset | ESPRESSIF-ESP32-WROOM, LAN8720A Ethernet chip, SI3404 Power management chip |
FLASH | 4MB |
SRAM | 520 kB SRAM |
Button | BOT, Reset |
External Device | TF Card Slot,Type-C Interface,PA2369NL 1825-S Transformer,HR861153C Ethernet-POE interface |
USB to TTL | CP2104 |
Modular interface | SD card, UART, SPI, I2C, PWM, I2S, ADC |
On-board clock | 32.768MHz crystal oscillator |
Working temperature range | -40℃ ~ +85℃ |
Weight | 26.85g |
Size | 70×52.3x17mm |
Power Supply Specifications | |
Power Supply Input | Type-C USB 5V |
PoE 48V – HR861153C Ethernet-POE interface 50V | |
Working voltage | 2.7V-3.6V |
Maximum output current | About 1.2A |
Charging current | 500mA |
USB | Type-C USB |
Wi-Fi | |
Standard | FCC/CE-RED/IC/TELEC/KCC/SRRC/NCC(esp32 chip) |
Protocol | 802.11 b/g/n(802.11n,speed up to150Mbps)A-MPDU and A-MSDU polymerization,support 0.4μS Protection interval |
Frequency range | 2.4GHz~2.5GHz(2400M~2483.5M) |
Transmit Power | 22dBm |
Communication distance | 300m |
Bluetooth | |
Protocol | Meet bluetooth v4.2BR/EDR and BLE standard |
Radio frequency | With -97dBm sensitivity NZIF receiver Class-1, Class-2&Class-3 emitter AFH |
Audio frequency | CVSD&SBC audio frequency |
Software specification | |
Wi-Fi Mode | Station/SoftAP/SoftAP+Station/P2P |
Security mechanism | WPA/WPA2/WPA2-Enterprise/WPS |
Encryption Type | AES/RSA/ECC/SHA |
Firmware upgrade | UART download/OTA(Through network/host to download and write firmware) |
Software Development | Support cloud server development /SDK for user firmware development |
Networking protocol | IPv4, IPv6, SSL, TCP/UDP/HTTP/FTP/MQTT |
User Configuration | AT + Instruction set, cloud server, android/iOSapp |
OS | FreeRTOS |
Programátor, debugger pro LILYGO TTGO T-Internet-POE, CH340
Programátor a debugger pro vývojovou desku
LoRa modem (SMD)
Samotnou desku si můžete vyrobit nebo mi napsat mail ok2hss(-@-)protonmail.com a ja vám ji za 100kč pošlu. Pár jich ještě mám a v případě většího zájmu bych je přiobědnal. Odkaz na data desku plošného spoje naleznete zde.
Potřebné součástky:
- 1x Ai-Thinker RA-02 SX1278 433MHz LoRa modul
- 1x Patice 2×8 pin
- 2x micro switch
- 1x 0.96″ 128×64 OLED displej, I2C DRIVER: SSD1306
Dokumentace hardware:
t-eth-poe
esp32-wroom-32_datasheet_en
LORA rev2
Nastavení a kompilace software:
Chcete-li získat zdrojový kód, musíte jít na github.com a stáhnout si tam úložiště. To lze snadno provést pomocí tlačítka se zeleným kódem a „Download Zip“. Uživatelé, kteří znají git, mohou samozřejmě také klonovat úložiště.
PlatformIO lze stáhnout přímo z webu PlatformIO . Jediné, co musíte udělat, je stisknout zelené tlačítko s „Install PlatformIO now“. Poté stačí nainstalovat.
Pokud jste již nainstalovali Visual Studio Code, PlatformIO Module lze nainstalovat také přes Plugin Manager.
Nyní lze zdrojový kód otevřít v kódu Visual Studio.
Nastavení
Nejprve je třeba v souboru provést několik úprav data/is-code.json
:
- volací znak se musí změnit (řádek 3)
- Zeměpisná šířka a délka musí být vždy vyplněny. Pokud neznáte své souřadnice, stačí otevřít Mapy Google, kliknout pravým tlačítkem na požadované místo a říct „co je tam?“ klikněte
- Pokud chcete používat iGate, musíte změnit tato nastavení:
- vstupní a musí
active
být nastaveny od dowifi
aprs_is
false
true
- Je nutné zadat SSID a heslo WiFi připojení
- vstupní a musí
- Pro příjem Digi je třeba změnit tato nastavení:
- vstup musí být nastaven
active
od dodigi
false
true
- vstup musí být nastaven
Nedoporučuje se provozovat iGate a Digi současně. V pozdější verzi se to zkontroluje a poběží pouze nastavení iGate (režim Digi bude pravděpodobně aktivní, pokud se nepodaří navázat WiFi připojení – uvidíme).
Nyní musíte vybrat správnou desku, protože každá deska je trochu jinak zapojena (jinak se používají GPIO) nebo má další komponenty.
Default
To lze změnit ve stavovém řádku, kde je aktuálně uvedeno.
Kompilace a flash
Nyní jsou všechny přípravy hotové a můžeme zkompilovat zdrojový kód a flashnout jej na desku. To provedeme stisknutím šipky, která ukazuje vpravo ve stavovém řádku (2). POZOR: Po flashnutí firmwaru je nutné provést flashnutí i konfigurace, to jsou dva samostatné kroky!
Ve stavovém řádku lze rychle provést následující věci:
- Kompilace firmwaru
- Flashování firmwaru
- Vyčištění dočasných a zkompilovaných dat
- Sériový monitor
Flash konfigurace
Konfigurace ( data/is-code.json
) musí být flashována přes speciální souborový systém. Chcete-li to provést, proveďte následující kroky:
- Klikněte na mimozemšťana vlevo
- poté vyberte příslušnou desku
- v podnabídce je nyní
Platform
rozšířeno - klikněte tam
Upload Filesystem Image
POZOR: Někdy se může stát, že nahrávání selže, pak to prostě zkoušejte, dokud to nebude fungovat.
data/is-code.json
Všechna nastavení musí být uložena v konfiguračním souboru . Je součástí dodávky, ale obsahuje pouze zástupné symboly.
Poznámky k formátu JSON
Nahradíme určená místa, ale ponecháme všechny uvozovky. (Více o formátu: viz níže)
Význam proměnných
„volací znak“
Příklad:"OK2HSS-10"
Radioamatérský volací znak operátora by neměl přepisovat 6 číslic. Následuje ID stanice. Číslo nemusí být zadáno, ale lze použít hodnoty mezi 1 a 36.
„wifi“:
„active“:
false
: WiFi na desce je vypnuté
true
: Wifi je zapnutá. Musí následovat přihlašovací údaje k přístupovému bodu.
„AP“:
SSID
: Uveďte identifikátor/název WiFi sítě do uvozovek, např.: „TELECOM-1234“
password
: Zadejte heslo platné pro tuto síť
Příklad přístupového bodu:
"AP": [ { "SSID":"HomeNetz", "password":"Geheim" } ]
Příklad pro dva přístupové body:
"AP": [ { "SSID":"HomeNetz", "password":"Geheim" }, { "SSID":"Freenetz", "password":"" } ]
„maják“
To znamená, že maják vysílá z desky Lora, aby řekl serverům APRS: ukaž mi to na mapě. Text a pozice, které lze odeslat, jsou zde centrálně uloženy a později použity s „aprs_is“ nebo v režimu „digi“.
„beacon“:
Bakentext
: Emise přes HF. Zde je vše, co by se mělo objevit na mapě jako popisný text. Beacon musí být slyšen bránou Lora a předán do Internetu na server APRS.LoRa
Doporučení: Nechte slovo . Na webuaprsdirect.com
můžete vyhledávat texty majákůCMT:*LoRa*
a filtrovat je podle stanice tímto způsobem.
„position“:
latitude
: Zeměpisná délka místa v desetinném formátu, např. 48,12345 (použijte desetinnou čárku!)
longtitude
: Zeměpisná šířka místa v desetinném formátu, např. 7,67890 (použijte desetinnou čárku!)
Poznámka: Souřadnice lze číst přímo na Google Maps
„aprs_is“
Zde se shromažďují data potřebná pro internetové připojení k internetovému serveru APRS. Pokud je zapnuto „aktivní“, musí být aktivní i „wifi“.
„active“:
false
: není navázáno žádné spojení se serverem APRS
true
: Prostřednictvím aktivní WiFi je navázáno spojení s následujícími daty
„password“:
Pro vytvoření písemného připojení k serveru APRS je vyžadováno heslo. Heslo se vypočítá z volacího znaku uvedeného pod „volací znak“ (bez připojeného čísla) a skládá se z 5 číslic.
„server“:
Název nebo IP adresa internetového serveru. Obvykle se za adresami jako „euro…“ nebo „dl..“ skrývá mnoho počítačů, které náhodou převezmou připojení. Pro krátké přenosové časy by měl být použit název místního serveru, např
"euro.aprs2.net"
„port“:
Internetový server může být adresován na různých portech. Pokud vám to nic neříká, použijte vždy standardní port
14580
„beacon“:
false
: na server APRS není odeslán žádný maják
true
: je odeslán maják. Interval je uveden v minutách. Text je"beacon":"message"
převzat ze sekce. Maják se nerozesílá přes HF, ale pouze na internetu
„beacon_timeout“:
Číslo v minutách. Doporučení: Použijte hodnoty mezi >= 15 a <=30 minutami
„digi“
Pokud díl běží jako digipeater (digitální relé. Přijímá a odesílá bez přístupu k internetu), jsou důležité následující informace.
„active“:
false
: Režim „Digi“ je zakázán.
true
: Je aktivován režim „Digi“. NIKDY (!)"aprs_is":"active"
nenavlékejte současnětrue
. V současné době je to stále nedefinovaný stav.
„forward_timeout“:
Číslo v sekundách. Zaslechnutý paket bude znovu vyslán po 5 sekundách (pokud se nejedná o duplikát). Tato hodnota byla stanovena experimentálně.
„beacon“:
Je specifikováno, zda má být signál vyslán přes HF. Text je
"beacon":"message"
převzat ze sekce.
„beacon_timeout“:
Číslo v minutách. Doporučení: Použijte hodnoty mezi >= 15 a <=30 minutami. Při provozu na baterie počítejte s tím, že každé vyzařování je kolem 200 mA po dobu cca 4 sekund (s čipem Lora s 20 dBm/100 mW). Interval pak používejte méně často (nastavte jej vyšší).
„lora“
Zde uvedené hodnoty se používají k inicializaci zařízení LoRa. Změna hodnot spreading_factor, signal_bandwidth a coding_rate4 vede k nekompatibilitě s jinými přenosy/přijímači. Tyto hodnoty byly zkoumány jako optimální pro Lora-Aprs a měly by být vždy zachovány.
„frequency_rx“:
„frequency_tx“:
Zde uložená frekvence
433775000
je koordinována s IARU a stejně jako 2m frekvence pro APRS 144.800 by se neměla měnit.
„power“:
Hodnota musí být uvedena v dBm. Výchozí hodnota
20
je maximální výkon čipu 20 dBm (100 mW). Pro účely testování zde lze výkon snížit.
„spreading_factor“: 12,
„signal_bandwidth“: 125000,
„coding_rate4“: 5
Tyto hodnoty jsou nezbytné pro inicializaci čipu Lora. Změny vedou k nekompatibilitě s jinými zařízeními.
„Display“
Tyto hodnoty jsou nastaveny tak, aby bylo možné vypnout displej (spotřeba energie nebo aby nedošlo k vypálení).
„always_on“:
false
: Displej přejde do režimu spánku.
true
: Displej je ve výchozím nastavení trvale aktivní.
„timeout“:
Číslo v sekundách. Pokud je nastaveno, displej se
always_on:false
po uplynutí této doby vypne. Probudí se pouze po stisknutí tlačítka, pokud je na desce přítomno, nebo při provedení akce pomocí kolíku.
overwrite_pin”:
Číslo jako číslo portu.
0
= není definována žádná akce. V opačném případě musí být uloženo číslo PIN desky. Další význam by měl být požádán od vývojáře.
„ftp“
Pokud je toto wifi
aktivováno a existuje připojení k domácí síti, můžete pomocí programu FTP (program pro přenos souborů) navázat spojení s adresářem s konfiguračním souborem na desce. Konfigurační soubor lze poté stáhnout z počítače, upravit a znovu nahrát. Nový konfigurační soubor se však načte až při příštím resetu desky.
„active“:
false
: FTP je vypnuto. Deska neposlouchá požadavky, i když je k dispozici WiFi připojení
true
: FTP přístup je aktivní na desce a poslouchá požadavky (nešifrovaný FTP)
„user“
Pro řízení přístupu k příchozím požadavkům budete požádáni o uživatelské jméno a heslo
name
: Co je zde uloženo, musí být specifikováno později pod „uživatelem“.password
: Uživatel pak musí použít toto heslo
Příklad přístupového bodu:
"user": [ { "name":"ftpuser", "password":"Geheim" } ]
Poznámka pod čarou:
Poznámky k formátu JSON
- Formát je dobře čitelný.
- Proměnné jsou uzavřeny v uvozovkách, za nimi následuje dvojtečka a obsah.
- Hned následuje číslo,
- text je také uzavřen v uvozovkách.
- Hodnoty True/False používají vyhrazená slova
false
atrue
. - Z výše uvedeného příkladu:
"wifi"
Věci jsou jiné s proměnnou. Následuje blok ve složených závorkách. Skládá se – na pohled odsazený – opět z proměnných. Za každým řádkem následuje ‚”,”‘, pokud na úrovni následují další proměnné. Poslední řádek již nemá čárku. Pokud za proměnnou následuje něco v hranatých závorkách, znamená to, že několik hodnot může následovat jako seznam. Proměnné tedy"AP":
mohou následovat vícekrát se stejným názvem, ale různým obsahem. SSID a heslo řádku{
}
může následovat vícekrát. To znamená, že lze zadat více než jeden přístupový bod (AP).
https://hackaday.io/project/179601/instructions