ruessel
Beiträge: 10475

DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

Heltec hat vor einigen Monaten die dritte Version vom LoRa32 Board veröffentlicht. Beim neuen LoRa32 V3 hat Heltec einige Änderungen an der Hardware vorgenommen. So besitzt die Version 2 den bekannten SX1276 LoRa Chip von Semtech. Mit Version 3 wurde dieser durch einen SX1262 (ebenfalls von Semtech) ersetzt. Diese Änderung führt dazu, dass praktisch fast alle Projekte mit LoRaWAN nicht mehr funktionieren, da Projekte für das V2 Board überwiegend die LMIC-Library als Basis für LoRaWAN nehmen. Die LMIC-Librarys bieten aktuell aber keine Unterstützung für den SX1262 und ein Einstieg in LoRaWAN ist somit komplizierter geworden.

Für mich ist WLAN erst einmal nicht so interessant, ich möchte selber testen wie weit die Module reichen - mit DIY Antennen oder auf anderen Frequenzen. Dafür gab es fertige Skripte wie "LoRa Sender & LoRa Empfänger". Ich habe sehr viele aus dem Netz ausprobiert, es funktionieren nur sehr wenige, die funktionieren, da bleibt das eingebaute OLED aber dunkel - die Anschlüsse wurden in V3 auch geändert.
Heltec selber hat ein Demo veröffentlicht, dieses habe ich sehr stark gekürzt und auch ein wenig verbessert (LED Kontrolle). Dieses läuft nun als Reichweitentester auf Version 3 einwandfrei.

DSC_3273.jpg

Ich habe das Skript "PingPong" genannt, es funktioniert auch so. Wird der Baustein mit Spannung versorgt, horcht er 2 Sekunden auf der Frequenz nach einem Sender, hört er etwas, nimmt er die Botschaft auf und legt einen Zähler dazu. Hört er in den 2 Sekunden nix, wird er selber ein Sender und startet seine Botschaft mit dem Zählerstand 1.
Damit kann ein Baustein zu Hause bleiben, den anderen nimmt man(n) z.B. mit in das Auto und fährt los. Ich habe dafür noch ein LED-Flash einprogrammiert, jedes mal wenn eine Botschaft eintrifft und Fehlerfrei gelesen konnte, blitzt eine LED weiß hell auf, für 0,1 Sekunden. Da jede Sekunde eine Botschaft gesendet wird, blitzt logischerweise im Auto immer eine LED im Sekundentakt. blitzt nix mehr, bin ich ausser der Reichweite! So braucht man noch nicht einmal das OLED abzulesen.
Das OLED zeigt außerdem die Empfangsstärke des Gegenempfänger an, sowie seine eigene Empfangsqualität. Das war es eigentlich auch schon. Hat alles was ich mir im Moment vorstelle.

Im Skript habe ich noch alles wichtige als Kommentar hinterlegt. Zum Beispiel die Nachricht die versendet wird, ich habe ein Baustein mit "Hallo", den anderen mit "Ahoi" versehen. So lassen sich die Module leicht unterscheiden. Wichtig wenn verschiedene Sendeleistung programmiert wurde.

Hier mein Skript das nur mit V3 funzt:

Code: Alles auswählen

/*
 * LoRa_32 PingPong Test 
 * c2023 Ruesseltechnik
*/

#include "Arduino.h"
#include "LoRaWan_APP.h"
#include <Wire.h>  
#include "HT_SSD1306Wire.h"
/********************************* lora  *********************************************/
#define RF_FREQUENCY                                868000000 // Hz - auf angepasster Antenne achten!! Zerstörungsgefahr!!!

#define TX_OUTPUT_POWER                             5        // dBm max.21!! Erlaubt max. in DE - 14

#define LORA_BANDWIDTH                              0         // [0: 125 kHz, - größte Reichweite, langsamste Übertragung.
                                                              //  1: 250 kHz,
                                                              //  2: 500 kHz,
                                                              //  3: Reserved]
                                                              
#define LORA_SPREADING_FACTOR                       7         // [SF7..SF12]Pegel, die durch das SNR (Signal Noise Ratio)noch identifiziert werden. SF7: -123 dBm, SF12: -137 dBm

#define LORA_CODINGRATE                             1         // [1: 4/5, Je kleiner die Codierungsrate ist (die kleinste ist 4/8), desto höher ist die On-Air-Zeit bei einer Übertragung, damit deutlicher.
                                                              //  2: 4/6,
                                                              //  3: 4/7,
                                                              //  4: 4/8]
                                                              
#define LORA_PREAMBLE_LENGTH                        8         // Es bedeutet, dass alle 4 Nutzbits je nach Wert durch 5, 6, 7 oder 8 Übertragungsbits codiert werden.  
                                                              
                                                              
#define LORA_SYMBOL_TIMEOUT                         0         // Bei Empangsabbruch die Zeit den Empfänger schlafen zu legen
#define LORA_FIX_LENGTH_PAYLOAD_ON                  false
#define LORA_IQ_INVERSION_ON                        false

#define RX_TIMEOUT_VALUE                            1000
#define BUFFER_SIZE                                 30 // Definiere die zu übertragende Datengröße
char txpacket[BUFFER_SIZE];
char rxpacket[BUFFER_SIZE];

static RadioEvents_t RadioEvents;
void OnTxDone( void );
void OnTxTimeout( void );
void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr );

typedef enum
{
    LOWPOWER,
    STATE_RX,
    STATE_TX
}States_t;

int16_t txNumber;
int16_t rxNumber;
States_t state;
bool sleepMode = false;
int16_t Rssi,rxSize;

String rssi = "RSSI --";
String packSize = "--";
String packet;
String send_num;
String show_lora = "Empfange Daten:";

unsigned int counter = 0;
bool receiveflag = false; // Software Flag für LoRa Empfänger, empfangene Daten machen es "wahr"
long lastSendTime = 0;        // Letzte Sendezeit
int interval = 1000;          // Interval zwischen zwei Sendungen
uint64_t chipid;
int16_t RssiDetection = 0;


void OnTxDone( void )
{
	Serial.print("TX done......");
	state=STATE_RX;

}

void OnTxTimeout( void )
{
  Radio.Sleep( );
  Serial.print("TX Timeout......");
	state=STATE_TX;
}

