SmartSDR v3.8.20 and the SmartSDR v3.8.20 Release Notes
SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
Power Genius XL Utility v3.8.9 and the Power Genius XL Release Notes v3.8.9
Tuner Genius XL Utility v1.2.11 and the Tuner Genius XL Release Notes v1.2.11
Antenna Genius Utility v4.1.8
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
Connecting to Flex 6000/8000 radio via SmartLink
I'm in the process of writing an application that I want to interoperate with the Flex 6000/8000 series of radios. I'd like to be able to connect remotely via SmartLink and have been doing some "googling" without finding a great deal of information on the process. I did find a program that Mark Hanson, W3II wrote and posted demonstrating the process with version 2 of the Flex API. From what I can tell this uses the API prior to its migration to .NET 4.6.2.
I have some questions:
1.) Does anyone have any SmartLink code that uses the version 3 Flex API that they'd be willing to share.
2.) in Mark's code I found references to an auth0 domain and ClientID. Are those the current information? Are the OK to use? Do I need any permission from Flex to use this information?
3.) Are there any "gotchas" that I should know about before I try to connect to my Flex 6600 remotely via SmartLink?
73 and good DX,
de Roger, NK1I
Best Answer
-
SmartLink .netframework sample has been updated, targets v3 SDK.0
Answers
-
Roger, reach out to me directly. I would like to understand your environment / target details to see if I can be of some help. mark AT mkcmsoftware.com
0 -
Mark, thanks for getting back to me. I'm happy to let the world know what my crazy idea is right here, that way others can learn from my mistakes.
My thought is to take Lens, KD0RC Teensy Maestro project and connect it to an Android device, for the screen via an OTG cable and the app I want to write. Basically, I need a version of SSDR running on either an Android device or the Teensy processor, how the workload is divided up is still up in the air. My grand plan calls for the Android app to be Android Auto compatible for the ultimate roving machine. I can then either connect remotely to my home QTH via SmartLink or to a Flex 6600 with a couple of Q5 VHF / UHF transverters I'll have in an eight "U" portable music rack in the back of the vehicle.
I tried building your project and it won't build with the current version of FlexLib. I seem to remember a change a couple of years back where Flex moved from .NET 4.6.1 to 4.6.2 and there were a number of changes.
My first goal is to get connected to my 6600 via SmartLink on Windows so I can understand how it works before trying to port the software off to other platforms like the Teensy and Android. Len seems to have the local connection working great, SmartLink is the only piece missing there.
73 and good DX,
de Roger, NK1I
0 -
Hi Roger, I got lazy with the TeensyMaestro. When I was trying to figure out how to get SmartLink to work, I stumbled across SoftEther VPN which works so well that I kind of gave up on SmartLink. I have always wanted to incorporate it, however, so as you go down this ambitious path, I may follow along!
0 -
I have made minor modifications to the FlexAPI in order to build it for .NET core which allowed me to produce FRStackWebAPI for AMD/Intel 86/64, Apple M and ARM 32/64 processors for Windows, OSX, Linux variants. The OEM FlexAPI is targeted at .NET Framework and the Windows UI which is today's platform for SmartSDR. The FRStack2/3 Windows Application uses the same target. There are many approaches to achieve your goal of using an Android device as the UI host and potential FlexAPI based client host app. Technologies like Microsofts MAUI and Avalonia UI are possible candidates. Back to SmartLink, the technology has not fundamentally changed so I will look into updating my sample if that helps. What is needed for your project is a new .NET core API that can be leveraged from the platforms and UI mentioned above. That will take more planning and time.
0 -
Good afternoon, Len and Mark,
Len, you're certainly welcome to follow along with me. If / when I get SmartLink working on the Teensy I'll let you know and get you access to the code. My next major hurdle with the Teensy is finding out if there are Auth0.AuthenticationApi.dll and Auth0.Core.dll modules to run on the Teensy platform. If some equivalent Auth0 modules aren't available for the Teensy platform that could be a real showstopper. I haven't checked yet, however I'm pretty sure there are Auth0 modules for Android.
Mark, if you could get you SmartLink demo code to build against the current 3.8.19 FlexLib without much effort that would be very helpful for myself and anyone else who wanted to use SmartLink in their application. Do you know if it's OK to use the link and clientID that's in you SmartLink demo program or do I need to get one assigned for my application? As you work to build you SmartLink demo program be aware that the Auth0 dll has been split into two dll files.
73 and good DX,
de Roger, NK1I
0 -
Please provide exact Teensy board you are targeting. The source code of the Auth0 DLLs is under public license via MIT License agreement and can be found at https://github.com/auth0/auth0.net.
As far as the link is concerned, it is a link to FRS OAUTH server for SmartLink. The OAUTH technique being used is called Client Credentials Flow, the ClientID is the ID being used for SmartSDR clients, the validation occurs against the unique Username / Password submitted for authentication.0 -
Good afternoon, Mark,
I'm targeting the Teensy 4.1 just the same as Len did for his Teensy Maestro. I want to build upon Len's work since it seems he's done a good job thinking through his design.
Thanks for the link to the Auth0 code on GitHub. I'll take a look at that code when I try to build my code for the Teensy. My first step is to get something running on Windows so I know I have a somewhat correct understanding of how the Flex API works.
I'd never looked at Avalonia UI and I'm not sure I like the fact that it doesn't produce and application with a native look and feel. I have messed with MAUI on a couple of small Windows projects, and it has a lot of potential. Either way I think I'd need to get the Flex API to a point where it would build on .NET 8 and above.
As I'm looked at this project, I've always thought that DAX was going to be the hardest part to replicate on any non-Windows / C# environment because of the need to interface with the platform sound system. For AM and SSB phone modes I always figured I could live without CAT control.
73 and good DX,
de Roger, NK1I
0 -
Mark,
This works perfectly and will be a great help in my quest to get my version of the Teensy Maestro running with a SmartLink login.
If you change line 39 in the SmartLinkSetting.cs file to "Auth0LVM = new Auth0Model(new Auth0Client(domain, clientId, 480, 800, true));" you can use SSDR 3.8.19 version of Auth0 found in the SSDR 3.8.19 folder. The two numbers are the height and width of the login window that Auth0 presents.
73 and good DX,
de Roger, NK1I
0 -
Roger, if you need help, you can email me for details on how to contact engineering (va3mw@flexradio.com)
Mike
0
Leave a Comment
Categories
- All Categories
- 260 Community Topics
- 2.1K New Ideas
- 538 The Flea Market
- 7.6K Software
- 6K SmartSDR for Windows
- 139 SmartSDR for Maestro and M models
- 367 SmartSDR for Mac
- 242 SmartSDR for iOS
- 226 SmartSDR CAT
- 162 DAX
- 345 SmartSDR API
- 8.8K Radios and Accessories
- 6.9K FLEX-6000 Signature Series
- 43 FLEX-8000 Signature Series
- 803 Maestro
- 43 FlexControl
- 837 FLEX Series (Legacy) Radios
- 807 Genius Products
- 424 Power Genius XL Amplifier
- 262 Tuner Genius XL
- 87 Antenna Genius
- 227 Shack Infrastructure
- 153 Networking
- 377 Remote Operation (SmartLink)
- 130 Contesting
- 593 Peripherals & Station Integration
- 116 Amateur Radio Interests
- 822 Third-Party Software