Generally speaking, the software that runs on IoT devices is designed with
the unique constraints of IoT in mind (e.g. poor or intermittent network
connectivity, limited processing capacity, small amount of memory, low
power, etc.).

MQTT, for example, is often used for messaging in IoT contexts and it is
designed to be light-weight and has features like will messages, retained
messages, link stealing, session expiration, etc. to facilitate unique IoT
use-cases.

Furthermore, MQTT client implementations offer additional features not
outlined in the MQTT specification. For example, most Paho MQTT clients [1]
offer the ability to automatically reconnect, buffer messages when offline
(which will be sent automatically when the connection is re-established),
and persist messages (in case the application crashes before it has a
chance to send them).

In my opinion, adding a broker to an IoT device is not a good idea. It's
adding complexity where it isn't really required. It will make
configuration, deployment, and debugging more difficult, and it will
require more hardware (which is notoriously limited in IoT). A good MQTT
client implementation should be able to provide you with all the features
you need to operate effectively in an IoT context.


Justin

[1] https://www.eclipse.org/paho/index.php?page=downloads.php

On Tue, Mar 14, 2023 at 8:52 AM Yoann Gini <yoann.g...@gmail.com> wrote:

> Hello,
>
> I'm new here and I'm working on an IoT issue where I'm wondering if
> Artemis and federated queue could help. I'm learning the software in the
> same time I'm trying to achieve something, so I would like to have your
> opinion on this: will it work? Is it a good idea? And do you have sample
> config / blog post to recommend to learn to achieve that?
>
> The idea: IoT devices with some computing capability running local needed
> services as well as an Artemis local instance, with upstream set a Cloud
> located one.
>
> Configuration in bidirectional to allow both Cloud to pass commands to IoT
> and IoT to report feedback to Cloud.
>
> Goal of Artemis here in the IoT as federated layer (and not directly IoT
> service connected to the cloud one) would be to provide some sort of
> caching capabilities which would allow the local service to not have to
> handle disconnected state. Local service will still be able to publish to
> local Artemis and read what was lastly make available before a connectivity
> cut. And when the Internet recovers, the federation (if I understand it
> well) should resume bidirectional transfer of feedback and orders.
>
> Does that make sense for you? Is it a good usage of the solution that has
> some chance to reliably works?
>
> If so do you have any recommendations for the implementation or any blog
> post / conference I should look at to learn this?
>
> Cheers
> Yoann
>
>

Reply via email to