void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr )
{
	rxNumber++;
  Rssi=rssi;
  rxSize=size;
  memcpy(rxpacket, payload, size );
  rxpacket[size]='\0';
  Radio.Sleep( );
  Serial.printf("\r\nreceived packet \"%s\" with Rssi %d , length %d\r\n",rxpacket,Rssi,rxSize);
  Serial.println("Warte um naestes Paket zu senden");
	receiveflag = true;
  state=STATE_TX;
}


void lora_init(void)
{
  Mcu.begin();
  txNumber=0;
  Rssi=0;
  rxNumber = 0;
  RadioEvents.TxDone = OnTxDone;
  RadioEvents.TxTimeout = OnTxTimeout;
  RadioEvents.RxDone = OnRxDone;

  Radio.Init( &RadioEvents );
  Radio.SetChannel( RF_FREQUENCY );
  Radio.SetTxConfig( MODEM_LORA, TX_OUTPUT_POWER, 0, LORA_BANDWIDTH,
                                 LORA_SPREADING_FACTOR, LORA_CODINGRATE,
                                 LORA_PREAMBLE_LENGTH, LORA_FIX_LENGTH_PAYLOAD_ON,
                                 true, 0, 0, LORA_IQ_INVERSION_ON, 3000 );

  Radio.SetRxConfig( MODEM_LORA, LORA_BANDWIDTH, LORA_SPREADING_FACTOR,
                                 LORA_CODINGRATE, 0, LORA_PREAMBLE_LENGTH,
                                 LORA_SYMBOL_TIMEOUT, LORA_FIX_LENGTH_PAYLOAD_ON,
                                 0, true, 0, 0, LORA_IQ_INVERSION_ON, true );
	state=STATE_TX;
}


/********************************* lora  *********************************************/

SSD1306Wire  factory_display(0x3c, 500000, SDA_OLED, SCL_OLED, GEOMETRY_128_64, RST_OLED); // addr , freq , i2c group , resolution , rst

bool resendflag=false;
bool deepsleepflag=false;
bool interrupt_flag = false;
void interrupt_GPIO0()
{
	interrupt_flag = true;
}
void interrupt_handle(void)
{
	if(interrupt_flag)
	{
		interrupt_flag = false;
		if(digitalRead(0)==0)
		{
			if(rxNumber <=2)
			{
				resendflag=true;
			}
			else
			{
				deepsleepflag=true;
			}
		}
	}

}
void VextON(void)
{
  pinMode(Vext,OUTPUT);
  digitalWrite(Vext, LOW);
  
}

void VextOFF(void) //Vext default OFF
{
  pinMode(Vext,OUTPUT);
  digitalWrite(Vext, HIGH);
}
void setup()
{
	Serial.begin(115200);
	VextON();
	delay(100);
	factory_display.init();
	factory_display.clear();

	chipid=ESP.getEfuseMac();//Die Chip-ID ist im Wesentlichen seine MAC-Adresse (Länge: 6 Bytes).
	Serial.printf("ESP32ChipID=%04X",(uint16_t)(chipid>>32));//print High 2 bytes
	Serial.printf("%08X\n",(uint32_t)chipid);//print Low 4bytes.

	attachInterrupt(0,interrupt_GPIO0,FALLING);
	lora_init();
	packet ="Warte auf Datenempfang!";
  factory_display.drawString(0, 10, packet);
  factory_display.display();
  delay(100);
  factory_display.clear();
	pinMode(LED ,OUTPUT);
	digitalWrite(LED, LOW);  
}


void loop()
{
interrupt_handle();
 if(deepsleepflag)
 {
	VextOFF();
	Radio.Sleep();
	SPI.end();
	pinMode(RADIO_DIO_1,ANALOG);
	pinMode(RADIO_NSS,ANALOG);
	pinMode(RADIO_RESET,ANALOG);
	pinMode(RADIO_BUSY,ANALOG);
	pinMode(LORA_CLK,ANALOG);
	pinMode(LORA_MISO,ANALOG);
	pinMode(LORA_MOSI,ANALOG);
	esp_sleep_enable_timer_wakeup(600*1000*(uint64_t)1000);
	esp_deep_sleep_start();
 }

 if(resendflag)
 {
	state = STATE_TX;
	resendflag = false;
 }

if(receiveflag && (state==LOWPOWER) )
{
	receiveflag = false;
	packet ="Inhalt:";
	int i = 0;
	while(i < rxSize)
	{
		packet += rxpacket[i];
		i++;
	}
	packSize = "R_Size: ";
	packSize += String(rxSize,DEC);
	packSize += " R_rssi: ";
	packSize += String(Rssi,DEC);
	send_num = "Sende Nummer: ";
	send_num += String(txNumber,DEC);
	factory_display.drawString(0, 0, show_lora);
  factory_display.drawString(0, 10, packet);
  factory_display.drawString(0, 20, packSize);
  factory_display.drawString(0, 50, send_num);
  factory_display.display();
  delay(10);
  factory_display.clear();
}

switch(state)
  {
    case STATE_TX:
      delay(1000);
      txNumber++;
      sprintf(txpacket,"Ahoi %d,Rssi:%d",txNumber,Rssi); // Sendenachricht die verschickt wird, hier ein freundliches Ahoi!
      Serial.printf("\r\nsending packet \"%s\" , length %d\r\n",txpacket, strlen(txpacket));
      Radio.Send( (uint8_t *)txpacket, strlen(txpacket) );
      state=LOWPOWER;
      break;
    case STATE_RX:
      Serial.println("into RX mode");
      Radio.Rx( 0 );
      digitalWrite(LED, HIGH);
       delay(100);
   digitalWrite(LED, LOW);
      state=LOWPOWER;
      break;
    case LOWPOWER:
      Radio.IrqProcess( );
      break;
    default:
      break;
  }
}
Bei Zeiten könnte diese Spielerei ausgebaut werden, z.b. mit GPS Daten etc.
Ziel könnte auch sein über lange Distanzen Kameras zu steuern.
Gruss vom Ruessel
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

Hier ein recht neues Video, dass sehr ausführlich zeigt, wie man V3 programmiert. Traut euch, ist keine Raketenwissenschaft!

Gruss vom Ruessel



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

DSC_3285.jpg

Mit einem LiPo wird die Sache mobil. Für diesen Akku habe ich gerade 5,- EUR ausgegeben, habe gleich eine Nummer größer genommen, kleiner (1000 mAh) wird nicht günstiger.
Beim Akku kauf auf PH1.25 achten, das ist der Steckeranschluß - hier ist er winzig - eben 1,25mm Abstand der Kontakte.
Das Modul läuft sofort an, stecke ich 5V USB an, wird der Akku geladen, dies zeigt eine LED in Orange an. Vielleicht wird sie bei vollem Akku grün?
Habe keine Ahnung.

Auch wie ich nun beim Laden des Akkus die Funktion des Sendens abschalten kann, ist mir ein Rätsel.

Beim Akku laden wird es warm.... ich messe 50 Grad auf der Platine!
Ich messe einen Stromverbrauch beim Laden von rund 480 mA.


P.S.
Ist der Akku voll, geht die orange LED einfach aus......
Gruss vom Ruessel
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

DSC_3286.jpg

Mein Tageswerk.
Akkuhalterung die auch den Baustein mit aufnimmt gedruckt, diese NoName Frischhaltedosen für je 1,65 EUR gekauft, Schalter und Antenne gebohrt, löten und Montage.
Dann habe ich nun das Skript noch geändert, auf möglichst hohe Reichweite. Heute ist auch meine Stationsantenne (+6dB) vom Chinesen gekommen, paßt natürlich nicht, brauche Adapter dazu.

Die Sendeleistung war bis heute auf 5dBm, ein Kurztest hatte so 150m Reichweite, nun habe ich voll aufgedreht (+22)...... demnächst mal schauen was das bringt. Akkus über Nacht aufladen, sollten um die 50 Stunden ohne Unterbrechung senden können - wenn der Aufdruck mit 3000 mAh stimmt, Chinesenware, meist nur echte 50% drin.

Frage: Was passiert wenn jetzt ein dritter Baustein mit dem selben Skript dazu kommt? Was wird dann angezeigt? Die Spiele sind eröffnet.
(eine Fernbedienung, 2 Kameras Ferngesteuert empfangen)
Gruss vom Ruessel
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

868.jpg
Im Spektrum sieht das Sendesignal so aus wie oben gezeigt. Reichweite ist so ein Ding für sich. Beide Teile mit der Stummelantenne auf freier Sicht um die 200-300 Meter, je nach Gelände.
Bin dann auf eine +5 dBi Antenne auf dem Dach gegangen (4 Meter über Grund) und mit Stummelantenne mit dem Auto losgefahren, nach 1.5 Km war Schluß. Nun habe ich eine weitere Chinesenantenne für 868 MHz bestellt (11,- Euro), mal schauen wie weit ich dann komme. Alle genannten Entfernungen im leicht bebauten Gebiet (keine Hochhäuser).
Gruss vom Ruessel
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

Gestern Abend kam noch die zweite +5dB Antenne vom Chinesenmann.

Statt gute 200 Meter nur mit Stummelantenne waren nun im leicht bebauten Gebiet über 3 Km Verbindung möglich, bevor der Zähler stehen blieb. Bei -118 dB Empfang war meist die Verbindung so schlecht, das der Prozessor noch Infos Empfang aber nicht mehr dekodieren konnte. Evtl. kann ich da was noch in der Software optimieren, noch weitere -10dB sollten drin sein.

Die Ausbreitung von 868 MHz ist manchmal etwas seltsam. Ich bin noch über freies unbebautes gefahren, auch da war nach ca. 3Km Luftlinie schluss. Aber auch je näher ich an die Autobahn gefahren bin, desto schlechter war die Verbindung, sogar bei nur 1 Km Entfernung brach die Verbindung zusammen, 50 Meter vor der Autobahn.
Die 10-30 Km sind meiner Meinung nach nur in Bayern von Berg zu Berg möglich. Im platten Land stören die Häuser..... mich würde noch der Baustein mit 433 MHz reizen, evtl. sind bei der Frequenz höhere Reichweiten drin, trotz Bebauung.

karte1.jpg
Gruss vom Ruessel
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.



pawihd
Beiträge: 2

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von pawihd »

Hi,
Danke für den Artikel und den Arduino Script.
Ich habe zwei V3 Module und möchte meine ersten Erfahrungen mit LoRa machen.
Ich wollte den Script ausführen und bin gleich über die unbekannte Libs "LoRaWan_App" und "HT_SSD1306Wire.h"gestolpert.
Ich finde diese nicht im Arduino IDE!?
Wo kann man die herunterladen?



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

Gruss vom Ruessel



pawihd
Beiträge: 2

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von pawihd »

Thanks for your links!
In the meantime i succeeded with the libraries when i downloaded the "Heltec WiFi LoRa 32 (V3)" board (sorry, i am somehow new to Arduino).

But now the compiler signals a lot of errors and stops e.g. at:
-------------------
Compilation error: no matching function for call to 'McuClass::begin()'
-------------------
It seems, something went terribly wrong!?
I would like to start again.
What would be the correct boardmanager URL and board?



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

Gruss vom Ruessel



Hansi857
Beiträge: 1

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von Hansi857 »

Hallo, ich bin neu hier im Forum.

Ich habe da ein Problem mit einem Heltec LoRa AB01(Gut und mit unter 20€ auch günstig)
Ich möchte so ein Ereignissmelder erstellen, und alles soll im Sleep Mode laufen. Der in der Bibliothek hinterlegten Beispiel Interrupt Sketch läuft wunderbar(Stromverbrauch gemessene 0,036mA, aufwachen und senden ins TTN läuft auch wunderbar)
Jetzt möchte ich das bei jeden auslösen bzw. bei jeder täglichen Statusmeldung, das die Batteriespannung mit gesendet wird, um den zustand der Batterie zu kontrollieren.
Hier der Sketch:


#include "LoRaWan_APP.h"
#include "Arduino.h"

/* OTAA para*/
uint8_t devEui[] = { 0x22, 0x32, 0x33, 0x00, 0x00, 0x88, 0x88, 0x02 };
uint8_t appEui[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
uint8_t appKey[] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x66, 0x01 };

/* ABP para*/
uint8_t nwkSKey[] = { 0x15, 0xb1, 0xd0, 0xef, 0xa4, 0x63, 0xdf, 0xbe, 0x3d, 0x11, 0x18, 0x1e, 0x1e, 0xc7, 0xda,0x85 };
uint8_t appSKey[] = { 0xd7, 0x2c, 0x78, 0x75, 0x8c, 0xdc, 0xca, 0xbf, 0x55, 0xee, 0x4a, 0x77, 0x8d, 0x16, 0xef,0x67 };
uint32_t devAddr = ( uint32_t )0x007e6ae1;

