Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

A penny saved is a penny to squander. -- Ambrose Bierce


devel / comp.lang.ada / Re: SimpleComponents / MQTT

SubjectAuthor
* SimpleComponents / MQTTslos
`* Re: SimpleComponents / MQTTDmitry A. Kazakov
 `* Re: SimpleComponents / MQTTslos
  `* Re: SimpleComponents / MQTTDmitry A. Kazakov
   `- Re: SimpleComponents / MQTTslos

1
SimpleComponents / MQTT

<b4ff5bf4-0d7c-4481-8909-0136da0e2ca5n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=8471&group=comp.lang.ada#8471

  copy link   Newsgroups: comp.lang.ada
X-Received: by 2002:a5d:604a:0:b0:21b:9517:66eb with SMTP id j10-20020a5d604a000000b0021b951766ebmr2291038wrt.494.1656497712480;
Wed, 29 Jun 2022 03:15:12 -0700 (PDT)
X-Received: by 2002:a81:c314:0:b0:319:8f7c:6323 with SMTP id
r20-20020a81c314000000b003198f7c6323mr3129574ywk.457.1656497711680; Wed, 29
Jun 2022 03:15:11 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.128.88.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.ada
Date: Wed, 29 Jun 2022 03:15:11 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=2a01:e34:ecb4:e690:9e4b:f583:2e6e:7b7;
posting-account=O3LyFwoAAACc1uh60ZcOUmAGdDmGsEcV
NNTP-Posting-Host: 2a01:e34:ecb4:e690:9e4b:f583:2e6e:7b7
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b4ff5bf4-0d7c-4481-8909-0136da0e2ca5n@googlegroups.com>
Subject: SimpleComponents / MQTT
From: new.stephane.los@gmail.com (slos)
Injection-Date: Wed, 29 Jun 2022 10:15:12 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: slos - Wed, 29 Jun 2022 10:15 UTC

Hello Dmitry,
I'm having fun playing with SimpleComponents MQTT implementation and I have some questions...

I'm on Debian Sid using :
GNAT Studio 23.0w (20220512) hosted on x86_64-pc-linux-gnu
GNAT 11.3.0 targeting x86_64-linux-gnu

GNAT Studio
(c) 2001-2022 AdaCore

Building the test application is fine using :
gprbuild -d -P/home/slos/Ada/SimpleComponents/components_4_62/test_components/components-connections_server-mqtt-test_mqtt.gpr -XObject_Dir=. -Xarch=x86_64 -XTarget_OS=Windows -XDevelopment=Debug -XLegacy=Ada2012 -XAtomic_Access=auto -XTasking=Multiple -XTraced_objects=Off /home/slos/Ada/SimpleComponents/components_4_62/test_components/test_mqtt_client.adb

Running using either "test.mosquitto.org" or local mosquitto gives an exception after some messages received :
Exception raised
raised GNAT.SOCKETS.SERVER.CONNECTION_ERROR : gnat-sockets-server.adb:1145

I don't recall having got exceptions with Gnat Community 2021 on Windows.
Could you please have a look on that behaviour ?

It should be possible to use user name and password but I haven't found how with your implementation.
Could you tell please ?

Of course, one should use TLS in this case. Is it feasible and how ?

Also, how to provide a timestamp ?

Thanks a lot for your kind support.

Best Regards,
Stéphane
https://www.ada4automation.org/

Re: SimpleComponents / MQTT

<t9hpds$mqr$1@gioia.aioe.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=8474&group=comp.lang.ada#8474

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!aioe.org!gz+JwLUglqIuIsOsQSSzqA.user.46.165.242.91.POSTED!not-for-mail
From: mailbox@dmitry-kazakov.de (Dmitry A. Kazakov)
Newsgroups: comp.lang.ada
Subject: Re: SimpleComponents / MQTT
Date: Wed, 29 Jun 2022 17:00:13 +0200
Organization: Aioe.org NNTP Server
Message-ID: <t9hpds$mqr$1@gioia.aioe.org>
References: <b4ff5bf4-0d7c-4481-8909-0136da0e2ca5n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="23387"; posting-host="gz+JwLUglqIuIsOsQSSzqA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Content-Language: en-US
X-Notice: Filtered by postfilter v. 0.9.2
 by: Dmitry A. Kazakov - Wed, 29 Jun 2022 15:00 UTC

On 2022-06-29 12:15, slos wrote:

> I'm having fun playing with SimpleComponents MQTT implementation and I have some questions...
>
> I'm on Debian Sid using :
> GNAT Studio 23.0w (20220512) hosted on x86_64-pc-linux-gnu
> GNAT 11.3.0 targeting x86_64-linux-gnu
>
> GNAT Studio
> (c) 2001-2022 AdaCore
>
> Building the test application is fine using :
> gprbuild -d -P/home/slos/Ada/SimpleComponents/components_4_62/test_components/components-connections_server-mqtt-test_mqtt.gpr -XObject_Dir=. -Xarch=x86_64 -XTarget_OS=Windows -XDevelopment=Debug -XLegacy=Ada2012 -XAtomic_Access=auto -XTasking=Multiple -XTraced_objects=Off /home/slos/Ada/SimpleComponents/components_4_62/test_components/test_mqtt_client.adb
>
> Running using either "test.mosquitto.org" or local mosquitto gives an exception after some messages received :
> Exception raised
> raised GNAT.SOCKETS.SERVER.CONNECTION_ERROR : gnat-sockets-server.adb:1145
>
> I don't recall having got exceptions with Gnat Community 2021 on Windows.
> Could you please have a look on that behaviour ?

It means that the other side (mosquitto) dropped the connection.

One possible case is when ping timeout (Keep_Alive) is set but the
client was silent for the period of time. You should send ping before
the timeout expires or reconnect.

> It should be possible to use user name and password but I haven't found how with your implementation.
> Could you tell please ?

User and password are set after TCP/IP connection established during
handshake (see Send_Connect).

> Of course, one should use TLS in this case. Is it feasible and how ?

Well, MQTT does not require SSL/TLS for user/password during the
handshake. But logically yes, without a secure layer (e.g. provided
GNUTLS or OpenSSL connection handlers) it makes little sense.

With SSL/TLS you could probably map users to certificates/keys and drop
user/password, but for the server side it is easier to have them in
order to maintain user access rights.

(In my opinion MQTT is a toy thing not be used for serious applications,
though I admit, it is hugely popular)

> Also, how to provide a timestamp ?

Hmm, where? MQTT is totally low-level. There are only string topic and
string messages, nothing else. Otherwise? if you want to send a time
stamp in a message use FILETIME or UNIX time epoch and pack 8 bytes UTC
offset to (low or big endian) in the corresponding resolution. MQTT
payload need not to be printable.

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

Re: SimpleComponents / MQTT

<8d0ed195-e106-45c1-9740-07a99e404904n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=8487&group=comp.lang.ada#8487

  copy link   Newsgroups: comp.lang.ada
X-Received: by 2002:a05:600c:1e13:b0:3a0:45c9:8480 with SMTP id ay19-20020a05600c1e1300b003a045c98480mr17340197wmb.51.1656665487754;
Fri, 01 Jul 2022 01:51:27 -0700 (PDT)
X-Received: by 2002:a25:dec8:0:b0:66d:68be:6764 with SMTP id
v191-20020a25dec8000000b0066d68be6764mr13029836ybg.422.1656665486999; Fri, 01
Jul 2022 01:51:26 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.128.87.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.ada
Date: Fri, 1 Jul 2022 01:51:26 -0700 (PDT)
In-Reply-To: <t9hpds$mqr$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=2a01:e34:ecb4:e690:9e4b:f583:2e6e:7b7;
posting-account=O3LyFwoAAACc1uh60ZcOUmAGdDmGsEcV
NNTP-Posting-Host: 2a01:e34:ecb4:e690:9e4b:f583:2e6e:7b7
References: <b4ff5bf4-0d7c-4481-8909-0136da0e2ca5n@googlegroups.com> <t9hpds$mqr$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8d0ed195-e106-45c1-9740-07a99e404904n@googlegroups.com>
Subject: Re: SimpleComponents / MQTT
From: new.stephane.los@gmail.com (slos)
Injection-Date: Fri, 01 Jul 2022 08:51:27 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: slos - Fri, 1 Jul 2022 08:51 UTC

Le mercredi 29 juin 2022 à 17:00:20 UTC+2, Dmitry A. Kazakov a écrit :
> > Could you please have a look on that behaviour ?
> It means that the other side (mosquitto) dropped the connection.
>
> One possible case is when ping timeout (Keep_Alive) is set but the
> client was silent for the period of time. You should send ping before
> the timeout expires or reconnect.
Hello Dmitry,
Thanks for your answer.
I had set the "Keep_Alive" parameter :
Send_Connect (Client, "TestMQTTclient", Keep_Alive => 60.0);

If it is not set, one gets :
MQTT client test 1 started
MQTT client connected to test.mosquitto.org
Connect rejected identifier rejected

