Jump to content

PC integration / radio control


KBSherwood

Recommended Posts

Hello everyone,

I’m hoping to pick your brains as to how to possibly accomplish some PC/API integration or otherwise perform some function triggering based on various inputs from a PC or other microcontroller (hell, even PLC’s would suffice.) I have been in high level IT for a couple decades and I have no problem prototyping my own boards or writing my own scripts, but I’m unfamiliar with the ways folks have found to interface with the radios.

All of our (my) radios can receive an alarm or alert tone and that tone or sequence of tones can sound the alarm, disable the radio, re-enable the radio, etc. What I would like to do is use a PC or microcontroller to interface with the radio to automatically send alerts or alarms to our radios. Possibly expanding this out to use DTMF tones to change channels, reboot devices, etc.

For example, I write a small script that runs on the attached PC to query the MyShake earthquake prediction network, when the API returns a possible earthquake is eminent, to blast the alarm to all of our radios on our preconfigured family channel. This would give us 30-60 seconds of notice before the shaking begins and enough time to get outside or under cover.

I am NOT trying to link repeaters, OR to transmit over VOIP/POTS/etc but rather use a device (the PC) to physically key up the radio, send the alarm tone sequence or whatnot, then unkey the radio. In my opinion, this falls much more under “accessibility options” rather than “digital GMRS.” I could even try to have the system do a bit of audio analysis on the front end to ensure there is no traffic at the time.

Another example, we’re talking simplex from the home base station to the mobile base station and I’m getting out of simplex range, I could use the DTMF tones to send a request for the attached PC to change to the repeater channel that’s most appropriate for where our mobile is currently located.

There are a hundred different ways I could see this being used, while hopefully still staying “true” to the rules and regs, but y’all are much, much more knowledgeable than I am. What do you think?

Link to comment
Share on other sites

My question is how many radios (gmrs/public safety) have any of this available in the firmware or even a sdk.

I am not aware of any gmrs/public safety radios that have cat controls.

Personally, a pi with potentially a adruno attached wired to the radio. The adruno and pi handle the work. The radio simply transmitting, with out some type of cat control I am not sure if a radio can change frequencies.

Do dispatch consolettes have the ability to be cat controlled?

Sent from my SM-S901U using Tapatalk

Link to comment
Share on other sites

2 minutes ago, Sshannon said:

I would just buy a DTMF board with DO points. 

Mr. Shannon I was hoping you might have some insight! I'm familiar enough with "dial a relay" boards for power control on devices at remote sites, but I'm also having trouble picking up what you're putting down in the grand scheme of my idea. 🙂 

Are you suggesting to get a DTMF board, hook that up to the PC/rasp. pi/arduino and then have the relay control the power supply to the radio? Right now I've got a Wouxun KG-20XS running off of a pyramid linear/regulated PSU that would be trivial to wire to the relay board (given it supports the max 12amp draw, but thats just choosing the right board) to power on/reboot the PSU thus powering/rebooting the radio? 

Now getting into the digital outs/GPIO's am I correct in the assuming that I would be using the PC/microcontroller with the radio's USB programming cable to run the radio in a "live" format? In my example above, regarding earthquake alerts, I'm assuming something like:

PC is powered on, has the USB cable run to the radio, programming software is up/active and when my script detects whatever it would like to alert on it fires off a macro or similar to push through the alert code? This is really where I feel I am stuck, and likely just not thinking creatively enough, but how do I get from the "OK the controller has detected whatever triggers the action, now make noise out of the radio on the other end."

 

Thank you very much!

 

Link to comment
Share on other sites

16 minutes ago, kidphc said:

My question is how many radios (gmrs/public safety) have any of this available in the firmware or even a sdk.

I am not aware of any gmrs/public safety radios that have cat controls.

Personally, a pi with potentially a adruno attached wired to the radio. The adruno and pi handle the work. The radio simply transmitting, with out some type of cat control I am not sure if a radio can change frequencies.

Do dispatch consolettes have the ability to be cat controlled?

Sent from my SM-S901U using Tapatalk
 

All good questions and ones I’m hoping those who have been around longer than I might know the answers to.

I did look around and you are right I don’t think there are any published sdks or anything, at least not in the “non-commercial” segment. 
 

I'm pretty confident I can get things working if I can just figure out/visualize how I’d interface to the radio with more ability/privileges than just uploading new configs. I didn’t want to have to resort to a Rube Goldberg machine that physically presses the PTT and outputs the desired audio via a physical speaker or something. 

Link to comment
Share on other sites

1 hour ago, KBSherwood said:

All good questions and ones I’m hoping those who have been around longer than I might know the answers to.