/*LoraWan channelsmask, default channels 0-7*/
uint16_t userChannelsMask[6]={ 0x00FF,0x0000,0x0000,0x0000,0x0000,0x0000 };

// The interrupt pin is attached to USER_KEY
#define INT_PIN USER_KEY

/* Application port */
#define DEVPORT 2
#define APPPORT 1

bool accelWoke = false;

/*LoraWan region, select in arduino IDE tools*/
LoRaMacRegion_t loraWanRegion = ACTIVE_REGION;

/*LoraWan Class, Class A and Class C are supported*/
DeviceClass_t loraWanClass = LORAWAN_CLASS;

/*the application data transmission duty cycle. value in [ms].*/
/*For this example, this is the frequency of the device status packets */
uint32_t appTxDutyCycle = (24 * 60 * 60 * 1000); // 24h;

/*OTAA or ABP*/
bool overTheAirActivation = LORAWAN_NETMODE;

/*ADR enable*/
bool loraWanAdr = LORAWAN_ADR;

/* set LORAWAN_Net_Reserve ON, the node could save the network info to flash, when node reset not need to join again */
bool keepNet = LORAWAN_NET_RESERVE;

/* Indicates if the node is sending confirmed or unconfirmed messages */
bool isTxConfirmed = LORAWAN_UPLINKMODE;

/* Application port */
uint8_t appPort = DEVPORT;
/*!
* Number of trials to transmit the frame, if the LoRaMAC layer did not
* receive an acknowledgment. The MAC performs a datarate adaptation,
* according to the LoRaWAN Specification V1.0.2, chapter 18.4, according
* to the following table:
*
* Transmission nb | Data Rate
* ----------------|-----------
* 1 (first) | DR
* 2 | DR
* 3 | max(DR-1,0)
* 4 | max(DR-1,0)
* 5 | max(DR-2,0)
* 6 | max(DR-2,0)
* 7 | max(DR-3,0)
* 8 | max(DR-3,0)
*
* Note, that if NbTrials is set to 1 or 2, the MAC will not decrease
* the datarate, in case the LoRaMAC layer did not receive an acknowledgment
*/
uint8_t confirmedNbTrials = 4;


/* Prepares the payload of the frame */
static bool prepareTxFrame( uint8_t port )
{
int head;
appPort = port;
switch (port) {
case APPPORT: // woke up from interrupt
Serial.println("Sending data packet");
appDataSize = 1;//AppDataSize max value is 64
appData[0] = 0xFF; // set to something useful
break;
case DEVPORT: // daily wake up
Serial.println("Sending dev status packet");
appDataSize = 1;//AppDataSize max value is 64
appData[0] = 0xA0; // set to something else useful
break;
}
return true;
}

void accelWakeup()
{
delay(10);
if(digitalRead(INT_PIN)==HIGH)
{
accelWoke = true;
}
}

void setup() {
Serial.begin(115200);
#if(AT_SUPPORT)
enableAt();
#endif
deviceState = DEVICE_STATE_INIT;
LoRaWAN.ifskipjoin();

accelWoke = false;
pinMode(INT_PIN,INPUT);
attachInterrupt(INT_PIN, accelWakeup, RISING);
Serial.println("Interrupts attached");
}

void loop()
{
if (accelWoke) {
uint32_t now = TimerGetCurrentTime();
Serial.print(now); Serial.println("accel woke");
}

switch( deviceState )
{
case DEVICE_STATE_INIT:
{
#if(LORAWAN_DEVEUI_AUTO)
LoRaWAN.generateDeveuiByChipID();
#endif
#if(AT_SUPPORT)
getDevParam();
#endif
printDevParam();
LoRaWAN.init(loraWanClass,loraWanRegion);
deviceState = DEVICE_STATE_JOIN;
break;
}
case DEVICE_STATE_JOIN:
{
LoRaWAN.join();
break;
}
case DEVICE_STATE_SEND:
{
prepareTxFrame( DEVPORT );
LoRaWAN.send();
deviceState = DEVICE_STATE_CYCLE;
break;
}
case DEVICE_STATE_CYCLE:
{
// Schedule next packet transmission
txDutyCycleTime = appTxDutyCycle + randr( 0, APP_TX_DUTYCYCLE_RND );
LoRaWAN.cycle(txDutyCycleTime);
deviceState = DEVICE_STATE_SLEEP;
break;
}
case DEVICE_STATE_SLEEP:
{
if (accelWoke) {
if (IsLoRaMacNetworkJoined) {
if(prepareTxFrame(APPPORT)) {
LoRaWAN.send();
}
}
accelWoke = false;
}
LoRaWAN.sleep();
break;
}
default:
{
deviceState = DEVICE_STATE_INIT;
break;
}
}
}
Kann mir dabei einer helfen, Das ich das hinbekomme?

LG in die Runde



Loobster
Beiträge: 9

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von Loobster »

Moin,

ich werde PingPong demnächst mal im Wald einsetzen, um zu sehen, wie weit die LoRa Funkwellen dort reichen. Danach werden dann die Nodes installiert, die für die weiter entfernten Nodes dann das Weiterrouting der Payload bis zum LoRaWAN GW übernehmen.



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

Wenn es geregnet hat, ist die Dämpfung extrem hoch..... am besten zu dieser Jahreszeit in den Mischwald gehen, die Blätter fallen und die Dämpfung nimmt ab ;-)

Das a + o ist die Antenne. Ich war letzte Woche bei einem Funkamateurtreffen, dort gab es Rundstrahl Antennen mit über 11 dB Leistungsgewinn - mehrfach gestockte 5/8 Antenne.
Gruss vom Ruessel



Frank Glencairn
Beiträge: 26509

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von Frank Glencairn »

Hansi857 hat geschrieben: Mi 14 Aug, 2024 15:01
Kann mir dabei einer helfen, Das ich das hinbekomme?

In der Methode accelWakeup(), könnte es zu Prellungen (Bounce) des Tasters/Schalters kommen, wenn der Interrupt ausgelöst wird. Ein Debounce-Mechanismus könnte sicherstellen, dass keine falschen Signale verarbeitet werden.

