kopia lustrzana https://github.com/dl9rdz/rdz_ttgo_sonde
Merge branch 'dl9rdz:devel' into devel
commit
d6f65d7d01
|
@ -7,7 +7,7 @@ based on a TTGO LoRa ESP32 board.
|
|||
It supports OLED displays (SSD1306, SH1106) and TFT displays (ILI9225, ILI9341/9342).
|
||||
|
||||
It also supports feeding data to external applications using WiFi (NOT bluetooth):
|
||||
- Arduino app by dl9rdz (see https://github.com/dl9rdz/rdzwx-go for apk download)
|
||||
- Android app by dl9rdz (see https://github.com/dl9rdz/rdzwx-go for apk download)
|
||||
- AXUDP (for aprsmap application by oe5dxl, among others)
|
||||
- KISS TNC (aprs format, mainly useful for APRSdroid app)
|
||||
- MQTT
|
||||
|
@ -25,8 +25,8 @@ Manufacturer | Model | Position | Temperature | Humidity | Pressure
|
|||
-------------|-------|----------|-------------|----------|----------
|
||||
Vaisala | RS92-SGP/NGP | :heavy_check_mark: | :heavy_check_mark: | :x: | :x:
|
||||
Vaisala | RS41-SG/SGP/SGM | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: (for -SGP)
|
||||
Graw | DFM06/09/17 | :heavy_check_mark: | :x: | :x: | :x:
|
||||
Meteomodem | M10 | :heavy_check_mark: | :heavy_check_mark: | :x: | Not Sent
|
||||
Graw | DFM06/09/17 | :heavy_check_mark: | :heavy_check_mark: | :x: | :x:
|
||||
Meteomodem | M10 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | Not Sent
|
||||
Meteomodem | M20 | :heavy_check_mark: | :x: | :x: | Not Sent
|
||||
Meteo-Radiy | MP3-H1 (MRZ-H1) | :heavy_check_mark: | :x: | :x: | :x:
|
||||
|
||||
|
|
|
@ -241,3 +241,25 @@ fonts=0,1
|
|||
4,9=Mh%rH
|
||||
6,0=MphPa
|
||||
6,11=MbV
|
||||
|
||||
#############
|
||||
@GPS-Data
|
||||
timer=-1,-1,-1
|
||||
key1action=+,0,F,W
|
||||
key2action=>,#,#,#
|
||||
timeaction=#,#,#
|
||||
fonts=0,1
|
||||
0,0=xGPS-Data
|
||||
1,0=xLAT :
|
||||
1,6=gA
|
||||
2,0=xLONG:
|
||||
2,6=gO
|
||||
3,0=xALT :
|
||||
3,9=gH
|
||||
4,0=xSonde
|
||||
5,0=xAlt :
|
||||
5,6=a
|
||||
6,0=xDist:
|
||||
6,6=gD
|
||||
|
||||
|
||||
|
|
|
@ -108,110 +108,220 @@
|
|||
# => Button press activates default receiver view, double press does nothing
|
||||
# Mid press activates Spectrum display, long press activates Wifi scan
|
||||
# - key2 has no function
|
||||
@ScannerPortrait
|
||||
###########
|
||||
@ScannerTFT-D
|
||||
timer=-1,0,0
|
||||
key1action=D,#,F,W
|
||||
key2action=>,#,#,#
|
||||
key2action=#,#,#,#
|
||||
timeaction=#,D,+
|
||||
0,0=XScan
|
||||
0,5=S#:
|
||||
0,9,4.5=T
|
||||
6,0=XHoehe
|
||||
6,5=GH
|
||||
color=ffff00
|
||||
2,0=F MHz
|
||||
scale=11,10
|
||||
fonts=0,2
|
||||
color=B0B0B0
|
||||
0,0=Xsuche..
|
||||
color=6C757D
|
||||
3,0=xStartort
|
||||
color=B0B0B0
|
||||
4,0=S
|
||||
color=00ff00,444444
|
||||
7,5=n
|
||||
7,0=bV
|
||||
color=6C757D
|
||||
3,15=xFreq. Platz
|
||||
color=B0B0B0
|
||||
4,15,23=S#
|
||||
color=6C757D
|
||||
6,0=xTyp
|
||||
color=B0B0B0
|
||||
7,0,5=T
|
||||
color=6C757D
|
||||
6,15=xFrequenz
|
||||
color=B0B0B0
|
||||
7,15=F
|
||||
color=6C757D
|
||||
28,0=Scanner
|
||||
28,9=n
|
||||
28,21=bVV
|
||||
|
||||
############
|
||||
# Default configuration for "Legacy" display:
|
||||
# - view timer=-1, rx timer=-1 (disabled); norx timer=20 (or -1 for "old" behaviour)
|
||||
# => norx timer fires after not receiving a singla for 20 seconds
|
||||
# - key1 actions: +,0,F,W
|
||||
# => Button1 press: next sonde; double press => @Scanner display
|
||||
# => Mid press activates Spectrum display, long press activates Wifi scan
|
||||
# - key2 actions: 2,#,#,#
|
||||
# => BUtton2 activates display 2 (@Field)
|
||||
# - timer actions: #,#,0
|
||||
# (norx timer: if no signal for >20 seconds: go back to scanner mode)
|
||||
#
|
||||
@LegacyPortrait
|
||||
timer=-1,-1,N
|
||||
key1action=+,0,F,W
|
||||
key2action=>,#,#,#
|
||||
timeaction=#,#,0
|
||||
9,10=f
|
||||
9,0=r
|
||||
9,4=Q
|
||||
5,0=g0NCS,35,ffff00,000044,6,33ff33,5,eeaa00
|
||||
5,7=g0CCS,35,ffff00,000044,6,55ff55,5,eeaa00
|
||||
0,0=s
|
||||
0,9=is
|
||||
2,0=L
|
||||
3,0=O
|
||||
color=FFFF00
|
||||
1,6=Hk km/h
|
||||
color=FF0000
|
||||
1,0=GD
|
||||
color=FFFFFF
|
||||
4,9=GH
|
||||
3,9=V
|
||||
4,0=A
|
||||
|
||||
############
|
||||
@PeilungTFTPortrait
|
||||
timer=-1,-1,N
|
||||
key1action=+,0,F,W
|
||||
key2action=>,#,#,#
|
||||
timeaction=#,#,#
|
||||
color=ffff00,000033
|
||||
color=bbbbbb,000000
|
||||
0,2=xN Top:
|
||||
0,8=xCourse Top:
|
||||
color=ffff00,000033
|
||||
1,0=g0NCS,35,ffff00,000044,6,33ff33,5,eeaa00
|
||||
1,7=g0CCS,35,ffff00,000044,6,55ff55,5,eeaa00
|
||||
color=ffffff,000000
|
||||
6,0=xDirection:
|
||||
6,8,4=gI
|
||||
7,0=xCOG:
|
||||
7,4,4=gC
|
||||
7,8=xturn:
|
||||
7,12,4=gB
|
||||
|
||||
############
|
||||
@GPSdataTFTPortrait
|
||||
timer=-1,-1,N
|
||||
key1action=+,0,F,W
|
||||
key2action=>,#,#,#
|
||||
timeaction=#,#,#
|
||||
0,0=xOn-board GPS:
|
||||
1,0,8=gA
|
||||
2,0,8=gO
|
||||
3,0,8=gH
|
||||
4,0,8=gC
|
||||
5,0=xGPS vs Sonde:
|
||||
6,0,8=gD
|
||||
7,0,8=gI
|
||||
7,8,8=gB
|
||||
|
||||
############
|
||||
@BatteryTFTPortrait
|
||||
@MainTFT-D
|
||||
timer=-1,-1,-1
|
||||
key1action=+,0,F,W
|
||||
key2action=>,#,#,#
|
||||
timeaction=#,#,#
|
||||
0,0=xBattery status:
|
||||
0,14=bS
|
||||
1,0=xBatt:
|
||||
1,5,5=bVV
|
||||
2,0,16=bCmA(charging)
|
||||
3,0,16=bDmA(discharging)
|
||||
4.4,0=xUSB:
|
||||
4.4,5,5=bUV
|
||||
5.4,0,10=bImA
|
||||
6.4,0=xTemp:
|
||||
6.4,5,5=bT C
|
||||
key1action=>,0,F,W
|
||||
key2action=+,#,#,#
|
||||
timeaction=#,#,0
|
||||
scale=11,10
|
||||
fonts=0,2
|
||||
color=6C757D
|
||||
0,0=xSerial
|
||||
0,6=t
|
||||
color=B0B0B0
|
||||
1,0=Is
|
||||
color=6C757D
|
||||
0,14=xFreq.
|
||||
0,17.5=s
|
||||
color=B0B0B0
|
||||
1,14=F
|
||||
color=6C757D
|
||||
3,0=xLatitude
|
||||
color=B0B0B0
|
||||
4,0,10=L
|
||||
color=6C757D
|
||||
3,14=xLongitude
|
||||
color=B0B0B0
|
||||
4,14,23=O
|
||||
color=6C757D
|
||||
6,0=xHoriz. Geschw.
|
||||
color=B0B0B0
|
||||
7,0,10=Hkkm/h
|
||||
color=6C757D
|
||||
6,14=xVert. Geschw.
|
||||
color=B0B0B0
|
||||
7,13.5,23=Vm/s
|
||||
color=6C757D
|
||||
9.5,14=xHoehe Sonde
|
||||
color=ffff00
|
||||
10.5,13.5,23=A
|
||||
color=ffff00,000033
|
||||
9,1=g0CCS,45,ffff00,000044,4,55ff55,4,eeaa00
|
||||
color=bbbbbb,000000
|
||||
color=6C757D
|
||||
12.5,14=xHoehe RX
|
||||
color=ffff00
|
||||
13.5,14=GH
|
||||
color=6C757D
|
||||
15.5,14=xEntfernung
|
||||
color=ffff00
|
||||
16.5,14,23=GD
|
||||
color=6C757D
|
||||
19,0=xTimer
|
||||
color=B0B0B0
|
||||
20,0,10=Kc4
|
||||
color=6C757D
|
||||
19,14=xRSSI
|
||||
color=B0B0B0
|
||||
20,14,23=R
|
||||
color=6C757D
|
||||
22,0=xLufttemperatur
|
||||
color=B0B0B0
|
||||
23,0,10=Mt°C
|
||||
color=6C757D
|
||||
22,14=xLuftfeuchtigkeit
|
||||
color=B0B0B0
|
||||
23,14,23=Mh%rH
|
||||
color=6C757D
|
||||
25,0=xLuftdruck
|
||||
color=B0B0B0
|
||||
26,0,10=MphPa
|
||||
color=6C757D
|
||||
25,14=xZellenspannung
|
||||
color=B0B0B0
|
||||
26,14,23=MbV
|
||||
color=6C757D
|
||||
28,0=Q
|
||||
28,13=c
|
||||
28,21=bVV
|
||||
|
||||
###########
|
||||
@ScannerTFT-E
|
||||
timer=-1,0,0
|
||||
key1action=D,#,F,W
|
||||
key2action=#,#,#,#
|
||||
timeaction=#,D,+
|
||||
scale=11,10
|
||||
fonts=0,2
|
||||
color=B0B0B0
|
||||
0,0=XScan...
|
||||
color=6C757D
|
||||
3,0=xLaunchsize
|
||||
color=B0B0B0
|
||||
4,0=S
|
||||
color=6C757D
|
||||
3,15=xFreq.index
|
||||
color=B0B0B0
|
||||
4,15,23=S#
|
||||
color=6C757D
|
||||
6,0=xType
|
||||
color=B0B0B0
|
||||
7,0,5=T
|
||||
color=6C757D
|
||||
6,15=xFrequency
|
||||
color=B0B0B0
|
||||
7,15=F
|
||||
color=6C757D
|
||||
28,0=Scanner
|
||||
28,9=n
|
||||
28,21=bVV
|
||||
|
||||
############
|
||||
@MainTFT
|
||||
timer=-1,-1,-1
|
||||
key1action=>,0,F,W
|
||||
key2action=+,#,#,#
|
||||
timeaction=#,#,0
|
||||
scale=11,10
|
||||
fonts=0,2
|
||||
color=6C757D
|
||||
0,0=xSerial
|
||||
0,6=t
|
||||
color=B0B0B0
|
||||
1,0=Is
|
||||
color=6C757D
|
||||
0,14=xFreq.
|
||||
0,17.5=s
|
||||
color=B0B0B0
|
||||
1,14=F
|
||||
color=6C757D
|
||||
3,0=xLatitude
|
||||
color=B0B0B0
|
||||
4,0,10=L
|
||||
color=6C757D
|
||||
3,14=xLongitude
|
||||
color=B0B0B0
|
||||
4,14,23=O
|
||||
color=6C757D
|
||||
6,0=xHor.Velocity
|
||||
color=B0B0B0
|
||||
7,0,10=Hkkm/h
|
||||
color=6C757D
|
||||
6,14=xVert.Velocity
|
||||
color=B0B0B0
|
||||
7,13.5,23=Vm/s
|
||||
color=6C757D
|
||||
9.5,14=xAltitude
|
||||
color=ffff00
|
||||
10.5,13.5,23=A
|
||||
color=ffff00,000033
|
||||
9,1=g0CCS,45,ffff00,000044,4,55ff55,4,eeaa00
|
||||
color=bbbbbb,000000
|
||||
color=6C757D
|
||||
12.5,14=xRX Altitude
|
||||
color=ffff00
|
||||
13.5,14=GH
|
||||
color=6C757D
|
||||
15.5,14=xDistance
|
||||
color=ffff00
|
||||
16.5,14,23=GD
|
||||
color=6C757D
|
||||
19,0=xTimer
|
||||
color=B0B0B0
|
||||
20,0,10=Kc4
|
||||
color=6C757D
|
||||
19,14=xRSSI
|
||||
color=B0B0B0
|
||||
20,14,23=R
|
||||
color=6C757D
|
||||
22,0=xTemperature
|
||||
color=B0B0B0
|
||||
23,0,10=Mt°C
|
||||
color=6C757D
|
||||
22,14=xHumidity
|
||||
color=B0B0B0
|
||||
23,14,23=Mh%rH
|
||||
color=6C757D
|
||||
25,0=xPressure
|
||||
color=B0B0B0
|
||||
26,0,10=MphPa
|
||||
color=6C757D
|
||||
25,14=xSonde Battery
|
||||
color=B0B0B0
|
||||
26,14,23=MbV
|
||||
color=6C757D
|
||||
28,0=Q
|
||||
28,13=c
|
||||
28,21=bVV
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include <WiFi.h>
|
||||
#include <AsyncMqttClient.h>
|
||||
#include <ESPmDNS.h>
|
||||
#include "RS41.h"
|
||||
|
||||
TimerHandle_t mqttReconnectTimer;
|
||||
|
||||
|
@ -86,8 +87,7 @@ void MQTT::publishPacket(SondeInfo *si)
|
|||
"\"launchKT\": %d,"
|
||||
"\"burstKT\": %d,"
|
||||
"\"countKT\": %d,"
|
||||
"\"crefKT\": %d"
|
||||
"}",
|
||||
"\"crefKT\": %d",
|
||||
(int)si->active,
|
||||
si->freq,
|
||||
s->id,
|
||||
|
@ -117,6 +117,23 @@ void MQTT::publishPacket(SondeInfo *si)
|
|||
s->countKT,
|
||||
s->crefKT
|
||||
);
|
||||
if ( !isnan( s->temperature ) ) {
|
||||
snprintf(payload, 1024, "%s%s%.1f", payload, ",\"temp\": ", s->temperature );
|
||||
}
|
||||
if ( !isnan( s->relativeHumidity ) ) {
|
||||
snprintf(payload, 1024, "%s%s%.1f", payload, ",\"humidity\": ", s->relativeHumidity );
|
||||
}
|
||||
if ( !isnan( s->pressure ) ) {
|
||||
snprintf(payload, 1024, "%s%s%.1f", payload, ",\"pressure\": ", s->pressure );
|
||||
}
|
||||
if ( !isnan( s->batteryVoltage && s->batteryVoltage > 0 ) ) {
|
||||
snprintf(payload, 1024, "%s%s%.1f", payload, ",\"batt\": ", s->batteryVoltage );
|
||||
}
|
||||
char subtype[11];
|
||||
if ( RS41::getSubtype( subtype, 11, si) == 0 ) {
|
||||
snprintf(payload, 1024, "%s%s%s%s", payload, ",\"subtype\": \"", subtype, "\"" );
|
||||
}
|
||||
snprintf(payload, 1024, "%s%s", payload, "}" ); // terminate payload string
|
||||
|
||||
char topic[128];
|
||||
snprintf(topic, 128, "%s%s", this->prefix, "packet");
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
#include <WiFi.h>
|
||||
#include <AsyncMqttClient.h>
|
||||
#include "Sonde.h"
|
||||
#include "RS41.h"
|
||||
|
||||
class MQTT
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
const char *version_name = "rdzTTGOsonde";
|
||||
const char *version_id = "devel20211003";
|
||||
const char *version_id = "devel20211005";
|
||||
const int SPIFFS_MAJOR=2;
|
||||
const int SPIFFS_MINOR=16;
|
||||
|
|
Ładowanie…
Reference in New Issue