I did look around and you are right I don’t think there are any published sdks or anything, at least not in the “non-commercial” segment. 
 

I'm pretty confident I can get things working if I can just figure out/visualize how I’d interface to the radio with more ability/privileges than just uploading new configs. I didn’t want to have to resort to a Rube Goldberg machine that physically presses the PTT and outputs the desired audio via a physical speaker or something. 

A SignalLink USB adapter perhaps?

https://tigertronics.com/slusbmain.htm

Link to comment
Share on other sites

2 hours ago, KBSherwood said:

to blast the alarm to all of our radios on our preconfigured family channel.

I'm no expert on every FCC rule, but there are some restrictions on what can be transmitted from a GMRS radio. Sound effects, one-way messages, etc, may present some problems. Basically, do some homework before you start any of this. 

Link to comment
Share on other sites

6 hours ago, KBSherwood said:

Mr. Shannon I was hoping you might have some insight! I'm familiar enough with "dial a relay" boards for power control on devices at remote sites, but I'm also having trouble picking up what you're putting down in the grand scheme of my idea. 🙂 

Hopefully I understand the problem correctly!  I apologize if I didn’t. 

6 hours ago, KBSherwood said:

Are you suggesting to get a DTMF board, hook that up to the PC/rasp. pi/arduino and then have the relay control the power supply to the radio? Right now I've got a Wouxun KG-20XS running off of a pyramid linear/regulated PSU that would be trivial to wire to the relay board (given it supports the max 12amp draw, but thats just choosing the right board) to power on/reboot the PSU thus powering/rebooting the radio? 

I would get a Digirig and connect it between the USB port on a raspberry pi controller and a “master” radio to send tones, alarm sounds, synthesized speech or whatever under program control. They have cables for many different radios. The cables connect to the microphone and speakers to serve up sounds. The DigiRig is tiny. 

6 hours ago, KBSherwood said:

Now getting into the digital outs/GPIO's am I correct in the assuming that I would be using the PC/microcontroller with the radio's USB programming cable to run the radio in a "live" format? In my example above, regarding earthquake alerts, I'm assuming something like:

PC is powered on, has the USB cable run to the radio, programming software is up/active and when my script detects whatever it would like to alert on it fires off a macro or similar to push through the alert code? This is really where I feel I am stuck, and likely just not thinking creatively enough, but how do I get from the "OK the controller has detected whatever triggers the action, now make noise out of the radio on the other end."
 

I would have the master radio send DTMF tones to the “slaves” to control various outputs. That’s where you could use the DTMF output board, but now that I’m thinking of it you probably could do something smarter with a raspberry pi board. Those outputs could be used to turn on or off alarms or other simple devices. You could probably cobble up a way to do multiple bit outputs but very few of them. 
As far as controlling high current devices you use the low current outputs as interposing relays or pilot relays to control higher current relays. 
You definitely don’t want to turn off the slave radios because once you do that you have completely severed connections with no way to re-establish them. You might be able to send a specific command to lock or unlock the 

6 hours ago, KBSherwood said:

Thank you very much!

 

Sounds like a fun project. I hope I’ve helped. 

Link to comment
Share on other sites

If the application is to do alerting to the radio, there are a couple methods to doing this that are straight forward and commonly used in public safety communications.

First being Quick Call 2 in Motorola speak or two tone alerting.  This is a method that two tones are transmitted over the air that the radios are pecifically looking for and can be programmed to react to.  Think old school fire paging.  Low tone, high tone, tweedle tweedle tweedle, and then some voice announcement.  The radio when programmed correctly for this sort of alerting can remain silent until the tone group is received or be actively monitoring a channel and alert to the incoming message.  The voice announcement would be computer generated, either through a text to speech engine where the alert notification is stripped of the pertinent information and run through the speech engine or conversely could be canned messages, pre-recorded WAV or MP3 files that are played over the air.  Their selection of the message would be a function of the alerting engine.   Issues with this are simple. The frequency of the tones are specific.  They must be generated within about 2 Hz of the programmed values in the radios.  And QCII tones are delineated to the tenth (0.X) of a hertz.  So accuracy is a must.  Interfaces can be constructed with a simple CM108 based sound card that will handle the audio generation and PTT function as well.  Search CM108 All Star interface for more information.

DTMF codes are also a possibility but may cause issues on repeaters that are owned by others since DTMF signalling can be used for repeater controller function changes over the air.  If your DTMF tones turn off their repeater, they may well ban you from their machine all together.  But Motorola and other commercial two way radios that are typically used for public safety will also recognize this type of alerting.

MDC1200.

