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).

ELT-1/ELT-2-HP

ELT-1 and ELT-2-HP are general LoRaWAN devices for measuring analogue or digital signals. ELT-1/ELT-2-HP can for example be used together with electricity meters, flow meters, analogue sensors, moisture sensors, temperature sensors, water leak cable or ultrasonic distance sensors. They are enclosed in an IP65 box and are designed to be outside. Inside the ELT-1/ELT-2-HP you will find three internal sensors: a temperature sensor, a humidity sensor and an accelerometer for orientation measurements. On the ELT-2-HP you will also find an additional atmospheric pressure sensor. They are powered by a 3,6V AA lithium battery. The Battery life is estimated to be up to 10 years but depends on sample interval, transmit interval, data rate, power output 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 of our sensors are built on the LoRaWAN stack from Semtech. Channel planes exists for US902-928, EU863-870, AS923, AU915-928, KR920-923.

Extra features on the ELT-2-HP:

  • Dual external connections. This makes it possible to do for example: External temperature + door switch
  • Higher maximum output power.
  • Internal atmospheric pressure sensor.

Specification

  • Analog 0-10V in
  • Digital in
  • Pulse counter
  • Direct connection to S0 outputs
  • Direct connection to Decagon moisture sensors
  • Direct connection to external temperature sensor
  • Water leak sensor input
  • Direct connection to distance sensor (ultrasonic)
  • Embedded sensors for temperature, humidity, acceleration.
  • Embedded atmospheric pressure sensor (ELT-2-HP)
  • NFC for easy configuration
  • Size: 94 x 59 x 35 mm
  • Output power: +14dBm (ELT-1), +20dBm (ELT-2-HP)
  • Approx. range: 8km (ELT-1), 12km (ELT-2-HP)*
  • Battery life: 10 years**
  • Custom SW possible
  • 3.6V AA lithium battery
  • US902-928, EU863-870,AS923,AU915-928,KR920-923

* LoRa™ modulation SF10
** Depending on interval

Supported external sensors:

  • Analog input (0-10V)
  • Pulse input (pullup/pulldown), e.g. power meters.
  • DS18B20, 1-wire temperature sensor
  • Switch, normally open
  • Digital input
  • Decagon 10HS, water moisture sensor*
  • Water leak sensor/cable*
  • Maxbotix, ultrasound distance sensor*
  • GPS, with serial output*

*Only supported in firmware versions 2.1.x

 

elt-1_drw

 


ELT-1 Connection

Analog input

Analog input (0-10V),  input signal between input and ground.
Select “Analog input” in android application “Sensor Settings”.

ELT-1 input is internally pulled down and the input impedance is 7.4 kohm.

Powered analog input

Analog input (0-10V),  input signal between input and ground. +3V  present at B+ pin.
Select “Analog input” in android application “Sensor Settings”. Select “Eternal startup time” in “Sensor Settings” and configure ON-time for sensor. External startup time is how long the sensor will be powered before sampling value.

ELT-1 input is internally pulled down and the input impedance is 7.4 kohm

Pulse count (pull up)

Pulse count input, input signal between input and ground
Select “Pulse input(pull up)” in android application “Sensor Settings”

ELT-1 input is internally pulled up by ~50 kohm*.

Pulse count (pull up) -S0 input

Pulse count input, S0 signal between input and ground
Select “Pulse input(pull up)” in android application “Sensor Settings”

ELT-1 input is internally pulled up by ~50 kohm*.

Pulse count (pull down)

Pulse count input, input signal between input and B+. Select “External startup time” in “Sensor Settings” and configure ON-time for always on  that is >100000ms.
Select “Pulse input(pull down)” in android application “Sensor Settings”

ELT-1 input is internally pulled down by ~50 kohm*.

Pulse count (pull down) – External pulse

Pulse count input, input signal between input and GND. Pulse signal  from 3 to 12 voltage.
Select “Pulse input(pull down)” in android application “Sensor Settings”

ELT-1 input is internally pulled down by ~50 kohm*.

Temperature sensor input (Rev B)

Temperature sensor input. ELT-1 is configured for 1-wire interface. Connect a DS18B20 compatible sensor.
Select “Temperature input” in android application “Sensor Settings”

ELT-1 input is internally pulled up by 2.2k.

*For lower values, e.g. if there are long cables, this can be adjusted with an external resistor in parallel.

4-20mA input

4-20mA sensor input. Select “Analog input” in android application “Sensor Settings”

Connect resistor parallel to the input. Value of R can be calculated as R=UxI. For full range, use 500 ohm resistor. (20mA will then read as 10V)

Maxbotix ultrasonic range sensor

ELT-1 is configured for Maxbotix ultrasonic sensors. Connect a Maxbotix sensor with TTL or RS232 output.
Select “Distance sensor Maxbotix” in android application “Sensor Settings”

Decagon sensors

ELT-1 is configured for Decagon soil moisture sensor. Connect a Decagon sensor of type EC-5 or 10HS.
Select “Decagon” in android application “Sensor Settings”

 

elt-1_v5


Customer installation


Elt-1, standard 1/2 wave antenna

Elt-1 and external temperature sensor