Merge pull request #645 from ChrSchultz/master

add Payloadmask description + file renames
This commit is contained in:
Verkehrsrot 2020-09-29 17:11:21 +02:00 committed by GitHub
commit 1d13914922
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 108 additions and 98 deletions

4
.gitignore vendored
View File

@ -11,4 +11,6 @@
.clang_complete
.gcc-flags.json
src/loraconf.h
src/ota.conf
src/ota.conf
platformio.ini
src/paxcounter.conf

View File

@ -85,11 +85,11 @@ By default bluetooth sniffing not installed (#define *BLECOUNTER* 0 in paxcounte
Compile time configuration is spread across several files. Before compiling the code, edit or create the following files:
## platformio.ini
Edit `platformio.ini` and select desired hardware target in section boards. To add a new board, create an appropriate hardware abstraction layer file in hal subdirectory, and add a pointer to this file in sections boards.
## platformio_orig.ini
Edit `platformio_orig.ini` and select desired hardware target in section boards. To add a new board, create an appropriate hardware abstraction layer file in hal subdirectory, and add a pointer to this file in sections board. Rename to `platformio.ini`
## src/paxcounter.conf
Edit `src/paxcounter.conf` and tailor settings in this file according to your needs and use case. Please take care of the duty cycle regulations of the LoRaWAN network you're going to use.
## src/paxcounter_orig.conf
Edit `src/paxcounter_orig.conf` and tailor settings in this file according to your needs and use case. Please take care of the duty cycle regulations of the LoRaWAN network you're going to use. Rename to `paxcounter.conf`
If your device has a **real time clock** it can be updated bei either LoRaWAN network or GPS time, according to settings *TIME_SYNC_INTERVAL* and *TIME_SYNC_LORAWAN* in `paxcounter.conf`.
@ -480,7 +480,16 @@ Send for example `8386` as Downlink on Port 2 to get battery status and time/dat
0x14 set payload mask
byte 1 = sensor data payload mask (0..255, meaning of bits see above)
byte 1 = sensor data payload mask (0..255, meaning of bits see below)
0x01 = GPS_DATA
0x02 = ALARM_DATA
0x04 = MEMS_DATA
0x08 = COUNT_DATA (default)
0x10 = SENSOR_1_DATA (ENS-COUNTS)
0x20 = SENSOR_2_DATA
0x40 = SENSOR_3_DATA
0x80 = BATT_DATA
bytes can be combined eg COUNT_DATA ;SENSOR_1_DATA ;BATT_DATA: `0x08 | 0x10 |0x80 = 0x98`
0x15 set BME data on/off

View File

@ -1,89 +1,88 @@
#ifndef __LORACONF_H__
#define __LORACONF_H__
#if (HAS_LORA)
/************************************************************
* LMIC LoRaWAN configuration
*
* Read the values from TTN console (or whatever applies), insert them here,
* and rename this file to src/loraconf.h
*
* You can configure OTAA or ABP Activation. In order to use ABP, uncomment
* (enable) the following line, but you should only do so, if you have good
* reasons for not using OTAA.
*
*************************************************************/
//#define LORA_ABP
#ifndef LORA_ABP
/************************************************************
* OTAA configuration
*
* DEVEUI, APPEUI and APPKEY should all be specified in MSB format as
* displayed in TTN console, so you can cut & paste from there. This is different
* from standard LMIC-Arduino which expects DEVEUI and APPEUI in LSB format.
* For TTN, APPEUI in MSB format always starts with 0x70, 0xB3, 0xD5.
* Set your DEVEUI here, if your device has have a fixed one.
* If you leave this untouched, then the DEVEUI will be derived from device's
* MAC adress during startup and will be displayed on device's screen as well as
* on serial console, if you set 'verbose 1' in paxcounter.conf and
* 'debug_level 3' in platformio.ini.
* If using a board with Microchip 24AA02E64 Uinique ID for deveui, the DEVEUI
* will be overwritten by the one contained in the Microchip module.
*
************************************************************/
static const u1_t DEVEUI[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const u1_t APPEUI[8] = {0x70, 0xB3, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x00};
static const u1_t APPKEY[16] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
#endif
#ifdef LORA_ABP
/************************************************************
* ABP configuration (for development)
*
* Get your
* - Network Session Key (NWKSKEY)
* - App Session Key and your (APPSKEY)
* - Device Address (DEVADDR)
* from e.g. TTN console and replace the example values below.
*
* NOTE: Use MSB format (as displayed in TTN console, so you can cut & paste
* from there)
*
* NOTE: You may also need to adjust lorawan_abp.cpp in order to configure
* different channels and data rate channels to match your country's regulations
* and your network's settings.
*
************************************************************/
// ID of LoRaAlliance assigned Network (for a list, see e.g. here
// https://www.thethingsnetwork.org/docs/lorawan/prefix-assignments.html)
static const u1_t NETID = 0x13; // TTN
static const u1_t NWKSKEY[16] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00};
static const u1_t APPSKEY[16] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00};
static const u4_t DEVADDR =
0x00000000; // <-- Change this address for every node!
// set additional ABP parameters in loraconf_abp.cpp
void setABPParameters();
#endif
#endif // HAS_LORA
#endif // __LORACONF_H__
#ifndef __LORACONF_H__
#define __LORACONF_H__
#if (HAS_LORA)
/************************************************************
* LMIC LoRaWAN configuration
*
* Read the values from TTN console (or whatever applies), insert them here,
* and rename this file to src/loraconf.h
*
* You can configure OTAA or ABP Activation. In order to use ABP, uncomment
* (enable) the following line, but you should only do so, if you have good
* reasons for not using OTAA.
*
*************************************************************/
//#define LORA_ABP
#ifndef LORA_ABP
/************************************************************
* OTAA configuration
*
* DEVEUI, APPEUI and APPKEY should all be specified in MSB format as
* displayed in TTN console, so you can cut & paste from there. This is different
* from standard LMIC-Arduino which expects DEVEUI and APPEUI in LSB format.
* For TTN, APPEUI in MSB format always starts with 0x70, 0xB3, 0xD5.
* Set your DEVEUI here, if your device has have a fixed one.
* If you leave this untouched, then the DEVEUI will be derived from device's
* MAC adress during startup and will be displayed on device's screen as well as
* on serial console, if you set 'verbose 1' in paxcounter.conf and
* 'debug_level 3' in platformio.ini.
* If using a board with Microchip 24AA02E64 Uinique ID for deveui, the DEVEUI
* will be overwritten by the one contained in the Microchip module.
*
************************************************************/
static const u1_t DEVEUI[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const u1_t APPEUI[8] = {0x70, 0xB3, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x00};
static const u1_t APPKEY[16] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
#endif
#ifdef LORA_ABP
/************************************************************
* ABP configuration (for development)
*
* Get your
* - Network Session Key (NWKSKEY)
* - App Session Key and your (APPSKEY)
* - Device Address (DEVADDR)
* from e.g. TTN console and replace the example values below.
*
* NOTE: Use MSB format (as displayed in TTN console, so you can cut & paste
* from there)
*
* NOTE: You may also need to adjust lorawan_abp.cpp in order to configure
* different channels and data rate channels to match your country's regulations
* and your network's settings.
*
************************************************************/
// ID of LoRaAlliance assigned Network (for a list, see e.g. here
// https://www.thethingsnetwork.org/docs/lorawan/prefix-assignments.html)
static const u1_t NETID = 0x13; // TTN
static const u1_t NWKSKEY[16] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00};
static const u1_t APPSKEY[16] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00};
static const u4_t DEVADDR =
0x00000000; // <-- Change this address for every node!
// set additional ABP parameters in loraconf_abp.cpp
void setABPParameters();
#endif
#endif // HAS_LORA
#endif // __LORACONF_H__