void accelWakeup()
{
static unsigned long lastInterruptTime = 0;
unsigned long interruptTime = millis();
if (interruptTime - lastInterruptTime > 200) { // 200ms debounce
if (digitalRead(INT_PIN) == HIGH) {
accelWoke = true;
}
}
lastInterruptTime = interruptTime;
}

Es gibt einige Bereiche, in denen Fehlerrückgaben überprüft werden sollten. Beispielsweise beim LoRaWAN.join(), könnte eine Rückmeldung implementiert werden, ob die Verbindung erfolgreich war oder nicht.

case DEVICE_STATE_JOIN:
{
if (LoRaWAN.join() == LORAWAN_STATUS_OK) {
Serial.println("Joined successfully");
} else {
Serial.println("Failed to join");
deviceState = DEVICE_STATE_INIT; // Rückkehr zum Init-Zustand
}
break;
}


Bei der Zuweisung von Daten wie den Schlüsseln (devEui, appEui, etc.) solltest du sicherstellen, dass der Mikrocontroller genügend RAM hat, um diese Arrays effizient zu verwalten. Bei vielen Schlüsseln könnte es bei kleineren Mikrocontrollern eng werden. Falls der Speicher knapp wird, kannst du in Erwägung ziehen, diese Daten im Flash-Speicher (PROGMEM) zu speichern, wenn sie sich nicht ändern.

Der delay(10) im accelWakeup()-Interrupt ist problematisch, da es die Ausführung des Codes blockiert. Interrupt-Handler sollten so kurz wie möglich sein. Ein besserer Ansatz wäre, die Verzögerung außerhalb des Interrupt-Handlers in der Hauptschleife (loop()) zu verarbeiten.

void accelWakeup()
{
accelWoke = true; // Setze nur das Flag
}

void loop()
{
static unsigned long lastWakeTime = 0;

if (accelWoke) {
if (millis() - lastWakeTime > 10) { // Simuliere Delay von 10ms
if (digitalRead(INT_PIN) == HIGH) {
uint32_t now = TimerGetCurrentTime();
Serial.print(now); Serial.println("accel woke");
}
accelWoke = false;
}
lastWakeTime = millis();
}

// Restlicher Code...
}
Sapere aude - de omnibus dubitandum



Loobster
Beiträge: 9

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von Loobster »

ruessel hat geschrieben: Fr 21 Jul, 2023 18:38 Heute ist auch meine Stationsantenne (+6dB) vom Chinesen gekommen, paßt natürlich nicht, brauche Adapter dazu.
Hast Du den Adapter bekommen ?

Wenn ja, wie heisst der Adapter und wo kann man ihn kaufen ?



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

Hast Du den Adapter bekommen ?
Ich weiß es nicht mehr. aber eine LoRa Stationsantenne habe ich auf meinem alten Haus gestellt und auch schon mal in Betrieb genommen, also müßte ich damals den Adapter gekauft haben. Funksachen kaufe ich meist bei https://hamradioshop.net/ (Bonito)

Ich wollte hier mal (der Gedanke keimt schon länger) eine LoRa Funkbarke (in Silikon vergossen) mit Solarspeisung im Dauertest draußen laufen lassen (einfach mal so machen, ob sowas 10 Jahre ohne Pflege durchhält???). Wäre schön, wenn der Signalinhalt das Aliennotsignal aus dem Film Alien beinhaltet. ;-) wäre eine coole Aktion. Nur habe ich mir den Film nochmal durchgezogen, mit Stopps in den Szenen...... konnte nix näheres zum Signal im Film finden.


Die KI sagt dazu:
Alien.png
Gruss vom Ruessel
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

Im Anhang etwas über LoRa Antennen......
Gruss vom Ruessel
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.



Loobster
Beiträge: 9

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von Loobster »

ruessel hat geschrieben: Sa 19 Okt, 2024 16:57 Im Anhang etwas über LoRa Antennen......
Danke dafür. Sehr interessant.



Loobster
Beiträge: 9

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von Loobster »

ruessel hat geschrieben: Fr 21 Jul, 2023 18:38 DSC_3286.jpg


Mein Tageswerk.
Akkuhalterung die auch den Baustein mit aufnimmt gedruckt, diese NoName Frischhaltedosen für je 1,65 EUR gekauft, Schalter und Antenne gebohrt, löten und Montage.
Dann habe ich nun das Skript noch geändert, auf möglichst hohe Reichweite. Heute ist auch meine Stationsantenne (+6dB) vom Chinesen gekommen, paßt natürlich nicht, brauche Adapter dazu.

Die Sendeleistung war bis heute auf 5dBm, ein Kurztest hatte so 150m Reichweite, nun habe ich voll aufgedreht (+22)...... demnächst mal schauen was das bringt. Akkus über Nacht aufladen, sollten um die 50 Stunden ohne Unterbrechung senden können - wenn der Aufdruck mit 3000 mAh stimmt, Chinesenware, meist nur echte 50% drin.

Frage: Was passiert wenn jetzt ein dritter Baustein mit dem selben Skript dazu kommt? Was wird dann angezeigt? Die Spiele sind eröffnet.
(eine Fernbedienung, 2 Kameras Ferngesteuert empfangen)
Ich sehe gerade, dass Du an der Tupperware-Box einen Kippschalter installiert hast. Wie wird der angeschlossen ?

Meine Antennen sind heute gekommen. Dann kann ich die beiden PingPonk Lora32 V3 morgen verdrahten. Danach wird dann getestet 😂

Danke für Deine Tipps.



Loobster
Beiträge: 9

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von Loobster »

ruessel hat geschrieben: Fr 21 Jul, 2023 18:38 DSC_3286.jpg


Mein Tageswerk.
Akkuhalterung die auch den Baustein mit aufnimmt gedruckt, diese NoName Frischhaltedosen für je 1,65 EUR gekauft, Schalter und Antenne gebohrt, löten und Montage.
Dann habe ich nun das Skript noch geändert, auf möglichst hohe Reichweite. Heute ist auch meine Stationsantenne (+6dB) vom Chinesen gekommen, paßt natürlich nicht, brauche Adapter dazu.

Die Sendeleistung war bis heute auf 5dBm, ein Kurztest hatte so 150m Reichweite, nun habe ich voll aufgedreht (+22)...... demnächst mal schauen was das bringt. Akkus über Nacht aufladen, sollten um die 50 Stunden ohne Unterbrechung senden können - wenn der Aufdruck mit 3000 mAh stimmt, Chinesenware, meist nur echte 50% drin.