MDC1200 is of course used for radio unit IDing, but it can also be used for Status messaging.  The status programming in all radios that are receiving the messages must all match.  Then once you have the status messages figured out you put them in radios that have displays.  The display on the radio will show the preprogrammed text message on the screen.  This method does NOT send texts.  It has a set of 10 or so status messages that are set by the 10 or so MDC1200 data packets.  You would need to program your software application to create those MDC1200 datagrams and feed them into the radio for transmission.

 

Remember that you HAVE to identify your transmissions.  So in addition to any voice or datagram announcement you have to have the transmitter ID.  This can be done via a recording being played, a speech engine or Morse Code at 20 WPM. 

And remember that if toy are doing this across someone else's repeater, you need to get their permission.  Don't simply do it and expect them to be happy with it.  I have a local repeater that mirrors the coverage of my linked repeater.  It's for local traffic only and I PERSONALLY wouldn't take issue with this on my machine, but if you're not in the Central Ohio area on my repeater, you need to seek out the owner of your local repeater and get their blessing.  Moreover, I would offer them the programming information if they would like it so they can set their equipment to receive the alerts as well.

Any of this is going to require radios that support the signalling methods talked about here.  Your cheap import radios and standard part95 stuff will not work with any of this other than the straight voice announcement. Bear that in mind.  CDM1250 and CDM1500 mobiles support these functions.  THe 1250 and 1550 HT series portables do are well.  The XPR series that are FULL DISPLAY support these functions will also work.  If you want to spend more money the XTL radios do this as well. 

 

Link to comment
Share on other sites

Went back and read the original post again.

What you are also talking about beyond alerting is SCADA (google this)

SCADA is a common radio system that is used in utility and industrial systems for monitoring and control of water, sewer, electric and a host of other applications.

It's a bi-directional system that uses short data bursts to pass control information and data to and from remote sites and operates on established standards. 

It could be implemented along side the alerting that was discussed before with the correct squelch setting in a radio so that the datagrams were NOT audible in the subscriber radio unless the alert tones were sent opening the radio up.

There are adjustments for the delay and duration of the datagrams being sent so it wasn't constantly busying the channel up with packets. 

This would certainly require your own repeater and the rules pertaining to using it on GMRS might need to be researched to verify it is legal.  But if you are wanting to go this route, spending the money on your own LMR frequency (commercial frequency) wouldn't be a bad idea.

 

Link to comment
Share on other sites

My professional career was SCADA for more than two decades. I programmed it, I designed small and large systems, and I sold systems to municipalities and government entities. I eventually ended up supervising 13 SCADA engineers who maintained the Energy Management System (the master) for an electric transmission system carrying 2550 megawatts of power.
While @KBSherwood could do what he wishes with SCADA and a license for LMR radios, that would be unnecessarily expensive and complex in my opinion. 
There are myriad hobby level or even home automation devices, including license free wireless communications, that can be used to accomplish this, as well as by doing what he has expressed an interest in. 

Link to comment
Share on other sites

14 hours ago, Sshannon said:

My professional career was SCADA for more than two decades. I programmed it, I designed small and large systems, and I sold systems to municipalities and government entities. I eventually ended up supervising 13 SCADA engineers who maintained the Energy Management System (the master) for an electric transmission system carrying 2550 megawatts of power.
While @KBSherwood could do what he wishes with SCADA and a license for LMR radios, that would be unnecessarily expensive and complex in my opinion. 
There are myriad hobby level or even home automation devices, including license free wireless communications, that can be used to accomplish this, as well as by doing what he has expressed an interest in. 

I agree with the expensive statement if he were to use off the shelf SCADA gear.  It's not even cheap on ebay used.

But, since you know the stuff well, you know that it's data packets that are almost spreadsheet simple.  It's a 'sensor X value Y' sort of thing.  And could be easily written into a combination Raspberry Pi / Arduino setup with both digital and analog I/O being monitored by the Arduino and fed to the Raspberry Pi via serial or USB then converted to the data packets via a conversion app and broadcast.  The Pi could then also be programmed to receive packets off air and react to certain values or I/O inputs from the remotes.  Including launching status messages via MDC. 

I did something sort of similar once with a CDM radio and some base logic.   A CDM can be commanded to change channels via the rear accessory pins.  It's 4 input pins and can select 16 channels.  If you build a logic output to control those pins.  Programming the radio channels to send individual MDC1200 status packets for each channel then changing the channels and keying the radio it lets you send 16 different messages. 

 

The commercial LMR license wouldn't be a requirement on this either.  GMRS allows for some basic 'digital' signalling on the service.  I don't know how much SCADA type data he would need to be moving around.  But if he's writing the software to do this, it would be easier to use a known working solution and copy that instead of reinventing the wheel by writing his own system from scratch.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Guidelines.