Firmata Ethernet Ping geht fhem nicht

Begonnen von tfriedrich85, 07 Februar 2020, 22:27:45

Vorheriges Thema - Nächstes Thema

tfriedrich85

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?

R1F800

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. ?

tfriedrich85

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


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?

R1F800

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/

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



Wzut

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
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

R1F800

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;

tfriedrich85

#6
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/

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.

tfriedrich85

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

R1F800

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

Wzut

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.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

R1F800

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)

tfriedrich85

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.

R1F800

#12