There is a new Facebook group for Quatar Oscar 100 Geostationary Satellite. (QO-100, Es’Hailsat). Licensed radio amateurs are welcome to join via the link below! (Exclusively for licenced radio amateurs by the respective government administrations).
Members typically discuss equipment, design of equipment, antenna designs, post QSO videos and sound recordings etc. https://www.facebook.com/groups/252645695661305/
Author: admin
Securing your node-red editor and dashboard on the Raspberry Pi
If you leave your node-red installation on your rpi running without a password you will be hacked and soon owned by people using your rpi as a bit coin mining device. It is easy to set a password for the editor and for the dashboard!:
Node-red is installed in /home/pi/.node-red (the . dot in front means you will normally not be able to see the directory as the dot means it is hidden. Therefore, set up your file manager to show hidden files. Alternatively, if you are using the terminal you can use ls -a or ls -al in the /home/pi directory to see all that is there).
Edit the settings.js file with
nano settings.js
Uncomment this section in the settings.js file:
adminAuth: {
type: "credentials",
users: [{
username: "admin",
password:"xxxhash key is pasted herexxxx",
permissions: "*"
}]
},
You will need to generate a hash with node-red-admin
and type the hash-pw
command. The hash key you paste above in the field xxxhash key is pasted herexxxx (keep the ” ” signs and dont mess up the [ ] {} , stuff).
You will probably have to install the node-red-admin tools (google how to do that with npm) to be able to use node-red-admin
For the dashboard you do the same procedure but you now un-comment this line
httpNodeAuth: {user:"user",pass:"xxxxdashboard hash key is pasted herexxxx"},
Make sure to keep all commas etc!
If you are uncertain to what directory your rpi reads the settings.js file from, you can start the node-red with node-red-pi and look at the messages in the console. It will report the location and file it uses. Dont edit the wrong settings.js file … there are several installed on your pi it seems
Restart the node red
IMPORTANT! CLEAR THE CACHE of your web browser. If not you will not see the password on the editor and the dashboard, as node-red uses cache quite heavily. See https://support.mozilla.org/en-US/kb/how-clear-firefox-cache for how to clear Firefox cache
How to remote login to your raspberry pi via Windows native Remote Desktop Connection
How to remote login to your raspberry pi via Windows native Remote Desktop Connection:
https://www.maketecheasier.com/enabling-remote-desktop-access-on-raspberry-pi/
Logon to Raspberry PI via windows builtin remote desktop connection (XRDP) with Norwegian keymap
You can now logon to Raspberry PI via the windows builtin remote desktop connection! WIth XRDP there is no need for other software to be installed. However the Norwegian keymap is not there by default so your _ / @ keys etc may be messed up.
You need to edit your /etc/xrdp/xrdp_keyboard.ini file with
sudo nano /etc/xrdp/xrdp_keyboard.ini
Then add the lines marked in bold below. As far as there is a km-00000414.ini file in the /etc/xrdp/ folder you are good to go. The windows remote desktop client will send info that you use a norwegian keyboard when you log on and the XRDP service on Raspberry will use the correct keyboard mapping to X
Edited: xrdp_keyboard.ini file
;
; RDP Keyboard <-> X11 Keyboard layout map
;
; How this file works:
; 1. load the file and scan each section to find matching “keyboard_type”
; and “keyboard_subtype” based on the values received from the client.
; If not found, then jump to default section.
; 2. in the selected section, look for “rdp_layouts” and “layouts_map”.
; Based on the “keylayout” value from the client, find the right x11
; layout value.
; 3. model/variant are inferred based on the “keyboard_type” and
; “keyboard_subtype”, but they can be overridden.
;
;
; RDP Keyboard Type (http://msdn.microsoft.com/en-us/library/cc240563.aspx)
;
; 0 is not a valid value
;
; 1 – IBM PC/XT or compatible (83-key) keyboard
; 2 – Olivetti “ICO” (102-key) keyboard
; 3 – IBM PC/AT (84-key) or similar keyboard
; 4 – IBM enhanced (101- or 102-key) keyboard
; 5 – Nokia 1050 and similar keyboards
; 6 – Nokia 9140 and similar keyboards
; 7 – Japanese keyboard
;
; RDP Keyboard Subtype is vendor dependent. XRDP defines as follows:
;
; 0 is not a valid value
;
; 1 – Standard
; 2 – FreeRDP JP keyboard
; 3 – Macintosh
; … – < any vendor dependent subtype >
;
; The list can be augmented.
;
; default
[default]
; keyboard_type and keyboard_subtype is not read for default section. It
; is only a placeholder to keep consistency. Default model/variant are
; platform dependent, and could be overridden if needed.
keyboard_type=0
keyboard_subtype=0
; user could override variant and model, but generally they should be inferred
; automatically based on keyboard type and subtype
;variant=
;model=
; A list of supported RDP keyboard layouts
rdp_layouts=default_rdp_layouts
; The map from RDP keyboard layout to X11 keyboard layout
layouts_map=default_layouts_map
[default_rdp_layouts]
rdp_layout_us=0x00000409
rdp_layout_de=0x00000407
rdp_layout_fr=0x0000040C
rdp_layout_it=0x00000410
rdp_layout_jp=0x00000411
rdp_layout_jp=0xe0010411
rdp_layout_jp=0xe0200411
rdp_layout_jp=0xe0210411
rdp_layout_kr=0x00000412
rdp_layout_ru=0x00000419
rdp_layout_se=0x0000041D
rdp_layout_ch=0x00000807
rdp_layout_pt=0x00000816
rdp_layout_br=0x00000416
rdp_layout_pl=0x00000415
rdp_layout_no=0x00000414
; <rdp layout name> = <X11 keyboard layout value>
[default_layouts_map]
rdp_layout_us=us
rdp_layout_de=de
rdp_layout_fr=fr
rdp_layout_it=it
rdp_layout_jp=jp
rdp_layout_kr=kr
rdp_layout_ru=ru
rdp_layout_se=se
rdp_layout_ch=ch
rdp_layout_pt=pt
rdp_layout_br=br(abnt2)
rdp_layout_pl=pl
rdp_layout_no=no
; if two sections have the same keyboard_type and keyboard_subtype, then
; the latter could override the former.
[rdp_keyboard_mac]
keyboard_type=4
keyboard_subtype=3
rdp_layouts=default_rdp_layouts
layouts_map=rdp_layouts_map_mac
[rdp_keyboard_jp]
keyboard_type=7
keyboard_subtype=2
model=pc105
rdp_layouts=default_rdp_layouts
layouts_map=default_layouts_map
[rdp_layouts_map_mac]
rdp_layout_us=us
rdp_layout_de=de
rdp_layout_fr=fr
rdp_layout_jp=jp
rdp_layout_kr=kr
rdp_layout_it=it
rdp_layout_ru=ru
rdp_layout_se=se
rdp_layout_ch=ch
rdp_layout_pt=pt
rdp_layout_br=br(abnt2)
rdp_layout_pl=pl
Credit to this post where I found the info that solved it for me: https://www.raspberrypi.org/forums/viewtopic.php?t=181873
How to check for a NAN (Not A Number) in C++ in embedded systems without exception handlers
Sometimes there are bugs or special corner conditions that makes a NAN (Not A Number) occur in code compiled from a C++ source and executed on an embedded systems without memory to run exception handlers.
Here is what @Jalf writes over at StackExchange:
According to the IEEE standard, NaN values have the odd property that comparisons involving them are always false. That is, for a float f, f != f
will be true only if f is NaN.
Note that, as some comments below have pointed out, not all compilers respect this when optimizing code.
For any compiler which claims to use IEEE floating point, this trick should work.
If you inplement a function in a separate .cpp file , how do you access objects instantiated in main from functions implemented that file?
Sometimes there is a need to spread code into several .cpp files to avoid clutter (for example main.cpp, other1.cpp, other 2.cpp) . So if you implement a function in a separate .cpp file, how do you access objects instantiated in main?
Solution: use extern
other1.cpp: extern ObjectType objectname void doSomething (void) { objectname.method(); }
Of course this is very basic stuff, but many new programmers ask about this so I included a short post about this here.
IRIDIUM SATCOM enabling your next IoT / Arduino / microcontroller project
Rock Seven has launched a board that takes care of the PSU and antenna requirements to support the Iridium 96090 module https://www.iridium.com/products/iridium-9602/
http://www.rock7mobile.com/products-rockblock.php?gclid=EAIaIQobChMI1ZWSqv2C3gIVRawYCh2DBQ7eEAAYASAAEgI3vfD_BwE
This enables fast time to market and coverage in remote areas on customers IoT devices.
ZUMspot + Pi-Star setup guide
If you are looking for a Zumstar + PiSpot setup guide for DMR, then KC6N has made a great tutorial that is available here as a .PDF: https://www.hamdigitaal.nl/download/algemene-informatie/ZumSpot_Pistar_KC6N_20180605.pdf Full credit goes to KC6N, I have taken the liberty to link to the site where this document is available to help other amateur radio ops get on the air with their hotspot setup.
LDG AT-100PROII max C / max L
LDG does not specify either max C or max L of their antenna tuners in the “pro” series. They specify a vague “it can tune 1000 ohms”. This basically means nothing as no frequency is given and it is not given if they mean R or X or Z by “1000 ohms”. There is also no service manual or schematic available. Very disappointing from a serious (?) supplier.
Well, since LDG doent specify anything, I have measured it.
The LDG AT-100PROII is a series L, shunt C configuration.
Min L is 3uH, max L is 11,8uH
Min C is 85pF, max C is 250 pF
This is measured at 2MHz.
This shows that the capability of tuning an 2x20m doublet via “10-12m” of 590 ohm ladder line on 80m seems to be limited, and that tuning on 160m is very difficult.This is mainly due to limited Lmax. Also the limited Lmax gives limitations on other bands as well. Having the proper length of transmission line is important to overcome this limitations. You MAY also use a 4:1 or 9:1 balun. However it is important that the balun does have a very low loss. (Otherwise you you end up with a good SWR but poor efficiency).
Too low power Modification for ICOM IC-7100
I recently bought a second hand Icom IC-7100 HF radio for a reasonable price. This radio is known for a very conservative approach to internal ALC on the power output. This causes the output power to not go above approx 75-80W (PEP) as measured on my LPA-100 wattmeter in PEP mode with 14,5V DC input. Of course, there is no need to overdrive any linear amplifier, however Icom engineers have probably overdone it a bit on the conservative side on this radio (?).
There are two published mods that are possible on this radio. I did only one of the mods that involves a jumper from C1509 to ground, because the other mod that involves a 10uF capacitor is reported to cause modulation issues on FM and AM.
The PEP output power increased from 75-80W PEP to approx 140-145W PEP (14,5V DC input). Note: PEP, not average. On a sidenote the peak to average ratio also improved. There is no need to have PEP output of more than 100-110W PEP by the way.
The mod is easy:
- Unplug the radio DC lead and all other leads incl. the antenna connector
- Use an antistatic mat and handlead
- Remove the back cover
- Locate the C1509 and the ground lug
- Solder a small jumper from the C1509 to the ground lug
- Check carefully that you didn’t spill any solder residue on the PCB
- Blow with compressed air to remove any residue
- Close the radio
I did also upgrade the firmware to :
- CPU 1.11
- DSP 1.03
The firmware upgrade did have a small but insignificant effect on the PEP output power according to what I found. The hardware mod, did have a signficant impact as the DSP is led to believe that the output power is lower than it is.
Disclaimer:
- All mods are done on your own risk!
- You may void the warranty of your radio if carrying out this mod
- I will not be held responsible for any problems, malfunctions, defects, indirect consequences or any other issues caused by the mod
- Do at all times follow the license regulations of your country
- Check that your bandwidth is not excessive
- Check that your harmonic content is well below maximum allowed