Mein Projekt CaSSAndRA zur Steuerung des Ardumowers

Ja. Hier nicht. Deshalb muss man sich selbst einen bauen. Wenn du Docker schon betreibst, kannst du einfach der Anleitung folgen. Alle Infos zu Docker selber fehlen natürlich. Die gibt es woanders genug.
 
Wegen Homeassistant und Geschwindigkeit möchte ich die Connection von HTTP auf MQTT umstellen...
Mit HTTP läuft Cassandra schon seit 6 Wochen problemlos - MQTT??

Leider scheitere ich aktuell mit folgendem MQTT setup (wahrscheinlich an einer Kleinigkeit):

Cassandra auf IP-RaspiServer, port 8050
ArdumowerRobbi mit Ardumower-IP

MQTT server läuft und funktioniert auf IP-RaspiServer, port 1883
Angelegt auf dem Raspiserver MQTT: BenutzerAB mit passwort: passwortCD
Mit diesem Benutzer und passwort kann ich intern auf dem Raspi Nachrichten senden/empfangen

In der Config.h von ESP32, als auch im Cassandra Webinterface sind folgende Infos eingetragen:
MQTT_Client_ID Name
MQTT_Username BenutzerAB
MQTT_Password passwordCD

zusätzlich im Cassandra Webinterface

MQTT server Ardumower-IP, auch versucht mit IP-RaspiServer
Port 1883

Mower name with prefix
ardumower/Ardumower, auch versucht mit name/name

Wo liegt der Fehler? (oder wie kann ich schnell testen wo es hängt)?


Danke für einen Tipp
 
1. Kannst du mal deine ESP32 config.h teilen (Sensible Informationen bitte vorher schwärzen)
2. Kannst du mal deine commcfg.json teilen (Sensible Informationen bitte vorher schwärzen)
 
1. Kannst du mal deine ESP32 config.h teilen (Sensible Informationen bitte vorher schwärzen)
2. Kannst du mal deine commcfg.json teilen (Sensible Informationen bitte vorher schwärzen)

...oder liegt es evtl. daran das ich nur einen user angelegt habe und der user sowohl auf client und server verwendet wird?
Der User und das Passwort in der config.h sind die gleichen wie auf dem RasberryPi mit Mosquitto. Und der Raspberry ist unabhängig vom Ardumower.

Mir ist aufgefallen das in der commcfg aktuell die IP vom Ardumower steht, hatte es aber auch schon mit der Raspberry IP versucht auf dem der Mosquitto läuft...
Es sollte dort die IP vom Raspberry Mosquitto stehen - 192.168.0.188, oder ? ... und einmal steht in 2. 192.168.0.199 und 192.168.1.199 was auch seltsam ist...

Irgendwas ist selsam ;-)





1.



#define NAME "Ardumower"

// bluetooth low energy (BLE)
#define USE_BLE 1 // comment this line to remove BLE support
#define BLE_MTU 20 // max. transfer bytes per BLE frame
#define BLE_MIN_INTERVAL 2 // connection parameters (tuned for high speed/high power consumption - see: https://support.ambiq.com/hc/en-us/articles/115002907792-Managing-BLE-Connection-Parameters)
#define BLE_MAX_INTERVAL 10
#define BLE_LATENCY 0
#define BLE_TIMEOUT 30
//#define USE_NIM_BLE 1 // use NimBLE library (requires less memory) instead of ESP32 library?

//IP WiFi:
//#define WIFI_STATIC_IP true // activate this for static IP
#define WIFI_STATIC_IP false // activate this for dynamic IP
// if using static IP, configure IPs below
#define WIFI_STATIC_IP_LOCAL 10,0,100,11
#define WIFI_STATIC_IP_GW 10,0,100,1
#define WIFI_STATIC_IP_SUBNET 255,255,255,0
#define WIFI_STATIC_IP_DNS1 8,8,8,8
#define WIFI_STATIC_IP_DNS2 8,8,4,4

