FHEM Forum

Verschiedenes => Bastelecke => Thema gestartet von: tfriedrich85 am 07 Februar 2020, 22:27:45

Titel: Firmata Ethernet Ping geht fhem nicht
Beitrag von: tfriedrich85 am 07 Februar 2020, 22:27:45
Hallo zusammen,

aktuell quäle ich mich mit Firmata Configurable auf einem Nano mit einem ENC28J60 Shield

Unter Arduino 1.8.10 und ConfigurableFirmata v2.10.0.

Hier meine Config

// STEP 1 [REQUIRED]
// Uncomment / comment the appropriate set of includes for your hardware (OPTION A, B or C)

/*
* OPTION A: Configure for Arduino Ethernet board or Arduino Ethernet shield (or clone)
*
* To configure ConfigurableFirmata to use the an Arduino Ethernet Shield or Arduino Ethernet
* Board (both use the same WIZ5100-based Ethernet controller), uncomment the SPI and Ethernet
* includes below.
*/
//#include <SPI.h>
//#include <Ethernet.h>


/*
* OPTION B: Configure for a board or shield using an ENC28J60-based Ethernet controller,
* uncomment out the UIPEthernet include below.
*
* The UIPEthernet-library can be downloaded
* from: https://github.com/ntruchsess/arduino_uip
*/
#include <UIPEthernet.h>



//#include <Bridge.h>
//#include <YunClient.h>

#if defined ethernet_h || defined UIPETHERNET_H || defined _YUN_CLIENT_H_
#define NETWORK_FIRMATA

// STEP 2 [REQUIRED for all boards and shields]
// replace with IP of the server you want to connect to, comment out if using 'remote_host'
#define remote_ip IPAddress(192,168,178,101)

//192.168.178.101/ - fhem
// OR replace with hostname of server you want to connect to, comment out if using 'remote_ip'
// #define remote_host "server.local"

// STEP 3 [REQUIRED unless using Arduino Yun]
// Replace with the port that your server is listening on
#define remote_port 3030

// STEP 4 [REQUIRED unless using Arduino Yun OR if not using DHCP]
// Replace with your board or Ethernet shield's IP address
// Comment out if you want to use DHCP
//#define local_ip IPAddress(192,168,178,200)

// STEP 5 [REQUIRED unless using Arduino Yun]
// replace with Ethernet shield mac. Must be unique for your network
const byte mac[] = {0x74, 0x69, 0x69, 0x2D, 0x30, 0x31};
#endif


Der Nano taucht im Netz auf und hat auch eine IP die ich vom Raspi (mit Fhem) auch erreichen kann.

Hier meine Fhem config:

define FIRMATA FRM 3030 global


Aber fhem sagt nur "listening" und im Log steht auch nichts. Hat jemand eine Idee wo ich den Fehler noch suchen könnte?
Titel: Antw:Firmata Ethernet Ping geht fhem nicht
Beitrag von: R1F800 am 17 Februar 2020, 10:21:04
vergiss das ENS Board und nimm ein WIZ Ethernet ...
Ich habe mir auch einen WOLF geflashed mit dem ENC ETH breakout... mit dem WIZ lief es dann.

Hast du dir die Arduino Firmware configFirmata mit dem Builder erstellen lassen?
Was genau willst du mit dem Arduino dann tun?

Temperatur etc. ?
Titel: Antw:Firmata Ethernet Ping geht fhem nicht
Beitrag von: tfriedrich85 am 18 Februar 2020, 10:07:51
Zitat von: R1F800 am 17 Februar 2020, 10:21:04
vergiss das ENS Board und nimm ein WIZ Ethernet ...
Ich habe mir auch einen WOLF geflashed mit dem ENC ETH breakout... mit dem WIZ lief es dann.

Hast du dir die Arduino Firmware configFirmata mit dem Builder erstellen lassen?
Was genau willst du mit dem Arduino dann tun?

Temperatur etc. ?

