Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Firmata USB Baud Fhem #164

Open
passat92 opened this issue Mar 16, 2024 · 12 comments
Open

Firmata USB Baud Fhem #164

passat92 opened this issue Mar 16, 2024 · 12 comments

Comments

@passat92
Copy link

passat92 commented Mar 16, 2024

Hello, where do I set the baud rate in the configurable Firmata 3.2 if I want to send it to Fhem via USB?

Arduino Mega 2560

@pgrawehr
Copy link
Contributor

Sorry for the maybe silly question, but what is Fhem?
The communication baud rate is set in the main .ino file. The line reads something like Firmata.begin(115200). The number is the baud rate.

@passat92
Copy link
Author

Fhem is a home automation system for a Raspberry or similar. https://de.m.wikipedia.org/wiki/FHEM Thanks for tip, now it works (was set to 56700 in fhem) so far except for i2c, the display shows no reaction. It works with the one old Arduino mega that was programmed with Firma Builder. It doesn't work with the Firmata V 3.2

@pgrawehr
Copy link
Contributor

Did you enable the i2c module?

It is possible that some changes on the host side are necessary, as there have been some changes to the i2c module. If I remember correctly, they should be backwards compatible, but obviously I couldn't test with all possible clients. Since it works with the older version, I suspect something like this.

@passat92
Copy link
Author

Yes i2c is enabled in the sketch. FHEM shows that it is aviable on pin20/21.

@passat92
Copy link
Author

passat92 commented Mar 17, 2024 via email

@pgrawehr
Copy link
Contributor

pgrawehr commented Mar 17, 2024

Das deutet schon darauf hin, dass entweder eine notwendige Komponente nicht aktiv ist oder eine Protokoll-Inkompatibilität besteht. Ändere doch mal in FirmataExt.cpp die Ausgabe so ab:

Firmata.sendStringf(F("Unhandled sysex command: 0x%x (len: %d)"), (int)command, (int)argc);

Dann sehen wir besser, welches Kommando hier nicht verstanden wird.

@passat92
Copy link
Author

Probiere ich die Tage mal.

@passat92
Copy link
Author

passat92 commented Mar 18, 2024 via email

@pgrawehr
Copy link
Contributor

Sorry, das hätte ich schreiben sollen. Ich meine die Funktion void handleSysexCallback(byte command, byte argc, byte* argv) in FirmataExt.cpp, Zeile 31.

Und ja, die Methode heist sendStringf (Im Gegensatz zu sendString erlaubt diese Funktion Argumente im printf-Stil)

@passat92
Copy link
Author

passat92 commented Mar 20, 2024 via email

@pgrawehr
Copy link
Contributor

Ich habe leider keine Arduinos mit Ethernet-Shield, sondern habe dann immer gleich ESP32 verwendet. Die haben Wifi schon eingebaut und kosten trotzdem deutlich weniger.

Du kannst versuchen, den in ConfigurableFirmata.ino vorhandenen WIFI-Code des ESP32 anzupassen, oder du kannst dieses ältere Beispiel ansehen, vielleicht findest du dort Hinweise darauf, wie du das Ethernet-Shield einsetzen kannst. Ich hatte das Beispiel rausgeworfen, weil ich es nicht testen kann und es wahrscheinlich so inzwischen auch nicht mehr kompiliert.

@passat92
Copy link
Author

passat92 commented Mar 20, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants