ESP8266-Wemos D1Mini bzw. 12E und RFID RC522 in FHEM (Projekt fertiggestellt!)

Begonnen von Floca, 09 Juli 2016, 04:27:33

Vorheriges Thema - Nächstes Thema

Floca

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 :)

dev0

Warum sollte MQTT nicht funktionieren? Falls Du ESPEasy einsetzt, dann könntest Du das FHEM HTTP Plugin für ESPEasy benutzen.

Floca

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.

Floca

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:)

Floca

Der erste Post ist geupdated, vielleicht freuen sich ja einige über die Integration :)

Tedious

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 :(
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

Papa Romeo

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

...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Tedious

Hi,

Top, vielen Dank für die schnelle Hilfestellung, teste ich aus.

Danke

Tedious
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

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()'
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

Papa Romeo

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
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Tedious

Danke, das war das Problem. Muss mir mal merken dass bei den Bibliotheken eine Abwärtskompatibilität nicht zwingend gegeben sein muss...

Danke!
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...