Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
If you are having a problem, please refer to the product documentation or check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.

Remote operating and Node Red

Mike-VA3MW
Mike-VA3MW Administrator, FlexRadio Employee, Community Manager, Super Elmer, Moderator admin
«13456710

Comments

  • W9OY
    W9OY Member ✭✭
    edited February 2019
  • Mike-VA3MW
    Mike-VA3MW Administrator, FlexRadio Employee, Community Manager, Super Elmer, Moderator admin
    edited June 2020
    Thanks Lee

    You are way ahead of me.

    But, I did get my basic switch working and a web page built for it.  The learning curve is key, but in about an hour, I now have my basic web interface that even looks good on an iPhone.  If anyone is interested in the very very basics, I'm happy to explain further as I find getting from getting it installed to sort of working is a big jump and all the tutorials have a different focus.    Let me know and I can a video in baby step mode and how it works for us ham operators.

    I even added a few hosts to ping to see if they are running.  

    This is with 2 relays and I really didn't have to write a single line of code.  Relays 3 and 4 haven't been moved to display on a web page yet.

    This is how I created the actual dashboard http://www.steves-internet-guide.com/node-red-dashboard/

    Mike va3mw


    image

    image
  • Mike-VA3MW
    Mike-VA3MW Administrator, FlexRadio Employee, Community Manager, Super Elmer, Moderator admin
    edited January 2020
  • Mike-VA3MW
    Mike-VA3MW Administrator, FlexRadio Employee, Community Manager, Super Elmer, Moderator admin
    edited February 2020
  • John - K3MA
    John - K3MA Member ✭✭
    edited June 2020
  • Mike-VA3MW
    Mike-VA3MW Administrator, FlexRadio Employee, Community Manager, Super Elmer, Moderator admin
    edited June 2019
    Hi John

    If the Digital Logger Web switch can be commanded via an API or something similar, I would say yes.  You  may want to look in the NodeRed repository and see if anyone else has done it.  

    Yes, it could.  I am already querying the radio for RF power and such.  This is a big advantage of the Flex  product and their API's.

    No idea, as I don't do any remote connections such as that.  Again, you could ask in the NodeRed user group and I am sure someone has played with it already.

    Mike va3mw
  • Steve K9ZW
    Steve K9ZW Member ✭✭✭
    edited June 2019
  • Mike-VA3MW
    Mike-VA3MW Administrator, FlexRadio Employee, Community Manager, Super Elmer, Moderator admin
    edited June 2019
    Hi Steve

    If you got it running, that is great.  

    I think the next step is to build some of your own flows and see if you can get a GPIO port to turn on and off.  

    Since all our HAM stuff is generally RS232 (except Flex Radios which does LAN based communication), what is it that you want to control?  Let me know and I can help you get started.  If it is RS232, there are some Palettes, you'll need to install.  

    The Palettes are the plug ins to do things.  You will need the Dashboard palette.  And the Serial (RS232) one.  

    See if you can get those loaded and then share with us what you want to control.

    Mike

  • David Decoons, wo2x
    David Decoons, wo2x Member, Super Elmer Moderator
    edited June 2020
  • David Decoons, wo2x
    David Decoons, wo2x Member, Super Elmer Moderator
    edited September 2019
    John

    I have the DLI Web Switch Pro working fine now.

    Also you can parse the radio frequency and send it out as a UDP broadcast (I haven't done it since I no longer have the HF Auto).

    Dave wo2x

  • Alan
    Alan Member ✭✭✭✭
    edited June 2020
  • Mike-VA3MW
    Mike-VA3MW Administrator, FlexRadio Employee, Community Manager, Super Elmer, Moderator admin
    edited September 2019
    That is awesome!!  Nice job.  

    What I liked about playing with Node-red is that it was easy to make progress and be successful.


    Case in point.

    I added 2 temperature probes to my RPI so that I could see and be alerted if the cooling fans in my remote case failed.  

    But, first, I need to be able to read the LM75s could be imported into the Dashboard.

    The LM75 uses the I2C buss and getting them working is well documented.  http://www.pibits.net/code/raspberry-pi-and-lm75-temperature-sensor-example.php

    But, I needed to be able to just see the temperature.  I had to make sure I2C was working on the RPI and what 'address' they were using.  Again, Google.   There are other Temperature probes like the bmp180, bmp280, bme280 and more (https://www.adafruit.com/product/2652).  

    Then, I found this code, which I could never write on my own to pull the temperature from the probe (I am going to **** this line apart so I understand it later this week).

    sudo i2cget -y 1 0x48 0x00 w |awk '{printf("%0.1f C
    ",(a=((("0x"substr($1,5,2)substr($1,3,1))*0.0625)+0.1) )>128?a-256:a)}'


    That turned into this using the Node-red Exec box (you paste the above in the Exec).  That means you want Node-Red to Execute the command on the RPI which is a Linux operating system.  

    image

    And, then using the Dashboard tools (for others to see how it is done).  This is called a Pallet and you will need to install it https://flows.nodered.org/node/node-red-dashboard.  This is the tool that helps you to be so successful to create a web interface.

    Now, I can monitor the temperature in my case, and even write some more actions to turn fans on and off.  

    image


    Here is my flow in case you want to look at it.  I added the I2C scan stuff.

    [{"id":"e91d7619.a8a808","type":"tab","label":"Temps","disabled":false,"info":""},{"id":"ebd6490b.83a8d8","type":"inject","z":"e91d7619.a8a808","name":"","topic":"","payload":"","payloadType":"date","repeat":"30","crontab":"","once":true,"onceDelay":0.1,"x":147,"y":95,"wires":[["94bd0a6b.717018","962dd4e9.d622d8"]]},{"id":"94bd0a6b.717018","type":"exec","z":"e91d7619.a8a808","command":"sudo i2cget -y 1 0x48 0x00 w |awk '{printf(""%0.1f C\n"",(a=(((""0x""substr($1,5,2)substr($1,3,1))*0.0625)+0.1) )>128?a-256:a)}'","addpay":false,"append":"","useSpawn":"false","timer":"10","oldrc":false,"name":"Temp","x":431,"y":130.5,"wires":[["3f59295f.8041e6","fb9bbee7.2754c"],[],[]]},{"id":"962dd4e9.d622d8","type":"exec","z":"e91d7619.a8a808","command":"sudo i2cget -y 1 0x4a 0x00 w |awk '{printf(""%0.1f C\n"",(a=(((""0x""substr($1,5,2)substr($1,3,1))*0.0625)+0.1) )>128?a-256:a)}'","addpay":false,"append":"","useSpawn":"false","timer":"10","oldrc":false,"name":"Temp","x":435,"y":216,"wires":[["f04cc7b4.eb6988","98197d69.8d7c3"],[],[]]},{"id":"3f59295f.8041e6","type":"ui_text","z":"e91d7619.a8a808","group":"2dbe67ac.f10de8","order":12,"width":0,"height":0,"name":"","label":"Mid Temp","format":"{{msg.payload}}","layout":"row-spread","x":784,"y":221,"wires":[]},{"id":"f04cc7b4.eb6988","type":"ui_text","z":"e91d7619.a8a808","group":"2dbe67ac.f10de8","order":11,"width":0,"height":0,"name":"","label":"Top Temp","format":"{{msg.payload}}","layout":"row-spread","x":753,"y":309,"wires":[]},{"id":"98197d69.8d7c3","type":"ui_chart","z":"e91d7619.a8a808","name":"","group":"cd1c8110.1e37e","order":1,"width":0,"height":0,"label":"Top Temp","chartType":"line","legend":"false","xformat":"HH:mm","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":1,"removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"outputs":1,"x":778,"y":390,"wires":[[]]},{"id":"fb9bbee7.2754c","type":"ui_chart","z":"e91d7619.a8a808","name":"","group":"cd1c8110.1e37e","order":2,"width":0,"height":0,"label":"Mid Temp","chartType":"line","legend":"false","xformat":"HH:mm","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":1,"removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"outputs":1,"x":791,"y":270,"wires":[[]]},{"id":"7de9d007.be84c","type":"i2c in","z":"e91d7619.a8a808","name":"","address":"74","command":"0","count":"1","x":432.07643127441406,"y":544.6805801391602,"wires":[["a76aec42.2ce13"]]},{"id":"c0ed8a1e.519778","type":"i2c scan","z":"e91d7619.a8a808","x":427.07643127441406,"y":443.72571563720703,"wires":[["a76aec42.2ce13"],[]]},{"id":"7222be8f.680f5","type":"inject","z":"e91d7619.a8a808","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":195.07987213134766,"y":439.9722261428833,"wires":[["c0ed8a1e.519778","7de9d007.be84c"]]},{"id":"a76aec42.2ce13","type":"debug","z":"e91d7619.a8a808","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":717.5277862548828,"y":495.94791412353516,"wires":[]},{"id":"2dbe67ac.f10de8","type":"ui_group","z":"","name":"RF Info","tab":"d6ba9a2a.f3f0d8","order":7,"disp":true,"width":"5","collapse":false},{"id":"cd1c8110.1e37e","type":"ui_group","z":"","name":"Temps","tab":"1abf24f5.9cd13b","disp":false,"width":"8","collapse":false},{"id":"d6ba9a2a.f3f0d8","type":"ui_tab","z":"","name":"VA3MW Shack Control","icon":"dashboard","order":1,"disabled":false,"hidden":false},{"id":"1abf24f5.9cd13b","type":"ui_tab","z":"","name":"RPi Control","icon":"dashboard","order":1}]
  • N2WQ
    N2WQ Member
    edited September 2019
    How do you guys monitor the RX/TX state to prevent hot switching? How about some sort of conflict resolution for SO2R or when accessing from multiple clients?
  • Mike-VA3MW
    Mike-VA3MW Administrator, FlexRadio Employee, Community Manager, Super Elmer, Moderator admin
    edited September 2019
    Hi Rudy

    I don't, but then, I am the only user and I don't hot switch.  :)  When I change bands, I stop for 10 seconds and check Antenna settings and RF power settings.  That comes from blowing a few things up at 3 in the morning.  At least any current equipment today has amazing protection built-in, and the Flex radios are no exception.  

    However, since all the status of the radio is available by doing a TCP connection to the radio, you could script it then do some lockouts.

    As for SO2R and multiple clients, I haven't tested that at all personally.  Others are playing with it, so you might want to ask in the main community as they might miss it in this thread.

    FRStack has some of these features http://www.mkcmsoftware.com/Flex/Index.  I think that Carl N4PY's Pegasus may also have some features to help with that. http://www.n4py.com/.  And, both Authors are active on the community here and have been known to make changes to improve the user interaction.  Check out the features on both.

    Both of those programs have some very slick add ons.  

    I also know we have a significant number of stations that have our radios but have their own members who program.  They have done some cool stuff, but they choose not to share it since they don't want to have to support it.  With the right person, you could actually write your own GUI.


    Mike
  • N2WQ
    N2WQ Member
    edited September 2019
    Mike, is there a ham Node Red community? Perhaps I am over-engineering switching, but chances are others are thinking of such issues. Was thinking of using MQTT messages that go into a buffer that will take care of multi-client conflicts...but who knows, there might be easier solutions.
  • Alan
    Alan Member ✭✭✭✭
    edited September 2019
  • Mike-VA3MW
    Mike-VA3MW Administrator, FlexRadio Employee, Community Manager, Super Elmer, Moderator admin
    edited September 2019
    Hi Alan

    I have used those devices on my Arduino for a weather station.  I think those require an A/D converter on the RPI and I forgot how many of those there are on  RPI3.  

    I wanted the I2C ones so that I could have a whole bunch on the 'buss'.  I think with the ones I use I can more than I will ever use as there is 3 binary bits that you can solder on the board.

    Lots of options too.  

    We have been discussing where to host the Node-Red stuff we want to share and should it be on GIT or Node-Red Flows.  I think GIT makes more sense so that you can easily modify and share your own version.  Personally, I think I will use GIT for my stuff.

    Mike

  • Mike-VA3MW
    Mike-VA3MW Administrator, FlexRadio Employee, Community Manager, Super Elmer, Moderator admin
    edited September 2019
    To the best of my knowledge, this is it but I haven't really searched.  I  posted about it once in the Facebook ham radio group that has over 20,000 members  and no one had heard about it.   

    Andreas N6NUis doing the most to the best of my knowledge.  He is using MQTT to share data to muliple stations and offloading the RPI of data.  I only use MQTT to move the Rotator Data.  
  • Joe N3HEE
    Joe N3HEE Member ✭✭
    edited September 2019
    Milke.  I am querying the radio for Mode, CW Speed, RF Power and such.  I am finding that the mode and speed messages coming from my radio never change.  They are always CW and 30 ?  Can you confirm this on your message debug.  Is this perhaps a bug in Flex messages ?  Thanks -Joe N3HEE

    Also, thanks for your Node Red flows.  I imported them and learned a bunch on how to interact with the radio.  Very powerful and cool !
  • Alan
    Alan Member ✭✭✭✭
    edited September 2019
  • Joe N3HEE
    Joe N3HEE Member ✭✭
    edited June 2020
  • David Decoons, wo2x
    David Decoons, wo2x Member, Super Elmer Moderator
    edited September 2019
    Joe, Send me your flow for the monitoring. I am guessing you built it off my FlexRadio. Flow. I will load it and see if I can replicate the issue you have. I have running around, er hobbling around actually til about 3 p.m. then I have plenty of time and some of my sanity back. 73 Dave wo2x
  • Joe N3HEE
    Joe N3HEE Member ✭✭
    edited September 2019
    Dave. Im at work right now so I cant send you my flow.  Just attach a debug node to the node that is connected to TCP 4992 on your Flex Radio tab and watch the debug window for speed and mode messages.  You will see they are always CW and 30.  Mark WS7M has also confirmed what I am seeing.
  • David Decoons, wo2x
    David Decoons, wo2x Member, Super Elmer Moderator
    edited September 2019
    I will test and let you know. Dave wo2x
  • Alan
    Alan Member ✭✭✭✭
    edited September 2019
  • Alan
    Alan Member ✭✭✭✭
    edited September 2019
    Here is a photo of the hardware setup on the bench:

    image
  • Mike-VA3MW
    Mike-VA3MW Administrator, FlexRadio Employee, Community Manager, Super Elmer, Moderator admin
    edited September 2019
  • Alan
    Alan Member ✭✭✭✭
    edited September 2019
  • Mike-VA3MW
    Mike-VA3MW Administrator, FlexRadio Employee, Community Manager, Super Elmer, Moderator admin
    edited September 2019
    I have a bunch installed, but the dashboard is the only one on those flows.  

    Did you get an error message that might help.

    This is what it looks like:

    image
  • Alan
    Alan Member ✭✭✭✭
    edited September 2019
    Update

    Regarding inputting the RX status into Node-Red.

    For now, solved this by using a HIT USB cable from the Flex Radio to a GPIO pin on the Rasberry Pi.  Sort of a "hardware" solution.  On the Flex side, configured the pin to be high if between 100MHZ to 500MHZ and PTT enabled.   Could have also used one of the ACC outputs as an input to a Rasberry PI GPIO pin.

Leave a Comment

Rich Text Editor. To edit a paragraph's style, hit tab to get to the paragraph menu. From there you will be able to pick one style. Nothing defaults to paragraph. An inline formatting menu will show up when you select text. Hit tab to get into that menu. Some elements, such as rich link embeds, images, loading indicators, and error messages may get inserted into the editor. You may navigate to these using the arrow keys inside of the editor and delete them with the delete or backspace key.