Uitbreiding van mijn SHF materiaal.
Af en toe , en als ik de kans krijg, breid ik mijn SHF spullen uit.
Wanneer de kans er is , moet je eigenlijk niet twijfelen , want ze worden zeldzaam.
Het kleine grut is goed tot 18 GHz
Uitbreiding van mijn SHF materiaal.
Af en toe , en als ik de kans krijg, breid ik mijn SHF spullen uit.
Wanneer de kans er is , moet je eigenlijk niet twijfelen , want ze worden zeldzaam.
Het kleine grut is goed tot 18 GHz
Volop terug in de software.
Mijn rotorbesturing werkt tot volle tevredenheid, maar er zijn nog twee probleemkes die ik opgelost wil zien :
1. De afhandeling van de TCP verbinding bij afsluiten .
2. Tijdens de rotorsturing kan ik niet de actuele positie terugsturen via TCP , dit komt omdat alles zich maar in één draadje ( thread) afspeelt , namelijk in de main.
Dus , ik ben nu aan de studie voor multithreading onder C .
Dit lukt aardig op mijn Intel/AMD machine voor een simpel programmaatje maar de RPI heeft een ARM processor en ik wist niet of er een library is voor die processor.
Na wat gezoek ( er is niet zoveel te vinden over multithreading met de RPI 4)
heb ik gevonden welke lib ik moet installeren in de RPI:
sudo apt-get install libpthread-stubs0-dev
Dankzij :https://gist.github.com/pvrego/7fd2610d0bf5ca063e63db6ab776e89c
Wat ge dan nog moet doen , is bij het compileren de volgende parameter meegeven in de syntax:
gcc -Wall -c -pthread "%f". ( Dit komt uit de Geany IDE)
Het is de -pthread dat belangrijk is !
En deze header insluiten in uw programma :
#include <pthread.h>
En ge kunt starten
Hieronder een klein voorbeeld van multithreading.
*******************************************************************************
#include <stdio.h>
#include <unistd.h> // posix library
#include <pthread.h>
void* myturn (void * arg)
{
for(int i=0;i < 8;i++)
{
sleep(1);
printf("My Turn ! %d\n",i);
}
return NULL;
}
void yourturn ()
{
for(int i=0;i < 3;i++)
{
sleep(2);
printf("Your Turn ! %d\n",i);
}
}
int main(int argc, char **argv)
{
pthread_t newthread;
pthread_create(&newthread , NULL , myturn , NULL);
yourturn();
pthread_join(newthread , NULL);
pthread_exit(NULL);
return 0;
}
en het resultaat:
en dit gebeurt er als de code niet juist is , m.a.w. geen threads.
***********************************************************************************
Weet niet of dit volledig is
ID# Name Designation IAU/aliases/other
------- ---------------------------------- ----------- -------------------
-2 Mariner 2 (spacecraft)
-3 Mars Orbiter Mission (MOM) (spacecr Mangalyaan
-5 Planet-C (spacecraft) VCO Akatsuki
-6 Pioneer 6 (spacecraft)
-8 Wind (spacecraft)
-12 LADEE (spacecraft)
-18 LCROSS Shepherd (spacecraft) SSC
-18900 LCROSS Centaur Impactor (spacecraft
-20 Pioneer 8 (spacecraft)
-21 SOHO (spacecraft)
-23 Pioneer 10 (spacecraft)
-24 Pioneer 11 (spacecraft)
-25 Lunar Prospector (LP) (spacecraft)
-28 JUICE (spacecraft)
-29 Stardust (bus) (spacecraft) NExT
-29900 Stardust (SRC) (spacecraft)
-30 Deep Space 1 (spacecraft) DS1 DS-1
-31 Voyager 1 (spacecraft)
-32 Voyager 2 (spacecraft)
-33 NEOS (spacecraft)
-37 Hayabusa 2 (spacecraft)
-39 Ouna (spacecraft)
-40 Clementine (spacecraft) DSPSE
-41 Mars Express (spacecraft) MEX
-47 Genesis (bus) (spacecraft)
-48 Hubble Space Telescope HST (spacecraft)
-49 Lucy (spacecraft)
-47900 Genesis (SRC) (spacecraft)
-53 Mars Odyssey (spacecraft)
-530 Mars Pathfinder (spacecraft) MPF
-55 Ulysses (spacecraft)
-61 Juno (spacecraft)
-62 EMM (spacecraft) Hope Emirates
-64 OSIRIS-REx (spacecraft) ORX
-65 MarCO-A (spacecraft) Wall-E
-66 MarCO-B (spacecraft) Eva
-70 Deep Impact IMPACTOR (spacecraft)
-74 Mars Reconnaissance Orbiter (spacec MRO
-75 OMOTENASHI (spacecraft)
-76 Mars Science Laboratory (spacecraft Curiosity MSL
-74900 MRO Centaur Stage (spacecraft)
-77 Galileo (spacecraft)
-78 DSCOVR (spacecraft) Triana
-79 Spitzer Space Telescope SST SIRTF (spacecraf
-82 Cassini (spacecraft)
-84 Phoenix (spacecraft)
-85 LRO (spacecraft)
-86 Chandrayaan-1 (spacecraft) CH1 CH-1
-92 ACE (spacecraft) Advanced Composition
-93 NEAR (spacecraft)
-95 TESS (spacecraft)
-96 Parker Solar Probe (spacecraft) SPP PSP
-98 New Horizons (spacecraft) NH New_Horizons
-111 ICE (spacecraft) ISEE-3
-121 BepiColombo (Spacecraft) MPO MMO
-125 ICPS (Spacecraft)
-130 Hayabusa (spacecraft) Muses-C
-135 DART (spacecraft)
-140 Deep Impact Flyby - EPOXI (spacecra EPOXI
-143 ExoMars16 TGO (spacecraft)
-144 Solar Orbiter (spacecraft) Solo
-150 Cassini Huygens (spacecraft)
-151 Chandra Observatory (spacecraft)
-152 Chandrayaan-2 (ORBITER spacecraft) CH2 CH-2
-153 Chandrayaan-2 (LANDER spacecraft) CH2 CH-2 Vikram
-155 Danuri (spacecraft) KPLO
-159 Europa Clipper (spacecraft)
-163 WISE (spacecraft)
-164 Lunar Flashlight (spacecraft) LFL
-165 WMAP (spacecraft)
-168 Mars2020 (spacecraft) Perserverance Ingenu
-170 James Webb Space Telescope (spacecr JWST
-176 GRAIL-SS Second Stage (spacecraft)
-177 GRAIL-A (spacecraft) Ebb
-178 Nozomi (spacecraft) Planet-B
-181 GRAIL-B (spacecraft) Flow
-182 NEA Scout (spacecraft)
-189 InSight (spacecraft)
-192 THEMIS-B (spacecraft) ARTEMIS-P1
-193 THEMIS-C (spacecraft) ARTEMIS-P2
-198 INTEGRAL (spacecraft)
-202 MAVEN (spacecraft)
-203 Dawn (spacecraft)
-204 CONTOUR-A (SPACECRAFT FRAGMENT)
-205 CONTOUR-B (SPACECRAFT FRAGMENT)
-206 CONTOUR-C (SPACECRAFT FRAGMENT)
-226 Rosetta (spacecraft)
-227 Kepler (spacecraft)
-234 STEREO-A (spacecraft) AHEAD
-235 STEREO-B (spacecraft) BEHIND
-234900 STEREO Third Stage (spacecraft)
-236 MESSENGER (spacecraft)
-248 Venus Express (spacecraft) VEX
-253 Opportunity (spacecraft) MER-B MER-1
-254 Spirit (spacecraft) MER-A MER-2
-344 Galileo Probe (spacecraft)
-486 Herschel Space Observatory (spacecr
-489 Planck Space Observatory (spacecraf
-490 Lucy Centaur RB Booster (spacecraft 2021-093B
-557 Spektr-R Observatory (spacecraft)
-610 Juno Centaur Stage (spacecraft)
-640 Infrared Space Observatory (spacecr ISO
-760 MSL Centaur Stage (spacecraft)
-1023 Artemis I (spacecraft) Orion EM-1
-1176 CAPSTONE (spacecraft)
-64090 Osiris-REx SRC (spacecraft)
-78000 Chang'e_5-T1_booster (spacecraft) WE0913A 2014-065B
-23230 ETS-6 (spacecraft) Kiku-6
-399080 Apollo 8 S-IVB (spacecraft)
-399090 Apollo 9 S-IVB (spacecraft)
-399100 Apollo 10 S-IVB (spacecraft)
-399101 Apollo 10 LM (spacecraft) Snoopy
-399110 Apollo 11 S-IVB (spacecraft)
-399120 Apollo 12 S-IVB (spacecraft)
-100836 Vela-2A (spacecraft) 1964-040A
-101361 LCS-1 (spacecraft) 1965-034C
-102770 Titan-3C RB (spacecraft) 1967-040F
-106197 IMP-7 (spacecraft) 1972-073A
-107964 Atlas-Agena_RB (spacecraft) 1975-055B
-108366 GOES-1 (spacecraft) 1975-100A
-108820 LAGEOS-1 (spacecraft) 1976-039A
-111353 FLTSATCOM 2 (spacecraft) 1979-038A
-112065 SBS-1 (spacecraft) 1980-091A
-112472 GOES-5 (spacecraft) 1981-049A
-113269 WESTAR-5 (spacecraft) 1982-058A
-113631 SATCOM-C5 (spacecraft) 1982-105A RCA-SATCOM
-113901 ASTRON (spacecraft) 1983-020A
-114050 GOES-6 (spacecraft) 1983-041A
-115993 AUSSAT-1 (spacecraft) 1985-076B OPTUS-A1
-116275 AUSSAT-2 (spacecraft) 1985-109C OPTUS-A2
-116292 1985-110B (spacecraft) SL-8_RB
-116908 AJISAI (spacecraft) 1986-061A
-119548 TDRS-3 (spacecraft) 1988-091B
-120452 NAVSTAR-18 (spacecraft) 1990-008A
-122087 AUSSAT-B1 (spacecraft) 1992-054A OPTUS-B1
-122195 LAGEOS-2 (spacecraft) 1992-070B
-122911 Solidaridad-1 (spacecraft) 1993-073A
-122927 Telstar-401 (spacecraft) 1993-077A
-123051 GOES-8 (spacecraft) 1994-022A
-123227 AUSSAT-B3 (spacecraft) 1994-055A OPTUS-B3
-123553 AMSC-1 (spacecraft) 1995-019A
-123581 GOES-9 (spacecraft) 1995-025A
-123754 Echostar-1 (spacecraft) 1995-073A
-123846 MSAT-1 (spacecraft) 1996-022A
-124313 Echostar-2 (spacecraft) 1996-055A
-124720 HALCA (spacecraft) Muses-B 1997-005A Haruka VSO
-124786 GOES-10 (spacecraft) 1997-019A
-125126 HGS-1 (spacecraft) Asiasat-3 1997-086A PAS-22
-125544 International Space Station (spacec 1998-067A ISS
-125789 QuikSCAT (spacecraft) 1999-034A
-125989 XMM-Newton (spacecraft) 1999-066A
-125994 TERRA (spacecraft) EOS-1 1999-068A
-126352 GOES-11 (spacecraft) 2000-022A
-126402 Echostar-6 (spacecraft) 2000-038A
-126407 NAVSTAR-48 (spacecraft) 2000-040A
-126619 EO-1 (spacecraft) 2000-075A
-126639 AMC-8 (spacecraft) GE-8 2000-081B
-126824 Intelsat-901 (spacecraft) 2001-024A
-126871 GOES-12 (spacecraft) 2001-031A
-127391 GRACE-1 (spacecraft) 2002-012A
-127424 Aqua (spacecraft) 2002-022A
-127783 GALEX (spacecraft)
-128376 Aura (spacecraft) 2004-026A
-128378 Anik-F2 (spacecraft) 2004-027A
-128485 Swift Observatory (spacecraft) 2004-047A
-128868 Anik-F1R (spacecraft) 2005-036A
-128884 Galaxy-15 (spacecraft) 2005-041A
-129107 Cloudsat (spacecraft) 2006-016B
-129494 DirecTV-9S (spacecraft) 2006-043A
-129520 XM-4 (spacecraft) 2006-049A
-132487 Thor-5 (spacecraft) 2008-006A Thor-2R
-132763 ICO_G-1 (spacecraft) DBSD G1 2008-016A Echostar G
-133105 Jason-2 (spacecraft) 2008-032A
-133207 Echostar-11 (spacecraft) 2008-035A
-134381 Kepler Booster (Third Stage) (space
-135491 GOES-14 (spacecraft) 2009-033A
-136032 NSS-12 (spacecraft) 2009-058A
-136395 Solar Dynamics Observatory (spacecr 2010-005A SDO
-136499 Echostar-14 (spacecraft) 2010-010A
-137218 SKYTERRA-1 (spacecraft) 2010-061A
-137820 Tiangong-1 (spacecraft) 2011-053A
-138250 BEIDOU-M3 (spacecraft) 2012-018A
-138358 NuSTAR (spacecraft) 2012-031A SMEX-11
-138551 Echostar-17 (spacecraft) 2012-035A
-138833 NAVSTAR-67 (spacecraft) 2012-053A
-139089 NEOSsat (spacecraft) 2013-009D
-139166 NAVSTAR-68 (spacecraft) 2013-023A
-139459 Chang'e_3_booster (spacecraft) 2013-070B
-139479 Gaia (spacecraft)
-140059 OCO-2 (spacecraft) 2014-035A
-140376 SMAP (spacecraft) 2015-003A
-140482 MMS-1 (spacecraft) 2015-011A
-140483 MMS-2 (spacecraft) 2015-011B
-140484 MMS-3 (spacecraft) 2015-011C
-140485 MMS-4 (spacecraft) 2015-011D
-140663 DirecTV-15 (spacecraft) 2015-026A
-140947 2015-056B (spacecraft)
-141043 LISA Pathfinder (spacecraft) LPF
-141240 Jason-3 (spacecraft) 2016-002A
-141748 Intelsat-33E (spacecraft) 2016-053A
-143205 SpaceX Roadster (spacecraft) Tesla Starman
-143241 GSAT-6A (spacecraft) 2018-027A
-143846 Chang'e_4_booster (spacecraft) 2018-103B
-999742 LISA Pathfinder Propulsion Module ( PRM
9901489 2018_AV2 (spacecraft)
9901490 9O0DC57 (spacecraft)
9901885 9U01FF6 (spacecraft)
-9901491 Tianwen-1 (spacecraft)
Een nieuw begin brengt altijd gedachten naar boven .
Ik heb eens gekeken welke zo de " hot" topics waren de laatste 12 maanden en ook sinds de start van deze blog
12 maanden :
Weerbalonnen waren erg in trek , dan een reparatie van een TS440S en op 3 een vleermuisdetector , raar
Sinds de start:
Hier is vast een liefhebber van de schepen regelmatig aktief , gevolgd door de data van de Amroh 402 spoel en een verwijzing naar Websdr's
Zoals al eerder beloofd , een test gedaan met een P2P verbinding in " real life" situatie.
Samengevat : teleurstellend!
Zolang open veld , lukt het aardig maar als er bomen aan te pas komen in het bos gaat de demping zeer snel de hoogte in en er staan nog geen bladeren aan de takken !
Ik had een oled display aan mijn "mobiel" LoRa bordje verbonden en het vaste bordje zond op regelmatige basis een bericht . In dit bericht had ik een teller laten oplopen zodat ik aan de RX kant kon zien of er nieuwe berichten binnenkwamen .
Ook werd de RSSI uitgelezen zodat ik een idee had van de sterkte van het signaal.
De "mobiele" rx in een bokaal ondergebracht.
Voorlopig is dit de laatste test met LoRa . We gaan ons eerst verder herbronnen.
Tijdens deze twee mistige dagen kreeg ik geen enkel packet dppr naar de gateway in Terneuzen
Waarom weet ik niet , maar de zon schijnt hier terug en het werkt weer.
Nochtans was ik mobiel tot in Axel gereden en toch nog geen verbinding.Misschien werkzaamheden aan de gateway ?
Enfin , het werkt terug. En deze keer niet op alkaline batterijen maar op deLiPo batterij.
Ondertussen ook nog het volgend javascript ingevuld onder " payload formatters/uplink"
Javascript voor de uplink
function Decoder(bytes,port ){
var result = "";
for ( var i = 0; i < bytes.length; i++) {
result +=(String.fromCharCode(bytes[i]));
}
return{text:result};
}
Hiermee kan je de hexadecimale code die je ziet in de "Live Data" van de GW omzetten naar leesbare tekst.
Eens benieuwd wanner de verbinding terug verbreekt.
Het leuke aan al die bordjes is dat je ze kunt stapelen .
Zo zijn er ook batterij-bordjes die op de stapel kan bijgevoegd worden .
Dit bordje kan dan uw LiPo batterij laden via een USB connectie en ondertussen blijven werken (denk ik toch).
De batterij die ik heb is een 18650 model.Deze heeft een juiste spanning voor de bordjes ( nominaal ca 3.3 V) en de batterijspanning kan voor een LiPo bij volledige oplading wel tot 4.2 V gaan maar is nominaal ca 3.7V
Gelukkig zit er op de Wemos een low drop spanningsregulator zodat de 3.3 V verzekerd is:
Datasheet van de ME6211 low drop :
https://github.com/Edragon/Datasheet/blob/master/Microne/ME6211.pdf
De dropout spanning is slechts 100 mV !
Dit is het bordje :
En hier mijn proefopstelling
Een opmerking:
De meegeleverde connectors waren met een verkeerde polariteit !
Gelukkig in tijds gezien en met een pinnetje kun je de weerhaak naar beneden duwen en de draadjes omwisselen.
Ook heb ik de batterijhouder aangepast want de veer was niet sterk genoeg om de plus pool tegen de lip te houden. Door een M3 boutje als stelschroef te gebruiken kan ik de cel opspannen !
Een lintje rondom de cel vergemakkelijkt het uitnemen van de cel ( nadat de stelschroef is teruggedraaid).
De test tussen twee bordjes is toch opgeschoven . Ik had vastgesteld dat geen enkel van mijn " rubber ducky" antennes goed werkte op 868 MHz . Dit heb ik vastgesteld met mijn nanoVNA.
Daarom , tijdelijk, een bordje in een glazen pot gestoken en meteen ook een GP antenne op maat gemaakt.
Vier batterijen erbij van 1.5 V en enkele diodes in serie gezet om de spanning naar beneden te halen .Ik had gezien dat de spanningsregulator op het Wemos bordje max 6V kon verdragen , daarom de spanning wat verlaagt.Uiteindelijk gebruikt het bordje zelf geen 5V en ook de LoRa module niet , die werken allemaal op 3V3.
![]() |
| De opstelling op het venstertablet 1m agl |
![]() |
| De packets |
![]() |
| De identifikatie van de Gateway |
Hierboven is ook te zien wat mijn RSSI is , nl -113dBm en een SNR van -4.
Dwz dat er nog wat "rek" op zit en ik misschien nog verder kan .De hoogte van 60 m is natuurlijk in mijn voordeel.
Een tweede bordje samengestoken en deze met elkaar laten " babbelen".
Het gebruikte voorbeeld is weer zoals reeds gebruikt in aflevering 4:
![]() |
| Het berichtenverkeer |
![]() |
| Wat er te zien is op de SDR stick. |
Als tweede test was de vraag of ik een ABP ( Activation By Personalisation ) verbinding kon opstellen en dit terechtkrijgen op LoraWan bij The Things Network.
Daarvoor moet je eerst een account aanmaken en ook een applicatie.
Ik beperk mij tot een link naar daar, er zijn wel YT filmpjes genoeg om dit te bewerkstelligen.
https://www.thethingsnetwork.org/
Het is natuurlijk met hetzelfde boardje dat we dit gaan doen ( ik heb trouwens geen ander) , en daarvoor moet er natuurlijk een nieuwe sketch ingeladen worden.
De library die we gaan gebruiken zit natuurlijk op Github en wel op deze link:
https://github.com/mcci-catena/arduino-lmic
Het is een verbeterende versie van de nu niet meer ondersteunde arduino-lmic versie van Mathijs Kooijman omdat nu ook mcci ondersteunt wordt en niet enkel lmic.
Lees zekers ook het READM.MD bestand , zekers als je een ander boardje gebruikt als mij.
Installatie :
Haal het ZIP bestand over en zet dit bijv in de Downloads map.
Doe de IDE open van Arduino en dan <Sketch> <Include Library> < Add .ZIP library>
Haal het zip bestand uit Downloads en de IDE zal deze installeren . Onderaan het venster kunt ge dit volgen of het gelukt is.
Daarna de sketch overhalen:
< File> <Examples> en dan helemaal onderaan bij <" Examples from custom libraries > kiest ge "MCCI LoRaWan MMCI library" en daaronder dan uiteindelijk " ttn-abp"
Als de sketch open is moeten er een paar lijnen veranderd worden :
1: de NWKSKEY , de network session key
Vul hierin de verkregen key die ge bij The Things Network ( verder TTN genoemd)
gekregen hebt. Maak dat ze in hexadecimale notatie staat ( bv 0x23, 0x1A ...) en dat ze als MSB first staat. Dit alles is te kiezen bij TTN
Ge krijgt dan zoiets als:
2: de APPSKEY , de application session key
zelfde verhaal , goed zetten kopiëren en plakken
3: de DEVADDR , de end-device adres
ietsjes anders , slechts éénmaal 0x vooraan en dan de key:
DEVADDR = 0x11223344 ; ( dit is een fiktief adres !)
Het volgende is ook zekers van belang, namelijk de pinbelegging:
Met deze pinbelegging schijnt het te werken .
Als laatse , maar zekers niet het minst onbelangrijk is nog het bandplan instellen .
Deze is te vinden onder het volgend path
/Arduino/libraries/arduino-lmic-master/project_config/ en het is dit bestand dat gewijzigd moet worden :
lmic_project_config.h
en bevat hetvolgende:
// project-specific definitions
#define CFG_eu868 1
//#define CFG_us915 1
//#define CFG_au915 1
//#define CFG_as923 1
// #define LMIC_COUNTRY_CODE LMIC_COUNTRY_CODE_JP /* for as923-JP; also define CFG_as923 */
//#define CFG_kr920 1
//#define CFG_in866 1
#define CFG_sx1276_radio 1
//#define LMIC_USE_INTERRUPTS
Maak dat #define CFG_eu868 1 zonder commentaartekens staan ( // ) alsook
#define CFG_sx1276_radio 1
Het resultaat is voor een volgende aflevering.
Nu komt het echte werk.
We gaan proberen om enkele LoRa packets te verzenden .
Als handleiding heb ik volgende YT filmpje gevolgd. Althans voor een deel , want er waren wat probleempjes die we moesten oplossen .
https://www.youtube.com/watch?v=tO1hYr6hNa4
Op mijn SDR stick zie ik het volgende:
De horizontale strepen zijn de packets ( chirps) van het LoRa boardje.
Test 1 geslaagd !