Frage: Was passiert wenn jetzt ein dritter Baustein mit dem selben Skript dazu kommt? Was wird dann angezeigt? Die Spiele sind eröffnet.
(eine Fernbedienung, 2 Kameras Ferngesteuert empfangen)
Ich sehe gerade, dass Du an der Tupperware-Box einen Kippschalter installiert hast. Wie wird der angeschlossen ?

Meine Antennen sind heute gekommen. Dann kann ich die beiden PingPong Lora32 V3 morgen verdrahten. Danach wird dann getestet 😂

Danke für Deine Tipps.



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

Moin,

der Kippschalter verbindet nur den Akku Pluspol, ist also ein Ein- Ausschalter. Ja, beim Akkuladen muss der Schalter auf "Ein" sein.
Gruss vom Ruessel



Loobster
Beiträge: 9

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von Loobster »

ruessel hat geschrieben: Fr 21 Jul, 2023 18:38 DSC_3286.jpg

Frage: Was passiert wenn jetzt ein dritter Baustein mit dem selben Skript dazu kommt? Was wird dann angezeigt? Die Spiele sind eröffnet.
(eine Fernbedienung, 2 Kameras Ferngesteuert empfangen)
Alle 3 Heltec funktionieren. Es ist jetzt nur so, dass der 3. Baustein in die Kette mit aufgenommen wird. Der erste schickt und der zweite empfängt. Der zweite schickt und der dritte empfängt. Und dann schickt der dritte auch noch und der erste empfängt ;-)



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

Was ist Deine beste Entfernung bis jetzt gewesen?
Gruss vom Ruessel



Loobster
Beiträge: 9

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von Loobster »

ruessel hat geschrieben: Mo 11 Nov, 2024 12:46 Was ist Deine beste Entfernung bis jetzt gewesen?
Ich habe gerade in der letzten Woche meine beiden kleinen Gehäuse fertig gestellt (große Antenne eingebaut, Schalter angelötet und Akku angeschlossen und aufgeladen).

Die Tests im Gelände (hauptsächlich Wald) beginnen demnächst. Ich habe aber schon mal im Wald gemappt. Mit keinem guten Ergebnis. Über Wasser gehen 40 km und mehr mit LoRaWAN problemlos. Im Wald viel, viel weniger.



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

Antenne....Antenne..... das ist der richtige Verstärker. ich habe mal kurz mit Yagiantenne probiert. Ist völlig illegal, kommt aber um den Faktor 10 weiter ;-)
Gruss vom Ruessel



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

Ein interessantes neues Video zum Thema:

Gruss vom Ruessel



Loobster
Beiträge: 9

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von Loobster »

Ich möchte beim Heltec LoRa32 V3.2 meinen Akku auslesen.

Mit diesem Code funktioniert es leider nicht:

#define VBAT_PIN 1 // VBAT_PIN für den Heltec Lora32 v3
#define VBAT_READ_CNTRL_PIN 37 // GPIO to toggle VBatt read connection
#define ADC_READ_STABILIZE 10 // in ms (delay from GPIO control and ADC connections times)

Beim VBAT_PIN hatte ich auch schon den PIN 34 ausprobiert. Der funzte auch nicht :-(

Frohes neues Jahr.



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

Ich habe es noch nicht selber gemacht, aber Pin 1+37 scheint richtig zu sein.

Den Code würde ich mal nachbauen und schauen ob es klappt, dann auf meine Bedürfnisse ändern:

Code: Alles auswählen

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, RST_OLED);

#define VBAT_PIN 1
#define VBAT_READ_CNTRL_PIN 37 // Heltec GPIO to toggle VBatt read connection …
// Also, take care NOT to have ADC read connection
// in OPEN DRAIN when GPIO goes HIGH
#define ADC_READ_STABILIZE 10 // in ms (delay from GPIO control and ADC connections times)

float readBatLevel() {
  int analogValue = analogRead(VBAT_PIN);
  float voltage = 0.0041 * analogValue;
  return voltage;
}

void setup() {
  Serial.begin(115200);
  Wire.begin(SDA_OLED, SCL_OLED);

  // turn on vbat read
  pinMode(VBAT_READ_CNTRL_PIN,OUTPUT);
  digitalWrite(VBAT_READ_CNTRL_PIN, LOW);

  // initialize OLED
  delay(100);
  Serial.println("Awake");
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3D for 128x64
Serial.println(F("SSD1306 allocation failed"));
for(;;);
  }
  display.clearDisplay();

  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0, 10);
  display.println("hello");
  display.display();
}

int count = 0;
void loop() {
  display.clearDisplay();
  display.setCursor(0, 0); 
  float v = readBatLevel();
  display.println(String(v) + " Volt");
  display.println(count++);
  display.display();
  delay(500);

}

http://community.heltec.cn/t/wifi-lora- ... on/12646/6
Gruss vom Ruessel



Loobster
Beiträge: 9

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von Loobster »

Ja, der Code funktioniert auf meinem Heltec LoRa32 V3.1.

Seit 1 Woche habe ich auch einen neuen Heltec LoRa32 V3.2. Da sehe ich die Schrift nur schwach, in der oberen Zeile steht 0.00 Volt. Der Zähler in der 2ten Zeile läuft hoch.

VG



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

Interessant. Da wird wohl was geändert worden sein. Schade, ich habe dafür im Moment keine Zeit, würde gerne den Fehler finden. Wahrscheinlich müssen die "library" auf eine neuere Version geupdatet werden.

Hier habe ich eine Bestätigung gefunden, die alten Akkuauslesescripts funzen nicht mehr: https://github.com/meshtastic/firmware/issues/5127
Heltec WiFi LoRa32 V3.2 - new version shows incorrect charge status
Gruss vom Ruessel



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

Hier ein Reichweitenrechner: http://ham.remote-area.net/linktool/index.php
Ob dieser auch für LoRa gilt? Immerhin kann der Empfänger noch Signale unter der Rauschgrenze einwandfrei detektieren - wenn langsam gesendet wird.

Ansonsten hier ein Horizontberechner: https://www.rhetos.de/html/lex/horizontformel.htm
Braucht man(n) eine Sichtverbindung von Sender+Empfänger gilt folgende Formel: 4x höhere Antenne = doppelte Reichweite.

