I/O-Ports über USB

Begonnen von stobor, 24 November 2018, 19:24:31

Vorheriges Thema - Nächstes Thema

Ranseyer

FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

stobor

Ich würde mich mal mit dem Conrad Modul versuchen (https://www.conrad.de/de/arduino-board-uno-rev3-dip-version-atmega328-1275279.html) .

Ich habe den Wiki-Artikel gerade gelesen (https://wiki.fhem.de/wiki/Arduino_Firmata). Welche Version von Firmata würdet ihr in meinem Fall empfehlen (ConfigurableFirmata oder Firmata)?
Ich würde dann den Arduino per USB mit meinem NUC (Ubuntu mit FHEM) verbinden. Muss ich dafür vor dem Kompilieren und Upload noch irgend etwas am Sketch verändern?
Und dann kann ich direkt in FHEM  das Modul 10_FRM.pm ansprechen?
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (FW 1.57 CUL868) für FS20 und CCU3 für HM(IP) + Arduino Mega (Firmata) - FHEM Revision: 29534 - FS20, HM(IP), MQTT, Philips HUE, ModBus

Beta-User

...einen Originalen zu kaufen, finde ich gut (unterstützt das Arduino-Projekt!).

Es gab (in der Bastelecke?) jüngst einen Beitrag, dee sich mit den diversen Versionen und Änderungen bei firmata befaßte. Im Prinzip müßte es mit den jeweils letzten Versionen vom Modul und Sketch gehen, bitte aber ggf. mal da nachlesen bzw. suchen.

Und ansonsten kann ich nur empfehlen, das dann einfach auszuprobieren. Ein Gefühl für diese ganzen Microcontroller-Sachen bekommt man nur, wenn man es austestet. Starten würde ich auch mit einem Blink-Sketch oä., dann was, was irgendwas an der seriellen Konsole ausgibt usw.; du kannst das bis zu 10.000 Mal überschreiben... Oder eben parallel einen weiteren Arduino (-Klon) bestellen, da ist nicht viel kaputt, dauert halt, bis der da ist ;) .

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

stobor

Ich werde mich mal versuchen.
Das Blink-Sketch habe ich nicht gefunden. Wo steckt das denn?

Sonst habe ich das so verstanden:

  • "Firmata" Firmware über Sketch > "Bibliothek einbinden" laden
  • Board auswählen: Werkzeuge > Boards
  • Arduino per USB mit dem PC verbinden und Upload betätigen, um Firmware einzuspielen
  • Mit FHEM per USB verbinden und in der fhem.cfg

  • per define anmelden: (Beispiel) define FIRMATA FRM /dev/ttyUSB0@57600
  • Ein-/Ausgänge konfigurieren: (Beispiel) define Firmata_IN FRM_IN 12  ;  define Firmata_OUT FRM_OUT 11

Ist das so richtig?
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (FW 1.57 CUL868) für FS20 und CCU3 für HM(IP) + Arduino Mega (Firmata) - FHEM Revision: 29534 - FS20, HM(IP), MQTT, Philips HUE, ModBus

Beta-User

Das mit Blink findest du in der Arduino-IDE (in den Beispielsketchen).

Ansonsten sollte das im Wesentlichen so passen wie beschrieben (ggf. mit pullup), m.E. besser ist es allerdings, grundsätzlich alle USB-Geräte "by-id" einzubinden (siehe Wiki: mehrere USB-Geräte).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

stobor

Es kommt Licht ins Dunkel.
Blink ist gefunden. Danke
by-id werde ich versuchen. Da ich derzeit 2 CULs nutze scheint das nciht immer zu funktionieren.
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (FW 1.57 CUL868) für FS20 und CCU3 für HM(IP) + Arduino Mega (Firmata) - FHEM Revision: 29534 - FS20, HM(IP), MQTT, Philips HUE, ModBus

Beta-User

Na ja, wenn die USB-Kennung gleich ist, ist das mit by-id schwierig (die beiden CUL868 oder mehrere CH340G-USB-Wandler, wie sie gerne bei China-Nanos verbaut sind). Dann by-path für die CUL und by-id für den Rest (oder noch besser: einen der beiden mit neuerer, selbstgebauter firmware füttern und dabei boards.h (?) bearbeiten - da steht die jeweils vom ATMega32u4 ausgelieferte Kennung@USB drin).

Viel Erfolg jedenfalls!
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

stobor

Soooo, jetzt habe ich gerade den Arduino Uno Rev3 in Betrieb genommen. Schon toll, wie das funktioniert :-)

