I am trying to figure out how Senet integrates with Azure IoT Hub. What services I need from Senet - do I just need Senet’s Network server? I would prefer to manage devices/templates from Azure. What is Senet’s strategy?
Senet provides two different options for customers and potential customers, a Developer Portal workflow and a Production workflow. We note this, because the workflows and feature sets are dramatically different. You can take a look at our online documentation (https://docs.senetco.io/) and get a feel for the differences. The Developer Portal provides a limited, free offering allowing potential customers to develop and test devices and gateways on the Senet platform.
One of the key differences is in the configuration of the notifier, the interface between Senet and your backend application. The notifier for Developers is configured per device and for Production customers at the Application level (Senet Portal Docs), ie it is a single configuration that covers all devices. In order to get started, you’ll just need to onboard a device and a gateway to your current Developer Portal account to begin testing.
To answer your Azure question, we have an notifier integration within our Developer environment (Senet Portal Docs). Aside from that connection interface, we have limited experience with a direct integration of this platform. It is our understanding that the SAS tokens are generated per device, which introduces configuration overhead at scale, ie a notifier per device. These tokens also have an expiration, although configurable, adding to the management overhead. Production integrations that we have seen, leverage a Function App out in front of the IoT Hub. Our HTTP Application notifier would then integrate with the Function App which would leverage a SAS Token allowing it to manage all devices for the Hub. The Function App would work in such a way as to create new devices and update existing devices based on the uplink data received.
Thanks. Just a couple of more questions if I may:
- Is the communication from your app notifier only for uplink notifications from devices? What about for properties? What about device provisioning?
- Do you have a sample of the appropriate Azure Function that you have integrated with in the past?
- What would you recommend for downlink commands?
Yes, absolutely, happy to answer any questions you may have. Answers below:
Is the communication from your app notifier only for uplink notifications from devices? What about for properties? What about device provisioning?
Yes, the purpose of the notifier is to stream data that is received from your devices to your back-end application. Details of the notifier, as well as additional data that can be included with each notification is located here. Device Provisioning is handled through our API access (note that this is a Production workflow, not a Developer workflow). Details of the onboarding API as well as other application based API workflows are located here.
Do you have a sample of the appropriate Azure Function that you have integrated with in the past?
The back-end work on the function and integration has generally been handled by our customers.
What would you recommend for downlink commands?
Downlink communication, ie the specific PDU to enact a response or configuration change is specific to each device. I’d suggest a review of the device manuals which you are testing with for this information. As far as the downlink itself, the format and integration point is noted in the above API section on our docs page (Production). Note the format of downlink communication on the Dev Portal is the same as production, but the integration point is different. Connection information detailed here.