I am using KAA iOT server to connect my hardware with cloud. I have implemeted MQTT protocol in hardware and need to implement Actor Gateway or some other solution to enable communication between hardware and cloud. I am unable to find any guide on how to implement actor gateway. Any help please.
Currently KAA only support HTTP/HTTPS, it does not support MQTT protocol. Actor gateway(Like Raspberry Pi, Cloudgate etc) will have the Kaa's SDK which will be bundled with application running on Actor gateway. The application running on Actor gateway should MQTT implementation. Your device will talk to Actor gateway with MQTT protocol. You have to design your system in that fashion.
Below diagram will show you the Actor Gateway approach:
Related
I'm new using IOT Hub from Azure and I am writing a connector which listen to an enterprise MQTT broker and send them back to an IOT Hub server. The problem I'm facing is that I need to create a connection per devices... Is there a way to avoid that ?
Either by using the IOT Hub client SDK or any MQTT library (like paho)
It's not an option to program all the devices to connect directly to the IOT Hub.
The azure iot java sdk supports connection sharing. Go to the samples section of the sdk (https://github.com/azure/azure-iot-sdk-java/device/iot-device-samples and take a look at the transportclient-samples.
For MQTT supported on Azure IoT Hub, there is only one active connection of one registered device Id at the same time.
For connection multiplexing across devices, you can select AMQP protocol.
More detailed information about MQTT supported and choosing a protocol you can reference:
Communicate with your IoT hub using the MQTT protocol
choose a communication protocol
I am fairly new to the Aws IoT . I am aware that we can write the Java client for Aws IoT. I have below three queries:
Is the Java Client used only to receive messages from the 'Thing' on Aws ?
Can other devices subscribe to the Java Client
Can this client also send messages to other devices
It will be helpful if you could help out with the starting point to implement the Java. References to any articles or links would really helpful.
Is the Java Client used only to receive messages from the 'Thing' on Aws ?
Let's assume under the Java client we will understand the MQTT client. MQTT is a messaging protocol (most commonly used with AWS IoT - at least what I've seen). And you can consider the AWS IoT as a messaging hub.
So your client can subscribe for messages from things or queues to receive messages, but as well your client could send messages to the topics or things (topics reserved for things). All things or devices are effectively messaging clients for the IoT hub.
Can other devices subscribe to the Java Client
I don't full understand your question. So I'll be guessing that your question is about other clients or devices could receive messages from your application? (a device is just another client).
The clients can subsribe to their tpoic (representing a device or functionality). Your application can send a message (see point 1) to a topic for any device it wants.
Can this client also send messages to other devices
sending messages to other devices means sending messages to topics, to which the other devices are subscribed
help out with the starting point to implement the Java
You may check the Eclipse Paho project (MQTT client)
Assume that I have web server (ad-box.deslab.vn) and raspberry pi is a client connected to my web server. (Server and Client is not in local network)
Beside using socket, How can I send a string from web server to raspberry pi?
What languages can I use to code for web server and client?
You can use MQTT (MQ Telemetry Transport or Message Queue Telemetry Transport) which is an ISO standard publish-subscribe-based lightweight messaging protocol for use on top of the TCP/IP protocol. It is designed for connections with remote locations where a "small code footprint" is required or the network bandwidth is limited.
Below you can find the list of some MQTT clients in various languages.
http://www.hivemq.com/blog/seven-best-mqtt-client-tools
https://www.ibm.com/support/knowledgecenter/SS9D84_1.0.0/com.ibm.mm.tc.doc/tc10100_.htm
I wanted to know if it is possible to create an Android Application that sends and receives messages through the ActiveMQ server? if its been done can you show me some examples perhaps?
Thank you for taking the time to read
you can use Stomp Java lib to consume from queues https://github.com/fusesource/stompjms
here an example of android app that talk to activemq https://github.com/jsherman1/android-mqtt-demo
https://dzone.com/articles/android-mqtt-activemq
http://activemq.apache.org/mqtt.html
ActiveMQ supports the MQTT protocol and will automatically map between
JMS/NMS and MQTT clients. MQTT is a machine-to-machine (M2M)
publish/subscribe messaging transport.
I have a java application under JBoss and i want to send push notifications to notify the Android device if i needs some particular piece of data, and then the device can send that to the server.
I found two solutions:
- Android Cloud to Device Messaging (C2DM)
- MQTT
I'm new to these message protocols and i'm searching if there is compatibility with JBoss. In particular, for the MQTT, i can't find a MQTT broker for JBoss.
Can anyone help me or suggest me other solution for pushing notifications to Android devices?
Thank you
C2DM has been deprecated by Google. The current version of the Google Push Service is called Google Cloud Messaging.
On your MQTT broker question: You need an MQTT client on Android and you can use any MQTT broker you like for the server part (for example HiveMQ [1]). The Android client subscribes to the broker and your JBoss application is another client, which simple publishes a message that the client receives. For that to happen your MQTT broker needs to be accessible from Android and the JBoss application, and both need to use the same topic.
As client library for both you can use Eclipse Paho [2] and for testing a public mqtt broker [3].
Hope that helps,
Chris
[1] http://www.hivemq.com
[2] http://www.eclipse.org/paho/
[3] http://mqttdashboard.com/dashboard
You can use openmobster (Open source Mbaas)
This Provides a mobile platform-independent Cloud-initiated Push Notification System.( In Android, the push mechanism is based an a persistent socket connection)