View File

@ -25,11 +25,11 @@
#define BLESCANINTERVAL 80 // [illiseconds] scan interval, see below, 3 .. 10240, default 80ms = 100% duty cycle
// Corona Exposure Notification Service(ENS) counter
#define COUNT_ENS 0 // count found number of devices which advertise Exposure Notification Service
#define COUNT_ENS 0 // count found number of devices which advertise Exposure Notification Service
// set to 0 if you do not want to enable this function
// for additional sensors (added by some user)
#define HAS_SENSOR_1 0 // set to 1 if you want to transmit CWA counter
#define HAS_SENSOR_1 0 // set to 1 if you want to transmit CWA counter
#define HAS_SENSOR_2 0 // not used
#define HAS_SENSOR_3 0 // not used
#define HAS_SENSORS (HAS_SENSOR_1 || HAS_SENSOR_2 || HAS_SENSOR_3) // to simplify things
@ -89,7 +89,7 @@
#define TIME_SYNC_INTERVAL_RETRY 10 // retry time sync after lost sync each .. minutes [default = 10], 0 means off
#define TIME_SYNC_SAMPLES 1 // number of time requests for averaging, max. 255
#define TIME_SYNC_CYCLE 60 // delay between two time samples [seconds]
#define TIME_SYNC_TIMEOUT 300 // timeout waiting for timeserver answer [seconds]
#define TIME_SYNC_TIMEOUT 400 // timeout waiting for timeserver answer [seconds]
#define TIME_SYNC_COMPILEDATE 0 // set to 1 to use compile date to initialize RTC after power outage [default = 0]
// time zone, see https://github.com/JChristensen/Timezone/blob/master/examples/WorldClock/WorldClock.ino