Keyboard Shortcuts
ctrl + shift + ? :
Show all keyboard shortcuts
ctrl + g :
Navigate to a group
ctrl + shift + f :
Find
ctrl + / :
Quick actions
esc to dismiss
Likes
- TinyTrak
- Messages
Search
Re: Driving GPIO pins
Steven We use this function a lot here , including to change the operation mode of an DR1X Yaesu repeater (digital/analog). If you want more information , I can send you. Em s¨¢b., 3 de abr. de 2021 ¨¤s 21:54, Robert Bruninga <bruninga@...> escreveu:
|
Re: Driving GPIO pins
You?set up these commands: (they may not be exact since htis is from memory) but similar: NODISP on MSGCOMMAND?ON etc THen, over the air, you send a message to the devices callsign "!OUT=$FF" where $FF is the state you want for the port bits Bob On Sat, Apr 3, 2021 at 1:32 PM Steven Heimann <vk2bos.lists@...> wrote: Evening all |
"Limited" Fill In Digipeater Configuration
Hi - new to the list and the TT4, and APRS in general.
A friend and I have been activating SOTA summits.? We are finding that APRS with our HT's is hit and miss.? Some summits have APRS coverage, some don't.? Even if we can hear a digi, it often can't hear our HT's, or can only hear them on high power and we'd rather conserve batteries.? In general, we don't care that much about tracking/beaconing, but we want to be able to send out SOTA spots and get spots using the APRS SOTA gateway (address a text to SOTA and receive texts from the SOTA gateway). I thought it would be nice if I could configure my higher powered mobile to digipeat our HT's while we are at the summits, assuming the HT is within simplex reach.? Most of the configurations I've tried also make it digipeat other packets as well.? I don't really want it to do that. I did try a configuration using a special alias that will digipeat our HT's if we set the path to include that alias, but we cannot receive any packets back from the gateway (spot acknowledgements, for example). Maybe I am barking up the wrong tree here, but is something like this possible?? In essence, I want the mobile digi (with the TT4) to repeat packets from our two callsigns going out to the SOTA callsign, and also repeat anything it receives from the SOTA callsign (or anything destined to our two callsigns).? I want to be able to park the car in any remote or busy area and not worry about messing up the network. Thanks, Rick W5RJD |
Re: kinda OT -- aprs wx station feed to internet
Bill:? I didn't try weewx -- looks interesting, but I had fun just hacking it out, and it was good excuse to learn more python. thx ----- Original message ----- From: Bill WA4OPQ <wa4opq@...> Subject: Re: [TinyTrak] kinda OT -- aprs wx station feed to internet Date: Saturday, April 03, 2021 10:28 AM Have you looked at WeeWx?? It's great at data collection and archiving. It has the APRS function built in. |
Re: kinda OT -- aprs wx station feed to internet
Cliff: I got aprs-is posts working, after a few bumps along the way (like not enforcing two digit humidity, and seeing packets that had one-digit humidity being seen by the system, but invalid for wx and considered position? (same issue when wind-dir dropped under 100 and was no longer three digits). I am offline right now as I swap an rpi in place of the laptop running the python posting program.? The posting part of the code is below.? The python prog gets 1-minute updates from my rooftop sensor gizmo (rain and wind sensors from sparkfun, bme280 for PHT, shtc3 for HT, tmp100 for a third T), formats and posts every six minutes.? I trust the shtc3 humidity more than the bme (which, to be fair, I have not conditioned).? I am new to python, so are probably cleaner ways to code it, but fwiw: gil ------------- ??? def process_WX1_mssg(self, wxdata): ??????? ??????? # --- configure settings as needed: ??????? import? settings??? as z ??????? import? logging ??????? from??? datetime??? import datetime ??????? import? requests ??????? #from??? http.client import HTTPConnection ??????? from??? Adafruit_IO import Client, Feed ??????? from??? surlee_std? import SurAccumulator ??????? # save wx params (leave udhm param as string and convert other params to ints): ??????? utc_day_hour_minute = wxdata[3] ??????? try: ??????????? s1_temperatureF = int(wxdata[4]) / 10 ??????????? s1_pressureMBARx10 = int(wxdata[5]) ??????????? s1_pressureINHG = int(wxdata[6]) / 100 ??????????? s1_humidity_PCT = int(wxdata[7]) / 10 ??????????? s2_temperatureF = int(wxdata[8]) / 10 ??????????? s2_humidity_PCT = int(wxdata[9]) / 10 ??????????? s3_temperatureF = int(wxdata[10]) / 10 ??????????? rain_INx1000 = int(wxdata[11]) ??????????? wind_MPH = int(wxdata[12]) / 10 ??????????? gust_MPH = int(wxdata[13]) / 10 ??????????? wind_dir_DEG = int(wxdata[14]) ??????? except (ValueError, TypeError, OverflowError): ??????????? raise UserWarning('process_mssg error: Bad Parameter') ??????? if z.DEBUG_PROCESS_MSSG_1MIN: ??????????? self.main_logger.debug('\n??? utc_day_hour_minute: ' + utc_day_hour_minute ?????????????? + ', s1_tempF: ' + str(s1_temperatureF) + ', s1_presMBARx10: ' + str(s1_pressureMBARx10) ?????????????? + ', s1_presINHG: ' + str(s1_pressureINHG) + ', s1_hum_PCT: ' + str(s1_humidity_PCT) ?????????????? + ', s2_tempF: ' + str(s2_temperatureF)? + ', s2_hum_PCT: ' + str(s2_humidity_PCT) ?????????????? + ', s3_tempF: ' + str(s3_temperatureF) ?????????????? + ', rain_INx1000: ' + str(rain_INx1000) + ', wind_MPH: ' + str(wind_MPH) ?????????????? + ', gust_MPH: ' + str(gust_MPH) + ', wind_dir_DEG: ' + str(wind_dir_DEG) + '\n' ??????????? ) ??????? # --- update previous-hour rain accumulator: ??????? self.rain_prev_hour_INx1000.addnew(rain_INx1000) ??????? self.rain_prev_24hour_INx1000.addnew(rain_INx1000) ??????? # ========== this happens every 6 minutes for WX posting: ??????? self.minute_cnt -= 1 ??????? if self.minute_cnt <= 0: ??????????? self.minute_cnt = 6 ??????????? # --- derived data: ??????????? dew_ptF = self.dewpoint_approximation(s3_temperatureF, s2_humidity_PCT)??????????????? ??????????? rain_prev_hour_INx100 = self.rain_prev_hour_INx1000.current() / 10??? ??????????? rain_prev_hour_IN = self.rain_prev_hour_INx1000.current() / 1000??????????? ??????????? rain_prev_24hour_INx100 = self.rain_prev_24hour_INx1000.current() / 10??? ??????????? rain_prev_24hour_IN = self.rain_prev_24hour_INx1000.current() / 1000??????????? ??????????? ??????????? # ===== send to aprs-is: ??????????? if z.POST_APRS_IS:??????????????????? ??????????????? if z.DEBUG_POSTS: ??????????????????? self.main_logger.debug('(post to aprs-is)') ??????????????????? ??????????????? # for aprs RH, 100% reported as 0: ??????????????? aprs_hum = s2_humidity_PCT ??????????????? if aprs_hum >= 100: ??????????????????? aprs_hum = 0 ??????????????? # (UTC DayHoursMinutes required for aprs-is but only seen in raw packets) ??????????????? p = z.APRS_USER + '>APRS,TCPIP*:@' ??????????????? # hard-coded lat/lon are deg and decimal minutes ??????????????? p += f'{utc_day_hour_minute}z3335.77N/11154.07W_' ??????????????? p += f'{wind_dir_DEG:03.0f}/{wind_MPH:03.0f}g{gust_MPH:03.0f}' ??????????????? p += f't{s3_temperatureF:-03.0f}r{rain_prev_hour_INx100:03.0f}' ??????????????? p += f'p{rain_prev_24hour_INx100:03.0f}P000' ??????????????? p += f'h{aprs_hum:02.0f}b{s1_pressureMBARx10:05.0f}L001SurleeWX\r\n' ??????????????? if z.DEBUG_POST_DETAIL: ??????????????????? print(p) ??????????????? self.update_aprs(p) ??????????????? ????????? ??????????? # ===== send to weather-underground: ??????????? if z.POST_WEATHER_UNDERGROUND: ??????????????? if z.DEBUG_POSTS: ??????????????????? self.main_logger.debug('(post to weather-underground)') ??????????????????? ??????????????? # (use dateutc=now since timestamping is done in wunderground) ??????????????? p = '' ??????????????? p += f'?ID={z.WUND_ID}&PASSWORD={z.WUND_PW}&dateutc=now' ??????????????? p += f'&tempf={s3_temperatureF:.1f}' ??????????????? p += f'&temp2f={s2_temperatureF:.1f}' ??????????????? p += f'&temp3f={s1_temperatureF:.1f}' ??????????????? p += f'&humidity={s2_humidity_PCT:.1f}' ??????????????? p += f'&dewptf={dew_ptF:.1f}' ??????????????? p += f'&indoorhumidity={s1_humidity_PCT:.1f}' ??????????????? p += f'&baromin={s1_pressureINHG:.2f}' ??????????????? p += f'&rainin={rain_prev_hour_IN:.2f}' ??????????????? p += f'&dailyrainin={rain_prev_24hour_IN:.2f}' ??????????????? #p += f'&solarradiation={xxx:.2f}' ??????????????? #p += f'&UV={xxx:.2f}' ??????????????? p += f'&windspeedmph={wind_MPH:.1f}' ??????????????? p += f'&windgustmph={gust_MPH:.1f}' ??????????????? p += f'&winddir={wind_dir_DEG:.0f}' ??????????????? p += '&realtime=1&rtfreq=10&action=updateraw\r\n' ??????????????? if z.DEBUG_POST_DETAIL: ??????????????????? print(p) ??????????????? requests.get(p) ??????????? ??????????? ??????????? # ===== send to pws-weather: ??????????? if z.POST_PWS_WEATHER: ??????????????? if z.DEBUG_POSTS: ??????????????????? self.main_logger.debug('(post to pws-weather)') ??????????????????? ??????????????? # (utc date/time required, eg: &dateutc=2021-03-22+20:01:00) ??????????????? utcdt = datetime.nowutc().isoformat(timespec='seconds') ??????????????? utcdt = utcdt.replace('T' , '+') ??????????????? p = '' ??????????????? p += f'?ID={z.PWS_ID}&PASSWORD={z.PWS_PW}&dateutc={utcdt}' ??????????????? p += f'&tempf={s3_temperatureF:.1f}' ??????????????? p += f'&humidity={s2_humidity_PCT:.1f}' ??????????????? p += f'&dewptf={dew_ptF:.1f}' ??????????????? p += f'&baromin={s1_pressureINHG:.2f}' ??????????????? p += f'&rainin={rain_prev_hour_IN:.2f}' ??????????????? p += f'&dailyrainin={rain_prev_24hour_IN:.2f}' ??????????????? #p += f'&solarradiation={xxx:.2f}' ??????????????? #p += f'&UV={xxx:.2f}' ??????????????? p += f'&windspeedmph={wind_MPH:.1f}' ??????????????? p += f'&windgustmph={gust_MPH:.1f}' ??????????????? p += f'&winddir={wind_dir_DEG:.0f}' ??????????????? p += '&softwaretype=SurleeWX&action=updateraw\r\n' ??????????????? if z.DEBUG_POST_DETAIL: ??????????????????? print(p) ??????????????? requests.get(p) ??????????? # ===== send to adafruit-io: ??????????? if z.POST_ADAFRUITIO: ??????????????? if z.DEBUG_POSTS: ??????????????????? self.main_logger.debug('(post to adafruit-io)') ??????????????????? ??????????????? # (timestamping is done in adafruit-io) ??????????????? temperature = '%.2f'%(temperatureF) ??????????????? pressure = '%.2f'%(pressureINHG) ??????????????? humidity = '%.2f'%(humidity) ??????????????? aio.send(temperature_feed.key, str(temperature)) ??????????????? aio.send(pressure_feed.key, str(pressure)) ??????????????? aio.send(humidity_feed.key, str(humidity)) ??????? return ??? def update_aprs(self, ptxt): ??????? ''' update aprs.is, if available: ''' ??????? ??????? # --- configure settings as needed: ??????? import? settings??? as z ??????? import? socket ??????? with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: ??????????? #s.settimeout(5) ??????????? try: ??????????????? s.connect(("noam.aprs2.net", 14580)) ??????????????? ltxt = 'user ' + z.APRS_USER + ' pass ' + z.APRS_PW + ' vers SurleeWX 21.0.0\r\n' ??????????????? login = ltxt.encode('utf-8') ??????????????? wxdat = ptxt.encode('utf-8') ??????????????? s.sendall(login) ??????????????? s.sendall(wxdat) ??????????? except socket.error as msg: ??????????????? print (msg) ??????? return ----- Original message ----- From: Cliff Sojourner <cls@...> Subject: Re: [TinyTrak] kinda OT -- aprs wx station feed to internet Date: Saturday, April 03, 2021 11:24 AM hi Bill, have you got that to work?? I'm running wewx and tried
enabling APRS but it doesn't do anything.? no trouble getting
wunderground reporting to work. Cliff K6CLS CM87? (KCARICHM70) On 4/3/21 10:28 AM, Bill WA4OPQ wrote:
|
Re: kinda OT -- aprs wx station feed to internet
¿ªÔÆÌåÓýhi Bill, have you got that to work?? I'm running wewx and tried enabling APRS but it doesn't do anything.? no trouble getting wunderground reporting to work. Cliff K6CLS CM87? (KCARICHM70) On 4/3/21 10:28 AM, Bill WA4OPQ wrote:
Have you looked at WeeWx?? It's great at data collection and archiving. It has the APRS function built in. |
Driving GPIO pins
Evening all
I have a memory that it is possible to drive a gpio pin in a Tinytrak 4 high or low based on the receipt of an over the air command in an APRS packet.? I have looked at the manuals and this mailing list but can't find anything. I am looking to drive a relay to switch a repeater on and off at a remote mountain site which is battery powered.? Is my memory more faulty than usual?? Could someone point me to some doco on this. Thanks and regards Steven VK2BOS |
Re: connecting serial directly from TT4 board?
I think his idea of saving current consumption stems from eliminating the existing MAX232 chip. All these things, i.e., splicing directly into the TTL UART lines of the TT4, bypassing the converter, etc. would probably be a lot easier to do with the older version/kit, where you can actually just pop the MAX232 out of the socket and stop it's current consumption and noise, and tap the TTL line directly. We use a 2 k and 1 K voltage divider to limit the 5 Volt TTL output to 3 Volts when it has to communicate with critters of that species, but any values of similar ratio will work. As Bob suggests, the TT4 will be fine with 3.3 Volt TTL inputs, its just the output that might be an issue. Doing these types of mod's to the surface mount TT4 could certainly be done, but it would be a bear to repair if you ever wanted to convert it back!?
Allen AF6OF -----Original Message-----
From: Rob Giuliano via groups.io <kb8rco@...> To: [email protected] <[email protected]> Sent: Fri, Apr 2, 2021 6:11 pm Subject: Re: [TinyTrak] connecting serial directly from TT4 board? The issue with connecting directly to the Pi is that the Pi uses 3.3V TTL serial communication and the TT4 uses standard RS-232 (which is +/-5V minumum).?? With the kit version, either or both ports (A & B) can be set to TTL serial, and with the preBuilt PortB can be set to TTL serial.? BUT ...?? the TT4 is 5V logic, while the Pi is 3.3V logic.
Options:
1. Obvously you can use a Micro-USB to RS232 adaptor, but the really isn't a direct connection
??? No change in jumpers required.
2. Set TT4 JP7 for TTL on connected port and use the Pi pins 8 & 10 (3.3V logic serial) to pins 2 & 3? of J2 with resistors of the TT4.
??? Proper method would be 2 resistor voltage divider to drop the 5V to ~3.3V to the Pi RX pin (10).? Works at 19,200 baud.
??????? Resistors of TT4 2200 ohms to Pi and from there 4300 ohms to ground works well.
??? Some users will use a single resistor in the Pi RX pin (10)? to limit current.? I know lots of people that do this.
??? The 3.3V will be enough to toggle the TX pin of the TT4 so nothing needed there.
3. Use another MAX232 (not the correct part as this is 5V to RS232) chip to level shift the Pi to the TT4
??? No change in jumpers required.
4. Us a 3.3V to 5V level shifter (some are made for I2C).?
??? I have not tried this, but if it works for I2C, it should work for TTL serial.
??? Set TT4 JP7 for TTL on connected port.?
So your direct answer is, not without a few added parts/
Robert Giuliano
KB8RCO
On Friday, April 2, 2021, 4:07:02 PM EDT, Peter VE7PPE <ve7ppe@...> wrote:
My preferred setup is to combine the TT4 with a Raspberry Pi Zero W.? I have been using the TT4BT to provide serial to the Pi, but is there a place on the board I can easily? connect J2 pins 2&3 serial direct??
This would? cut the power consumed by 50ma and be a more reliable connection. Thanks |
Re: connecting serial directly from TT4 board?
Adafruit sells a nifty 3.3v to 5v converter board for exactly this situation. 2, 4, and 8 signal versions available
toggle quoted message
Show quoted text
Cliff k6cls cm87 On April 2, 2021 6:11:23 PM PDT, "Rob Giuliano via groups.io" <kb8rco@...> wrote:
|
Re: connecting serial directly from TT4 board?
The issue with connecting directly to the Pi is that the Pi uses 3.3V TTL serial communication and the TT4 uses standard RS-232 (which is +/-5V minumum).?? With the kit version, either or both ports (A & B) can be set to TTL serial, and with the preBuilt PortB can be set to TTL serial.? BUT ...?? the TT4 is 5V logic, while the Pi is 3.3V logic. Options: 1. Obvously you can use a Micro-USB to RS232 adaptor, but the really isn't a direct connection ??? No change in jumpers required. 2. Set TT4 JP7 for TTL on connected port and use the Pi pins 8 & 10 (3.3V logic serial) to pins 2 & 3? of J2 with resistors of the TT4. ??? Proper method would be 2 resistor voltage divider to drop the 5V to ~3.3V to the Pi RX pin (10).? Works at 19,200 baud. ??????? Resistors of TT4 2200 ohms to Pi and from there 4300 ohms to ground works well. ??? Some users will use a single resistor in the Pi RX pin (10)? to limit current.? I know lots of people that do this. ??? The 3.3V will be enough to toggle the TX pin of the TT4 so nothing needed there. 3. Use another MAX232 (not the correct part as this is 5V to RS232) chip to level shift the Pi to the TT4 ??? No change in jumpers required. 4. Us a 3.3V to 5V level shifter (some are made for I2C).? ??? I have not tried this, but if it works for I2C, it should work for TTL serial. ??? Set TT4 JP7 for TTL on connected port.? So your direct answer is, not without a few added parts/ Robert Giuliano
On Friday, April 2, 2021, 4:07:02 PM EDT, Peter VE7PPE <ve7ppe@...> wrote:
My preferred setup is to combine the TT4 with a Raspberry Pi Zero W.? I have been using the TT4BT to provide serial to the Pi, but is there a place on the board I can easily? connect J2 pins 2&3 serial direct?? This would? cut the power consumed by 50ma and be a more reliable connection. Thanks |
connecting serial directly from TT4 board?
My preferred setup is to combine the TT4 with a Raspberry Pi Zero W.? I have been using the TT4BT to provide serial to the Pi, but is there a place on the board I can easily? connect J2 pins 2&3 serial direct??
This would? cut the power consumed by 50ma and be a more reliable connection. Thanks |
Re: TT$ config for Pat ax25?
Like I said, it must be something simple $HBAUD 1200 --> 19200. I was lead to believe that HBAUD was the over-the-air baud, but that really makes no sense in retrospect because the TNC takes care of that.
On the air and downloading my group.io emailed digests. I'm sure there will need to be some tweaking of the various ax25 parameters, but the basics are now working. |
Re: TT$ config for Pat ax25?
It sounds like you are able to get the TX and RX levels set using CALIBRATE and such, so the wirting to the radio appears to work. The issue must be in your AX.25 settings and I find them extremely frustrating. Since the TT4 is set in KISS mode and stays there through resets, etc. there are no needed configuration commands.? The issue must be in the axports, KISSPARMS and KISSATTACH, but I am not good with those. Do some research on thos parameters and ask on the groups that use AX.25 protocol more like PAT or maybe WinLink (not sure of apps though). Robert Giuliano
On Thursday, April 1, 2021, 8:45:54 PM EDT, Peter VE7PPE <ve7ppe@...> wrote:
Anybody have a working set of configs for using a TT4 with Debian linux SBC? Been working on this too long, when "everyone" says its plug and play. Reflashed V0.72 software, been through all the parameters a zillion times. Rechecked /etc/default/ax25 &/etc/ax25/axports.? Tried it on another laptop. #1 issue right now is that I can't get the TT4 to transmit from my IC-2300H. When I calibrate the TT4, it turns the PTT on, but otherwise doesn't.? JP8 is open, though tried both settings. Does the TT4 Kiss TNC need to be given commands from /etc/default/ax.25 like Restore, On, etc?? I thought that everything is set in the configuration, but could be wrong. I have ~40 years experience with computers, sysadmin/Ops, cli, AI, etc and find this very frustrating.? Got to be something simple. Any help would be much appreciated. |
Re: Accidentally sent break to TT4 in bootloader - Borked?
Glad you were able to recover it! COMM ports with WINE and Linux can be difficult. WINE defaults to COM1 -> COM32 being symbolic linked to /dev/ttyS0 - /dev/ttyS31, then adds COM34 on when USB devices are attached.? Since these are all just files, you can override the existing /dev/ttyS# with UDEV rules.? I use one to override ttyS3 (com4 iin WINE) so that the device is within the first few ports and visible to most DOS/Windows applications ?? SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="ttyS3", GROUP="dialout" The idVendor and idProduct are from a generic USB to TTL serial interface.? You will need to find the correct settings for your device.Robert Giuliano
On Thursday, April 1, 2021, 5:14:16 PM EDT, Peter VE7PPE <ve7ppe@...> wrote:
Got my TT4 back via Wine & config software.? Only tricky part was finding the correct comm port.? It is located under ~/.wine/dosdevices.? Look for the ln to appropriate /dev/ttyUSBxx port Now to see if it behaves any better with Pat to access 2m Winlink Thanks for the guidance. |
Re: Anyone using the display board - if so can you share your build and tell us how you use it in a vehicle?
The display manual is actually the kit construction and connection manual.
The TT4 finmware manual has the setting. I suggest downloading and upgrading the TT4 to the latest - v0.72 (I think). The key parameters for the display are: ? NODISP FALSE???????????? => Note this is reverse logic.? NODISP true means there is no display ? TXTDISP [ T | F ] ? ? ? ? ?? => I believe this is fro an attached device like a computer or tablet. ??????? I believe the TT4 with a display, will display received/ decoded packets. It won't display GPS or internally generated packets. Robert Giuliano
On Thursday, April 1, 2021, 5:13:21 PM EDT, Corneliu via groups.io <coralenka@...> wrote:
HI, I have a display but it shows only " TT4 Alpha v0.68 1284" How can I see my GPS position? Is there any manual for using this display? 73, Corneliu YO4AUL |
to navigate to use esc to dismiss