APRS Weather Station

Moderators: grovkillen, Stuntteam, TD-er

Post Reply
Message
Author
szwistak
Normal user
Posts: 2
Joined: 10 Mar 2020, 14:17

APRS Weather Station

#1 Post by szwistak » 10 Mar 2020, 14:35

Hi,

I am developing small weather station which is sending data to APRS.fi (https://en.wikipedia.org/wiki/Automatic ... ing_System). I am trying to send values from temperature sensor BME280 and from air pollution sensor SDS011.
APRS is not so easy to work with since it requires nice packet formatting.. (http://www.aprs-is.net/SendOnlyPorts.aspx)

I have tried several options which ESP Easy is offering

1. I used Generic UDP Controller which is OK. It is using hostname of APRS server, port and so on but it has small issue. Controller Publish in GUI is not allowing more than 128 characters. APRS packet can be long for example
user SQ4LOL pass 1234%LF%SQ4LOL-12>APRS,TCPIP*:=5244.44N/02333.50E` Radiosonde Tracker / Bramka dla radiosond meteo%LF%
right now I am using 1200+ characters to push all required data
2. Second approach was to use SendToUDP. It is fine but.. doesn’t allow to send to DNS name only IP. APRS network is using loadbalancer for example DNS name rotate.aprs2.net
3. I tried to use Advanced HTTP Controller to POST data to aprs servers but for some reason I cannot send Line Feed characters. Since packat requires Line Feed in the middle. For example:

user TEST-1 pass -1 vers TestSoftware 1.0
TEST-1>APRS,TCPIP*:>This is a test packet
The packet consists solely of the user login line followed by the APRS "packet" in TNC2 format. The APRS packet in both case may be terminated with a carriage return, a line feed
4. I tried to use SendtoHTTP command but it is showing me that same issue as above.
Response from APRS server: <H1>No newline (LF) found in data</H1>
I have one working solution but I am not so happy with it. It is using Rules and SendToUDP command, but missing DNS domain for APRS server is not OK for me ;(

SendToUDP 46.21.223.230,8080,"user SQ4LOL pass 12345 vers ESPEasyWX 1.00%LF%SQ4LOL>APRS,TCPIP*:=5244.43N/02333.50E-430.400MHz /A=000538 Pi-Star Rafal 73!%LF%"

Do you have any idea how I can send in HTTP line feed character? I used %LF%, \n but with all the quotes etc it is not working ;(

Link to my working APRS Weather station https://aprs.fi/info/SQ4LOL-15

Thanks for help,
Rafal

TD-er
Core team member
Posts: 2320
Joined: 01 Sep 2017, 22:13
Location: the Netherlands
Contact:

Re: APRS Weather Station

#2 Post by TD-er » 10 Mar 2020, 15:11

Well I guess the omission of SendToUDP to only support IP-addresses is the main one.
That's clearly a missing feature.

Can you make an issue for it on GitHub?

Maybe if this requires such a strange (elaborate?) formatting, we should make a controller for it.
Is this protocol used by more data collecting services?

szwistak
Normal user
Posts: 2
Joined: 10 Mar 2020, 14:17

Re: APRS Weather Station

#3 Post by szwistak » 10 Mar 2020, 19:24

Sure I'll make an issue on GitHub.
APRS is old realy old.

here is the link for 128 (sic) page PDF describing everything ;)
http://www.aprs.org/doc/APRS101.PDF
Page 65 describes RAW APRS packet

APRS is mainly used by amateur radio operators (aprs.fi)

small off topic but could't find unswer. Is there any way I can use variables in Rules which will contain string like server name ?

Thanks!
Rafal

TD-er
Core team member
Posts: 2320
Joined: 01 Sep 2017, 22:13
Location: the Netherlands
Contact:

Re: APRS Weather Station

#4 Post by TD-er » 10 Mar 2020, 20:47

String like support in rules is very very premature right now.
Very recent builds have some new string operation commands. See: https://espeasy.readthedocs.io/en/lates ... terpreting
And only last night's build has fixed a bug introduced by these.

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests