netvox R315LA Wireless Proximity Sensor
FAQs
- Q: How can I check the battery life of the device?
- A: Visit http://www.netvox.com.tw/electric/electric_calc.html for detailed information on battery life calculations.
- Q: What should I do if the device fails to join the network?
- A: Follow the troubleshooting steps outlined in the setup instructions. Ensure proper battery insertion and network search procedures are followed.
PRODUCT INFORMATION
Copyright©Netvox Technology Co., Ltd.
This document contains proprietary technical information which is the property of NETVOX Technology. It shall be maintained in strict confidence and shall not be disclosed to other parties, in whole or in part, without written permission of NETVOX Technology. The specifications are subject to change without prior notice.
Introduction
R315LA is a proximity sensor that detects an object’s presence by measuring the distance between the sensor and the item. With a 62cm measurement range, it is suitable for short-range measurements, such as toilet paper detection. In addition, R315LA is small and light in weight. Without time-consuming and complicated installation methods, users can easily fix R315LA on a surface and get accurate measurement results.
LoRa Wireless Technology
LoRa is a wireless communication technology famous for its long-distance transmission and low power consumption. Compared with other communication methods, LoRa spread spectrum modulation technique greatly extends the communication distance. It can be widely used in any use case that requires long-distance and low-data wireless communications. For example, automatic meter reading, building automation equipment, wireless security systems, and industrial monitoring. It has features like small size, low power consumption, long transmission distance, strong anti-interference ability, and so on.
LoRaWAN
LoRaWAN uses LoRa technology to define end-to-end standard specifications to ensure interoperability between devices and gateways from different manufacturers
Appearance
Features
- Time of Flight (ToF) sensor
- SX1262 wireless communication module
- 2* 3V CR2450 coin cell batteries
- Compatible with LoRAWAN Class A
- Frequency hopping spread spectrum technology
- Configure parameters through third-party software platforms, read data, and set alarms via SMS text and email (optional)
- Applicable to third-party platforms: Actility / ThingPark, TTN, MyDevices / Cayenne
- Low power consumption and long battery life
Note: Please visit http://www.netvox.com.tw/electric/electric_calc.html for more information about battery life.
Setup Instructions
On/Off
On/Off | |
Power on | Insert two 3V CR2450 batteries. |
Turn on | Press the function key and the green indicator flashes once. |
Turn off (Factory resetting) | Press and hold the function key for 5 seconds until the green indicator flashes 20 times. |
Power off | Remove Batteries. |
Note |
1. Remove and insert the battery, the device is on/off according to the last status before powering off.
2. The on/off interval should be about 10 seconds to avoid the interference of capacitor inductance and other energy storage components. 3. Press and hold the function key until the batteries are inserted, the device will be in engineering test mode. |
Network Joining | |
Never joined the network |
Turn on the device to search the network.
The green indicator stays on for 5 seconds: Success The green indicator remains off: Fail |
Had joined the network (without factory resetting) | Turn on the device to search the previous network.
The green indicator stays on for 5 seconds: Success The green indicator remains off: Fail |
Fail to join the network |
1. Please remove batteries when the device is not in use.
2. Please check the device verification information on the gateway or consult your platform server provider. |
Function Key | |
Press and hold for 5 seconds |
Factory resetting / Turn off
The green indicator flashes for 20 times: Success The green indicator remains off: Fail |
Press once |
The device is in the network: green indicator flashes once and sends a report The device is not in the network: green indicator remains off |
Sleeping Mode | |
The device is on and in the network |
Sleeping period: Min Interval.
When the reportchange exceeds the setting value or the state changes: send a data report according to Min Interval. |
The device is on but not in the network |
1. Please remove batteries when the device is not in use.
2. Please check the device verification information on the gateway or consult your platform server provider. |
Low Voltage Warning
Low Voltage | 2.6V |
Data Report
The device will immediately send a version packet report and an attribute report, including status and distance. It sends data in the default configuration before any configuration is done.
- Default setting:
- Max Interval: 0x0E10 (3600s)
- Min Interval: 0x0E10 (3600s)
- BatteryChange: 0x01 (0.1V)
- DistanceChange: 0x0014 (20mm)
- OnDistanceThreshold = 0x0064 (100mm)
- Threshold Alarm:
- Low Distance Alarm: 0x01 (bit0=1)
- High Distance Alarm: 0x02 (bit1=1)
Note:
- a. When the Distance ≤ OnDistanceThreshold, the Status = 0x01 (object detected). When the Distance > OnDistanceThreshold, the Status = 0x00 (no object detected).
- b. The device report interval will be programmed based on the default firmware which may vary.
- c. The interval between two reports must be the minimum time.
- d. Please refer Netvox LoRaWAN Application Command document and Netvox Lora Command Resolver
- http://cmddoc.netvoxcloud.com/cmddoc to resolve uplink data.
Data report configuration and sending period are as follows:
Min Interval (Unit: second) | Max Interval (Unit: second) |
Reportable Change |
Current Change ≥
Reportable Change |
Current Change <
Reportable Change |
Any number between
1–65535 |
Any number between
1–65535 |
Cannot be 0 |
Report
per Min Interval |
Report
per Max Interval |
Example of ReportDataCmd
FPort: 0x06
Bytes | 1 | 1 | 1 | Var (Fix = 8 Bytes) |
Version | DeviceType | ReportType | NetvoxPayLoadData |
- Version – 1 byte –0x01——the Version of NetvoxLoRaWAN Application Command Version
- DeviceType – 1 byte – Device Type of Device The devicetype is listed in Netvox LoRaWAN Application Devicetype doc.
- ReportType – 1 byte – the presentation of the NetvoxPayLoadData, according to the devicetype
- NetvoxPayLoadData– Fixed bytes (Fixed = 8 Bytes)
Tips
- Battery Voltage:
- The voltage value is bit 0 to bit 6, bit 7=0 is normal voltage, and bit 7=1 is low voltage.
- Battery=0xA0, binary= 1001 1010, if bit 7= 1, it means low voltage.
- The actual voltage is 0001 1010 = 0x1A= 26, 26*0.1V = 2.6V
- Version Packet:
- When Report Type=0x00 is the version packet, such as 01DD000A01202404010000, the firmware version is 2024.04.01.
- Data Packet:
- When Report Type=0x01 is the data packet.
Device |
Device Type | Report Type |
NetvoxPayLoadData |
||||||||
R315LA |
0xDD |
0x00 | SoftwareVersion
(1 Byte) e.g.0x0A—V1.0 |
HardwareVersion
(1 Byte) |
DateCode
(4 Bytes, e.g. 0x20170503) |
Reserved
(2 Bytes, fixed 0x00) |
|||||
0x01 |
Battery (1 Byte, unit:0.1V) |
VModbusID (1 Byte, Virtual Modbus ID) |
Status (1 Byte 0x01_On 0x00_Off) |
Distance (2 Bytes, unit:1mm) |
Threshold Alarm (1 Byte)
Bit0_Low Distance Alarm, Bit1_High Distance Alarm, Bit2-7: Reserved |
Reserved (2 Bytes, fixed 0x00) |
Example 1 of Uplink: 01DD011D00010085000000
- 1st byte (01): Version
- 2nd byte (DD): DeviceType 0xDD-R315LA
- 3rd byte (01): ReportType
- 4th byte (1D): Battery-2.9V, 1D (Hex) = 29 (Dec), 29*0.1V=2.9V
- 5th byte (00): VmodbusID
- 6th byte (01): Status -On
- 7th8th byte (0085): Distance-133mm, 0085 (Hex) = 133 (Dec), 133* 1mm = 133mm
- 9th byte (00): ThresholdAlarm-No Alarm
- 10th11th byte (0000): Reserved
Low Distance Alarm = 0x01 (bit0=1)
High Distance Alarm = 0x02 (bit1=1)
Example of Report Configuration
FPort: 0x07
Bytes | 1 | 1 | Var (Fix = 9 Bytes) |
CmdID | DeviceType | NetvoxPayLoadData |
- CmdID– 1 byte
- DeviceType– 1 byte – Device Type of Device
- NetvoxPayLoadData– var bytes (Max = 9 Bytes)
Description |
Device |
Cmd ID | Device Type |
NetvoxPayLoadData |
|||||
Config ReportReq |
R315LA |
0x01 |
0xDD |
MinTime (2 Bytes, unit: s) |
MaxTime (2 Bytes, unit: s) |
BatteryChange (1 Byte, unit: 0.1v) | DistanceChange (2 Bytes, unit: 1mm) | Reserved (2 Bytes, fixed 0x00) | |
Config ReportRsp |
0x81 |
Status (0x00_success) | Reserved
(8 Bytes, fixed 0x00) |
||||||
ReadConfig ReportReq |
0x02 |
Reserved
(9 Bytes, fixed 0x00) |
|||||||
ReadConfig ReportRsp |
0x82 |
MinTime (2 Bytes, unit: s) |
MaxTime (2 Bytes, unit: s) |
BatteryChange (1 Byte, unit: 0.1v) | DistanceChange (2 Bytes, unit: 1mm) | Reserved (2 Bytes, fixed 0x00) | |||
SetOnDistance ThresholdRreq |
0x03 |
OnDistanceThreshold (2 Bytes, unit: 1mm) |
Reserved (7 Bytes, fixed 0x00) |
||||||
SetOnDistance ThresholdRrsp |
0x83 |
Status (0x00_success) |
Reserved (8 Bytes, fixed 0x00) |
||||||
GetOnDistance ThresholdRreq |
0x04 |
Reserved (9 Bytes, fixed 0x00) |
|||||||
GetOnDistance ThresholdRrsp |
0x84 |
OnDistanceThreshold (2 Bytes, unit: 1mm) |
Reserved (7 Bytes, fixed 0x00) |
- Configure device parameters
- MinTime = 0x003C (60s), MaxTime = 0x003C (60s), BatteryChange = 0x01 (0.1V), Distancechange = 0x0032 (50mm)
- Downlink: 01DD003C003C0100320000
- Response: 81DD000000000000000000 (configuration successful)
- 81DD010000000000000000 (configuration failed)
- Read parameters
- Downlink: 02DD000000000000000000
- Response: 82DD003C003C0100320000 (current parameters)
- Configure parameters
- OnDistanceThreshold = 0x001E (30mm)
- Downlink: 03DD001E00000000000000
- Response: 83DD000000000000000000 (configuration successful)
- 83DD010000000000000000 (configuration failed)
- Read parameters
- Downlink: 04DD000000000000000000
- Response: 84DD001E00000000000000 (current parameters)
- Note: Distance > OnDistanceThreshold, the Status = 0x00. (no object detected)
- Distance ≤ OnDistanceThreshold, the Status = 0x01. (object detected)
Example of GlobalCalibrateCmd
FPort: 0x0E (port 14, Dec)
Description | CmdID | SensorType | PayLoad (Fix = 9 Bytes) | |||||||
SetGlobalCalibrateReq |
0x01 |
0x36 |
Channel (1 Byte, 0_Channel1, 1_Channel2, etc.) | Multiplier (2 Bytes, Unsigned) | Divisor (2 Bytes, Unsigned) | DeltValue (2 Bytes, Signed) | Reserved (2 Bytes, fixed 0x00) | |||
SetGlobalCalibrateRsp |
0x81 |
Channel (1Byte, 0_Channel1, 1_Channel2, etc.) |
Status (1 Byte, 0x00_success) |
Reserved (7 Bytes, fixed 0x00) |
||||||
GetGlobalCalibrateReq |
0x02 |
Channel (1 Byte, 0_Channel1, 1_Channel2, etc.) |
Reserved (8 Bytes, fixed 0x00) |
|||||||
GetGlobalCalibrateRsp |
0x82 |
Channel (1 Byte, 0_Channel1, 1_Channel2, etc.) | Multiplier (2 Bytes, Unsigned) | Divisor (2 Bytes, Unsigned) | DeltValue (2 Bytes, Signed) | Reserved (2 Bytes, fixed 0x00) |
- Configure device parameters
- Channel = 0x00, Multiplier = 0x0001, Divisor = 0x0001, DeltValue = 0xFFFF (2’s complement binary representation of -1)
- Downlink: 01360000010001FFFF0000
- Response: 8136000000000000000000 (configuration successful)
- 8136000100000000000000 (configuration failed)
- Read parameters
- Downlink: 0236000000000000000000
- Response: 82360000010001FFFF0000 (current parameters)
Note:
- a. When Multiplier ≠ 0, calibration = DeltValue*Multiplier
- b. When Divisor ≠ 1, calibration = DeltValue/Divisor
- c. Positive and negative numbers are supported.
- d. The last configuration will be kept when the device is factory reset.
Example of NetvoxLoRaWANRejoin
(NetvoxLoRaWANRejoin command is to check if the device is still in the network. If the device is disconnected, it will automatically rejoin back to the network.)
Fport: 0x20 (port 32, Dec)
CmdDescriptor | CmdID (1 Byte) | Payload (5 Bytes) | |
SetNetvoxLoRaWANRejoinReq |
0x01 |
RejoinCheckPeriod (4 Bytes, unit: 1s
0XFFFFFFFF Disable NetvoxLoRaWANRejoinFunction) |
RejoinThreshold (1 Byte) |
SetNetvoxLoRaWANRejoinRsp | 0x81 | Status (1 Byte, 0x00_success) | Reserved
(4 Bytes, fixed 0x00) |
GetNetvoxLoRaWANRejoinReq | 0x02 | Reserved (5 Bytes, fixed 0x00) | |
GetNetvoxLoRaWANRejoinRsp | 0x82 | RejoinCheckPeriod (4 Bytes, unit:1s) | RejoinThreshold (1 Byte) |
- Configure parameters
- RejoinCheckPeriod = 0x00000E10 (60min); RejoinThreshold = 0x03 (3 times)
- Downlink: 0100000E1003
- Response: 810000000000 (configuration succeed)
- 810100000000 (configuration fail)
- Read configuration
- Downlink: 020000000000
- Response: 8200000E1003
Note:
- a. Set RejoinCheckThreshold as 0xFFFFFFFF to stop the device from rejoining the network.
- b. The last configuration would be kept as the device is factory reset.
- c. Default setting: RejoinCheckPeriod = 2 (hr) and RejoinThreshold = 3 (times)
Example of VModbusID
Fport: 0x22 (port 34, Dec)
CmdDescriptor | CmdID (1 Byte) | Payload (5 Bytes) |
SetVModbusIDReq | 0x01 | VModbusID (1 Byte) |
SetVModbusIDRsp | 0x81 | Status (1 Byte, 0x00_success) |
GetVModbusIDReq | 0x02 | Reserved (1 Byte, fixed 0x00) |
GetVModbusIDRsp | 0x82 | VModbusID (1 Byte) |
- Configure device parameters
- VModbusID = 0x01 (1)
- Downlink: 0101
- Response: 8100 (configuration successful)
- 8101 (configuration failed)
- Read parameters
- Downlink: 0200
- Response: 8201 (current parameters)
Example of AlarmThresholdCmd
FPort: 0x10 (port = 16, Dec)
CmdDescriptor | CmdID
(1Byte) |
Payload(10Bytes) | |||||
SetSensorAlarm ThresholdReq |
0x01 |
Channel (1Byte) 0x00_Channel 1 | SensorType(1Byte) 0x00_ Disable ALL SensorthresholdSet
0x2F_Distance |
SensorHighThreshold (4Bytes,Unit:1mm) |
SensorLowThreshold (4Bytes,Unit:1mm) |
||
SetSensorAlarm
ThresholdRsp |
0x81 | Status
(0x00_success) |
Reserved
(9Bytes,Fixed 0x00) |
||||
GetSensorAlarm ThresholdReq |
0x02 |
Channel(1Byte) 0x00_Channel1 |
SensorType(1Byte) 0x00_ Disable ALL SensorthresholdSet
0x2F_ Distance |
Reserved (8Bytes,Fixed 0x00) |
|||
GetSensorAlarm ThresholdRsp |
0x82 |
Channel (1Byte) 0x00_Channel 1 | SensorType(1Byte) 0x00_ Disable ALL SensorthresholdSet
0x2F_Distance |
SensorHighThreshold (4Bytes,Unit:1mm) |
SensorLowThreshold (4Bytes,Unit:1mm) |
||
Note:
(1) Distance sensor type = 0x2F, Channel = 0x00. (2) Set SensorHighThreshold or SensorLowThreshold as 0xFFFFFFFF to disable the threshold. (3) The last configuration will be kept after the device is factory reset. |
- Configure distance high alarm = 200mm, low alarm =100mm
- Downlink: 01002F000000C800000064 // C8(Hex) = 200(DEC)
- // 64(Hex) = 100(DEC)
- Response: 8100000000000000000000 (Configuration success)
- GetSensorAlarmThresholdReq
- Downlink: 02002F0000000000000000
- Response: 82002F000000C800000064 (Configuration success)
- Clear all SensorThreshold (Sensor type=0x00)
- Downlink: 0100000000000000000000
- Response: 8100000000000000000000
Example for MinTime/MaxTime logic
Example#1 based on MinTime = 1 Hour, MaxTime= 1 Hour, Reportable Change i.e. BatteryVoltageChange=0.1V
Note: MaxTime = MinTime. Data will only be reported according to MaxTime (MinTime) duration regardless of BatteryVoltageChange value.
Example#2 based on MinTime = 15 Minutes, MaxTime= 1 Hour, Reportable Change i.e. BatteryVoltageChange= 0.1V.
Example#3 based on MinTime = 15 Minutes, MaxTime= 1 Hour, Reportable Change i.e. BatteryVoltageChange= 0.1V.
Notes:
- The device only wakes up and performs data sampling according to MinTime Interval. When it is sleeping, it does not collect data.
- The data collected is compared with the last data reported. If the data change value is greater than the ReportableChange value, the device reports according to MinTime interval. If the data variation is not greater than the last data reported, the device reports according to MaxTime interval.
- We do not recommend to set the MinTime Interval value too low. If the MinTime Interval is too low, the device wakes up frequently and the battery will be drained soon.
- Whenever the device sends a report, no matter resulting from data variation, button pushed or MaxTime interval, another cycle of MinTime / MaxTime calculation is started.
Installation
Toilet Paper Detection
- Turn R315LA over and peel the backings off the double-sided tapes.
- Clean the surface and install R315LA on it.
- Close the case and finish installation.
- Note: a. Please install R315LA on a flat surface. Installing it on a rough surface could affect the adhesion of the double-sided tape.
- b. Installing R315LA near a metal shielding box or any electrical equipment could cause interruptions to transmission.
- R315LA reports data.
- A. When the toilet paper is still sufficient, …
- Distance ≤ OnDistanceThreshold, the Status = 0x01.
- B. When the toilet paper is about to run out, …
- Note:
- Default: DistanceChange = 0x0014 (20mm)
- OnDistanceThreshold = 0x0064 (100mm)
- Distance > OnDistanceThreshold, the Status = 0x00.
- A. When the toilet paper is still sufficient, …
Important Maintenance Instructions
Kindly pay attention to the following to achieve the best maintenance of the product:
- Keep the device dry. Rain, moisture, or any liquid might contain minerals and thus corrode electronic circuits. If the device gets wet, please dry it completely.
- Do not use or store the device in a dusty or dirty environment. It might damage its detachable parts and electronic components.
- Do not store the device under extremely hot conditions. High temperatures can shorten the life of electronic devices, destroy batteries, and deform or melt some plastic parts.
- Do not store the device in places that are too cold. Otherwise, when the temperature rises, moisture that forms inside the device will damage the board.
- Do not throw, knock, or shake the device. Rough handling of equipment can destroy internal circuit boards and delicate structures.
- Do not clean the device with strong chemicals, detergents, or strong detergents.
- Do not apply the device with paint. Smudges might block the device and affect the operation.
- Do not throw the battery into the fire, or the battery will explode. Damaged batteries may also explode.
All of the above applies to your device, battery, and accessories. If any device is not operating properly, please take it to the nearest authorized service facility for repair.
Documents / Resources
![]() |
netvox R315LA Wireless Proximity Sensor [pdf] User Manual R315LA Wireless Proximity Sensor, R315LA, Wireless Proximity Sensor, Proximity Sensor, Sensor |