O solutie mai compacta si cu un consum redus de energie pentru receptia baloanelor lansate de amatori, este utilizarea placilor de dezvoltare cu microcontroller ESP32 si modul LoRa.
Am testat doua modele de placi de la TTGO, LoRa32 2.1_1.6 si T-Beam v1.0. Primul model, LoRa32, este compact si are display OLED inclus. Al doilea model, T-Beam, are suport pentru acumulator Li-Ion de tip 18650 si receiver GPS, dar displayul OLED trebuie achizitionat separat. Pe langa portul USB, ambele placi au WiFi si Bluetooth.
In comparatie cu Raspberry Pi, consumul placilor cu ESP32 este foarte redus, de aproximativ 50 mA pentru LoRa32 si de 160 mA pentru T-Beam.
Codul scris de catre Dave Akerman (M0RPI) pentru aceste microcontrellere poate fi descarcat de pe github si programat cu ajutorul mediului Arduino IDE.
Mai jos puteti gasi configurarea pentru Arduino IDE si cateva modificari ale codului original.
1. Adaugarea placilor ESP32 in Arduino IDE
File -> Preferences -> in campul "Additional Board Manager URLs" adaugati „https://dl.espressif.com/dl/package_esp32_index.json”
Tools -> Board -> Boards Manager -> search "esp32" -> Install "esp32 by Espressif Systems"
2. Instalare librarii
Sketch -> Include Library -> Manage Libraries
Adafruit GFX Library
Adafruit SSD1306 Library
Adafruit BusIO library
Sketch -> Include Library -> Add .zip Library
AXP202X_Library: https://github.com/lewisxhe/AXP202X_Library
3. Selectati tipul de placa dorita in Arduino IDE.
Tools -> Board -> ESP32 Arduino: „TTGO LoRa32-OLED V1” sau „T-Beam”
4. In continutului codului selectati din nou tipul de placa. Orice linie care incepe cu „//” este un comentariu si nu este luat in considerare de catre soft.
// UNCOMMENT ONE AND ONLY ONE OF THESE LINES
#define TBEAM // TTGO T-Beam
// #define OLEDV1
// #define OLEDV2 // TTGO LoRa32
// #define LORAGO
5. Modificati definitia pentru T-Beam, pentru a putea utiliza si display-ul OLED si GPS-ul intern in acelasi timp.
#ifdef TBEAM
#define ESP32
#define BLUE
#define AXP
#define OLED
#define OLED_RST 16
#define OLED_SDA 21
#define OLED_SCL 22
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define LORA_NSS 18
#define LORA_RST 14
#define LORA_DIO0 26
#define SCK 5
#define MISO 19
#define MOSI 27
#define GPSSerial Serial1
#define GPS_TX 34
#define GPS_RX 12
#endif
6. Configurati frecventa implicita.
Settings.Frequency = 437.600;
Datele de telemetrie pot fi vizualizate atat pe display-ul OLED, cat si exportate pe o interfata seriala (Bluetooth sau USB) la viteza de 57600 baud.
Pachetele de telemetrie ale balonului sunt intercalate cu cele de pozitie ale GPS-ului intern.
Exemplu de date de pe interfata seriala:
FreqErr=-1.3
PacketRSSI=-89
PacketSNR=7
Message=$$YO3IHG-0,103,07:21:48,44.99630,26.47279,01776,7,202,12,43.3*F3CE
GPS=10:46:01,44.50756,26.01914,80,0,0,0
Receiverul pot fi utilizat de sine statator sau impreuna cu un PC / telefon Android.
Pentru sistemele de operare Windows, Dave Akerman a creat softul "LoRaSerialGateway", cu ajutorul caruia putem realiza o comunicatie seriala bidirectionala cu microcontrollerul ESP32. Intr-un sens pot fi configurati parametrii modulului LoRa, iar in celelalt sens se pot vizualiza datele de pe interfata seriala care sunt urcate apoi in mediul online, pe tracker.habhub.org si ssdv.habhub.org.
Din nefericire, sistemul nu poate afisa sau stoca imaginile SSDV, acestea putand fi vizualizate exclusiv online.
Avantajul acestor receivere este ca sunt foarte compacte, iar in combinatie cu o antena directiva pot fi utilizate pe teren pentru a putea receptiona cu precizie pozitia trackerului dupa aterizare.
joi, 16 iulie 2020
miercuri, 15 iulie 2020
LoRa Gateway
Receptia baloanelor lansate de amatori, utilizand standardul LoRa, poate fi facuta cu asa numitul "LoRa Gateway". Pentru constructia acestuia sunt necesare un Raspberry Pi, un modul LoRa si o conexiune la internet.
Pe piata exista deja diverse placi cu module LoRa, atat pentru Raspberry Pi Zero, cat si pentru Pi 4. Datorita dimensiunilor reduse, am achizitionat o placa pentru Pi Zero de la Uputronics din UK.
Atat procesul de instalare, cat si modul de configurare sunt descrise pe site-ul lui Dave Akerman (M0RPI) si pe github.
Pentru a instala LoRa Gateway pe Raspberry Pi trebuie sa avem sistemul de operare Raspbian instalat in prealabil, interfata grafica fiind optionala. Mai jos puteti gasi comenzile pentru Consola/SSH.
1. Activare interfata SPI
sudo raspi-config
5 Interfacing Options -> P4 SPI
7 Advanced Options -> A1 Expand Filesystem
reboot
2. Instalare WiringPi
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v
3. Instalare SSDV
cd ~
git clone https://github.com/fsphil/ssdv.git
cd ssdv
sudo make install
4. Instalare librarii
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install libncurses5-dev
5. Instalare LoRa Gateway
cd ~
git clone https://github.com/PiInTheSky/lora-gateway.git
cd lora-gateway
make
6. Redenumiti "gateway-sample.txt" in "gateway.txt".
cd ~
cd lora-gateway
mv gateway-sample.txt gateway.txt
7. Editati si salvati fisierul de configurare.
nano /home/pi/lora-gateway/gateway.txt
CTRL+X
Y
ENTER
reboot
8. Start gateway
cd lora-gateway
sudo ./gateway
Exemplu de configurare:
Datele de telemetrie receptionate sunt afisate direct in terminal, iar imaginile in format SSDV sunt salvate intr-un folder predefinit (home/pi/lora-gateway/ssdv). Conexiunea la internet este necesara pentru a putea urca datele de telemetrie pe trackere online, de exemplu tracker.habhub.org. Imaginile SSDV pot fi gasite pe ssdv.habhub.org.
Gateway-urile pot fi instalate atat in locatii fixe, cat si in masinile de urmarire a baloanelor.
Pe piata exista deja diverse placi cu module LoRa, atat pentru Raspberry Pi Zero, cat si pentru Pi 4. Datorita dimensiunilor reduse, am achizitionat o placa pentru Pi Zero de la Uputronics din UK.
Atat procesul de instalare, cat si modul de configurare sunt descrise pe site-ul lui Dave Akerman (M0RPI) si pe github.
Pentru a instala LoRa Gateway pe Raspberry Pi trebuie sa avem sistemul de operare Raspbian instalat in prealabil, interfata grafica fiind optionala. Mai jos puteti gasi comenzile pentru Consola/SSH.
1. Activare interfata SPI
sudo raspi-config
5 Interfacing Options -> P4 SPI
7 Advanced Options -> A1 Expand Filesystem
reboot
2. Instalare WiringPi
- Raspberry Pi Zero/3:
- Raspberry Pi 4:
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v
3. Instalare SSDV
cd ~
git clone https://github.com/fsphil/ssdv.git
cd ssdv
sudo make install
4. Instalare librarii
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install libncurses5-dev
5. Instalare LoRa Gateway
cd ~
git clone https://github.com/PiInTheSky/lora-gateway.git
cd lora-gateway
make
6. Redenumiti "gateway-sample.txt" in "gateway.txt".
cd ~
cd lora-gateway
mv gateway-sample.txt gateway.txt
7. Editati si salvati fisierul de configurare.
nano /home/pi/lora-gateway/gateway.txt
CTRL+X
Y
ENTER
reboot
8. Start gateway
cd lora-gateway
sudo ./gateway
Exemplu de configurare:
##### Your details #####
tracker=YO3IHG
Latitude=44.xxxxxx
Longitude=26.xxxxxx
Radio=LoRa
Antenna=GP
##### Config Options #####
EnableHabitat=Y
EnableSSDV=Y
JPGFolder=ssdv
LogTelemetry=Y
LogPackets=Y
CallingTimeout=60
#ServerPort=6004
#SMSFolder=./
EnableDev=N
NetworkLED=0
InternetLED=24
#ActivityLED_0=21
ActivityLED_1=25
##### Config CE0 #####
##### Uputronics module #####
frequency_0=437.600
mode_0=1
AFC_0=Y
#bandwidth_0=125K
#implicit_0=0
#coding_0=5
#sf_0=8
#lowopt_0=0
#power_0=255
DIO0_0=6
DIO5_0=5
#UplinkTime_0=2
#UplinkCycle_0=60
##### Config CE1 #####
##### YO3ICT module #####
frequency_1=437.600
mode_1=1
AFC_1=Y
#bandwidth_1=20K8
#implicit_1=0
#coding_1=5
#sf_1=8
#lowopt_1=0
#power_1=255
DIO0_1=23
DIO5_1=29
#UplinkTime_1=5
#UplinkCycle_1=60
Datele de telemetrie receptionate sunt afisate direct in terminal, iar imaginile in format SSDV sunt salvate intr-un folder predefinit (home/pi/lora-gateway/ssdv). Conexiunea la internet este necesara pentru a putea urca datele de telemetrie pe trackere online, de exemplu tracker.habhub.org. Imaginile SSDV pot fi gasite pe ssdv.habhub.org.
Gateway-urile pot fi instalate atat in locatii fixe, cat si in masinile de urmarire a baloanelor.
Abonați-vă la:
Postări (Atom)