Ich habe mich mittlerweile mit dem Thema auseinandergesetzt und kann eine funktionierende Version von meinem UID Transmitter präsentieren.
Da ich hier auch immer sehr viel Hilfe bekommen habe, gebe ich das gerne an euch weiter. Vielleicht kann es der ein oder andere in einem Projekt gebrauchen. Über Fotos vom Einsatz und/oder dem Gehäuse würde ich mich sehr freuen :)
Habe es der einfachheit halber bei Github platziert:
https://github.com/Fl0ca/MQTT-RFID_MRC522
Zitat von: Floca
Hallo zusammen,
hat jemand eine Idee wie ich mir am besten ein Device in Fhem anlege und dann die Kartenattribute als Readings live nach FHEM bekomme? Ich denke, dass MQTT der richtige weg ist, ich weiß es aber noch nicht genau, da ich mich erst einarbeite.
Es gibt ja diverse Projekte die in Datenbanken schreiben auf Github, nur eben nichts was sich direkt für FHEM umbiegen lässt.
Vielen Dank schonmal :)
Warum sollte MQTT nicht funktionieren? Falls Du ESPEasy einsetzt, dann könntest Du das FHEM HTTP (https://forum.fhem.de/index.php/topic,55728.0.html) Plugin für ESPEasy benutzen.
Nur leider unterstützt ESPEasy den RC522 (noch) nicht, dass wärer ja das non plus Ultra :)
Dein HTTP Plugin füllt aber echt so ne Lücke (glaube ich).
Danke dafür, ich kann das in jedem fall, wenn auch nicht für den rc522, gebrauchen.
https://www.openhardware.io/view/49/NFC-to-HTTP-Gadget
Ich habe mitlerweile viel gesucht und Probiert, hier scheint das Thema ja auch großen Anklang zu finden (Anzahl der Views des Threads).
Ist es möglich bestehende Inhalte von Fhem so umzubiegen, dass o.g. Software meinen bereits erwähnten Wünschen irgendwie gerecht wird?
Das Problem ist, bei den meisten Ideen (wie MQTT z.B.) hapert es meist an den Programmierkentnissen meinerseits :(
Evtl. kann mir ja jemand helfen, oder mich auf den richtigen weg führen...
Danke euch:)
Der erste Post ist geupdated, vielleicht freuen sich ja einige über die Integration :)
Hi,
um das Thema noch mal hochzuholen - ich bekomme das leider nicht kompiliert. Hast Du zufällig einen Hinweis für mich, sowohl ArduinoIDE als auch PlatformIO scgmeissen MQTT-Fehler aus :(
Hallo Tedious,
- Arduino IDE 1.8.10
- nach abändern der Zeilen
#define SS_PIN D8
#define RST_PIN D3
auf
#define SS_PIN 15 // --> Pin D8
#define RST_PIN 0 // --> Pin D3
wird die ino ohne Probleme kompiliert.
Siehe Anhang
LG
Papa Romeo
Hi,
Top, vielen Dank für die schnelle Hilfestellung, teste ich aus.
Danke
Tedious
Hi,
leider nicht :(
WARNUNG: Bibliothek MQTT_Client behauptet auf samd Architektur(en) ausgeführt werden zu können und ist möglicherweise inkompatibel mit Ihrem derzeitigen Board, welches auf esp8266 Architektur(en) ausgeführt wird.
WARNUNG: Bibliothek Cooperative_Multitasking behauptet auf samd Architektur(en) ausgeführt werden zu können und ist möglicherweise inkompatibel mit Ihrem derzeitigen Board, welches auf esp8266 Architektur(en) ausgeführt wird.
MQTT-RFID_MRC522:20:16: error: no matching function for call to 'MQTTClient::MQTTClient()'
MQTTClient mqtt;
^
C:\Users\Sascha Eder\Downloads\MQTT-RFID_MRC522\MQTT-RFID_MRC522.ino:20:16: note: candidates are:
In file included from C:\Users\Sascha Eder\Downloads\MQTT-RFID_MRC522\MQTT-RFID_MRC522.ino:7:0:
C:\Users\Sascha Eder\OneDrive\Dokumente\Arduino\libraries\MQTT_Client/MQTTClient.h:78:5: note: MQTTClient::MQTTClient(CooperativeMultitasking*, Client*, const char*, uint16_t, const char*, const char*, const char*, uint16_t)
MQTTClient(CooperativeMultitasking* tasks, Client* client, const char* host, uint16_t port, const char* clientid, const char* username, const char* password, uint16_t keepalive = 300);
^
C:\Users\Sascha Eder\OneDrive\Dokumente\Arduino\libraries\MQTT_Client/MQTTClient.h:78:5: note: candidate expects 8 arguments, 0 provided
C:\Users\Sascha Eder\OneDrive\Dokumente\Arduino\libraries\MQTT_Client/MQTTClient.h:19:7: note: constexpr MQTTClient::MQTTClient(const MQTTClient&)
class MQTTClient {
^
C:\Users\Sascha Eder\OneDrive\Dokumente\Arduino\libraries\MQTT_Client/MQTTClient.h:19:7: note: candidate expects 1 argument, 0 provided
C:\Users\Sascha Eder\Downloads\MQTT-RFID_MRC522\MQTT-RFID_MRC522.ino: In function 'void setup()':
MQTT-RFID_MRC522:36:12: error: 'class MQTTClient' has no member named 'begin'
mqtt.begin(broker, wifi);
^
C:\Users\Sascha Eder\Downloads\MQTT-RFID_MRC522\MQTT-RFID_MRC522.ino: In function 'void loop()':
MQTT-RFID_MRC522:47:12: error: 'class MQTTClient' has no member named 'loop'
mqtt.loop();
^
C:\Users\Sascha Eder\Downloads\MQTT-RFID_MRC522\MQTT-RFID_MRC522.ino: In function 'void connect()':
MQTT-RFID_MRC522:64:32: error: no matching function for call to 'MQTTClient::connect(const char*&)'
while (!mqtt.connect(host)) {
^
C:\Users\Sascha Eder\Downloads\MQTT-RFID_MRC522\MQTT-RFID_MRC522.ino:64:32: note: candidate is:
In file included from C:\Users\Sascha Eder\Downloads\MQTT-RFID_MRC522\MQTT-RFID_MRC522.ino:7:0:
C:\Users\Sascha Eder\OneDrive\Dokumente\Arduino\libraries\MQTT_Client/MQTTClient.h:80:10: note: bool MQTTClient::connect()
bool connect();
^
C:\Users\Sascha Eder\OneDrive\Dokumente\Arduino\libraries\MQTT_Client/MQTTClient.h:80:10: note: candidate expects 0 arguments, 1 provided
C:\Users\Sascha Eder\Downloads\MQTT-RFID_MRC522\MQTT-RFID_MRC522.ino: In function 'void handleRFID()':
MQTT-RFID_MRC522:82:90: error: no matching function for call to 'MQTTClient::publish(const char [26], String)'
mqtt.publish("/hardware/rfid_reader/uid", printHex(rfid.uid.uidByte, rfid.uid.size));
^
C:\Users\Sascha Eder\Downloads\MQTT-RFID_MRC522\MQTT-RFID_MRC522.ino:82:90: note: candidate is:
In file included from C:\Users\Sascha Eder\Downloads\MQTT-RFID_MRC522\MQTT-RFID_MRC522.ino:7:0:
C:\Users\Sascha Eder\OneDrive\Dokumente\Arduino\libraries\MQTT_Client/MQTTClient.h:75:10: note: bool MQTTClient::publish(bool, const char*, const char*)
bool publish(bool retain, const char* topicname, const char* payload);
^
C:\Users\Sascha Eder\OneDrive\Dokumente\Arduino\libraries\MQTT_Client/MQTTClient.h:75:10: note: candidate expects 3 arguments, 2 provided
Mehrere Bibliotheken wurden für "MFRC522.h" gefunden
Benutzt: C:\Users\Sascha Eder\OneDrive\Dokumente\Arduino\libraries\MFRC522
Nicht benutzt: C:\Users\Sascha Eder\OneDrive\Dokumente\Arduino\libraries\MFRC522-spi-i2c-uart-async
exit status 1
no matching function for call to 'MQTTClient::MQTTClient()'
Welche MQTT Lib hast´n drin ?
Auf Github schreibt er die MQTT Lib 1.10.1 vor.
Ich selbst arbeite mit dem PubSubClient 2.6.0.
LG
Papa Romeo
Danke, das war das Problem. Muss mir mal merken dass bei den Bibliotheken eine Abwärtskompatibilität nicht zwingend gegeben sein muss...
Danke!