#define WIFI_STA_SSID "........" // WiFi SSID (leave empty ("") to not use WiFi)
#define WIFI_STA_PSK "........" // WiFi password (leave empty ("") to not use WiFi)
#define WIFI_TIMEOUT_FIRST_RESPONSE 800 // fast response times (500), for more reliable choose: 800
#define WIFI_TIMEOUT_RESPONSE 400 // fast response times (100), for more reliable choose: 400

// comment this line to use HTTP, uncomment to use HTTPS
// NOTE: if using HTTPS, you also need to uncomment USE_NIM_BLE above!
//#define USE_HTTPS 1


// Relay server
//
// Install this library with the Arduino Library Manager:
// ArduinoWebsockets - by Gil Maimon - https://github.com/gilmaimon/ArduinoWebsockets
//
//#define USE_RELAY
//#define RELAY_URL "wss://example.relay.mow.timotto.io/mower"
//#define RELAY_USERNAME ""
//#define RELAY_PASSWORD ""
//#define RELAY_TIMEOUT 1000
//#define RELAY_PINGWAIT 55

// MQTT server
// (subscribed topcis: '/command/start', '/command/stop', '/command/dock', '/command/reboot', '/command/shutdown', '/command/"every AT+... command supported by comm.cpp"')
// e.g. command for start over AT+... payload: /command/AT+C,-1,1,0.29,100,0,-1,-1,1
// (published topics: '/online', '/state', '/props', '/stats')

#define USE_MQTT 1 // uncomment to activate MQTT
#define MQTT_PREFIX "/ardumower/"
#define MQTT_HOSTNAME "192.168.0.188" // IP or hostname (example: "192.168.2.60") - localer Raspi mit mosquitto
#define MQTT_PORT 1883
#define MQTT_CLIENT_ID NAME
#define MQTT_USERNAME "xx"
#define MQTT_PASSWORD "yy"

#define ENCRYPTION_PASSWORD vvvvvv
#define ENCRYPTION_ENABLED true




// pin assignment
#define pinGpioRx 16 // UART2 / GPIO16 / IO16
#define pinGpioTx 17 // UART2 / GPIO17 / IO17

//#define pinGpioRx 9 // UART1 / GPIO9 / SD2
//#define pinGpioTx 10 // UART1 / GPIO10 / SD3

//#define pinGpioRx 3 // UART0 / GPIO3 / RXD0
//#define pinGpioTx 1 // UART0 / GPIO1 / TXD0

#define pinLED 2

#define CONSOLE Serial // where to send/receive console messages for debugging etc.
#define UART Serial2 // where to send/receive UART data



2.

"USE": "HTTP",
"MQTT": [
{
"CLIENT_ID": "Name"
},
{
"USERNAME": "xx"
},
{
"PASSWORD": "yy"
},
{
"MQTT_SERVER": "192.168.1.199"
},
{
"PORT": 1883
},
{
"MOWER_NAME": "ardumower/Ardumower"
}
],
"HTTP": [
{
"IP": "http://192.168.0.199"
},
{
"PASSWORD": "vvvvvv"
}
],
"UART": [
{
"SERPORT": "/dev/ttyACM0"
},
{
"BAUDRATE": 115200
}
]
}
 
Habe jetzt nochmal die IP's gescheckt und Athetication in Cassandra settings ausgeschaltet (PW steht aber immer noch in ESP32)....

Immer noch auf der Suche wo es hängt....

Wenn man subsribed ist das Topic ardumower/Ardumower? - oder die Client_ID "Name" oder der username "xx"?
 
Wenn man subsribed ist das Topic ardumower/Ardumower? - oder die Client_ID "Name" oder der username "xx"?
In ESP32 stellst du einmal prefix ein und einmal Name, das trägst du mit Schrägstrich getrennt bei mower name in Cassandra ein. Schaue dir auch log Ausgabe von Cassandra an, dort stehen auch nützliche Informationen (z.B. ob die Verbindung zu Mosquito Server klappt)
 
Mosquito ist auf Pi, Client auf ESP32 - versuche weiter den Fehler einzugrenzen... - Die Cassandra commcfg.json sieht für mich jetzt OK aus. Vielleicht sind es ja wieder die Rechte unter PI...

Muss irgendwie an das Verbindungslog kommen...
 
Oben