Allerdings hätte ich nun doch gern ein paar mehr digitale IO-Anschlüsse. Laut Conrad sollte dieser eigentlich 20 digitale IO-Ports haben (https://www.conrad.de/de/arduino-board-uno-rev3-dip-version-atmega328-1275279.html - Conrad will den Text nun wohl korrigieren), allerdings wirk es für mich eher so, als ob das Ding "nur" über 14 digitale IO-Ports verfügt - siehe Foto anbei. Oder übersehe ich etwas?

Kann ihc problemlos auch einen anderen Arduino verwenden - z.B.: Arduino Board Mega 2560 A000067 (https://www.conrad.de/de/arduino-board-mega-2560-a000067-191790.html)? Oder ist der nicht geeignet? Wird der genauso eingerichtet wie der Uno?

Danke...
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (FW 1.57 CUL868) für FS20 und CCU3 für HM(IP) + Arduino Mega (Firmata) - FHEM Revision: 29534 - FS20, HM(IP), MQTT, Philips HUE, ModBus

Wzut

Wie viele mehr brauchst denn ? Die A0 - A5 kannst auch Digital benutzen
Der Mega hat natürlich noch wesentlich mehr , must dann halt den auch in der Arduino IDE als Board auswählen.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

stobor

Ach, tatsächlich. Dann würde es reichen. Das probiere ich gleich mal.
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (FW 1.57 CUL868) für FS20 und CCU3 für HM(IP) + Arduino Mega (Firmata) - FHEM Revision: 29534 - FS20, HM(IP), MQTT, Philips HUE, ModBus

Wzut

die D Nummern laufen weiter , d.h. A0 = Digital 14 , usw.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

stobor

Können die Anschlüsse A0-A5 auch als digitale Eingänge verwendet werden?
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (FW 1.57 CUL868) für FS20 und CCU3 für HM(IP) + Arduino Mega (Firmata) - FHEM Revision: 29534 - FS20, HM(IP), MQTT, Philips HUE, ModBus

Wzut

Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

PeMue

Zitat von: stobor am 08 Februar 2019, 16:17:37
Können die Anschlüsse A0-A5 auch als digitale Eingänge verwendet werden?
ja

Gruß Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Beta-User

Mei, seid ihr wieder schnell...
Ergänzend: Es gab auch irgendwo hier einen Thread, der sich mit I2C-Erweiterungsboards im Rahmen von firmata beschäftigt hat - dafür müßtest du aber 2 "analoge" opfern ;) ... (das kann man dann aber uU. kaskaideren)
Ansonsten hilft ggf. auch einfach mal austesten, solche Dinge versteht man m.E. besser, wenn man manches einfach selber mal macht (2. Arduino kaufen und die Standard-Sketche der Reihe mal durchgehen, ggf. mal nachsehen, was so an Sensorik gängig ist (laß DHT11/22 weg) und das austesten. Geht nicht alles mit Firmata, aber die Welt ist ja noch größer. M.E. gute Zusammenstellung: https://www.mysensors.org/build, da dann auf der linken Seite Sensors&Actuators ;) .

Und übrigens: Es gibt auch eine gute Doku zu Arduino auf den Arduino-Seiten (leider englisch), da wäre das auch zu lesen gewesen mit A0.... (Danke Peter für den Link!)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors