Functional Description
Overview
miro LogiButton is a cost-effective, battery powered and fully configurable LoRaWAN® class A IoT button device with LCD for various service-on-demand or notification applications. The 10-character LCD and the RGB LED provide configurable and immediate user feedback. It also features a high precision temperature sensor to monitor ambient temperature. The device can be configured to cover various order-on-demand or service uses cases. Using the LCD, the user can be presented a message to provide information about the current state of the process. All textes can be changed over-the-air (OTA).
Usage Concept
The device implements two internal states idle and active. The interaction with the user is done via button press. The miro LogiButton can distinguish between short and long button press. A button press will raise an event, which can be configured to trigger a state change.
To reduce battery power during storage and transportation, the device also has a transport mode.
stateDiagram-v2
direction LR
s1: Transport
s2: Idle
s3: Active
[*] --> s1
s1 --> s2: Magnet activation
state on {
s2 --> s3: Button press
s3 --> s2: Button press
s2 --> s2: Button press
s3 --> s3: Button press
}
on --> s1: Reset
State transitions, button presses, timings and the various text messages can be configured over-the-air.
Sensor Postions
The miro LogiButton has a temperature and a magnet sensor. The location of those sensors is shown in the image bellow.
Device States
Transport Mode
After production, the device is in transport mode. While in transport mode, the device is inactive and not joined to a LoRaWAN network and configured for lowest power consumption. It does only react to button presses by showing the transport mode message to inform the user about the current device state.
The device has to be activated using a magnet. Hold a magnet close to the sensor for at least 2 seconds (default setting). The sensor is located on the bottom directly below the button.
On leaving the transportation mode, the device will try to join the LoRaWAN network and drop into idle state on success.
To reactivate transport mode the device needs to be reset with transport mode activated. Once successfully joined, transport mode is deactivated, which means it can only be reactivated using a downlink command.
Idle and Active States
Idle and Active states are the two states available in operation mode. Idle mode is the default state, which the device will take after startup and joining the LoRaWAN network. The idle state is always active and cannot be disabled.
Active state is an optional state that can be activated if required for a given use case. If active state is enabled, the device will toggle between idle and active states based on configuration and actual user interaction.
In each state the device can accept either short, long or both types of button presses. For each type of button press the state transition to either idle or active can be configured. A specific button press can also be disabled for a state, which means the button press is not active and will be ignored.
See examples to get a better understanding of the various configuration options.
Button Press
The miro LogiButton offers to types of button presses to interact with the user:
- Short press
- Long press
For each type there is a minimum and maximum hold time configured. If the button is pressed and released after at least duration_short_min but before duration_short_max it is registered as a short press. The same applies for a long press.
While waiting to accept a short press, the bars on the display are increasing and the LED will light up in green once the short press window is active. Once the short press has passed, the bars are decreasing until the long press time window has been reached and the LED will light up green again.
Device Reset
The miro LogiButton is implementing a hardware reset feature, which allows to reset the device even on a software fail. To reset the device, press and hold for at least 12.5 seconds. After releasing the button, the device will be reset and immediately start to join.
The device also offers a soft reset by holding a magnet to the sensor for at least 8 seconds (default setting) or by sending a reset command using a downlink.
Note
A device reset will not change any configuration. If some parameters have been change through a downlink command, this configuration will persist. After a device reset, it will not go into transportation mode and will immediately start joining the network.
Important
After holding down the button for at least 12.5 seconds, the button has to be released to activate the reset. There is no indication on the LCD or LED while holding the button to reset the device.