Overview For Beginners
This is just a very basic overview of what the firmware architecture looks like and what it can or cannot do. If you’d like a more in-depth guide to API 6 or any of its parts, check out API 6 Overview For Experts.
Data can be sent either from the device to the Sigfox backend or vice versa. Uplink is data sent from the device to the Sigfox backend. Uplink payload is limited to 12 bytes. Downlink is data sent from the backend to the device. Downlink payload is limited to 8 bytes.
User modes
The main feature of API 6 are the multiple different operating modes. Every operating mode is an application that has a predefined set of behaviors that can be adjusted to better fit your use case. Think of a mode as of a completely unique and different device (but of course, some modes share similarities). Each mode uses some of the predefined events - uplink messages (event hex symbol always means the same in every mode). Device behavior is controlled by downlink register values - the first and most important downlink register is the operating mode. Everything else is there just for fine-tuning the behavior of the device.
End users should never change operating modes - only integrators should configure the devices!
Arming and disarming
The devices go through a cycle of different device states. They allow you to arm (activate) the device when you need it to monitor its environment and gather data and disarm (deactivate) them when they are not needed to save the battery. Check out the API 6 Basic Operations With SimpleHw Devices guide!
Uplink payload parsing
API 6 has a predefined way of reporting data. There are exceptions of course (covered in the expert guide), but generally, the first two bytes of the payload are always the operating mode and an event. There are two ways to parse the remaining ten bytes - if the hex symbol of the event is from 0x00 to 0x7F, the additional data is appended payload (various data can be appended regardless of event). Events from 0x80 and up will mostly be sent with MAC addresses or mode-specific data that is unique to the received event.
In order to save space and battery life, some complex data is encoded into one or more bytes - you can find a list of encoding used in the API 6 here so you know what’s what.
Downlink register settings
Downlink registers are set up via downlink. The payload has to always include a register pointer and its respective value to change one setting - this means 4 register values can be changed with one downlink. Register pointers are predefined and the first one is the operating mode - in order to change it, the first byte has to be 0x01 and the following one has to be the hex symbol of the mode you’d like to use.
In default settings, downlink is triggered by an extra long press of the button (6+seconds) for both SimplePack versions and by arming (activating) the device for the SimpleLeak.
Last updated