Classic IP monitor and serial parse with VHF low speed data

Started by MountianComm, September 21, 2020, 12:26:32 AM

Previous topic - Next topic

MountianComm

First this might belong in the open hardware portion of this form.  But since I am dealing with the classic for the most part I am starting here.

I have an application where I need to remotely monitor the solar/battery system.  The facility is an off grid communications building, however this is the test bed for this concept.  The eventual plan with be to have a private IP MW between this facility and other mountain top communication buildings, but that build out will be slow.  two sites 60 miles apart take 4-6 hours to drive so doing setup and path alignment is very time consuming.  Multiple this by 4-5 MW paths that is a lot of work.

In the meantime I need to come up with a solution that even when I don't have access to the privet IP I can still check status online.  I do host an APRS digipeater which has been online a since the solar instillation.  APRS is very low speed (1200 baud) packet radio.  The primary use is ham radio mobile stations periodically broadcasting their location.  The Digipeaters then repeat this for other station to receive and display on a map (old school) or for Igates which then dump the data online fore servers like aprs.fi or aprsdriect.com to display.  Part of the APRS functionality is also telemetry.  Where as  information such as battery voltage, temp, Ah etc, can also be sent as part of the station data.  This would then allow me to monitor the solar system remotely.

This is basic APRS telemetry format (yes I cut and paste this):

APRS TELEMETRY FORMAT: The on-air packet telemetry format is as follows:
  T#sss,111,222,333,444,555,xxxxxxxx  where sss is the serial number
                                      followed by the five 3 digit analog
                                      values and the eight binary values.
Each telemetry value is actually a decimal number between 000 and 255. The user can adjust his sensors to meaningful values, or the telemetry equations can be modified on receipt. Usually just a a simple 10k and 2.4k resistor divider is used on channel 1 to give you battery voltage in tenths. So a reading of 138 would mean 13.8 volts. It is easy to make APRS display any other quadratic telemetry equation too. See following sections.

ArgentData System makes several Terminal Node Controller (TNC's) that function as part of the digipeater.  Specifically the T3-Mini has two serial ports and multiple analog and digital I/O to interface with.

But here is where I am hung up I would like to leverage the IP connectivity on the classics.  I could certainly connect to the MODBUS with a RS-232 interface to an arduino and then serialWrite this to the TNC. This creates a couple issues, the DC powerplants are usually not located near the radios and it would require more wiring (albeit not much).

I do have IP switches all all of my facilities'.  I am increasingly utilizing IP for Radio linking (ROIP), Site monitoring, Video, remote control and signaling. with the IP MW that I am starting to build out I will be replacing individual RF links with IP links.

So here is the question. would it be possible to have a classic (with a fixed IP) attached to a network, and have a device such as an arduino with and ethernet shield  be able to parse the classic for specific information (battery voltage, SOC, Ah, etc). then either convert this to a value between 0-255 for a digital input or even write it to the TNC through a serial port (with a level shifter) for the TNC to then use as telemetry data?

I have read most of the posts regarding interfacing the MODBUS to an Arduino and using the Arduion with an ethernet shield as a server.  These seem to indicate this should be feasible. However I want the arduino to parse data (via IP) and either map it as either a digital or analog value on the Arduino pins with are then read by the Argentdata T3 or via serial com. 

I have a couple ideas of where to begin but I would like some feed back first. 

Also with the the Classics IP port being parsed every so often with it still be possible to log into the Classics with a computer running the monitoring software on the same network.

Disclaimer.... I am by no means a programmer, I still use Elmers glue for cut and paste and bang away at the keyboard until it works or it doesn't.  so bear with me as i muddle my way into this project.

Jim 

ClassicCrazy

Jim,
Take a look at the Homebrew software section of the forums.
Look in both the general and Raspberry Pi sections.
Graham and Matt have done a lot of work on interfacing to the Classic using Esp32 and Raspberry Pi  in MQTT form.
Once the data is in a Pi in MQTT you can use node red or other ways to do with the data what you want.
Matt has a remote station he monitors uses a cellphone network but it gives him total control of the Classic.
http://midniteftp.com/forum/index.php?topic=4849.0
https://github.com/ClassicDIY

Larry
system 1
Classic 150 , 5s3p  Kyocera 135watt , 12s Soneil 2v 540amp lead crystal for 24v pack , Outback 3524 inverter
system 2
 5s 135w Kyocero , 3s3p 270w Kyocera  to Classic 150 ,   8s Kyocera 225w to Hawkes Bay Jakiper 48v 15kwh LiFePO4 , Outback VFX 3648 inverter
system 3
KID / Brat portable

mcsarge

Quotewould it be possible to have a classic (with a fixed IP) attached to a network, and have a device such as an arduino with and ethernet shield  be able to parse the classic for specific information (battery voltage, SOC, Ah, etc). then either convert this to a value between 0-255 for a digital input or even write it to the TNC through a serial port (with a level shifter) for the TNC to then use as telemetry data?

The answer is yes. With an ESP32, you can connect to a WiFi network and access port 502 on the Classic and get just about any data you need, then convert it in any manner you see fit. If you need to actually use a wired ethernet connection, I would use a Raspberry Pi with an ethernet port and use the software I wrote to poll the Classic and push the data to the MQTT service. It would be a simple matter to then periodically get the data you seek and convert it and send it out the TNC. In fact, I think there is Pi software to interface to the TNC that already exists.

Matt
Off Grid Island in Ontario Canada (Beaverstone Bay)
Primary: Classic 150 + wbjr; 3s2p HES 270watt
Winter: SolarBoost 50 MPPT (into wbjr); 2 x Sharp NE-80EJEA 80watt
Pack: 4s2p ROLLS S6-460AGM 6V for 24V pack
Inverter/Charger: Trace DR2424
Call Sign: KG4EUF