Um sicherzustellen, dass der Mikrocontroller auch wirklich Daten sendet und ordnungsgemäß funktioniert, wollen wir mithilfe eines HackRF One das Funkspektrum analysieren.
Der HackRF One ist ein Software Defined Radio (SDR), welches eine breitbandige Analyse des Elektromagnetischen Spektrums zwischen 1 MHz und 5 GHz erlaubt. Nicht nur das Empfangen, sondern auch das Senden von Daten über den genannten Bereich ist (ggf. mit entsprechender Lizenz) möglich.
Zur Auswertung und Visualisierung des Funkspektrums wird das Programm GQRX verwendet.
Da die SMA Antenne für den HackRF benötigt wird, verwenden wir die beim CubeCell mitgelieferte Antenne(?)/ Antennengewinde
Versuchsaufbau:
Für die Messung Stellen wir eine Empfangsfrequenz nahe der 868 MHz ein. Auf den Mikrocontroller wird das Programm TxPowerTest.ino geladen:
#include"LoRaWan_APP.h"#include"Arduino.h"#define RF_FREQUENCY 868000000 // Hz
#define TX_OUTPUT_POWER 20 // 20 dBm
#define TX_TIMEOUT 10 // seconds (MAX value)
static RadioEvents_t RadioEvents;
voidOnRadioTxTimeout( void )
{
// Restarts continuous wave transmission when timeout expires
Radio.SetTxContinuousWave( RF_FREQUENCY, TX_OUTPUT_POWER, TX_TIMEOUT );
}
voidsetup() {
// put your setup code here, to run once:
RadioEvents.TxTimeout = OnRadioTxTimeout;
Radio.Init( &RadioEvents );
Radio.SetTxContinuousWave( RF_FREQUENCY, TX_OUTPUT_POWER, TX_TIMEOUT );
}
voidloop() {
// put your main code here, to run repeatedly:
}
Messung:
Wie sich erkennen lässt gibt es einen deutlichen und starken Peak bei den im TxPowerTest.ino Programm festgelegten 868 MHz. Der Funkchip scheint also korrekt zu funktionieren und auch bei der beigelegten Antenne handelt es sich also tatsächlich um eine Antenne und nicht nur um ein Antennengewinde.
Wir vemuten deshalb, dass bei der Authentifizierung mit OTAA ein Fehler auftritt.