Im UKW-Sendebereich Bereich sagt man als Richtwert: Reichweite = Sichtweite (Horizont) +15%
Gruss vom Ruessel



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

Ich habe mir mal die neue Version V4 bestellt, auf bestimmten Frequenzen nun erheblich mehr Sendeleistung und direkten Solaranschluß, für autonome Anwendungen im Feld. Die Preise schwanken, je nach Verfügbarkeit. Ich habe 47,- ausgegeben für V4 mit verbesserten Display, Akku, Gehäuse und Antenne.

High-Power (868 MHz): Bis zu 28 dBm / 630 mW Ausgangsleistung durch einen zusätzlichen GC1109 Power Amplifier (statt 25mW bei V3). Diese Variante ist nur für 868/915 MHz verfügbar.

Mehr Speicher: 16 MB Flash und 2 MB PSRAM statt nur 8 MB Flash beim V3. Mit dem PSRAM kann man das Board bei Meshtastic als Store & Forward Server nutzen. Das bedeutet, dein Node kann Nachrichten zwischenspeichern, wenn die Zielstation gerade offline ist.

Besseres Display: Die Spiralantenne (diese Drahtspirale auf dem Board) wurde durch eine integrierte FPC-Antenne im Frontpanel ersetzt. Viel eleganter und geschützter. Das OLED-Display selbst sitzt jetzt auf einem B2B-Steckverbinder statt fest verlötet.

USB: Das V3 hatte einen separaten CP2102 USB-UART-Chip. Der ist jetzt weg. Der ESP32-S3 hat native USB-Unterstützung. Das bedeutet: Keine Treiber-Frickelei mehr (meistens jedenfalls), und das Board zieht im Standby deutlich weniger Strom. Unter 20 µA im Deep Sleep – beim V3 waren es noch 100-150 µA.

Akkuladen ohne Hitzeentwicklung: Beim V3 gab es teilweise Probleme mit Überhitzung beim Laden. Das V4 hat dieses Problem nicht mehr. Außerdem – und das ist wirklich praktisch – gibt es jetzt einen zusätzlichen 2-Pin-JST-Anschluss für Solarpanels. Ein kleines 5V-Panel anschließen und der Node lädt den Akku im Freien selbstständig nach.

https://www.2bn.de/2025/11/unverzichtba ... ora-32-v4/

Gruss vom Ruessel



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

P1000004.jpg
Ich habe einen "LoRa32 V4 Bausatz" bestellt. Es kommen 2 Antennen (868MHz + 2.4 MHz), Akku und gedruckte Gehäuse dazu. Die zweite Antenne ist BT und könnte eine Verbindung zur Pocket 6K Pro aufnehmen, bis zur einer 15 km Entfernung ;-)


P1000006.jpg
Montage wird nicht genau erklärt, mit einen Kaffee gelingt aber das Nachdenken und beide Bausätze funktionieren sofort. Keine Ahnung wer da schon Software aufgespielt hat aber sie scannen beim einschalten die WiFi Verbindungen hier in meiner Umgebung. Die gedruckten Gehäuse sind in einer sehr hohen Qualität gedruckt, das würde ich selber nicht hinbekommen. Das muss eine 0.2 mm Düse gewesen sein. Antenne, Shield, Schalter.... alles passt perfekt, nix klappert.

Interessant ist jetzt, ob die 3,5 fache stärkere Sendeleistung zum Vorgänger nur auf dem zugelassenen Kanal in DE funktioniert oder auf allen. Dazu werde ich die Teile gleich als Sender programmieren, jeweils auf den zugelassenen Kanal und nicht zugelassenen Kanälen mit voller Senderleistung programmieren.
Ich wollte dann beide in der Leistung vermessen. Habe gar nicht daran gedacht, dass in meinen Messpark ab 200 MHz alles vorbei ist. Ein Kumpel hat sich letzte Woche einen 3 GHz Spektrumanalyser gekauft (mittlerer 4 stelliger Betrag), da hat er gleich eine schöne Aufgabe das Gerät mal laufen zu lassen. Bin gespannt wie hoch die echte Sendeleistung an einer 50 Ohm Antenne ist.

P.S.
Heltec informiert auf seiner Seite über ein paar Eigenheiten der V4 Version:
Bitte ignorieren Sie dieses Phänomen. Der LORA-FEHLER tritt auf, weil er das werksseitige geladene Standard-LORA-Testprogramm ausführt und kein anderes Gerät finden kann, auf dem dasselbe Programm ausgeführt wird.
Also bei der Auslieferung ist schon Software geladen, mit der hier nix angefangen werden kann. Das Gerät läuft zwar bei Betriebsspannung sofort los, zeigt auch Suchlauf und andere Werte an - einfach überschreiben.
Wie ich gelesen habe, muss bei der Verwendung der externen BT Antenne auf der Platine erst ein Null Ohm Widerstand eingelötet werden, sonst ist die Antenne nicht aktiv, der lag dem Bausatz natürlich nicht dabei...
Gruss vom Ruessel
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

Ahhhhhhhhh.......... bin frustriert wegen diesen LoRa Bausteinen. Stunden verbracht die ChipID bei Heltec freischalten zu lassen und großartig dabei gescheitert!

SShivMv5KsHLso0R.png
Als erstes muss man eine Software zum Auslesen der ID aufspielen und den Seriellen Monitor einschalten (nicht vergessen im IDE das USB CDC einzuschalten - sonst kommt nix - ist nur für die Version 4 nötig). Die Software in China zu finden war auch Glückssache, der direkte Link dazu führte gestern abend in China auf eine Störungsseite. Habe schließlich den Code gefunden und konnte auch beide Module auslesen, siehe Foto oben. Danach soll man diese Nummer registrieren lassen.
Dann der Hammer: Die Seriennummer ist nicht bei Heltec bekannt!
Ich weiß nicht, wie oft ich die Nummer in allen Varianten da eingegeben habe, es bleibt, keine der beiden ID Nummern sind bekannt in China. Was machen, googeln..... es gibt hunderte wie mich in der Welt, keiner bekommt eine Freischaltung - die Chinesen schaffen es nicht, ihre Produktionsdaten in die Datenbank zu pflegen. Jeder einzelne muss eine Mail nach Heltec schreiben (mit der ID) und hoffen das diese dann in einigen Tagen freigeschaltet wird. Ein Gau!

