Firmata over Ethernet: Einbindung in Arduino

Begonnen von CaptBlaubaer, 27 Oktober 2013, 00:44:58

Vorheriges Thema - Nächstes Thema

ntruchsess

Zitat von: ntruchsess am 01 Dezember 2013, 21:13:25Ich kann bei nächster Gelegenheit ein Attribut ins FRM_OUT einbauen, mit dem man die Semantik umdreht. Am Board wirst Du nicht ohne weiteres viel ändern können außer einen invertierenden Treiber vorzuschalten.

ich habe in FRM_IN und FRM_OUT ein neues Attribut 'activeLow' eingebaut, das genau dieses tut.

Der Patch ist ins fhem-SVN committed.

- Norbert
while (!asleep()) {sheep++};

ntruchsess

Zitat von: strauch am 21 Februar 2014, 10:55:32Du kannst FHEM sagen, das er nur alle X Sekunden auslesen soll z.B:
attr xx_Temperatur event-min-interval .*:540

FRM hat dafür das Attribut 'sampling-interval'.

Das hat den Vorteil, dass nicht unnötig viel Daten über die Leitung geschickt werden, die FRM alle empfangen und prozessieren muss, bevor FHEM sie wieder verwirft. 'sampling-interval' ist aber nur global für alle Analog-Pins des Arduinos gemeinsam zu setzen. Wenn man unterschiedliche Intervalle für die Pins benötigt, muss man 'sampling-interval' auf den kleinsten benötigten Wert setzen und die anderen Pins mit 'event-min-interval' passend reduzieren. Natürlich mit der Einschränkung, dass die events nur bei einem Vielfachen des sampling-intervals getriggert werden können, weil zwischendurch ja keine Firmata-messages eintreffen.

Gruß,

Norbert
while (!asleep()) {sheep++};

Achim

Hallo,

ich habe jetzt (endlich) meinen Versuchsaufbau am Laufen. Seit 2 Tagen läuft bei mir ein Arduino Nano mit einem ENC28J60 Shield, Firmata mit IN/OUT und 1-Wire. Angeschlossen sind Relais und Eingangsschaltungen für 24V/220V und momentan 1 DS18B20 und der alternative DS2423 Counter für meinen Gaszähler.

Der Arduino Sketch ist mit dem UIP Ver. 1.55 kompiliert. Reconnectprobleme beim Aufbau durch Ein/Ausschalten und Netzwerkleitung ziehen gab es nicht. Auf dem RPi auf der Konsole bekomme ich nur ab und zu die Fehlermeldung
ZitatArgument "" isn't numeric in subtraction (-) at ./FHEM/21_OWCOUNT.pm line 445.
Die FHEM Module sind mit Update auf dem Stand von gestern.

Auch wenn dies vielleicht niemand interessiert, aber die meisten Beiträge sind doch nur Probleme und da will ich auch mal eine positive Rückmeldung schreiben.

Viele Grüße
Achim
1x RPi V1, COC, 6x FHT, 1x S300TH, 2x DS18B20, 1x KS300
1x Arduino Nano mit Firmata, 2x DS2423old, 4x DS18B20, HIH5030, verschiedene Ein/Ausgangsschaltungen am Arduino
Mysensors-Seriell Gateway, Si7021, BH1750, Relais

Achim

Hallo,

schon wieder ich  :(

jetzt habe ich mir doch mal die Zeile vom Fehler angesehen (443-445):
      #-- only if attribute value mode=daily, take the midnight value from memory
      if( $daily == 1){
        $vval = int( (($hash->{owg_val}->[$i] + $offset)*$factor - $hash->{owg_midnight}->[$i])*10000+0.5)/10000;

Ich habe daily konfiguriert und den Fehler
ZitatArgument "" isn't numeric in subtraction (-) at ./FHEM/21_OWCOUNT.pm line 445.
habe ich "nur" bei der Inbetriebnahme gesehen (danach habe ich die Konsole geschlossen). Kann es evtl. sein, das die Variable {owg_midnight} so lange keinen Wert hat, bis einmal Mitternacht war und deswegen der Fehler auftaucht?

Viele Grüße
Achim
1x RPi V1, COC, 6x FHT, 1x S300TH, 2x DS18B20, 1x KS300
1x Arduino Nano mit Firmata, 2x DS2423old, 4x DS18B20, HIH5030, verschiedene Ein/Ausgangsschaltungen am Arduino
Mysensors-Seriell Gateway, Si7021, BH1750, Relais

Wzut

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

Lorenz

Hallo zusammen,

ich habe den Nano mit Firmata seit Gestern mit dem Ethernetshield ENC28J60 eingebunden (vorher über USB am Raspi).

Testweise habe ich nur Folgendes in fhem.cfg:

define hwr_Arduino FRM 3030 global
attr hwr_Arduino room HWR
define hwr_Gaszaehler_Reedkontakt FRM_IN 3
attr hwr_Gaszaehler_Reedkontakt IODev hwr_Arduino
attr hwr_Gaszaehler_Reedkontakt event-on-change-reading .*
attr hwr_Gaszaehler_Reedkontakt internal-pullup on
attr hwr_Gaszaehler_Reedkontakt room HWR
attr hwr_Gaszaehler_Reedkontakt stateFormat reading


Nach einem Restart erhalte ich folgende Einträge im logfile:
2014.03.14 18:47:48 4: Connection accepted from FRM:192.168.178.90:1036
2014.03.14 18:47:48 5: >ff
2014.03.14 18:47:48 5: SW: �
2014.03.14 18:47:51 3: querying Firmata Firmware Version
2014.03.14 18:47:51 5: >f0,79,f7
2014.03.14 18:47:51 5: SW: �y�
2014.03.14 18:47:51 5: <f0,79,02,05,43,00,6f,00,6e,00,66,00,69,00,67,00,75,00,72,00,61,00,62,00,6c,00,65,00,46,00,69,00,72,00,6d,00,61,00,74,00,61,00,74,00,65,00,73,00,74,00,2e,00,69,00,6e,00,6f,00,f7
2014.03.14 18:47:51 3: Firmata Firmware Version: ConfigurableFirmatatest.ino V_2_05
2014.03.14 18:47:51 5: >f0,69,f7
2014.03.14 18:47:51 5: SW: �i�
2014.03.14 18:47:51 5: >f0,6b,f7
2014.03.14 18:47:51 5: SW: �k�
2014.03.14 18:47:51 5: <f0,71,55,00,6e,00,68,00,61,00,6e,00,64,00,6c,00,65,00,64,00,20,00,73,00,79,00,73,00,65,00,78,00,20,00,63,00,6f,00,6d,00,6d,00,61,00,6e,00,64,00,f7,f0,6c,7f,7f,00,01,01,01,07,01,7f,00,01,01,01,07,01,7f,7f,00,01,01,01,07,01,7f,00,01,01,01,07,01,7f,00,01,01,01,07,01,7f,00,01,01,01,07,01,7f,00,01,01,01,07,01,7f,7f,7f,7f,7f,00,01,01,01,07,01,7f,00,01,01,01,07,01,7f,00,01,01,01,07,01,7f,00,01,01,01,07,01,7f,00,01,01,01,07,01,7f,00,01,01,01,07,01,7f,7f,7f,f7
2014.03.14 18:47:51 3: received String_data: Unhandled sysex command
2014.03.14 18:47:51 5: Triggering FRM:192.168.178.90:1036 (1 changes)
2014.03.14 18:47:51 5: Notify loop for FRM:192.168.178.90:1036 error: Unhandled sysex command
2014.03.14 18:47:53 5: >f0,7a,68,07,f7
2014.03.14 18:47:53 5: SW: �zh�
2014.03.14 18:47:53 5: >f4,03,00
2014.03.14 18:47:53 5: SW: �
2014.03.14 18:47:53 5: >d0,01
2014.03.14 18:47:53 5: SW: �
2014.03.14 18:47:53 5: >90,08,00
2014.03.14 18:47:53 5: SW: �
2014.03.14 18:47:53 5: >d0,01
2014.03.14 18:47:53 5: SW: �


Das unhandled sysex command kann ich nicht nachvollziehen. Kann da jemand helfen?

Alle notwendigen Files habe ich gestern aus github aktualisiert.

Gestern blieb der Arduino listening, nach dem heutigen Update von FRM kommt Initialized.

Die In-Funktion vom FRM funktionierte aber und funktioniert auch jetzt. 1-wire habe ich noch nicht getestet. Fhem läuft stabil.

Allerdings bleibt der Arduinio auch Initialized, wenn das LAN abgetrennt ist.

Das Handling von Pin 4 und 10 habe ich bislang nicht verändert. Muss ich beim Nano da etwas tun ?

Viele Grüße

Lorenz
. . . . . .
Fhem auf NUC7i3BNH, Raspberry Pi B und B+, Raspberry Pi 2 B, Peripherie: FB7490, 1-Wire, Homematic, FS20, Lampen, Briefkasten, Klingel, Sonos, GardenaSmart, Unifi, Gaszähler an GPIO, Stromzähler EFR SGM-C4, Heizung Buderus GBH 172, Alarmanlage EMA und BMA von Bosch

ntruchsess

Zitat von: Lorenz Gruschka am 14 März 2014, 19:27:31
Allerdings bleibt der Arduinio auch Initialized, wenn das LAN abgetrennt ist.

Das ist aktuell so, wenn nichts über die Leitung geht wird ein stilles Verschwinden des Arduinos erst mal nicht bemerkt. In diesem Thread habe ich ein paar Worte zur Grundsätzlchen Problematik geschrieben. Man müste (auch wenn eigentlich nix ansteht) regelmäßig ein Kommando mit definierter Antwort absetzen um zu bemerken, dass der Arduino garade nicht erreichbar ist.

Zitat von: Lorenz Gruschka am 14 März 2014, 19:27:31
Das Handling von Pin 4 und 10 habe ich bislang nicht verändert. Muss ich beim Nano da etwas tun ?
Pin 4 braucht keine Sonderbehandlung beim Nano (da hängt beim Standard-ethernet-shield CS des SD-kartenlesers dran). Wenn Du CS an Pin 10 angeschlossen hast, braucht außer der per 'IS_PIN_SPI()' ausgeschlossenen Pins nichts berücksichtigt werden.

- Norbert
while (!asleep()) {sheep++};

woody

Hallo,
ich hab da ein Problem.
Habe auf meinem Arduino die aktuelle configurable_firmata drauf. IP des Raspi auf dem Fhem läuft 192.168.0.19, Port 3040, eigene IP
des Arduino 192.168.0.25.
Ich bekomme keine Kommunikation mit dem Arduino hin. Ich kann ihn nicht pingen. Raff net wodran es noch liegen kann. Kabel hab ich auch schon getauscht. Kann es an der firmata liegen? Habe im seriellen Monitor komische Zeichen, oder ist das normal? 
" ùðy ConfigurableFirmata.ino ÷"

Die fhem.cfg sieht so aus:

#Firmata
define Arduino FRM 3040 global
attr Arduino room Arduino
#
define A1 FRM_AD 15
attr A1 IODev Arduino
attr A1 event-min-interval 1
attr A1 room Arduino
attr A1 stateFormat reading
attr A1 verbose 5
#
define RGB FRM_RGB 3 5 6
attr RGB IODev Arduino
attr RGB room Arduino
attr RGB webCmd rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:toggle:on:off

define LCD1 FRM_LCD I2C 16 2 63
attr LCD1 IODev Arduino
attr LCD1 autoBreak on
attr LCD1 autoClear on
attr LCD1 room Arduino
attr LCD1 stateFormat text


strauch

Poste bitte auch mal den Sketch vom Arduino.

Gesendet von meinem Nexus 4 mit Tapatalk

FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

woody

Hallo Strauch,
anbei die ino.........

viele Grüße
woody

/*
* Firmata is a generic protocol for communicating with microcontrollers
* from software on a host computer. It is intended to work with
* any host computer software package.
*
* To download a host software package, please click on the following link
* to open the download page in your default browser.
*
* http://firmata.org/wiki/Download
*/

/*
  Copyright (C) 2006-2008 Hans-Christoph Steiner.  All rights reserved.
  Copyright (C) 2010-2011 Paul Stoffregen.  All rights reserved.
  Copyright (C) 2009 Shigeru Kobayashi.  All rights reserved.
  Copyright (C) 2009-2013 Jeff Hoefs.  All rights reserved.
  Copyright (C) 2013 Norbert Truchsess. All rights reserved.
  Copyright (C) 2014 Nicolas Panel. All rights reserved.
 
  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.

  See file LICENSE.txt for further informations on licensing terms.

  formatted using the GNU C formatting and indenting
*/


#include <Firmata.h>

/*
* by default Firmata uses the Serial-port (over USB) of Arduino.
* ConfigurableFirmata may also comunicate over ethernet using tcp/ip.
* To configure this 'Network Firmata' to use the original WIZ5100-based
* ethernet-shield or Arduino Ethernet uncomment the includes of 'SPI.h' and 'Ethernet.h':
*/

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

/*
* To configure 'Network Firmata' to use an ENC28J60 based board include
* 'UIPEthernet.h' (no SPI.h required). The UIPEthernet-library can be downloaded
* from: https://github.com/ntruchsess/arduino_uip
*/

//#include <UIPEthernet.h>

#if defined ethernet_h || defined UIPETHERNET_H
/*==============================================================================
* Network configuration for Network Firmata
*============================================================================*/
#define NETWORK_FIRMATA
//replace with ip of server you want to connect to, comment out if using 'remote_host'
#define remote_ip IPAddress(192,168,0,19)
//replace with hostname of server you want to connect to, comment out if using 'remote_ip'
#define remote_host "server.local"
//replace with the port that your server is listening on
#define remote_port 3040
//replace with arduinos ip-address. Comment out if Ethernet-startup should use dhcp
#define local_ip IPAddress(192,168,0,25)
//replace with ethernet shield mac. It's mandatory every device is assigned a unique mac
const byte mac[] = {0x90,0xA2,0xDA,0x0D,0x07,0x02};
#endif

// To configure, save this file to your working directory so you can edit it
// then comment out the include and declaration for any features that you do
// not need below.

// Also note that the current compile size for an Arduino Uno with all of the
// following features enabled is about 22.4k. If you are using an older Arduino
// or other microcontroller with less memory you will not be able to include
// all of the following feature classes.

#include <utility/DigitalInputFirmata.h>
DigitalInputFirmata digitalInput;

#include <utility/DigitalOutputFirmata.h>
DigitalOutputFirmata digitalOutput;

#include <utility/AnalogInputFirmata.h>
AnalogInputFirmata analogInput;

#include <utility/AnalogOutputFirmata.h>
AnalogOutputFirmata analogOutput;

//#include <Servo.h> //wouldn't load from ServoFirmata.h in Arduino1.0.3
//#include <utility/ServoFirmata.h>
//ServoFirmata servo;

#include <Wire.h> //wouldn't load from I2CFirmata.h in Arduino1.0.3
#include <utility/I2CFirmata.h>
I2CFirmata i2c;

#include <utility/OneWireFirmata.h>
OneWireFirmata oneWire;

//#include <utility/StepperFirmata.h>
//StepperFirmata stepper;

//#include <utility/FirmataExt.h>
//FirmataExt firmataExt;

//#include <utility/FirmataScheduler.h>
//FirmataScheduler scheduler;

//#include <utility/EncoderFirmata.h>
//EncoderFirmata encoder;


// dependencies. Do not comment out the following lines
#if defined AnalogOutputFirmata_h || defined ServoFirmata_h
#include <utility/AnalogWrite.h>
#endif

#if defined AnalogInputFirmata_h || defined I2CFirmata_h || defined EncoderFirmata_h
#include <utility/FirmataReporting.h>
FirmataReporting reporting;
#endif

// dependencies for Network Firmata. Do not comment out.
#ifdef NETWORK_FIRMATA
#if defined remote_ip && defined remote_host
#error "cannot define both remote_ip and remote_host at the same time!"
#endif
#include <utility/EthernetClientStream.h>
EthernetClient client;
#if defined remote_ip && !defined remote_host
#ifdef local_ip
  EthernetClientStream stream(client,local_ip,remote_ip,NULL,remote_port);
#else
  EthernetClientStream stream(client,IPAddress(0,0,0,0),remote_ip,NULL,remote_port);
#endif
#endif
#if !defined remote_ip && defined remote_host
#ifdef local_ip
  EthernetClientStream stream(client,local_ip,IPAddress(0,0,0,0),remote_host,remote_port);
#else
  EthernetClientStream stream(client,IPAddress(0,0,0,0),IPAddress(0,0,0,0),remote_host,remote_port);
#endif
#endif
#endif

/*==============================================================================
* FUNCTIONS
*============================================================================*/

void systemResetCallback()
{
  // initialize a defalt state

  // pins with analog capability default to analog input
  // otherwise, pins default to digital output
  for (byte i=0; i < TOTAL_PINS; i++) {
    if (IS_PIN_ANALOG(i)) {
#ifdef AnalogInputFirmata_h
      // turns off pullup, configures everything
      Firmata.setPinMode(i, ANALOG);
#endif
    } else if (IS_PIN_DIGITAL(i)) {
#ifdef DigitalOutputFirmata_h
      // sets the output to 0, configures portConfigInputs
      Firmata.setPinMode(i, OUTPUT);
#endif
    }
  }

#ifdef FirmataExt_h
  firmataExt.reset();
#endif
}

/*==============================================================================
* SETUP()
*============================================================================*/

void setup()
{
#ifdef NETWORK_FIRMATA
#ifdef local_ip
  Ethernet.begin((uint8_t*)mac,local_ip);  //start ethernet
#else
  Ethernet.begin((uint8_t*)mac); //start ethernet using dhcp
#endif
  delay(1000);
#endif
  Firmata.setFirmwareVersion(FIRMATA_MAJOR_VERSION, FIRMATA_MINOR_VERSION);

#if defined AnalogOutputFirmata_h || defined ServoFirmata_h
  /* analogWriteCallback is declared in AnalogWrite.h */
  Firmata.attach(ANALOG_MESSAGE, analogWriteCallback);
#endif

  #ifdef FirmataExt_h
#ifdef DigitalInputFirmata_h
  firmataExt.addFeature(digitalInput);
#endif
#ifdef DigitalOutputFirmata_h
  firmataExt.addFeature(digitalOutput);
#endif
#ifdef AnalogInputFirmata_h
  firmataExt.addFeature(analogInput);
#endif
#ifdef AnalogOutputFirmata_h
  firmataExt.addFeature(analogOutput);
#endif
#ifdef ServoFirmata_h
  firmataExt.addFeature(servo);
#endif
#ifdef I2CFirmata_h
  firmataExt.addFeature(i2c);
#endif
#ifdef OneWireFirmata_h
  firmataExt.addFeature(oneWire);
#endif
#ifdef StepperFirmata_h
  firmataExt.addFeature(stepper);
#endif
#ifdef FirmataReporting_h
  firmataExt.addFeature(reporting);
#endif
#ifdef FirmataScheduler_h
  firmataExt.addFeature(scheduler);
#endif
#ifdef EncoderFirmata_h
  firmataExt.addFeature(encoder);
#endif
#endif
  /* systemResetCallback is declared here (in ConfigurableFirmata.ino) */
  Firmata.attach(SYSTEM_RESET, systemResetCallback);

  // Network Firmata communicates with Ethernet-shields over SPI. Therefor all
  // SPI-pins must be set to IGNORE. Otherwise Firmata would break SPI-communication.
  // add Pin 10 and configure pin 53 as output if using a MEGA with Ethernetshield.
  // No need to ignore pin 10 on MEGA with ENC28J60, as here pin 53 should be connected to SS:
#ifdef NETWORK_FIRMATA
  // ignore SPI and pin 4 that is SS for SD-Card on Ethernet-shield
  for (byte i=0; i < TOTAL_PINS; i++) {
    if (IS_PIN_SPI(i)
        || 4==i
        // || 10==i //explicitly ignore pin 10 on MEGA as 53 is hardware-SS but Ethernet-shield uses pin 10 for SS
        ) {
      Firmata.setPinMode(i, IGNORE);
    }
  }
//  pinMode(PIN_TO_DIGITAL(53), OUTPUT); configure hardware-SS as output on MEGA
  pinMode(PIN_TO_DIGITAL(4), OUTPUT); // switch off SD-card bypassing Firmata
  digitalWrite(PIN_TO_DIGITAL(4), HIGH); // SS is active low;

  // start up Network Firmata:
  Firmata.begin(stream);
#else
  // start up the default Firmata using Serial interface:
  Firmata.begin(57600);
#endif
  systemResetCallback();  // reset to default config
}

/*==============================================================================
* LOOP()
*============================================================================*/
void loop()
{
#ifdef DigitalInputFirmata_h
  /* DIGITALREAD - as fast as possible, check for changes and output them to the
   * stream buffer using Firmata.write()  */
  digitalInput.report();
#endif

  /* STREAMREAD - processing incoming messagse as soon as possible, while still
   * checking digital inputs.  */
  while(Firmata.available()) {
    Firmata.processInput();
#ifdef FirmataScheduler_h
    if (!Firmata.isParsingMessage()) {
      goto runtasks;
    }
  }
  if (!Firmata.isParsingMessage()) {
runtasks: scheduler.runTasks();
#endif
  }

  /* SEND STREAM WRITE BUFFER - TO DO: make sure that the stream buffer doesn't go over
   * 60 bytes. use a timer to sending an event character every 4 ms to
   * trigger the buffer to dump. */

#ifdef FirmataReporting_h
  if (reporting.elapsed()) {
#ifdef AnalogInputFirmata_h
    /* ANALOGREAD - do all analogReads() at the configured sampling interval */
    analogInput.report();
#endif
#ifdef I2CFirmata_h
    // report i2c data for all device with read continuous mode enabled
    i2c.report();
#endif
#ifdef EncoderFirmata_h
    // report encoders positions if reporting enabled.
    encoder.report();
#endif
  }
#endif
#ifdef StepperFirmata_h
  stepper.update();
#endif
#if defined NETWORK_FIRMATA && !defined local_ip
  if (Ethernet.maintain())
    {
      stream.maintain(Ethernet.localIP());
    }
#endif
}


Lorenz

Man muss die passende lib für Ethernet einbinden - d.h den Kommentar beim include deaktivieren


Gesendet von meinem iPhone mit Tapatalk
. . . . . .
Fhem auf NUC7i3BNH, Raspberry Pi B und B+, Raspberry Pi 2 B, Peripherie: FB7490, 1-Wire, Homematic, FS20, Lampen, Briefkasten, Klingel, Sonos, GardenaSmart, Unifi, Gaszähler an GPIO, Stromzähler EFR SGM-C4, Heizung Buderus GBH 172, Alarmanlage EMA und BMA von Bosch

strauch

Du hast die Ethernet Librarys noch aus kommentiert je nachdem was für ein Shield du hast musst eines aus kommentieren.

Gesendet von meinem Nexus 4 mit Tapatalk

FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

strauch

Misst ist iOS doch schneller als Android ;-)

Gesendet von meinem Nexus 4 mit Tapatalk

FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

Lorenz

. . . . . .
Fhem auf NUC7i3BNH, Raspberry Pi B und B+, Raspberry Pi 2 B, Peripherie: FB7490, 1-Wire, Homematic, FS20, Lampen, Briefkasten, Klingel, Sonos, GardenaSmart, Unifi, Gaszähler an GPIO, Stromzähler EFR SGM-C4, Heizung Buderus GBH 172, Alarmanlage EMA und BMA von Bosch

woody

Danke für die sich überschlagenden Antworten... ;)

Ich hab das auch bemerkt, wer lesen kann ist klar im Vorteil,
allerdings wenn ich das auskommentiere für spi und etherner , dann kommt eine Fehlermeldung im sketch " Firmata begin (stream) ;  > Stream was not declared in this scope

Ich habe vor der Veränderung erstmal kompilieren lassen, danach ip usw angepasst und dann kommt der Fehler.
Habe das ganze Firmata verzeichniss gelöscht und neu eingefügt aus dem aktuellen Branch.
Trotzdem der Fehler.

>:(