MQTT mit Amazon AWS

Hallo,

ich nutze das Nightly 0.8.0-2849 auf einem Raspi 3 unter Raspbian Stretch.

Gibt es zu diesem Thema schon etwas Neues ? Ich versuche auch, Homegear über MQTT zur Zusammenarbeit mit AWS IoT zu bewegen und stehe vor der gleichen Fragestellung.

Hier der relevante Teil der mqtt.conf:

# mqtt.conf
#
# MQTT settings.
#

# Set this to "true" to enable MQTT.
# Default: false
#enabled = true

# Hostname or IP address of your MQTT message broker.
brokerHostname = Adresse des Amazon IoT Endpoints

# Port of your MQTT message broker.
brokerPort = 8883

# Name of this client.
clientName = Homegear

# The prefix to use. Every topic starts with this prefix.
# Default: homegear
prefix = homegear

# Unique ID of this Homegear instance. Change this, have you have multiple
# Homegear installations.
# This is not used for IBM Bluemix Watson IOT platform
homegearId = raspi

# Tells the MQTT server to retain received MQTT messages. New clients will then
# receive the last value of a topic on connection.
# Variables of type "Action" are not retained.
retain = true

# When authentication by username and password is enabled, uncomment the following two lines and fill in your username
# and password.
#username = myUser
#password = myPassword

# The number of parallel processing threads.
processingThreadCount = 5

### Topic payload encodings ###

# Enable topic: homegear/HOMEGEAR_ID/plain/PEERID/CHANNEL/VARIABLE_NAME
# Contains the value as is. E. g.: 43.7.
plainTopic = false

# Enable topic: homegear/HOMEGEAR_ID/json/PEERID/CHANNEL/VARIABLE_NAME
# Puts the value in a JSON array to be JSON-compliant: [43.7].
jsonTopic = false

# Enable topic: homegear/HOMEGEAR_ID/jsonobj/PEERID/CHANNEL/VARIABLE_NAME
# Puts the value into a JSON object. The key is value: { "value": 43.7 }.
jsonobjTopic = true



### TLS options ###

# Set to "true" to enable SSL encryption for MQTT.
enableSSL = true

# The path to the certificate authority's certificate
caFile = SFSRootCAG2.pem

# verifyCertificate checks if the server certificate received by the
# MQTT broker is signed by one of the root CAs in /etc/ssl/certs. If you use
# a self signed certificate, please put your root certificate in that
# directory. Only disable the verification for testing purposes. Without
# verification any attacker can pose as your MQTT broker.
# Default: verifyCertificate = true
#verifyCertificate = false

# The path to the PEM encoded client certificate.
certPath = Pfad zum Zertifikat

# The path to the PEM encoded client keyfile.
keyPath = Pfad zum Keyfile

Das CA Root-Zertifikat habe ich von AWS heruntergeladen und lokal auf dem Raspi gespeichert.
Eine Verbindung zum MQTT Broker wird auch erfolgreich hergestellt aber im Logfile sehe ich dann nur folgende Einträge:

01/14/20 19:39:50.860 MQTT Client: MQTT Client Warning: No PUBACK received.
01/14/20 19:39:55.899 MQTT Client: Warning: Connection to MQTT server closed.
01/14/20 19:40:00.861 MQTT Client: Error: No response received to packet: 3332001E686F6D65676561722F72617370692D68672F6A736F6E6F626A2F32342F3500B37B224C45445F535441545553223A327D

In AWS IoT habe ich testweise das Thema homegear/# abonniert, allerdings ich sehe keine MQTT Messages die empfangen werden.

Hat hierzu jemand eine Idee ? Vielen Dank.

Viele Grüße

FiveEights

Unabhängig der Zertifikate hast du mqtt nicht eingeschaltet :wink:

Hallo,

danke, aber zum Testen habe ich MQTT natürlich aktiviert - daran liegt es also leider nicht…

MQTT ist jetzt nur deswegen abgeschaltet, weil es ja für mich nicht mit AWS IoT funktioniert und nur das Logfile vollschreibt.

Viele Grüße

FiveEights

Ok, das hätte ich mir denken können. Leider mit dem AWS MQTT Broker keinerlei Erfahrung.

Vielleicht kann @sathya was dazu sagen?

Hallo,

kurzes Follow-up zu diesem Thema: Über den MQTT-Out Node in Node-Blue funktioniert das Senden von Messages an AWS IoT.

In Node-Blue verwende ich die gleiche TLS Konfiguration, die ich auch in der mqtt.conf eingestellt habe, also scheint diese grundsätzlich korrekt zu sein.

Liegt anscheinend wirklich an der bereits diskutierten Problematik mit dem QoS Level.

Viele Grüße

FiveEights