Indeed, I get exceptions because of this line :
GNAT.Exception_Traces.Trace_On (GNAT.Exception_Traces.Every_Raise);

I have played with mosquitto on localhost and wanted to see what would happen if the broker was shut down.
Problem is that I could not get an information or exception in this case.

So I had to add a check of the ping response in order to know if the broker is still there but maybe you have a better idea.

> > It should be possible to use user name and password but I haven't found how with your implementation.
> > Could you tell please ?
> User and password are set after TCP/IP connection established during
> handshake (see Send_Connect).
> > Of course, one should use TLS in this case. Is it feasible and how ?
> Well, MQTT does not require SSL/TLS for user/password during the
> handshake. But logically yes, without a secure layer (e.g. provided
> GNUTLS or OpenSSL connection handlers) it makes little sense.
>
> With SSL/TLS you could probably map users to certificates/keys and drop
> user/password, but for the server side it is easier to have them in
> order to maintain user access rights.
I use Gnoga as well and there are explanations on how to use SSL/TLS in Gnoga's documentation.
I wondered if such explanations where available to use with MQTT as well.

> (In my opinion MQTT is a toy thing not be used for serious applications,
> though I admit, it is hugely popular)
Well, there are many toy things used for serious applications ! ;-)
"Ada for Automation" being one of those... created by an Ada amateur...

> > Also, how to provide a timestamp ?
> Hmm, where? MQTT is totally low-level. There are only string topic and
> string messages, nothing else. Otherwise? if you want to send a time
> stamp in a message use FILETIME or UNIX time epoch and pack 8 bytes UTC
> offset to (low or big endian) in the corresponding resolution. MQTT
> payload need not to be printable.
You are right. I remember having played with nodes in Node-RED where there was something.
But from :
https://github.com/persan/mosquitto-ada
C.Publish (Mid => null, Topic => "test", Payload => "[" & GNAT.Time_Stamp.Current_Time & "] Hej", Qos => QOS_0, Retain => False);
or :
http://mosquitto.org/man/mosquitto_pub-1.html
Publish timestamp and temperature information to a remote host on a non-standard port and QoS 0:
mosquitto_pub -h 192.168.1.1 -p 1885 -t sensors/temperature -m "1266193804 32"
The timestamp is just part of the message string.

Unrelated, you have created your packages as childs of GNAT.Sockets.
Although it seems not a problem for using them, the applications can be built, that seems to be a problem for code navigation with GNAT Studio, even in latest version.
Is that a limitation of the tool or something I'm doing wrong ?

By the way, thanks to your MQTT implementation, this demo application is sending SIEMENS S7 PLC data to the mosquitto broker :
https://gitlab.com/ada-for-automation/ada-for-automation/-/tree/master/demo/142%20a4a_k0_S7

>
> --
> Regards,
> Dmitry A. Kazakov
> http://www.dmitry-kazakov.de
Best Regards,
Stéphane
https://www.ada4automation.org/

Re: SimpleComponents / MQTT

<t9mke2$um4$1@gioia.aioe.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=8489&group=comp.lang.ada#8489

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!aioe.org!gz+JwLUglqIuIsOsQSSzqA.user.46.165.242.91.POSTED!not-for-mail
From: mailbox@dmitry-kazakov.de (Dmitry A. Kazakov)
Newsgroups: comp.lang.ada
Subject: Re: SimpleComponents / MQTT
Date: Fri, 1 Jul 2022 13:05:38 +0200
Organization: Aioe.org NNTP Server
Message-ID: <t9mke2$um4$1@gioia.aioe.org>
References: <b4ff5bf4-0d7c-4481-8909-0136da0e2ca5n@googlegroups.com>
<t9hpds$mqr$1@gioia.aioe.org>
<8d0ed195-e106-45c1-9740-07a99e404904n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="31428"; posting-host="gz+JwLUglqIuIsOsQSSzqA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-US
 by: Dmitry A. Kazakov - Fri, 1 Jul 2022 11:05 UTC

On 2022-07-01 10:51, slos wrote:
> Le mercredi 29 juin 2022 à 17:00:20 UTC+2, Dmitry A. Kazakov a écrit :
>>> Could you please have a look on that behaviour ?
>> It means that the other side (mosquitto) dropped the connection.
>>
>> One possible case is when ping timeout (Keep_Alive) is set but the
>> client was silent for the period of time. You should send ping before
>> the timeout expires or reconnect.
> Hello Dmitry,
> Thanks for your answer.
> I had set the "Keep_Alive" parameter :
> Send_Connect (Client, "TestMQTTclient", Keep_Alive => 60.0);
>
> If it is not set, one gets :
> MQTT client test 1 started
> MQTT client connected to test.mosquitto.org
> Connect rejected identifier rejected

AFAIK it is a bug in mosquitto that it does not accept zero ping interval.

> Indeed, I get exceptions because of this line :
> GNAT.Exception_Traces.Trace_On (GNAT.Exception_Traces.Every_Raise);
>
> I have played with mosquitto on localhost and wanted to see what would happen if the broker was shut down.
> Problem is that I could not get an information or exception in this case.

It is unrelated to MQTT, just general TCP/IP behavior:

1. If one side (broker) shuts the socket down, the other side's (the
client) read ends with 0 payload.

2. If it crashes, the socket is closed and nothing happens until some
OS-specific timeout (might be seconds) and then the socket get shut down
and see above.

The second case could be improved by setting KEEP_ALIVE on the socket.
Not to confuse with MQTT's ping, which is rather a useless thing.

> So I had to add a check of the ping response in order to know if the broker is still there but maybe you have a better idea.

It is reverse. Ping is a sort of watchdog on the server side to drop off
sluggish clients.

If you want to speed up recognition that the broker had crashed use
TCP/IP KEEP_ALIVE option. Differently to ping it requires nothing from
you, being implemented transparently by the TCP/IP stack.

>> With SSL/TLS you could probably map users to certificates/keys and drop
>> user/password, but for the server side it is easier to have them in
>> order to maintain user access rights.
> I use Gnoga as well and there are explanations on how to use SSL/TLS in Gnoga's documentation.
> I wondered if such explanations where available to use with MQTT as well.

There is nothing specific to MQTT. All protocol implementations in
Simple Components (MQTT, HTTP, SMTP etc) use a connection server object.
If you take one like GNAT.Sockets.Server.Secure (GNUTLS) or
GNAT.Sockets.Server.OpenSSL (OpenSSL) with MQTT client/server and that
will give you MQTTS.

> Unrelated, you have created your packages as childs of GNAT.Sockets.

GNAT.Sockets.Server needs access to the private part of GNAT.Sockets.
That is the reason.

> Although it seems not a problem for using them, the applications can be built, that seems to be a problem for code navigation with GNAT Studio, even in latest version.
> Is that a limitation of the tool or something I'm doing wrong ?

It never worked well, if you mean "go to declaration" stuff. I know that
AdaCore is changing the cross-reference stuff. Maybe it will get better
at some point. (before getting worse first! (:-))

> By the way, thanks to your MQTT implementation, this demo application is sending SIEMENS S7 PLC data to the mosquitto broker :
> https://gitlab.com/ada-for-automation/ada-for-automation/-/tree/master/demo/142%20a4a_k0_S7

Nice.

P.S. In the proprietary code we rather use iTOT for SPS communication
which is far more efficient. Unfortunately it cannot be included into
the Simple Components.

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

Re: SimpleComponents / MQTT

<2b6c606e-5803-483b-b7fb-4498e61cdc4bn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=8490&group=comp.lang.ada#8490

  copy link   Newsgroups: comp.lang.ada
X-Received: by 2002:a7b:ce8a:0:b0:3a1:8ead:2ae5 with SMTP id q10-20020a7bce8a000000b003a18ead2ae5mr2709238wmj.100.1656681754356;
Fri, 01 Jul 2022 06:22:34 -0700 (PDT)
X-Received: by 2002:a81:6ed5:0:b0:313:9109:b86 with SMTP id
j204-20020a816ed5000000b0031391090b86mr17351482ywc.509.1656681753688; Fri, 01
Jul 2022 06:22:33 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!3.eu.feeder.erje.net!feeder.erje.net!fdn.fr!proxad.net!feeder1-2.proxad.net!209.85.128.87.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.ada
Date: Fri, 1 Jul 2022 06:22:33 -0700 (PDT)
In-Reply-To: <t9mke2$um4$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=2a01:e34:ecb4:e690:9e4b:f583:2e6e:7b7;
posting-account=O3LyFwoAAACc1uh60ZcOUmAGdDmGsEcV
NNTP-Posting-Host: 2a01:e34:ecb4:e690:9e4b:f583:2e6e:7b7
References: <b4ff5bf4-0d7c-4481-8909-0136da0e2ca5n@googlegroups.com>
<t9hpds$mqr$1@gioia.aioe.org> <8d0ed195-e106-45c1-9740-07a99e404904n@googlegroups.com>
<t9mke2$um4$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2b6c606e-5803-483b-b7fb-4498e61cdc4bn@googlegroups.com>
Subject: Re: SimpleComponents / MQTT
From: new.stephane.los@gmail.com (slos)
Injection-Date: Fri, 01 Jul 2022 13:22:34 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: slos - Fri, 1 Jul 2022 13:22 UTC

