Programming kit

The programming kit is a tool for upgrading Elsys sensors with new or custom firmware. It can be used with all of our sensors. The kit includes ST-link programmer, adapter card, cables and spring probes.

programmer_kit_1

Test Switch

 

No function leave in off mode, reserved for future use

Power Switch

  • ON  3.3V power from ST-LINK programmer (no battery in sensor)
  • OFF Power from sensor (battery) or external power supply

Screw terminals

External power supply to the sensor 3-3.6V. Do not need to be connected for normal use

 

programmer_4

 

 

 

 


Programmer connection


 

LoRa® Elsys Payload src

/*
  ______ _       _______     _______ 
 |  ____| |     / ____\ \   / / ____|
 | |__  | |    | (___  \ \_/ / (___  
 |  __| | |     \___ \  \   / \___ \ 
 | |____| |____ ____) |  | |  ____) |
 |______|______|_____/   |_| |_____/ 
 
  ELSYS simple payload decoder. 
  Use it as it is or remove the bugs
  www.elsys.se
  peter@elsys.se
*/
const TYPE_TEMP    	=0x01; //temp 2 bytes -3276.8°C -->3276.7°C
const TYPE_RH		=0x02; //Humidity 1 byte  0-100%
const TYPE_ACC		=0x03; //acceleration 3 bytes X,Y,Z -128 --> 127 +/-63=1G
const TYPE_LIGHT	=0x04; //Light 2 bytes 0-->65535 Lux
const TYPE_MOTION	=0x05; //No of motion 1 byte  0-255
const TYPE_CO2		=0x06; //Co2 2 bytes 0-65535 ppm 
const TYPE_VDD		=0x07; //VDD 2byte 0-65535mV
const TYPE_ANALOG1  =0x08; //VDD 2byte 0-65535mV
const TYPE_GPS      =0x09; //3bytes lat 3bytes long binary
const TYPE_PULSE1   =0x0A; //2bytes relative pulse count
function bin16dec(bin) {
    var num=bin&0xFFFF;
    if (0x8000 & num)
        num = - (0x010000 - num);
    return num;
}
function bin8dec(bin) {
    var num=bin&0xFF;
    if (0x80 & num) 
        num = - (0x0100 - num);
    return num;
}
function hexToBytes(hex) {
    for (var bytes = [], c = 0; c < hex.length; c += 2)
        bytes.push(parseInt(hex.substr(c, 2), 16));
    return bytes;
}
function DecodeElsysPayload(data){
    var obj = new Object();
    for(i=0;i<data.length;i++){
        console.log(data[i]);
        switch(data[i]){
            case TYPE_TEMP: //Temperature
                var temp=(data[i+1]<<8)|(data[i+2]);
                temp=bin16dec(temp);
                obj.temperature=temp;
                i+=2;
            break
            case TYPE_RH: //Humidity
                var rh=(data[i+1]);
                obj.humidity=rh;
                i+=1;
            break
            case TYPE_ACC: //Acceleration
                obj.x=bin8dec(data[i+1]);
                obj.y=bin8dec(data[i+2]);
                obj.z=bin8dec(data[i+3]);
                i+=3;
            break
            case TYPE_LIGHT: //Light
                var light=(data[i+1]<<8)|(data[i+2]);
                obj.light=light;
                i+=2;
            break
            case TYPE_MOTION: //Motion sensor(PIR)
                var motion=(data[i+1]);
                obj.motion=motion;
                i+=1;
            break
            case TYPE_CO2: //CO2
                var co2=(data[i+1]<<8)|(data[i+2]);
                obj.co2=co2;
                i+=2;
            break
            case TYPE_VDD: //Battery level
                var vdd=(data[i+1]<<8)|(data[i+2]);
                obj.vdd=vdd;
                i+=2;
            break
            case TYPE_ANALOG1: //Analog input 1
                var analog1=(data[i+1]<<8)|(data[i+2]);
                obj.analog1=analog1;
                i+=2;
            break
            case TYPE_GPS: //gps
                obj.lat=(data[i+1]<<16)|(data[i+2]<<8)|(data[i+3]);
                obj.long=(data[i+4]<<16)|(data[i+5]<<8)|(data[i+6]);
                i+=6;
            break
            case TYPE_PULSE1: //Pulse input 1
                var pulse1=(data[i+1]<<8)|(data[i+2]);
                obj.pulse1=pulse1;
                i+=2;
            break
        }
    }
    return obj;
}
$(function() {
    $("#convert").click(function() {
        console.log("click");
        var res=DecodeElsysPayload(hexToBytes($('#inputData').val()));
        var json=JSON.stringify(res,null,4);
        $('#result').html(json);
    });
});

 

ELG

ELG is an open source gateway for private or public LoRaWAN™ networks. It can connect to a LoRa-server through 3G/4G modem, Wi-Fi or LAN. Power is provided via PoE or external 48V.

 

Specification

  • LoRaWAN™
  • Wi-Fi
  • LAN with PoE
  • 3G/4G modem optional
  • 868 and 915 versions
  • OpenWrt
  • Size: 175 x 80 x 57 mm

elg_v7

elg_drw

 

 


Installation

 

ESM 5k

ESM5k is a small  LoRaWAN  sensor enclosed in a small ABS box (60x35x20mm). Inside the ESM5k you will find four/five internal sensors: temperature sensor, humidity sensor, light sensor and an accelerometer. It can also be fitted with a PIR motion sensor (MOQ=100). ESM5k is powered by 3,6V 1/2 AA lithium battery. The Battery life is estimated to be up to 10 years but depends on sample interval, transmit interval, data rate and environmental factors. You are welcome to use our online battery lifetime calculator. All Elsys sensors are equipped with NFC (Near Field Communication) for easy configuration with an Android phone. With our application “Sensor Settings“, you can change sample rate, data rate, encryption keys, triggers, activation and much more. All our sensors are built on the LoRaWAN stack from Semtech. Channel planes for US902-928, EU863-870, AS923, AU915-928, KR920-923

Specification

  • Temperature
  • Humidity
  • Light
  • Acceleration
  • PIR motion sensor (optional)
  • NFC for easy configuration
  • Size : 60x35x20mm
  • Accuracy: ± 0.5°C, ±2%rh, ±100mg
  • Resolution: 0.1°C, 0.1%rh, 15.6mg
  • Approx. range: 5km*
  • Battery life: 10 years**
  • Channel planes for US902-928, EU863-870, AS923, AU915-928, KR920-923
  • 3.6V  1/2AA lithium battery

* LoRa® modulation SF10
** Depending on interval

 

esm5k_drw

 


Installation

 

Uncategorized

ERS

Print

ERS and ERS-lite are LoRaWAN  room sensors for measuring indoor environment. ERS is enclosed in an room sensor box and it is designed to be wall mounted. Inside the ERS you will find five internal sensors: temperature sensor, humidity sensor, light sensor, and a motion sensor (PIR). For ERS-CO2 there is an additional CO2 sensor, and for the ERS-sound there is an additional sound sensor for peak and average dBa level. ERS is powered by two 3,6V AA lithium battery (one for ERS-lite). The Battery life is estimated to be up to 10 years but depends on sample interval, transmit interval, data rate and environmental factors. You are welcome to use our online battery lifetime calculator. All Elsys sensors are equipped with NFC (Near Field Communication) for easy configuration with an Android phone. With our application “Sensor Settings“, you can change sample rate, data rate, encryption keys, triggers, activation and much more.  All our sensors are built on the LoRaWAN stack from Semtech. Channel planes for US902-928, EU863-870, AS923, AU915-928, KR920-923

Specifications ERS/ERS-CO2/ERS-sound

  • LoRa Alliance Certified
  • Temperature
  • Humidity
  • Light
  • Motion (PIR)
  • CO2 (ERS-CO2)
  • Sound, peak and average (ERS-sound)
  • NFC for easy configuration
  • Size : 86x86x26mm
  • Accuracy: ± 0.5°C, ±2%rh
  • Resolution: 0.1°C, 0.1%rh
  • Approx. range: 8km*
  • Battery life: 10 years**/Approx. 3 years for ERS-sound
  • US902-928, EU863-870, AS923, AU915-928, KR920-923
  • 2 x 3.6V AA lithium battery

Specifications ERS-lite

 

  • LoRa Alliance Certified
  • Temperature
  • Humidity
  • NFC for easy configuration
  • Size : 86x86x26mm
  • Accuracy: ± 0.5°C, ±2%rh
  • Resolution: 0.1°C, 0.1%rh
  • Approx. range: 8km*
  • Battery life: 10 years**
  • US902-928, EU863-870, AS923, AU915-928, KR920-923
  • 1 x 3.6V AA lithium battery

 

* LoRa™ modulation SF10
** Depending on interval

 

 

 


Installation

Old enclosure

 

Battery life calculator

Chose sensor (ERS,ELT-1, ESM5k) and data coding(SF7-SF12).  Fill in number of samples per hour. Use “All sensors” field to change all time settings at once.

*Receive window2 (SF9) depends on server settings .

** Battery life is a theoretical value. Battery life is negatively affected by moister, high temperature, dirt, vibration and more. Most battery manufacturer grantees maximum 10 years of battery life (storage and usage).