Ich habe an Heltec/help eine mail verschickt und hoffe nun, das diese Freischaltung bald klappt. Ich weiß auch nicht, wozu dieser Spaß dienen soll. Software wie "Meshtastic" lässt sich via Webbrowser direkt über USB programmieren, klappt sofort, der alte Code wird gelöscht und Meshtastic in den Speicher geschrieben - läuft anscheinend einwandfrei. Bei eigenen Code über das IDE eingespielt bockt das Teil.....

Hier noch der Code um die Chip ID auslesen zu können, falls die Seite mal wieder fehlerhaft verlinkt ist:

Code: Alles auswählen

/* The true ESP32 chip ID is essentially its MAC address.*/
  
uint64_t chipId = 0;

void setup() {
  Serial.begin(115200);
}

void loop() {
  chipId=ESP.getEfuseMac();
  Serial.printf("ESP32 Chip model = %s Rev %d\n", ESP.getChipModel(), ESP.getChipRevision());
  Serial.printf("This chip has %d cores\n", ESP.getChipCores());
  Serial.printf("ESP32ChipID=%04X",(uint16_t)(chipId>>32));//print High 2bytes
  Serial.printf("%08X\r\n",(uint32_t)chipId);//print Low 4bytes.
  delay(3000);
}
Gruss vom Ruessel
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.



ruessel
Beiträge: 10475

Re: DIY Heltec LoRa32 V3 Spielereien

Beitrag von ruessel »

Heute aus China den Freischaltcode bekommen..... klappt nun einwandfrei mit der Programmierung.
Vorher zig verschiedene Errormeldungen bekommen, was habe ich da an Zeit verplempert. Die Teile gehen heute Nachmittag zum Ausmessen der Sendeleistung an den teuren Spektrumanalyser......

liezjpg.jpg

Der Befehl für diese Nummer muss so in den Seriellen Monitor eingegeben werden und ENTER drücken: AT+CDKEY=582831433ACC77D1B30C15FE836BFA49
es kommt dann vom Chip sofort eine Bestätigung.
Gruss vom Ruessel
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.



 Aktuelle Beiträge [alle Foren]
 
» Gesucht oder Mangelware - Wie ist die Auftragslage für Filmcrews?
von Darth Schneider - Sa 4:18
» GoPro verspricht zur NAB Kamera(s) mit größeren Sensoren
von Darth Schneider - Sa 3:52
» Original versus Fremdhersteller Akku: SmallRig USB-C Akku für Sony NP-FZ-100. Worauf achten?
von Darth Schneider - Sa 2:21
» Rhode VideoMic Pro +
von berlin123 - Fr 20:22
» VFX-Plattform Beeble bekommt Background Remover
von medienonkel - Fr 19:12
» Canon XA 60 mit Rhode VideoMic Pro+
von Gotojojo - Fr 17:15
» Rauschunterdrückung in Mixer o. Interface (mit L/R Line Out) gesucht
von AndreasBuder - Fr 15:12
» Sony Alpha 7 V ist da: 33MP Partially Stacked Sensor, 4K 60p ohne Crop und 16 Stops
von groover - Fr 13:55
» Du brauchst eine DEADLINE!
von Nigma1313 - Fr 13:48
» Paradigmenwechsel bei Sony mit der Sony A7R VI? Hohe Auflösung (67 MP) und schnell (30 fps)?
von Bildlauf - Fr 11:36
» Huch, die RAM-Preise sinken - vorerst
von Bluboy - Fr 10:32
» Atomos Shinobi II / 7 RX - neue Firmware bringt Touch-Fokus für mehr Kameras
von slashCAM - Fr 9:54
» Insta360 Snap macht die Smartphone-Hauptkamera zur Selfie-Kamera
von Tscheckoff - Fr 9:53
» Breitniere als Kameramikrofon?
von Pianist - Fr 7:46
» Nikon Z9 umrundet den Mond und wird die zukünftige NASA-Kamera
von Darth Schneider - Fr 6:25
» Adobe bringt kostenlose Profi-Kamera App mit KI-Funktionen
von vaio - Fr 3:49
» Neue Umfrage: Welche Speicherlösung nutzt Du primär für Videodaten?
von soulbrother - Do 22:25
» Was hast Du zuletzt gekauft?
von cantsin - Do 22:06
» Was schaust Du gerade?
von Darth Schneider - Do 17:53
» EIZO ColorEdge CS3200X - 31,5" 4K-Monitor mit Profi-Features der CG-Serie
von CameraRick - Do 16:13
» Neues aus der Welt BMD + Apple Immersive Video
von R S K - Do 15:32
» Netflix VOID – neues kostenloses KI-Tool zum Entfernen von Objekten aus Videos
von MaxSchreck - Do 14:55
» Rückprojektion mit einem Ultrakurzdistanz Beamer
von asymmetric - Do 14:52
» CornerCut - direkter Timeline-Export ohne XML
von CameraRick - Do 13:59
» Audiorecorder Mikrofone Tascam FR AV-2, Lewitt, Synco
von KeineCloud - Mi 17:17
» Tascam DR-40XP - verbesserter 4-Spur-Audiorecorder
von slashCAM - Mi 16:18
» Blackmagic DeckLink IP 100G vorgestellt - 8 Kanal 4K Capturing und Playback per Ethernet
von slashCAM - Mi 14:48
» Die Filmindustrie ist zur Zeit schwierig - ANDREA LAMBSDORFF
von Nigma1313 - Mi 13:23
» Verkaufe Davinci Resolve Studio
von Jost - Mi 8:12
» Offener Brief gegen KI-Slop für Kinder auf YouTube
von j.t.jefferson - Mi 3:33
» Empfehlung gesucht: Bluetooth-Kopfhörer als Zweitmonitor
von Hifi - Di 12:51
» Sigma FF High Speed Cine Prime Set (PL-Mount) – T1.5 – 20/35/50/85mm – Top Zustand
von beesandrockets - Di 12:45
» Wir können SO nicht weitermachen! | MASTERCUT
von Nigma1313 - Di 12:34
» Weltweiter Launch von Seedance 2.0 verspätet sich nach Copyright-Aufschrei
von iasi - Mo 22:27
» Erfahrung mit MAMIYA Objektive?
von RonMarKom - Mo 19:53