USB cable from the 6700 directly to a USB port on the Raspberry PI 3

  • 3
  • Question
  • Updated 1 year ago
USB to USB port on a Raspberry PI 3
Photo of Mark - NU6X

Mark - NU6X

  • 38 Posts
  • 12 Reply Likes

Posted 1 year ago

  • 3
Photo of Arnie

Arnie

  • 108 Posts
  • 20 Reply Likes
Is there a question lurking in there somewhere?
Photo of Mark - NU6X

Mark - NU6X

  • 38 Posts
  • 12 Reply Likes
I haven't posted in a long time.... it posted before I finished typing the question. 

I will try this again....I want to connect the USB port on the 6700 rear panel directly to  a Raspberry PI 3 USB port that is the controller of a linear. The Raspberry PI is programmed for the standard Kenwood and Flex commands. I have read the USB manual and other post and all I see is FTDI to serial or Parallel. This is USB to USB connection. Does it require a special cable?
(Edited)
Photo of Chris Tate  - N6WM

Chris Tate - N6WM, Elmer

  • 801 Posts
  • 214 Reply Likes
As far as I know from Alpha you must use an FTDI approved chipset device.  I see where your going here, I think your gonna need a couple of serial interfaces, one for the flex and one for the Pi...  then interpret the data coming into the Pi via serial...  I think...
Photo of Mark Erbaugh

Mark Erbaugh

  • 379 Posts
  • 34 Reply Likes
I suspect that the Pi could be programmed to act like a FTDI device and programmed to act like one of the devices that the Flex USB interface supports and then to take that data and control the amp, but I doubt that it would work as-is.

A second possibility would be to have the Pi connected to the Ethernet network and to use the Flex network protocol to talk to the Flex and whatever interface to talk to the amp. Again this would require custom programming of the Pi.
Photo of Chris DL5NAM

Chris DL5NAM

  • 574 Posts
  • 126 Reply Likes
Mark, but maybe we can found a solution that Flex and PA can communicate via LAN. Then no need for a USB connection.

And still open question is: need a good Amp a interface connection to TRX - if PA always check the frequency , switch automatically Band and Auto Tune do his work alone .... 
Photo of Mark Erbaugh

Mark Erbaugh

  • 379 Posts
  • 34 Reply Likes
I think that the new Flex Power Genius Amp monitors the Flex via LAN and adjusts the amp accordingly. For amps without a LAN interface, it should be possible to develop a program that runs on a small computer, such as the Raspberry Pi that monitors the Flex via LAN and controls the amp via whatever interface/prootocol the amp supports.

Last year, I bought a Rasberry Pi with the intent of doing that for my SPE Amp, but before I got around to it, Flex added USB support for that amp.
Photo of Chris DL5NAM

Chris DL5NAM

  • 574 Posts
  • 126 Reply Likes
.... mark please buy onother Raspi now - maybe it push FRS again for new things :-)
Photo of Ria - N2RJ

Ria - N2RJ, Elmer

  • 2252 Posts
  • 874 Reply Likes
It's trivial to connect the radio via Ethernet on a pi using python.


VITA-49 Discovery using udp packets could be dumped into a python dict, struct or other object.


Slice frequency data can be read using tcp streams from the radio.


Put that in a loop and spit out to your B26-PA control app.

You can even do T/R switching if you like.


Presto.


No need to wait on flex.
(Edited)
Photo of Ria - N2RJ

Ria - N2RJ, Elmer

  • 2252 Posts
  • 874 Reply Likes
Back of the napkin function for discovery (haven't tested this but it should work)


#!/bin/python


import select, socket


def discoverRadios():

"discovery"

port = 4992 # Flex VITA-49 port

bufferSize = 1024


s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

s.bind(('', port))

s.setblocking(0)


result = select.select([s],[],[])

msg = result[0][0].recv(bufferSize)


radio = dict(s.split('=',1) for s in msg.split(" "))

return radio


How you call it:


while radio is None :

radio = discoverRadios();


radio will be a dict object, for example if you want the radio's IP it will be:


print radio ['ip']


Similarly you can use tcp streams to get the per slice frequency.


Ria

Edit: oops, looks like GS destroyed my indentation. Oh well, if you know python you can figure it out :)
(Edited)