Febris CO2 Quick Start Guide
Sie suchen den Febris CO2 Quick Start Guide?
- Inbetriebnahme
- NFC Parametrisierung und Lage des NFC-Tags
- LoRaWAN® Payload Decoder Febris Serie
1. Inbetriebnahme
Bitte beachten Sie, dass bei der Nutzung von Messern oder anderen spitzen Gegenständen das Gehäuse oder die Elektronik beschädigt werden können.
-
Öffnen Sie den Sensor an der dafür vorgesehenen Lasche
(in der Abbildung an der Unterkante markiert). Verwenden Sie
bei Bedarf vorsichtig einen spitzen Gegenstand.
Abbildung 1. Öffnen des Sensorgehäuses -
Legen Sie nun die Batteriezellen ein. Um die angegebenen
Laufzeiten und die spezifizierte Performance zu erreichen,
dürfen ausschließlich die folgenden Primärzellen verwendet
werden:
-
Für LoRaWAN®- und mioty®-Sensoren:
- Energizer® Ultimate Lithium AA
- VARTA ULTRA LITHIUM Mignon AA
-
Für zellulare Sensoren (NB-IoT):
- Energizer® Ultimate Lithium AA
- VARTA ULTRA LITHIUM Mignon AA
-
Für LoRaWAN®- und mioty®-Sensoren:
Es werden jeweils 4 Zellen pro Sensor benötigt.
2. NFC Parametrisierung und Lage des NFC-Tags
-
Die Parametrisierung erfolgt über eine NFC-App. Hierfür wird ein
Smartphone benötigt. Die App kann in den jeweiligen App-Stores
heruntergeladen werden. Suchen Sie nach „Sentinum LinQs" und
installieren Sie die LinQs App.
Abbildung 7. Download der Sentinum LinQs App -
Lokalisieren Sie zunächst den NFC-Tag auf dem Sensor und danach
den NFC-Reader Ihres Smartphones. Die Position des NFC-Tags ist
in der folgenden Abbildung dargestellt.
Abbildung 8. Position des NFC-Tags auf dem Sensor
3. LoRaWAN® Payload Decoder Febris Serie
Der folgende Decoder kann zum Dekodieren der Payloads der Febris-Serie in LoRaWAN® Network Servern wie The Things Stack verwendet werden.
function decodeUplink(input) {
var decoded = {};
var bytes = input.bytes;
if (input.fPort == 1) {//TELEMETRY
//decode header
decoded.base_id = bytes[0] >> 4;
decoded.major_version = bytes[0] & 0x0F;
decoded.minor_version = bytes[1] >> 4;
decoded.product_version = bytes[1] & 0x0F;
decoded.up_cnt = bytes[2];
decoded.battery_voltage = ((bytes[3] << 8) | bytes[4]) / 1000.0;
decoded.internal_temperature = ((bytes[5] << 8) | bytes[6]) / 10 - 100;
decoded.networkBaseType = 'lorawan';
decoded.networkSubType = 'tti';
var it = 7;
if(decoded.minor_version >= 3){
it = 7;
//Luftfeuchte ist bei allen Varianten enthalten
decoded.humidity = bytes[it++];
if (decoded.product_version & 0x01) { // Co2 und Druck sind enthalten wenn subversion bit0 = 1, andernfalls 0
decoded.pressure = (bytes[it++] << 8 | bytes[it++]);
decoded.co2_ppm = (bytes[it++] << 8 | bytes[it++]);
} else {
it += 4;//Werte sind 0 aus kompatibilitäts Gründen, daher überspringen
}
decoded.alarm = bytes[it++];//Alarm-Level, entspricht grün, gelb, rot
//FIFO Werte wegwerfen (1 byte fifo size, 1 byte period, 7 bytes pro fifo eintrag)
it += 2 + bytes[it] * 7;
decoded.dew_point = ((bytes[it++] << 8) | bytes[it++]) / 10 - 100;
// Wandtemperatur und Feuchte enthalten wenn subversion bit 2 = 1
if (decoded.product_version & 0x04) {
decoded.wall_temperature = ((bytes[it++] << 8) | bytes[it++]) / 10 - 100;
decoded.therm_temperature = ((bytes[it++] << 8) | bytes[it++]) / 10 - 100;
decoded.wall_humidity = bytes[it++];
}
}else{
it = 7;
//Luftfeuchte ist bei allen Varianten enthalten
decoded.humidity = bytes[it++];
if (decoded.product_version & 0x01) { // Co2 und Druck sind enthalten wenn subversion bit0 = 1, andernfalls 0
decoded.pressure = (bytes[it++] << 8 | bytes[it++]);
decoded.co2_ppm = (bytes[it++] << 8 | bytes[it++]);
} else {
it += 4;//Werte sind 0 aus kompatibilitäts Gründen, daher überspringen
}
decoded.alarm = bytes[it++];//Alarm-Level, entspricht grün, gelb, rot
//FIFO Werte wegwerfen (1 byte fifo size, 1 byte period, 7 bytes pro fifo eintrag)
it += 2 + bytes[it] * 7;
//Taupunkt seit minor version 2 bei alle Varianten enthalten (ausnahme früher versionen subversion 2, daher byte prüfen)
if (decoded.minor_version >= 2 && bytes[it] ) {
decoded.dew_point = bytes[it++] - 100;
}
// Wandtemperatur und Feuchte enthalten wenn subversion bit 2 = 1
if (decoded.product_version & 0x04) {
decoded.wall_temperature = bytes[it++] - 100;
decoded.therm_temperature = bytes[it++] - 100;
decoded.wall_humidity = bytes[it++];
}
}
}
return {
data: decoded,
warnings: [],
errors: []
};
}
© Sentinum GmbH – Alle Rechte vorbehalten.
Alle Inhalte dieses Dokuments, einschließlich Text, Tabellen und Bildern, sind urheberrechtlich geschützt und Eigentum der Sentinum GmbH.
Alle Bilder unterliegen dem Urheberrecht der Sentinum GmbH, sofern nicht anders angegeben.
Vervielfältigung, Verbreitung oder Nutzung — auch auszugsweise — ist ohne ausdrückliche schriftliche Genehmigung nicht gestattet.
Änderungen der Spezifikationen vorbehalten. Alle Angaben erfolgen ohne Gewähr.