Compare commits

..

4 Commits

  1. 44
      src/MessenSensoren.cpp
  2. 121
      src/main.cpp

44
src/MessenSensoren.cpp

@ -46,7 +46,7 @@ int h,m,t; @@ -46,7 +46,7 @@ int h,m,t;
zerortc.setDate(t, 1, 22);
uiOnStd = 0;
Serial.println(" InitTimeDate ");
Serial1.println(" InitTimeDate ");
PrintTimeDate();
}
@ -58,11 +58,11 @@ int i; @@ -58,11 +58,11 @@ int i;
// Datum auch
sprintf(szUhrzeit2, "%02d.%02d.%02d ", zerortc.getDay(), zerortc.getMonth(), zerortc.getYear() );
Serial.print(szUhrzeit2);
Serial1.print(szUhrzeit2);
// Zum Test Uhrzeit ausgeben
sprintf(szUhrzeit2, "%02d:%02d:%02d", zerortc.getHours(), zerortc.getMinutes(), zerortc.getSeconds() );
Serial.println(szUhrzeit2);
Serial1.println(szUhrzeit2);
// gesammt Stunden berechnen
i = zerortc.getHours();
@ -70,7 +70,7 @@ if ( uiOldHour != i) @@ -70,7 +70,7 @@ if ( uiOldHour != i)
{
uiOldHour = i;
uiOnStd++;
Serial.println(uiOnStd);
Serial1.println(uiOnStd);
}
}
@ -99,7 +99,7 @@ return result; @@ -99,7 +99,7 @@ return result;
void init_Messen() {
int i;
Serial.println("PowerOn I2C");
Serial1.println("PowerOn I2C");
// I2C Power einschalten LoRa Transponder
pinMode(I2C_POWER, OUTPUT);
digitalWrite(I2C_POWER, HIGH);
@ -108,7 +108,7 @@ void init_Messen() { @@ -108,7 +108,7 @@ void init_Messen() {
Wire.begin();
// Hardware detection, liste was angeschlossen ist
Serial.println("I2C Hardware detection");
Serial1.println("I2C Hardware detection");
if (I2C_Test(BME280_ADR) != 0xFF) {
Set_I2C_Adresse(BME280_ADR);
@ -120,24 +120,24 @@ void init_Messen() { @@ -120,24 +120,24 @@ void init_Messen() {
}
if (I2C_Test(0x77) != 0xFF) {
Serial.println("BMP180 gefunden");
Serial1.println("BMP180 gefunden");
}
if (I2C_Test(0x38) != 0xFF) {
Serial.println(F("AHT10 gefunden"));
Serial1.println(F("AHT10 gefunden"));
}
// such BH1730
if (I2C_Test(0x29) != 0xFF) {
Serial.println("BH1730 gefunden");
Serial1.println("BH1730 gefunden");
}
// such BH1750
if (I2C_Test(0x23) != 0xFF) {
Serial.println("BH1750 gefunden");
Serial1.println("BH1750 gefunden");
BH1750_Init();
}
Serial.println("ende");
Serial1.println("ende");
}
//------------------------------------------
@ -185,21 +185,21 @@ void MessenSensoren() { @@ -185,21 +185,21 @@ void MessenSensoren() {
if (lVisLux > 65535) lVisLux = 654321;
Serial.print(F("Temp = "));
Serial.println(t);
Serial.print(F("Druck = "));
Serial.println(p);
Serial.print(F("Feuchte = "));
Serial.println(h);
Serial1.print(F("Temp = "));
Serial1.println(t);
Serial1.print(F("Druck = "));
Serial1.println(p);
Serial1.print(F("Feuchte = "));
Serial1.println(h);
Serial.print(F("Vis = "));
Serial.println(lVisLux);
Serial1.print(F("Vis = "));
Serial1.println(lVisLux);
Serial.print(F("Ubatt = "));
Serial1.print(F("Ubatt = "));
fUb = readVcc(); // T3 und T5
Serial.print( fUb );
Serial.println(F("mV "));
Serial1.print( fUb );
Serial1.println(F("mV "));
hse.reset();

121
src/main.cpp

@ -123,15 +123,15 @@ const lmic_pinmap lmic_pins = { @@ -123,15 +123,15 @@ const lmic_pinmap lmic_pins = {
void printHex2(unsigned v) {
v &= 0xff;
if (v < 16)
Serial.print('0');
Serial.print(v, HEX);
Serial1.print('0');
Serial1.print(v, HEX);
}
void do_send(__attribute__((unused)) osjob_t *j) {
// Check if there is not a current TX/RX job running
if (LMIC.opmode & OP_TXRXPEND) {
Serial.println(F("OP_TXRXPEND, not sending"));
Serial1.println(F("OP_TXRXPEND, not sending"));
} else {
// Prepare upstream data transmission at the next possible time.
MessenSensoren();
@ -140,56 +140,56 @@ void do_send(__attribute__((unused)) osjob_t *j) { @@ -140,56 +140,56 @@ void do_send(__attribute__((unused)) osjob_t *j) {
LMIC_setDrTxpow(DR_SF7, 10);
LMIC_setTxData2(1, buffer, size, 0);
Serial.println(F("Packet queued"));
Serial1.println(F("Packet queued"));
}
// Next TX is scheduled after TX_COMPLETE event.
}
void onEvent(ev_t ev) {
Serial.print(os_getTime());
Serial.print(": ");
Serial1.print(os_getTime());
Serial1.print(": ");
switch (ev) {
case EV_SCAN_TIMEOUT:
Serial.println(F("EV_SCAN_TIMEOUT"));
Serial1.println(F("EV_SCAN_TIMEOUT"));
break;
case EV_BEACON_FOUND:
Serial.println(F("EV_BEACON_FOUND"));
Serial1.println(F("EV_BEACON_FOUND"));
break;
case EV_BEACON_MISSED:
Serial.println(F("EV_BEACON_MISSED"));
Serial1.println(F("EV_BEACON_MISSED"));
break;
case EV_BEACON_TRACKED:
Serial.println(F("EV_BEACON_TRACKED"));
Serial1.println(F("EV_BEACON_TRACKED"));
break;
case EV_JOINING:
Serial.println(F("EV_JOINING"));
Serial1.println(F("EV_JOINING"));
break;
case EV_JOINED:
Serial.println(F("EV_JOINED"));
Serial1.println(F("EV_JOINED"));
{
u4_t netid = 0;
devaddr_t devaddr = 0;
u1_t nwkKey[16];
u1_t artKey[16];
LMIC_getSessionKeys(&netid, &devaddr, nwkKey, artKey);
Serial.print("netid: ");
Serial.println(netid, DEC);
Serial.print("devaddr: ");
Serial.println(devaddr, HEX);
Serial.print("AppSKey: ");
Serial1.print("netid: ");
Serial1.println(netid, DEC);
Serial1.print("devaddr: ");
Serial1.println(devaddr, HEX);
Serial1.print("AppSKey: ");
for (size_t i = 0; i < sizeof(artKey); ++i) {
if (i != 0)
Serial.print("-");
Serial1.print("-");
printHex2(artKey[i]);
}
Serial.println("");
Serial.print("NwkSKey: ");
Serial1.println("");
Serial1.print("NwkSKey: ");
for (size_t i = 0; i < sizeof(nwkKey); ++i) {
if (i != 0)
Serial.print("-");
Serial1.print("-");
printHex2(nwkKey[i]);
}
Serial.println();
Serial1.println();
}
// Disable link check validation (automatically enabled
// during join, but because slow data rates change max TX
@ -201,95 +201,106 @@ void onEvent(ev_t ev) { @@ -201,95 +201,106 @@ void onEvent(ev_t ev) {
|| point in wasting codespace on it.
||
|| case EV_RFU1:
|| Serial.println(F("EV_RFU1"));
|| Serial1.println(F("EV_RFU1"));
|| break;
*/
case EV_JOIN_FAILED:
Serial.println(F("EV_JOIN_FAILED"));
Serial1.println(F("EV_JOIN_FAILED"));
break;
case EV_REJOIN_FAILED:
Serial.println(F("EV_REJOIN_FAILED"));
Serial1.println(F("EV_REJOIN_FAILED"));
break;
case EV_TXCOMPLETE:
Serial.println(F("EV_TXCOMPLETE (includes waiting for RX windows)"));
Serial1.println(F("EV_TXCOMPLETE (includes waiting for RX windows)"));
if (LMIC.txrxFlags & TXRX_ACK)
Serial.println(F("Received ack"));
Serial1.println(F("Received ack"));
if (LMIC.dataLen) {
Serial.print(F("Received "));
Serial.print(LMIC.dataLen);
Serial.print(F(" bytes of payload: "));
Serial1.print(F("Received "));
Serial1.print(LMIC.dataLen);
Serial1.print(F(" bytes of payload: "));
for (int i = 0; i < LMIC.dataLen; i++) {
if (LMIC.frame[LMIC.dataBeg + i] < 0x10) { Serial.print(F("0")); }
Serial.print(LMIC.frame[LMIC.dataBeg + i], HEX);
Serial.print(F(" "));
if (LMIC.frame[LMIC.dataBeg + i] < 0x10) { Serial1.print(F("0")); }
Serial1.print(LMIC.frame[LMIC.dataBeg + i], HEX);
Serial1.print(F(" "));
}
Serial.println(F(""));
Serial1.println(F(""));
}
// Schedule next transmission
os_setTimedCallback(&sendjob, os_getTime() + sec2osticks(TX_INTERVAL), do_send);
PrintTimeDate();
Serial.println(F("vor sleep"));
Serial.flush();
LowPower.sleep(1000);
Serial.println(F("wieder aufgewacht")); // => er wacht nicht wieder auf
Serial1.println(F("vor sleep"));
Serial1.flush();
//LowPower.sleep((uint32_t) (TX_INTERVAL-10)*1000); // bis kurz vor dem Ereignis schlafen
LowPower.sleep(1000); // ich will wissen wie häufig er hier vorbei kommt
Serial1.println(F("wieder aufgewacht")); // => er wacht nicht wieder auf
break;
case EV_LOST_TSYNC:
Serial.println(F("EV_LOST_TSYNC"));
Serial1.println(F("EV_LOST_TSYNC"));
break;
case EV_RESET:
Serial.println(F("EV_RESET"));
Serial1.println(F("EV_RESET"));
break;
case EV_RXCOMPLETE:
// data received in ping slot
Serial.println(F("EV_RXCOMPLETE"));
Serial1.println(F("EV_RXCOMPLETE"));
break;
case EV_LINK_DEAD:
Serial.println(F("EV_LINK_DEAD"));
Serial1.println(F("EV_LINK_DEAD"));
break;
case EV_LINK_ALIVE:
Serial.println(F("EV_LINK_ALIVE"));
Serial1.println(F("EV_LINK_ALIVE"));
break;
/*
|| This event is defined but not used in the code. No
|| point in wasting codespace on it.
||
|| case EV_SCAN_FOUND:
|| Serial.println(F("EV_SCAN_FOUND"));
|| Serial1.println(F("EV_SCAN_FOUND"));
|| break;
*/
case EV_TXSTART:
Serial.println(F("EV_TXSTART"));
Serial1.println(F("EV_TXSTART"));
break;
case EV_TXCANCELED:
Serial.println(F("EV_TXCANCELED"));
Serial1.println(F("EV_TXCANCELED"));
break;
case EV_RXSTART:
/* do not print anything -- it wrecks timing */
break;
case EV_JOIN_TXCOMPLETE:
Serial.println(F("EV_JOIN_TXCOMPLETE: no JoinAccept"));
Serial1.println(F("EV_JOIN_TXCOMPLETE: no JoinAccept"));
break;
default:
Serial.print(F("Unknown event: "));
Serial.println((unsigned) ev);
Serial1.print(F("Unknown event: "));
Serial1.println((unsigned) ev);
break;
}
}
void setup() {
delay(5000);
//delay(5000);
//while (!Serial);
Serial.begin(19200);
Serial.println(F("Starting 1.04"));
// usb auschalten
USBDevice.detach();
Serial1.begin(19200);
Serial1.println(F("Starting 1.04"));
Serial1.println(F(__FILE__));
Serial1.println(F(__DATE__));
#ifdef __SAMD21G18A__
Serial.println(F("SAMD21G18A ARM Cortex-M0+ detected"));
Serial1.println(F("SAMD21G18A ARM Cortex-M0+ detected"));
#endif
#ifdef ARDUINO_SAMD_FEATHER_M0
Serial.println(F("defined for Feather M0 Board"));
Serial1.println(F("defined for Feather M0 Board"));
#endif
init_Messen();
@ -298,7 +309,7 @@ void setup() { @@ -298,7 +309,7 @@ void setup() {
#ifdef CFG_eu868
Serial.println(F("Using EU868"));
Serial1.println(F("Using EU868"));
#endif

Loading…
Cancel
Save