Sigfox Downlink

Alberto Fdz Vqz RELOGABLE 21 Reputation points
2022-02-23T12:07:44.22+00:00

Hi,

I need check the received data from my Sigfox callback and send to the device a downlink frame when it need it (ack field: true).
Somebody can help me, please?

Thanks in advance.

Azure IoT Hub
Azure IoT Hub
An Azure service that enables bidirectional communication between internet of things (IoT) devices and applications.
1,192 questions
0 comments No comments
{count} votes

Accepted answer
  1. chbeier 1,866 Reputation points
    2022-02-28T17:35:14.087+00:00

    Hello @Alberto Fdz Vqz RELOGABLE ,

    As I understand, you want to receive data from your Sigfox device and respond with an acknowledgement when requested in the Bidir data callback ("ack": true).
    Unfortunately, the Sigfox documentation on how to use the bidirectional connectivity with the built-in IoT Hub connector is very sparse.
    There are two options for Downlink mode in case a device asks for a downlink message

    1. DIRECT - Sigfox takes care to automatically respond with the predefined downlink data in hex e.g., "{tapId}0000{rssi}" (works for most cases and AFAIK the old way)
    2. Callback - Sigfox will push the configured downlink callback and will forward the downlink payload from IoT Hub to the device

    In the second case, you need to configure the(/a) callback as type "DATA" and "BIDIR". The JSON body should be configured to contain the ack variable so your backend logic can decide if a downlink response is required. In this case ("ack": true) your application needs to create and send a cloud-to-device message with the expected downlink payload for the specific device.
    @QuantumCache provided already great links with an overview on the IoT Hub cloud-to-device messaging capabilities, although direct methods and device twins won't work with Sigfox.
    A .Net example how to create and ingest cloud-to-device messages is shown in the docs iot-hub-csharp-csharp-c2d

    Sigfox will take care of receiving the C2D messages for the registered IoT devices from IoT Hub and forwarding the downlink data to the corresponding Sigfox Device.

    I hope that helps. If not, please provide more details on the expected acknowledgement response of your device as well as an overview of your current setup.

    1 person found this answer helpful.
    0 comments No comments

1 additional answer

Sort by: Most helpful
  1. QuantumCache 20,266 Reputation points
    2022-02-23T19:22:57.63+00:00

    Hello @Alberto Fdz Vqz RELOGABLE ,

    I hope these documents help with your initial query.

    IoT application-to-device commands

    Applications use two primary mechanisms to send commands to IoT devices, cloud-to-device messaging and direct methods.

    1. Applications send cloud-to-device messages to device-specific message queues on the IoT platform for devices to read when they're connected. The devices decide when to read the messages.
    2. Applications invoke direct methods directly on connected devices, using a request-response pattern over dedicated IoT device endpoints.

    Cloud-to-device communications guidance

    IoT Hub provides three options for device apps to expose functionality to a back-end app:

    1. Direct methods for communications that require immediate confirmation of the result. Direct methods are often used for interactive control of devices such as turning on a fan.
    2. Twin's desired properties for long-running commands intended to put the device into a certain desired state. For example, set the telemetry send interval to 30 minutes.
    3. Cloud-to-device messages for one-way notifications to the device app.

    Here is a detailed comparison of the various cloud-to-device communication options.

    Please comment in the below section for further help in this matter!

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.