Le vendredi 1 juillet 2022 à 13:05:43 UTC+2, Dmitry A. Kazakov a écrit :
> On 2022-07-01 10:51, slos wrote:
> > Le mercredi 29 juin 2022 à 17:00:20 UTC+2, Dmitry A. Kazakov a écrit :
> >>> Could you please have a look on that behaviour ?
> >> It means that the other side (mosquitto) dropped the connection.
> >>
> >> One possible case is when ping timeout (Keep_Alive) is set but the
> >> client was silent for the period of time. You should send ping before
> >> the timeout expires or reconnect.
> > Hello Dmitry,
> > Thanks for your answer.
> > I had set the "Keep_Alive" parameter :
> > Send_Connect (Client, "TestMQTTclient", Keep_Alive => 60.0);
> >
> > If it is not set, one gets :
> > MQTT client test 1 started
> > MQTT client connected to test.mosquitto.org
> > Connect rejected identifier rejected
> AFAIK it is a bug in mosquitto that it does not accept zero ping interval..
> > Indeed, I get exceptions because of this line :
> > GNAT.Exception_Traces.Trace_On (GNAT.Exception_Traces.Every_Raise);
> >
> > I have played with mosquitto on localhost and wanted to see what would happen if the broker was shut down.
> > Problem is that I could not get an information or exception in this case.
> It is unrelated to MQTT, just general TCP/IP behavior:
>
> 1. If one side (broker) shuts the socket down, the other side's (the
> client) read ends with 0 payload.
>
> 2. If it crashes, the socket is closed and nothing happens until some
> OS-specific timeout (might be seconds) and then the socket get shut down
> and see above.
>
> The second case could be improved by setting KEEP_ALIVE on the socket.
> Not to confuse with MQTT's ping, which is rather a useless thing.
> > So I had to add a check of the ping response in order to know if the broker is still there but maybe you have a better idea.
> It is reverse. Ping is a sort of watchdog on the server side to drop off
> sluggish clients.
>
> If you want to speed up recognition that the broker had crashed use
> TCP/IP KEEP_ALIVE option. Differently to ping it requires nothing from
> you, being implemented transparently by the TCP/IP stack.
> >> With SSL/TLS you could probably map users to certificates/keys and drop
> >> user/password, but for the server side it is easier to have them in
> >> order to maintain user access rights.
> > I use Gnoga as well and there are explanations on how to use SSL/TLS in Gnoga's documentation.
> > I wondered if such explanations where available to use with MQTT as well.
> There is nothing specific to MQTT. All protocol implementations in
> Simple Components (MQTT, HTTP, SMTP etc) use a connection server object.
> If you take one like GNAT.Sockets.Server.Secure (GNUTLS) or
> GNAT.Sockets.Server.OpenSSL (OpenSSL) with MQTT client/server and that
> will give you MQTTS.
> > Unrelated, you have created your packages as childs of GNAT.Sockets.
> GNAT.Sockets.Server needs access to the private part of GNAT.Sockets.
> That is the reason.
> > Although it seems not a problem for using them, the applications can be built, that seems to be a problem for code navigation with GNAT Studio, even in latest version.
> > Is that a limitation of the tool or something I'm doing wrong ?
> It never worked well, if you mean "go to declaration" stuff. I know that
> AdaCore is changing the cross-reference stuff. Maybe it will get better
> at some point. (before getting worse first! (:-))
> > By the way, thanks to your MQTT implementation, this demo application is sending SIEMENS S7 PLC data to the mosquitto broker :
> > https://gitlab.com/ada-for-automation/ada-for-automation/-/tree/master/demo/142%20a4a_k0_S7
> Nice.
>
> P.S. In the proprietary code we rather use iTOT for SPS communication
> which is far more efficient. Unfortunately it cannot be included into
> the Simple Components.
> --
> Regards,
> Dmitry A. Kazakov
> http://www.dmitry-kazakov.de
Hi Dmitry,

Thanks a lot for the provided information. Much appreciated !

Best Regards,
Stéphane
https://www.ada4automation.org/


devel / comp.lang.ada / Re: SimpleComponents / MQTT

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor