I am working on a device management solution for an IoT device. The device will host an LWM2M client. A gateway device (currently an Intel Galileo board), will host an OMA-DM client and a LWM2M server.
The general scenario is that the nodes should be able to be managed by any OMA-DM or LWM2M compliant device management server.
In case of an OMA-DM server, the commands will be sent to the gateway where they will be received by an OMA-DM client and passed on to the nodes directly as LWM2M commands or the client will use the APIs of the LWM2M server to create and send the message/command.
As such I wanted to know if there is any solution currently available that can help with this.
OR
Are there any guides or papers or any information of any kind to help me implement this solution?
OMA has something called the LwM2M gateway which interfaces an OMA-DM server to an LwM2M Server. So check out the MAI (Mobile Application Interface) gateway specs (which I don't think are finalized yet).
Related
I want to put some temperature data to thingsboard cloud platform via coap. However, the example code only support "coaps://...." format. Once I put "coap://coap.thingsboard.cloud/api/v1/$ACCESS_TOKEN/telemetry" format, it gives me "incorrect protocol in server uri". What is the difference between coaps and coap? Is it related with the website address? How to use coaps to connect device to thingsboard?
"coap:" is coap send plain / unencrypted directly over UDP
"coaps:" is coap send encrypted using DTLS over UDP
If you use "coaps:" your device must support DTLS and in the most cases you need valid credentials (PSK, RawPublicKey, or x509) in order to connect. In some cases, the client is anonymous on the dtls level, and authenticates itself then on the coap layer (custom token or similar).
it's pretty much the same as "http:" and "https:", even the anyonymous client and the authentication on http level.
How can an Application Server send a downlink message to a LoRaWAN end device connected to Actility ThingPark Community platform?
ThingPark Community Platform offers a REST API to allow Application Servers sending a downlink message to an end-device. Every http request sent to that API need to be validated by a one-time token so that ThingPark can verify the integrity of the request.
The interface between ThingPark Enterprise Network Server and an external Application Server is described in the TPE LRC AS tunnel interface development guide.
For a quick test please check our simple javascript example.
Don't forget to update the constants at the beginning of the script.
The AS_KEY is the Tunnel Interface Authentication Key that you set on the
CREATE HTTP APPLICATION form.
The AS_ID is the Application ID that you can see once you have creeted the application.
If you prefer testing with curl see our curl test shell script.
Please note that this script does not calculate the one-time token. You need to calculate it yourself according to the Tunnel interface development guide or by studying the former javascript code.
I'm struggling with the IOT Central SDK to send reported properties to my IOT Central but so far I haven't found any way to do it.
Have anyone managed to perform this very task? I have no problem sending properties or events / telemetries but I've been struggling with this for a while with no results.
The Device Twins features are supported for devices with the MQTT or AMQP protocols to the Azure IoT Central (Azure IoT Hub).
For your requirement such as using a device in the iOS Application, I do recommend using the MQTT protocol directly to the Azure IoT Central (Azure IoT Hub) and some iOS MQTT client library, for example MQTT-Client-Framework.
For test purposes of the features how to use the MQTT protocol directly, you can use any MQTT client tools such as MQTTBox, MQTT.fx, etc.
The following screen snippets show an example of using the MQTT protocol directly to the Azure IoT Central, where the MQTTBox client updated a device1 reported property (name battery):
I have installed Ejabberd in our AWS Server
We are developing an iOS messenger app and we don't want other clients to access our messaging server other than our iOS app.
All the ejabberd services should be accessible only by our iOS app,
To register
To login
To send message and use any other service.
What are all the configurations and settings should I have to do to secure our server?
There is no 100% way to disable other clients from mimicking your own client. You may use different protocol, or one more layer of encryption or special marks that allow your server use to make sure that client is yours. But if someone will have desire to write his own client, he'll use your own client to understand what should be sent on the wire.
XMPP is build on the top of TCP so there is no good way of restricting access to the server socket. If you want to be compliant with XMPP you need to use encryption, otherwise use your own custom protocol (like Skype).
We have a SMS provider that gives us access to their SMPP Server. The only problem is that, for security reasons (estipulated by this provider), we need to use a VPN connection. That is: once there (in their net) we can access the smpp server using a local IP address (10.x.x..)
Can I do this in Windows Azure? Connect to their net using the Virtual Networks feature?
Maybe late as answer, but I don't see the difference here regardless to AWS - in both cases you will VPN with their site. On Azure, you can definitely create a Site-to-Site VPN Gateway then establish VPN connectivity with the provider's site.