Hallo R1F800,
ich habe dieses W5500 Ethernet gekauft und habe auch auch oft geflasht.

https://www.amazon.de/AZDelivery-Ethernet-Netzwerk-Internet-Arduino/dp/B07CYVRMPL/ref=sr_1_fkmr1_2?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=arduino+WIZ+ethernet&qid=1582016510&sr=8-2-fkmr1
(https://www.amazon.de/AZDelivery-Ethernet-Netzwerk-Internet-Arduino/dp/B07CYVRMPL/ref=sr_1_fkmr1_2?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=arduino+WIZ+ethernet&qid=1582016510&sr=8-2-fkmr1)

Der Nano ist auch schon in meinem Lan hat ein gültige IP aber Fhem "findet" ihn nicht.

Mein Ziel ist es insgesamt 10 - ws2812b Temperatur Sensoren in der Wohnung anbinden...

Kannst du deinen WIZ mal posten?
Titel: Antw:Firmata Ethernet Ping geht fhem nicht
Beitrag von: R1F800 am 18 Februar 2020, 14:06:01
Hi.
OK
Dann habe ich losgelöst von der eigentlichen Problematik ein paar Fragen:

warum DS18B20 über nano und Ethernet anbinden 
warum keine 1W Bus Topologie?

-welchen pin hast Du an deinem nano genutzt
-dein fhem ist unter 192,168,178,101:3030 zu erreichen?
-hast du die 1W Library beim flashen vergessen?
-Hast Du eventuell credentials vergessen beim Flashen in den nano mit einzuspielen ?

schau mal unter http://firmatabuilder.com/ (http://firmatabuilder.com/)

zeig doch mal bitte Deine fhem.cfg zu dem firmate und dem firmata device.


Titel: Antw:Firmata Ethernet Ping geht fhem nicht
Beitrag von: Wzut am 18 Februar 2020, 16:00:24
Zitat von: tfriedrich85 am 07 Februar 2020, 22:27:45
//#include <SPI.h>
//#include <Ethernet.h>
#include <UIPEthernet.h>
Sorry aber das passt IMHO nicht wenn du den W5500 nimmst. Ich habe zwar nur den Vorgänger W5100 im Rennen mit SPI & Ethernet
Die  UIPEthernet habe ich bei einem alten Pollin NetIO genommen.
Und tue dir noch einen Gefallen und gib dem Arduino eine statische IP aus dem gleichen Subnetz wie FHEM
Titel: Antw:Firmata Ethernet Ping geht fhem nicht
Beitrag von: R1F800 am 18 Februar 2020, 17:41:35
Jo ... das hatte ich nicht gesehen...
BEISPIEL:
#include <ConfigurableFirmata.h>

#include <SPI.h>
#include <Ethernet.h>
#include <EthernetClientStream.h>

EthernetClient client;

const byte mac[] = {0xDE, 0xAA, 0xBB, 0xCC, 0xDD, 0x01};
int remotePort = 3030;
IPAddress localIp(200, 200, 200, 200);
IPAddress remoteIp(192, 192, 192, 192);
EthernetClientStream stream(client, localIp, remoteIp, NULL, remotePort);

#include <DigitalInputFirmata.h>
DigitalInputFirmata digitalInput;

#include <DigitalOutputFirmata.h>
DigitalOutputFirmata digitalOutput;

#include <Wire.h>
#include <I2CFirmata.h>
I2CFirmata i2c;

#include <OneWireFirmata.h>
OneWireFirmata oneWire;
Titel: Antw:Firmata Ethernet Ping geht fhem nicht
Beitrag von: tfriedrich85 am 18 Februar 2020, 18:09:14
Zitat von: R1F800 am 18 Februar 2020, 14:06:01

Hi.
OK
Dann habe ich losgelöst von der eigentlichen Problematik ein paar Fragen:

warum DS18B20 über nano und Ethernet anbinden 
warum keine 1W Bus Topologie?

-welchen pin hast Du an deinem nano genutzt
-dein fhem ist unter 192,168,178,101:3030 zu erreichen?
-hast du die 1W Library beim flashen vergessen?
-Hast Du eventuell credentials vergessen beim Flashen in den nano mit einzuspielen ?

schau mal unter http://firmatabuilder.com/ (http://firmatabuilder.com/)

zeig doch mal bitte Deine fhem.cfg zu dem firmate und dem firmata device.

Danke für die Tipps, die technischen Hinweise probier ich in den nächsten Tagen mal aus.
Hier ein paar Antworten auf deine Fragen:

warum DS18B20 über nano und Ethernet anbinden 
warum keine 1W Bus Topologie?

Ich habe eine Sternverkabelung zu den DS18B20 im Haus, das funktioniert allerdings über 1 Wire nur mit 3 Sensoren. Sobald ich den 4. Sensor anschließe - sehe ich keine Soren mehr auf dem Bus. Ich vermute das hängt mit dem Entwiderstand (4,7k Ohm) zusammen.
Mein Versuch wäre jetzt am Nano jeden Sensor an einen Pin zu klemmen.

-dein fhem ist unter 192,168,178,101:3030 zu erreichen?

Probiere ich später aus...

-hast du die 1W Library beim flashen vergessen? - nein

Hast Du eventuell credentials vergessen beim Flashen in den nano mit einzuspielen ? - Ich hab die Fhem IP  und den Port im Sketch eingetragen. Fehlt da noch was?

Firmata Builder Hab ich auch schon versucht.

Den Auszug aus Fhem poste ich heute Abend.
Danke euch.
Titel: Antw:Firmata Ethernet Ping geht fhem nicht
Beitrag von: tfriedrich85 am 19 Februar 2020, 09:18:37
Hallo,

Ich habe wieder den Fehler versucht einzuschränken und kann Fhem unter:
http://192.168.178.101:3030/

nicht erreichen. hängt das vielleicht mit den "," im Sketch zusammen, denn im Sketch wird die IP so angegeben:

192,168,178,101

Hier das List vom Firmata Device:

Internals:
   CONNECTS   6
   DEF        3030 global
   DRIVER_VERSION 0.64
   DeviceName 3030
   FD         29
   FUUID      5e3dd0b0-f33f-aed9-4195-664055211eb5a3a8
   NAME       FIRMATA
   NOTIFYDEV  global
   NR         1374
   NTFY_ORDER 50-FIRMATA
   PORT       3030
   STATE      listening
   TYPE       FRM
   READINGS:
     2020-02-19 09:12:34   state           listening
Attributes:
   room       Sensoren
   verbose    5
Titel: Antw:Firmata Ethernet Ping geht fhem nicht
Beitrag von: R1F800 am 19 Februar 2020, 09:58:20
Der Port 3030 ist ausschließlich für die Kommunikation des Arduino "Firmata" Devices mit fhem firmata

DAH HABE ICH MIST GESCHRIEBEN / mich nicht verständlich ausgedrückt SORRY

192.168.178.101:8083 (fhem port weboberfläche)  als Interface
192.168.178.101:3030 (fhem port firmata) als reine Kommunikation

192.168.178.200 firmata device
Ich meinte, kann der nano irgendetwas an fhem senden?
Kannst Du in fhem für das FIRMATA DEVICE ein GET (irgend eine Info) z.B. Version absetzen und erhältst Du dann die Version des Sketch?

Wie Wzut schon schrieb:
//#include <Ethernet.h>
#include <UIPEthernet.h>

Du hast ursprünglich eine falsche Ethernetlibrary genutzt.
Zusätzlich fehlte in dem von Dir geposteten Sketch die OneWire Library.

DS18B20 > Der Widerstand ist kein Endwiderstand, sondern ein Pullup für das Signal.
Sinnvollerweise sollte der unmittelbar am Ausleser sitzen.
Eine Sterntopologie kann (wie bei mir) funktionieren.  Ich habe mehrere DS18B20 Sterne am PI sternförmig zusammengeführt ... 8 Stk. und die laufen stabil.

Mein Gedanke in Richtung andere Hardware : WEMOS D1Mini mit einem DS18B20
Titel: Antw:Firmata Ethernet Ping geht fhem nicht
Beitrag von: Wzut am 19 Februar 2020, 11:07:27
Zitat von: R1F800 am 19 Februar 2020, 09:58:20
Du hast ursprünglich eine falsche Ethernetlibrary genutzt.
Zusätzlich fehlte in dem von Dir geposteten Sketch die OneWire Library.
---snipp ---
Mein Gedanke in Richtung andere Hardware : WEMOS D1Mini mit einem DS18B20
a. nicht ganz , im ersten Post schreibt er ja NC28J60 und dann stimmte das , nur später schreibt er W5500 und dann stimmt es eben nicht mehr

b. Wieso fehlt die ? er hat doch nur einen kleinen Abschnitt gepostet , OneWire kommt im Sketch viel später :
#include <OneWireFirmata.h>
OneWireFirmata oneWire;


c. Warum immer dieses WLAN Zeug ? Firmata läuft bei mir seit Jahren stabil via Kabel

@tfriedrich85 , du solltest unbedingt mal pahs schönen Wiki Beitag zum Thema One Wire Verkabelung lesen, sicher kann man auch mehr als einen Port mit einer 1W Wolke betreiben, aber egal ob Stern, Bus oder gemischt : man sollte es richtig machen.
Titel: Antw:Firmata Ethernet Ping geht fhem nicht
Beitrag von: R1F800 am 19 Februar 2020, 11:49:26
Zitat von: Wzut am 19 Februar 2020, 11:07:27
c. Warum immer dieses WLAN Zeug ? Firmata läuft bei mir seit Jahren stabil via Kabel

Nun vielleicht sollten im vorliegenden Fall die requirements definiert werden.
Das hat mit der Philosophischen Frage WLAN oder LAN erst einmal nichts zu tun.

Die ESP sind eben einfacher zu setzen ... gerade dann wenn man CAT Kabel verlegen muss > Wofür? Wenn man keine Laufzeitkritischen und Systemkritischen Daten transferiert

Ich persönlich benötige und mag auch lieber die kabelgebundene Version. Aber das ist eben etwas umständlicher.

Ja, da habe ich verschiedene Themen beim erneuten querlesen vermengt (OneWire und UIPEthernet Bibliotheken)
Titel: Antw:Firmata Ethernet Ping geht fhem nicht
Beitrag von: tfriedrich85 am 19 Februar 2020, 23:01:06
Zitat von: R1F800 am 17 Februar 2020, 10:21:04
vergiss das ENS Board und nimm ein WIZ Ethernet ...
Ich habe mir auch einen WOLF geflashed mit dem ENC ETH breakout... mit dem WIZ lief es dann.

Ich hab den WIZ5100 nicht mehr gefunden, gehe aber davon aus, dass der Nachfolger W5500 heißt?

Den habe ich bestellt.
Ich melde mich, ob das besser klappt.
Titel: Antw:Firmata Ethernet Ping geht fhem nicht
Beitrag von: R1F800 am 20 Februar 2020, 09:28:26
Hi,
hier mal der W5100

Ethernet W5100 (https://www.aliexpress.com/item/32766359472.html?spm=a2g0o.productlist.0.0.28452096UHldIG&algo_pvid=d8479739-2326-4b88-af2a-9504dfee9c41&algo_expid=d8479739-2326-4b88-af2a-9504dfee9c41-55&btsid=0b0a3f8115821870303102635e1df7&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_)


PDF Über Ethernet zum Arduino  ENC vs WIZ (https://wiki.fablab-nuernberg.de/files/a/a6/Arduino_NET_V05.pdf)