arduino:wio-de
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
arduino:wio-de [2020/02/08 01:54] – rainerk | arduino:wio-de [2024/03/20 15:04] (current) – [I/O Extender PCF8574] rjversluis | ||
---|---|---|---|
Line 1: | Line 1: | ||
[[: | [[: | ||
- | ======WIO - Fahrtregler - 32 I/O - LEDs - Servos - RFID - Displays - DCC====== | + | ======WIO - Firmware====== |
[[: | [[: | ||
[[: | [[: | ||
- | * [[arduino: | + | * [[arduino: |
+ | * [[: | ||
+ | |||
\\ | \\ | ||
- | {{ : | ||
- | |< >| | ||
- | ^ I n - A r b e i t ... ^ | ||
- | |||
\\ | \\ | ||
=====Einführung===== | =====Einführung===== | ||
- | Diese Lösung basiert | + | Dieses Projekt ist auf die Plattformen |
+ | Der Quellcode ist nur verfügbar, um ihn auf dem Zielgerät flashen zu können, wenn keine andere Methode möglich ist.\\ | ||
+ | Das Forken oder Manipulieren des Quellcodes ist NICHT erlaubt und urheberrechtlich geschützt.\\ | ||
Sie kann verwendet werden als: | Sie kann verwendet werden als: | ||
Line 33: | Line 34: | ||
====Unterstützte Boards==== | ====Unterstützte Boards==== | ||
- | * Lolin D1 Mini | + | * Lolin/ |
* Lolin D32 | * Lolin D32 | ||
* ESP32 Dev Module | * ESP32 Dev Module | ||
+ | * ESP32 CAM Module | ||
- | ====Verwendete | + | ====Verwendete Stifte==== |
Stift-Zuordnung in '' | Stift-Zuordnung in '' | ||
* https:// | * https:// | ||
Line 56: | Line 58: | ||
=====Arduino IDE===== | =====Arduino IDE===== | ||
- | //Getestet mit Version 1.8.10//\\ | ||
Die Arduino IDE mit folgenden Boards und Bibliotheken vorbereiten: | Die Arduino IDE mit folgenden Boards und Bibliotheken vorbereiten: | ||
====Boardverwalter===== | ====Boardverwalter===== | ||
Im Einstelldialog bei " | Im Einstelldialog bei " | ||
< | < | ||
- | https:// | + | https:// |
+ | https://raw.githubusercontent.com/espressif/ | ||
+ | https:// | ||
</ | </ | ||
{{ : | {{ : | ||
- | Und die ESP8266 Board-Bibliothek | + | Und die ESP8266 |
====Board-Auswahl==== | ====Board-Auswahl==== | ||
{{ : | {{ : | ||
'' | '' | ||
+ | |||
====Bibliotheken==== | ====Bibliotheken==== | ||
- | | + | ===ESP8266 & ESP32=== |
- | * Wire (I2C) | + | |
- | * FastLED | + | * Adafruit NeoPixel |
* RotaryEncoder | * RotaryEncoder | ||
* MFRC522 (RC522) | * MFRC522 (RC522) | ||
* Servo | * Servo | ||
* ArduinoOTA | * ArduinoOTA | ||
+ | * mcp_can | ||
+ | * https:// | ||
+ | * [[: | ||
+ | * SparkFun APDS9960 RGB and Gesture Sensor \\ Zeile 198 in Arduino/ | ||
- | ====SPIFFS==== | + | ===ESP32=== |
- | 2M SPIFFS-Größe auswählen: | + | * ESP32 (Board Manager) |
- | {{: | + | * ESP32Servo |
- | SPIFFS ist ein Datei-System, | + | |
- | Installieren des Arduino-IDE-Plugin für das Hochladen von Daten: | + | |
- | * https:// | + | |
- | ====Dunkles Thema==== | + | __**ESP32CAN Modifikationen**__\\ |
- | Wer ein Dunkles Thema für die Arduino-IDE wünscht: | + | Der '' |
- | * https:// | + | '' |
+ | <code c> | ||
+ | int CAN_write_frame(const CAN_frame_t | ||
+ | if (sem_tx_complete == NULL) { | ||
+ | return -1; | ||
+ | } | ||
+ | // Write the frame to the controller | ||
+ | CAN_write_frame_phy(p_frame); | ||
+ | |||
+ | // wait for the frame tx to complete | ||
+ | int rc = xSemaphoreTake(sem_tx_complete, | ||
+ | return rc; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | | Einfach die " | ||
\\ | \\ | ||
+ | ====FileSystem==== | ||
+ | 1M/2M FS-Größe auswählen: | ||
+ | {{: | ||
+ | LittleFS ist ein Datei-System, | ||
+ | Installieren des Arduino-IDE-Plugin für das Hochladen von Daten: | ||
+ | * https:// | ||
+ | |||
=====WIO-Sketch===== | =====WIO-Sketch===== | ||
- | | //Copyright (c) 2002-2020 Robert Jan Versluis, Rocrail.net// | + | | //Copyright (c) 2002-2022 Robert Jan Versluis, Rocrail.net// |
WIO ist Firmware zur Steuerung von Fahrtregler, | WIO ist Firmware zur Steuerung von Fahrtregler, | ||
- | * https:// | ||
* [[https:// | * [[https:// | ||
+ | * Klonen des Repository: (WIO mit Großbuchstaben!)\\ < | ||
* [[https:// | * [[https:// | ||
- | Der Quellcode ist öffentlich aber "nicht open source" | + | Der Quellcode ist öffentlich aber "nicht open source" |
\\ | \\ | ||
+ | __**WICHTIG**__ | ||
+ | ^ :!::!::!: Das Verzeichnis MUSS nach dem Entpacken des ZIP von " | ||
+ | Ohne Umbennen des Quellen-Hauptverzeichnisses sind die Quellen-Dateien in der Arduino-IDE unbrauchbar und ergeben nur eine Unmenge an Kompilierungsfehlern!\\ | ||
+ | \\ | ||
+ | (**Wichtig: | ||
+ | \\ | ||
+ | \\ | ||
====Binary==== | ====Binary==== | ||
- | {{ : | + | {{ : |
Das Espressif-Tool verwenden, um das WIO-Binary hochzuladen. | Das Espressif-Tool verwenden, um das WIO-Binary hochzuladen. | ||
- | * [[https://launchpad.net/rocrail/+download|WIO Binary]] | + | * [[https://gitlab.com/rocrail/wio|WIO Binaries]] |
* [[https:// | * [[https:// | ||
Line 126: | Line 162: | ||
Ausgabe nach einem ''?'' | Ausgabe nach einem ''?'' | ||
< | < | ||
- | Settings: | ||
------------------------------ | ------------------------------ | ||
- | version=0.85 WIO 20191031d | + | revision=458 WIO (c)Rocrail |
- | ssid=xxxxxxxx | + | 192.168.100.175 RSSI=-52 |
- | pwd=xxxxxxxx | + | battery=186 |
- | server=xxxxxxxx | + | EEPROM size=3804 |
- | port=8051 | + | Free heap=174271 |
- | name= | + | I/O state=00 00 00 00 |
- | id=33 | + | ------------------------------ |
- | io=i2cled | + | SPIFFS total=1345kb used=0kb |
- | i2c=ooooooooooooooooppppiiiibbbbbbbb | + | file: Disco01.led size=110 |
- | steps=50 | + | ------------------------------ |
- | pulse=50 | + | Configuration: |
- | display=22 | + | ------------------------------ |
- | dccsc=0 | + | ssid1= |
+ | pwd1= | ||
+ | ssid2= | ||
+ | pwd2= | ||
+ | server= | ||
+ | name=[local] | ||
+ | id=45 | ||
+ | io=i2cled | ||
+ | i2c=ooooooooiiiiiiii | ||
+ | steps=64 | ||
+ | sleeptimer=5 | ||
+ | pulse=5 | ||
+ | pwmsize=0 | ||
+ | options=0xC2 0x01 0x00 0x00 | ||
+ | booster=0 | ||
+ | board=1 | ||
+ | display=3 | ||
railcom=0 | railcom=0 | ||
- | maxpower=0 | + | id12=0 |
- | RSSI=-53 | + | depart=0 |
- | MCP23017 status: 0x20=OK 0x21=OK | + | stepper=0 |
- | I2C device found at address 0x20 | + | canprot=0(0) |
- | I2C device found at address 0x21 | + | canio=0 |
- | I2C device found at address 0x3C | + | canusb=0 |
- | I2C found 3 devices | + | trace=0 |
- | loco1=0 loco2=3 active=0 | + | |
- | + | ||
- | Change settings by typing: | + | |
------------------------------ | ------------------------------ | ||
- | *ssid=< | ||
- | *pwd=< | ||
- | *server=< | ||
- | *port=< | ||
- | *name=< | ||
- | *id=< | ||
- | *io=< | ||
- | *i2c=< | ||
- | *steps=< | ||
- | *pulse=< | ||
- | *display=< | ||
- | *dccsc=< | ||
- | *railcom=< | ||
- | *maxpower=< | ||
</ | </ | ||
====Benutzer-Konfiguration==== | ====Benutzer-Konfiguration==== | ||
- | Die [[https:// | + | Die [[https:// |
Die Werte müssen eingestellt sein, bevor kompiliert und hochgeladen wird.\\ | Die Werte müssen eingestellt sein, bevor kompiliert und hochgeladen wird.\\ | ||
Anschließend können diese Werte mit Monitor-Befehlen geändert werden.\\ | Anschließend können diese Werte mit Monitor-Befehlen geändert werden.\\ | ||
+ | :!: Die Werte aus der USERCNF.h-Datei werden nur verwendet, wenn es noch keine Einstellungen gibt (neues Gerät).\\ | ||
+ | - Sollen die Werte im Flash-Speicher eines bestehenden WIO durch die Werte in USERCNF.h ersetzt werden, dann in der Arduino-IDE "Erase Flash" auf "All Flash Contents" | ||
+ | - Soll nur die Firmware eines bestehenden WIO upgedated werden, ohne die Einstellungen (z.B. WLAN-Einstellungen) zu ändern, dann in der Arduino-IDE "Erase Flash" auf "only Sketch" | ||
====Monitor-Befehle==== | ====Monitor-Befehle==== | ||
- | Der Arduino Seriell-Monitor kann zur Änderung der WIO-Einstellungen mit 57600 bit/s verwendet werden.\\ | + | Der Arduino Seriell-Monitor kann zur Änderung der WIO-Einstellungen mit 115200 |
- | //(Wenn RailCom aktiviert | + | |
+ | - Wenn ID12 aktiviert wurde, schaltet die Baudrate automatisch auf 9600 bit/s und der serielle Monitor kann "nur lesen" | ||
- | ^ Befehle ^ Beschreibung ^ Standard ^ | + | Grundsätzliche Verbindungs-Einstellung kann auch über die Registerkarte __**[[: |
+ | |||
+ | |< >| | ||
+ | ^ Befehle ^ Beschreibung ^ Standard | ||
| ? | Zeigt die momentanen Einstellungen und wie sie geändert werden. | | | ? | Zeigt die momentanen Einstellungen und wie sie geändert werden. | | ||
| ! | Auflistung des verwendeten Flash-Speichers. | | | ! | Auflistung des verwendeten Flash-Speichers. | | ||
- | | *ssid=< | + | | *sod | Erzwingt Start of Day |*scan | List all available WiFi APs | |
- | | *pwd=< | + | | *scan | Listet alle verfügbaren WiFi APs | |
- | | *server=< | + | | *ssid1=< |
- | | *port=< | + | | *pwd1=< |
+ | | *ssid2=< | ||
+ | | *pwd2=< | ||
+ | | *server=< | ||
+ | | *autoserver=< | ||
| *name=< | | *name=< | ||
| *id=< | | *id=< | ||
Line 192: | Line 237: | ||
| *steps=< | | *steps=< | ||
| *pulse=< | | *pulse=< | ||
- | | *display=< | + | | *canprot=< |
- | | *dccsc=< | + | | *dccslave=< |
- | | *railcom=< | + | | *trace=< |
- | | *maxpower=< | + | | *ptmain=< |
+ | | *pwm=< | ||
+ | | *display=< | ||
**Hinweis: | **Hinweis: | ||
**Hinweis: | **Hinweis: | ||
Line 206: | Line 254: | ||
| b | Block: Eingang mit 2 Sekunden Aus-Verzögerung. | | | b | Block: Eingang mit 2 Sekunden Aus-Verzögerung. | | ||
| p | Pulse: Ausgang mit autom. Aus. | | | p | Pulse: Ausgang mit autom. Aus. | | ||
+ | (Block ist ein Input welcher erst Low meldet nachdem es 2 Sekunden stabil Low gewesen ist, wie es bei einem Gleisbesetztmelder sein sollte.) | ||
+ | \\ | ||
+ | \\ | ||
===IO-Typ-Konfiguration=== | ===IO-Typ-Konfiguration=== | ||
Line 212: | Line 263: | ||
| throttle | - | - | - | - | - | - | | | throttle | - | - | - | - | - | - | | ||
| i2cled | JA | JA | Nein | Nein | JA | Nein | | | i2cled | JA | JA | Nein | Nein | JA | Nein | | ||
- | | i2cservo | JA | Nein | JA| Nein | JA| Nein | | + | | i2cservo | JA | Nein | JA | Nein | JA | Nein | |
- | | i2crfid | JA| Nein | Nein | JA | JA | Nein | | + | | i2crfid | JA | Nein | Nein | JA | JA | Nein | |
| i2cdcc | JA | Nein | Nein | Nein | JA | JA | | | i2cdcc | JA | Nein | Nein | Nein | JA | JA | | ||
- | \\ | ||
- | ====Grundeinstellung mit WEB-Browser==== | ||
- | |< >| | ||
- | | //Beim DCC-WIO-Typ nicht aktiviert.// | ||
- | Der WIO fungiert als sehr kleiner Zugangspunkt (AP = Access Point), um eine Verbindung herzustellen und die Grundeinstellung ohne seriellen Monitor durchzuführen. \\ | ||
- | Der WIO-AP-Name ist wie folgt formatiert: " | ||
- | Die WIO-APs werden aufgelistet und können ausgewählt werden:\\ | ||
- | |{{: | ||
- | | Netzwerkauswahl | ||
- | Das AP-Standard-**Passwort** ist " | ||
- | Nach dem Herstellen der Verbindung zum WIO kann die Grundeinstellung mit einem WEB-Browser unter folgender URL geändert werden: | ||
- | < | ||
- | http:// | ||
- | </ | ||
- | Nach **Submit** versucht der WIO automatisch, | ||
- | Der AP wird gestoppt nach: | ||
- | * einem **Submit**. | ||
- | * 2 Minuten Leerlauf. | ||
\\ | \\ | ||
====OTA Updating==== | ====OTA Updating==== | ||
Line 241: | Line 274: | ||
{{: | {{: | ||
Einfach aus der Liste den gewünschten WIO anstelle eines USB-Ports auswählen und Upload ausführen.\\ | Einfach aus der Liste den gewünschten WIO anstelle eines USB-Ports auswählen und Upload ausführen.\\ | ||
- | Wenn nach einem **Passwort** gefragt wird, ist das dasselbe, wie für den __**[[#http-grundeinstellung|Access Point]]**__.\\ | + | Wenn nach einem **Passwort** gefragt wird, ist das dasselbe, wie für den __**[[#grundeinstellung_mit_web-browser|Access Point]]**__ |
{{: | {{: | ||
\\ | \\ | ||
+ | ====OTA von Grund auf neu==== | ||
+ | * __**[[arduino: | ||
=====RIC - Fahrtregler===== | =====RIC - Fahrtregler===== | ||
+ | | **Hinweis: | ||
** Hinweis: ** // RIC steuert Loks nach Adresse, nicht nach Kennung. Es wird also die erste in der Liste verwendet, wenn mehrere Loks dieselbe Adresse haben .// \\ | ** Hinweis: ** // RIC steuert Loks nach Adresse, nicht nach Kennung. Es wird also die erste in der Liste verwendet, wenn mehrere Loks dieselbe Adresse haben .// \\ | ||
Der Pocket-Fahrtregler-I/ | Der Pocket-Fahrtregler-I/ | ||
Line 301: | Line 336: | ||
Der Analog-Eingang prüft die Batterie-Spannung.\\ | Der Analog-Eingang prüft die Batterie-Spannung.\\ | ||
Wenn die Spannung unter einen bestimmten Wert kommt, sendet der LOLii automatisch ein Geschwindigkeit-Null-Befehl zur Lok und einen Freigabe-Befehl.\\ | Wenn die Spannung unter einen bestimmten Wert kommt, sendet der LOLii automatisch ein Geschwindigkeit-Null-Befehl zur Lok und einen Freigabe-Befehl.\\ | ||
- | Die LED geginnt | + | Die LED beginnt |
===Servererkennung=== | ===Servererkennung=== | ||
- | | UDP-Multicast entleert den Heap-Speicherplatz und ist daher deaktiviert. | + | Wenn beim Rocrail-Server R2RNet auf Multicast-Adresse |
- | <del>Wenn beim Rocrail-Server R2RNet auf Multicast-Adresse | + | |
\\ | \\ | ||
Line 310: | Line 344: | ||
* Verbindet direkt mit dem Rocrail-Server-Client-Port 8051. Siehe **[[https:// | * Verbindet direkt mit dem Rocrail-Server-Client-Port 8051. Siehe **[[https:// | ||
* Wiederherstellung von WiFi- und Server-Verbindung. | * Wiederherstellung von WiFi- und Server-Verbindung. | ||
- | * 32 Digital-I/ | + | * 32 Digital-I/O, MCP23017, kompatibel mit allen GCA-Schnittstellen. |
* Eingang | * Eingang | ||
* Ausgang | * Ausgang | ||
* Block | * Block | ||
* Pulse | * Pulse | ||
- | * 128 LEDs kompatibel mit WS2812 an D8. (Ausgangs-Typ Farbe in Rocrail.) | + | * 100 LEDs kompatibel mit WS2812 an D8. (Ausgangs-Typ Farbe in Rocrail.) |
* RGB-Farbe | * RGB-Farbe | ||
* Helligkeit | * Helligkeit | ||
Line 329: | Line 363: | ||
* Ausgangs-/ | * Ausgangs-/ | ||
* Eingangs-Ereignisse müssen innerhalb 100ms bestätigt werden. Nach dieser Zeitüberschreitung werden sie erneut gesendet. (Max. 5 Wiederholungen.) | * Eingangs-Ereignisse müssen innerhalb 100ms bestätigt werden. Nach dieser Zeitüberschreitung werden sie erneut gesendet. (Max. 5 Wiederholungen.) | ||
+ | \\ | ||
+ | ====I/O Extender PCF8574P==== | ||
+ | Bis zu 4 Stück I/ | ||
+ | - 0x20 und 0x21 sollten nicht als I2C-Slave-IDs verfügbar sein. (Keine MCP23017' | ||
+ | - Die Slave-ID' | ||
+ | **Achtung: | ||
- | \\ | + | \\ |
====Adressierung==== | ====Adressierung==== | ||
|< >| | |< >| | ||
^ Rocrail ^ WIO ^ | ^ Rocrail ^ WIO ^ | ||
| Schnittstellenkennung | " | | Schnittstellenkennung | " | ||
- | | Bus | Kennung | | + | | Node ID (Bus) | Kennung | |
| Adresse | I2C-Port | | | Adresse | I2C-Port | | ||
| Adresse | LED-Port | | | Adresse | LED-Port | | ||
Line 345: | Line 385: | ||
* Signale | * Signale | ||
* Rückmelder | * Rückmelder | ||
+ | |||
+ | ===Doppelspulen-Weichen=== | ||
+ | | // | ||
+ | Für Weichen mit mehr als einem Port wird die nächste Adresse für den Weichenbefehl verwendet. \\ | ||
+ | Wenn sich also an Port 1 eine Doppelspulen-Weiche befindet, sollte Port 2 nicht verwendet werden. Die zweite Weiche geht dann an Port 3. \\ | ||
+ | Beide I2C-Ausgänge werden automatisch als Typ ' | ||
+ | Mögliche Hardware: | ||
+ | * **[[: | ||
+ | * [[: | ||
+ | * [[: | ||
====Blinken==== | ====Blinken==== | ||
Line 368: | Line 418: | ||
- Schnittstelle -> Adresse setzt die LED-Nummer | - Schnittstelle -> Adresse setzt die LED-Nummer | ||
- Schnittstelle -> Port-Typ: LED | - Schnittstelle -> Port-Typ: LED | ||
- | - Schnittstelle -> Steuerungs-Typ: | + | - Schnittstelle -> Steuerungs-Typ: |
- | - Helligkeit | + | - Schnittstelle -> Helligkeit |
+ | - Schnittstelle -> Dimmen (0…15) setzt die Dimm-Schritte (Überblenden). Ein Wert von Null deaktiviert Dimmen. | ||
Die Begriffs-Werte sind mit __**[[: | Die Begriffs-Werte sind mit __**[[: | ||
+ | ====Signale==== | ||
+ | - Schnittstelle -> WIO-Kennung: | ||
+ | - Schnittstelle -> Adresse setzt den LED-Offset | ||
+ | - Schnittstelle -> Port-Typ: Ausgang | ||
+ | - Schnittstelle -> Steuerungs-Typ: | ||
+ | Die Begriffs-Werte sind mit __**[[: | ||
+ | \\ | ||
+ | |||
+ | ====Charlieplexing Signal Support==== | ||
+ | |||
+ | Nur verfügbar auf [[: | ||
+ | Ein Rocrail-Signal mit Steueraspekten und Porttyp-Multiplex verwendet 4 Pins, beginnend mit dem Port-Offset.\\ | ||
+ | Die Wiederholfrequenz beträgt ca. 4000 Hz.\\ | ||
+ | Aspektwerte werden aus der Registerkarte „Einzelheiten“ verwendet. Es werden 24 Bit verwendet, die oberen 12 Bit sind zum Blinken.\\ | ||
+ | Beispiel: LED 1 und 2 an und LED 2 blinkend: 0x002003 -> Aspektwert = 8195 \\ | ||
+ | |||
+ | Ein zweites Signal am Mast kann in Rocrail mit Adresse + 100 definiert werden, um es mit dem Hauptsignal zu kombinieren.\\ | ||
+ | |||
+ | Helligkeit setzt Helligkeit, es können nur Werte zwischen 200-255 verwendet werden. Ein Wert < 200 wird auf 200 gesetzt.\\ | ||
+ | Ein überblenden mit Dimmen ist nicht möglich.\\ | ||
+ | |||
+ | ^ LED Nummber for Viessmann Multiplex Signal^^^^^^^^^ | ||
+ | |LED|Pin+|Pin-|1|2|3|4|Viessmann| | | ||
+ | |1|1|2|H|L| | |Vr_Ge_O|Vorsignal | ||
+ | |2|1|3|H| |L| |Hp_Rt_R|Hauptsignal rot rechts | | ||
+ | |3|1|4|H| | |L|Hp_Rt_L|Hauptsignal rot links | | ||
+ | |4|2|1|L|H| | |Vr_Gr_O|Vorsignal | ||
+ | |5|2|3| |H|L| |Vr_Gr_u|Vorsignal grün unten | | ||
+ | |6|2|4| |H| |L| | | | ||
+ | |7|3|1|L| |H| |Hp_Ge|Hauptsignal gelb | | ||
+ | |8|3|2| |L|H| |Vr_Ge_U|Vorsignal gelb unten | | ||
+ | |9|3|4| | |H|L|Hp_Ws_L|Hauptsignal weiß links | | ||
+ | |10|4|1|L| | |H|Hp_Gr|Hauptsignal grün | | ||
+ | |11|4|2| |L| |H| | | | ||
+ | |12|4|3|||L|H|Hp_Ws_R|Hauptsignal weiß rechts | | ||
+ | |||
+ | |||
+ | Für eine korrekte Anzeige des Hauptsignals bei Rot und Rangieren muss das Vorsignal ausgeblendet werden. \\ | ||
+ | Der Helligkeitswert im Haupt- und Vorsignal muss identisch sein. \\ | ||
+ | |||
+ | Multiplexeingänge von Viessmann, Ansicht von unten auf den Stecker. \\ | ||
+ | {{: | ||
+ | |||
+ | \\ | ||
====Servos==== | ====Servos==== | ||
- | {{ : | + | {{ : |
Die Adressierung ist die gleiche, wie bei normalen Ausgängen.\\ | Die Adressierung ist die gleiche, wie bei normalen Ausgängen.\\ | ||
- | |< >| | + | ^ Steuerung ^ Ausgang ^ Weiche |
- | ^ Steuerung ^ Ausgang ^ Weiche ^ Bereich ^ | + | | WIO | Schnittstellenkennung = " |
- | | WIO | Schnittstellenkennung = " | + | | WIO-Kennung | Knoten-ID |
- | | WIO-Kennung | Bus | Bus | 1...255 | | + | | Servo-Port |
- | | Servo-Port | Adresse | Adresse | 1...4 | | + | | Zusätzliche Option | - | Einzel-Ausgang ON | - | - | |
- | | Zusätzliche Option | - | Einzel-Ausgang ON | - | | + | | Steuerung | - | - | Begriffs-Nummern | - | - | |
- | | Position 1 | Parameter Ein | Parameter | 0...180° | | + | | Position 1 | Parameter Ein | Parameter |
- | | Position 2 | Parameter Aus | Wert | 0...180° | | + | | Position 2 | Parameter Aus | Wert | Grün Begriff 1 **((Signal-Dialog, |
- | | Geschwindigkeit | Verzögerung | Schaltzeit | 1...10 | | + | | Position | - | - | - | Decoder Gleisnummer | PWM 500...2500 ²| |
- | | Ziel | Port Typ " | + | | Geschwindigkeit | Verzögerung | Schaltzeit |
+ | | Ziel | Port Typ " | ||
+ | ² Achtung zu hohe oder niedrige Werte können den Servo beschädigen mit PWM 1500 = 0° beginnen. | ||
+ | * **Hinweis: | ||
\\ | \\ | ||
====RFID==== | ====RFID==== | ||
{{ : | {{ : | ||
| // | | // | ||
+ | Mit WIO Type I/O16 nicht möglich, hier bitte ID-12LA verwenden. | ||
- | - Zwei [[https:// | + | - Zwei RFID RC522-Leser werden unterstützt. |
- Es werden 5 zusätzliche Ports benötigt; Servos sind parallel nicht möglich. | - Es werden 5 zusätzliche Ports benötigt; Servos sind parallel nicht möglich. | ||
- Melde-Adressen sind 100 und 101. (In Rocrail 101 und 102.) | - Melde-Adressen sind 100 und 101. (In Rocrail 101 und 102.) | ||
- Automatisches Rückmelder-Aus-Ereignis nach 1500ms. (Bis dahin muss es vom Server bestätigt sein.) | - Automatisches Rückmelder-Aus-Ereignis nach 1500ms. (Bis dahin muss es vom Server bestätigt sein.) | ||
- Viermaliges Wiederholen bis zur Bestätigung, | - Viermaliges Wiederholen bis zur Bestätigung, | ||
+ | |||
+ | \\ | ||
+ | |||
|< >| | |< >| | ||
- | ^ Signal ^ D1 Mini ^ RFID RC522 ^ | + | ^ Signal ^ D1 Mini 8266 / Lolin D32 ^ RFID RC522 ^ |
| Slave Select 1 | D3 | 1 (SDA) Leser 1 | | | Slave Select 1 | D3 | 1 (SDA) Leser 1 | | ||
| Slave Select 2 | D0 | 1 (SDA) Leser 2 | | | Slave Select 2 | D0 | 1 (SDA) Leser 2 | | ||
Line 404: | Line 507: | ||
| MOSI | D7 | 3 (MOSI) | | | MOSI | D7 | 3 (MOSI) | | ||
| MISO | D6 | 4 (MISO) | | | MISO | D6 | 4 (MISO) | | ||
+ | \\ | ||
+ | |||
+ | ====ID-12LA==== | ||
+ | {{ : | ||
+ | Optional kann ein RFID-Leser vom Typ [[http:// | ||
+ | Der Tag wird als **[[: | ||
+ | Die **[[: | ||
+ | __Der serielle Monitor wird auf 9600 Bit/s gesetzt.__\\ | ||
+ | **Hinweis 1:** Dies ist für das Scannen von Tags zwischen den Schienen, um Rocrail wissen zu lassen, wo das fahrende Fahrzeug ist.\\ | ||
+ | **Hinweis 2:** Tags verwenden, die schnell reagieren.\\ | ||
\\ | \\ | ||
Line 423: | Line 536: | ||
--></ | --></ | ||
- | ====Display SSD1306==== | + | ====Stifte S88==== |
- | {{: | + | |< >| |
+ | ^ ESP8266 ^ ESP32 ^ PicoW ^ Verwendung ^ | ||
+ | | D0 | 12 | 10 | PS | | ||
+ | | D5 | 17 | 11 | Reset | | ||
+ | | D6 | 26 | 12 | Takt | | ||
+ | | D7 | 27 | 13 | Daten | | ||
+ | |||
+ | \\ | ||
+ | |||
+ | |||
+ | ====Display SSD1306/SH1106==== | ||
+ | |{{: | ||
+ | | Beispiel. | ||
An I2C können zwei Displays vom Typ SSD1306 mit den I2C-Adressen 0x3C und 0x3D angeschlossen werden.\\ | An I2C können zwei Displays vom Typ SSD1306 mit den I2C-Adressen 0x3C und 0x3D angeschlossen werden.\\ | ||
Formatierter Text ist mit **[[: | Formatierter Text ist mit **[[: | ||
Line 432: | Line 557: | ||
Der Bus wird für die WIO-Kennung verwendet und die Display-Nummer für die Auswahl zwischen 1 und 2. (0x3C oder 0x3D)\\ | Der Bus wird für die WIO-Kennung verwendet und die Display-Nummer für die Auswahl zwischen 1 und 2. (0x3C oder 0x3D)\\ | ||
Der Adress-Wert wird nicht verwendet.\\ | Der Adress-Wert wird nicht verwendet.\\ | ||
+ | ===Multiplexing=== | ||
+ | Bis zu 8 Displays können mit **[[: | ||
===Unterstützte Formatierung=== | ===Unterstützte Formatierung=== | ||
Formatierungsbefehle sind in geschweiften Klammern eingeschlossen. | Formatierungsbefehle sind in geschweiften Klammern eingeschlossen. | ||
Line 441: | Line 568: | ||
^ Befehl ^ Parameter ^ Beschreibung ^ Hinweis ^ | ^ Befehl ^ Parameter ^ Beschreibung ^ Hinweis ^ | ||
| {B#} | # | | {B#} | # | ||
- | | {B'// | + | | {B'// |
| E | - | Lösche Display-Puffer. Ein zusätzliches {P} wird für das Löschen des Display benötigt. | | | E | - | Lösche Display-Puffer. Ein zusätzliches {P} wird für das Löschen des Display benötigt. | | ||
| {F#} | #=0-2 | Font-Auswahl. 0=7x5 1=6x5w 2=6x5n | Font 5x5 wird nicht unterstützt, | | {F#} | #=0-2 | Font-Auswahl. 0=7x5 1=6x5w 2=6x5n | Font 5x5 wird nicht unterstützt, | ||
| {H#} | #=0-255 | Setzt den Display-Kontrast. | | | {H#} | #=0-255 | Setzt den Display-Kontrast. | | ||
| {I#} | #=0-1 | Invertiert das Display. 0=normal 1=invertiert | | | {I#} | #=0-1 | Invertiert das Display. 0=normal 1=invertiert | | ||
- | | {L#} | #=0-3 | Gehe zur Zeile. Der Bereich ist von der Displaygröße abhängig. | | + | | {L#} | #=0-3 | Gehe zur Zeile. Der Bereich ist von der Displaygröße abhängig. |
- | | P | - | Puffer zum Display kopieren | | + | | P | - | Puffer zum Display kopieren | |
- | | {R#} | #=0,2 | Legt die Drehung der Anzeige fest. 0=0° 2=180° | | + | | {R#} | #=0,2 | Legt die Drehung der Anzeige fest. 0=0° 2=180° |
| {?V} | - | Zeige Firmware-Version. | | | {?V} | - | Zeige Firmware-Version. | | ||
| {X#} | #=0-127 | Gehe zur Spalte. Der Bereich ist von der Displaygröße abhängig. | | | {X#} | #=0-127 | Gehe zur Spalte. Der Bereich ist von der Displaygröße abhängig. | | ||
| {Y#} | #=0-32 | Gehe zur Reihe. Der Bereich ist von der Displaygröße abhängig. | | | {Y#} | #=0-32 | Gehe zur Reihe. Der Bereich ist von der Displaygröße abhängig. | | ||
^ Neue Befehle ^ Parameter ^ Beschreibung ^ | ^ Neue Befehle ^ Parameter ^ Beschreibung ^ | ||
- | | {c#} | #=0-16 | Zeichnet eine Analog-Uhr mit dem angegebenen Radius an der aktuellen Position. | | + | | {c#} | #=1-16 | Zeichnet eine Analog-Uhr mit dem angegebenen Radius an der aktuellen Position. | Nur eine (Modellzeit)-Uhr je Display wird aktualisiert. | |
- | | {g#} | #=0,**1**,2 | Setzt die Display-Geometrie. 0=96x16, 1=128x32, 2=128x64 (1 ist Standard) | Dies dient nur zu Testzwecken. Um CPU-Last zu sparen, die Option **[[# | + | | {g#} | #=0,**1**,2,3 | Setzt die Display-Geometrie. 0=96x16, 1=128x32, 2=128x64, 3=SH1106 |
| {i} | - | Invertierten Text umschalten. | | | {i} | - | Invertierten Text umschalten. | | ||
| {s#} | #=1-x | Zeichnet Lauftext mit einer Anzeige-Breite von # Zeichen an der aktuellen Position. | Beispiel: {s12}Scrolling text to show...{s} | | | {s#} | #=1-x | Zeichnet Lauftext mit einer Anzeige-Breite von # Zeichen an der aktuellen Position. | Beispiel: {s12}Scrolling text to show...{s} | | ||
| {d} | - | Eine Textzeile herunterscrollen. | | | {d} | - | Eine Textzeile herunterscrollen. | | ||
- | | {f} | - | 7-Segment-Modellzeituhr. | | + | | {f#} | #=1-2 | 7-Segment-Modellzeituhr. |
+ | | {f7} | - | Benutzerdefinierte Modellzeituhr. Benötigte Dateien: '' | ||
+ | | {f8} | - | wie {f7} aber mit führender Null. | Beispiel: 08:22 anstatt von 8:22| | ||
| {p} | - | Displays wechseln. | | | {p} | - | Displays wechseln. | | ||
+ | | {l#,#} | - | Zeichnet eine Linie von X,Y nach #,# | | ||
+ | | {r#,#} | - | Zeichnet ein Rechteck links oben X,Y nach rechts unten #,# | | ||
+ | | {z#} | - | Zeichnet einen Kreis mit Mittelpunkt und Radius # | | ||
+ | | {x#,#} | - | Zeichnet ein Pixel an #,# | | ||
+ | | {+} | - | [[: | ||
+ | | {-} | - | Große Zeichen beenden. | | ||
+ | |||
**Hinweis: | **Hinweis: | ||
\\ | \\ | ||
+ | |||
+ | ====7-Segment Display HT16K33 ==== | ||
+ | {{ : | ||
+ | // | ||
+ | Das Adafruit-breakout-board HT16K33 wird auf I2C-Adresse 0x70 unterstützt.\\ | ||
+ | Es zeigt abwechselnd Uhrzeit, Datum und Temperatur.\\ | ||
+ | Mit der USERCNF.h-Einstellung '' | ||
+ | \\ | ||
+ | |||
====DCC-Generator==== | ====DCC-Generator==== | ||
- | :!: Nur auf ESP8266-Baugruppen unterstützt.\\ | ||
{{ : | {{ : | ||
=== WIO unterstützt folgende DCC-Pakete === | === WIO unterstützt folgende DCC-Pakete === | ||
* Lok-Geschwindigkeit und -Fahrtrichtung. (14 Fahrstufen werden nicht unterstützt.) | * Lok-Geschwindigkeit und -Fahrtrichtung. (14 Fahrstufen werden nicht unterstützt.) | ||
- | * Lok-Funktionen 0 - 28. | + | * Lok-Funktionen 0 - 32. |
- | * POM schreiben/ | + | * PoM schreiben/ |
* Zubehör | * Zubehör | ||
* BinState | * BinState | ||
- | * Lok-Adressen >= 100 werden | + | |
+ | - Globale Gleisspannung muss EIN sein. | ||
+ | - PT muss auf EIN gestellt sein. | ||
+ | - Lesen/ | ||
+ | | ||
* Die Kurzadresse 111 wird als Dummy verwendet, um andere Decoder zu veranlassen, | * Die Kurzadresse 111 wird als Dummy verwendet, um andere Decoder zu veranlassen, | ||
Line 485: | Line 633: | ||
^ Stift ^ Verwendung ^ Hinweis ^ | ^ Stift ^ Verwendung ^ Hinweis ^ | ||
| D6 & D7 | Symmetrisches DCC-Signal. | | | D6 & D7 | Symmetrisches DCC-Signal. | | ||
- | | D5 | H-Bridge-Aktivierung | + | | D5 | H-Brücke 1 aktivieren | Betrieb | |
+ | | D8 | H-Brücke 2 aktivieren | ||
===ORD3=== | ===ORD3=== | ||
Line 492: | Line 641: | ||
|< >| | |< >| | ||
^ Schnittstellenkennung | WIO | Bemerkung | | ^ Schnittstellenkennung | WIO | Bemerkung | | ||
- | ^ Bus | WIO-Kennung | | + | ^ Node ID (Bus) | WIO-Kennung | |
^ Adresse | DCC-Decoder-Adresse. | Adressen > 99 werden als lange DCC-Adressen berücksichtigt. | | ^ Adresse | DCC-Decoder-Adresse. | Adressen > 99 werden als lange DCC-Adressen berücksichtigt. | | ||
^ Fahrstufen | 28 oder 128 | | ^ Fahrstufen | 28 oder 128 | | ||
Line 500: | Line 649: | ||
Der Lokomotiven-__**[[: | Der Lokomotiven-__**[[: | ||
Die Anzahl der __**[[: | Die Anzahl der __**[[: | ||
- | ===Stifte=== | + | ===Stifte |
- | {{ :arduino:l620x.jpg?400}} | + | {{ arduino:lipo3s-measure-.png?240}} |
|< >| | |< >| | ||
^ Stift ^ Verwendung ^ H-Brücke ^ Bemerkung ^ | ^ Stift ^ Verwendung ^ H-Brücke ^ Bemerkung ^ | ||
- | | D0 | Licht-Funktion | + | | D0 | Licht vorne | | Kabine 1 | |
- | | D5 | Motor-PWM | Enable Leitung | + | | D3 | Licht hinten | | Kabine 2 | |
- | | D6 | Ausgang | + | | D5 | Motor-Aktivierung |
- | | D7 | Ausgang | + | | D6 | PWM für Vorwärts-Richtung | IN 1 | | |
+ | | D7 | PWM für Rückwärts-Richtung | IN 2 | | | ||
+ | | D8 | Servo-PWM für Entkuppler | | F1 | | ||
| I2C 1-32 | Funktionen 1 bis 32 | | | | | I2C 1-32 | Funktionen 1 bis 32 | | | | ||
- | Beschleunigung/ | + | | A0 | Batterie-Monitor LiPo 3S | | + 100kΩ A0 32kΩ - | |
- | Ein Masse-Wert von 5 erhöht/ | + | Beschleunigung/ |
+ | Ein Masse-Wert von 5 erhöht/ | ||
Vstart und Vhigh, CV2/CV5, können mit dem __**[[: | Vstart und Vhigh, CV2/CV5, können mit dem __**[[: | ||
===Electronic Speed Controller=== | ===Electronic Speed Controller=== | ||
Ein **E**lectronic **S**peed **C**ontroller, | Ein **E**lectronic **S**peed **C**ontroller, | ||
Hinweis: __**Nur Masse und PWM anschliessen, | Hinweis: __**Nur Masse und PWM anschliessen, | ||
- | |||
- | ====ID-12LA==== | ||
- | {{ : | ||
- | Optional kann ein RFID-Leser vom Typ [[http:// | ||
- | Der Tag wird als **[[: | ||
- | Die **[[: | ||
- | __Der serielle Monitor wird auf 9600 Bit/s gesetzt.__\\ | ||
- | **Hinweis: | ||
\\ | \\ | ||
Line 528: | Line 672: | ||
{{ : | {{ : | ||
Der serielle Anschluss auf der WIO-Platine kann verwendet werden, um einen Verstärkers für das Lesen von RailCom-Daten anzuschliessen.\\ | Der serielle Anschluss auf der WIO-Platine kann verwendet werden, um einen Verstärkers für das Lesen von RailCom-Daten anzuschliessen.\\ | ||
- | Z.Zt. gibt es keine solche Baugruppe in der GCA-Linie. Für Tests kann **[[:GCA204-de|GCA204]]** als Verstärker verwendet werden.\\ | + | Der **[[:GCA214-de|GCA214]]** kann als Verstärker verwendet werden.\\ |
Folgende RailCom-Kennungen werden unterstützt: | Folgende RailCom-Kennungen werden unterstützt: | ||
|< >| | |< >| | ||
Line 538: | Line 682: | ||
Die serielle Geschwindigkeit wird auf 250000 bit/s gesetzt und der Monitor kann nur lesen. __Daher ist es bei aktivieren dieser Option nicht möglich, WIO mit Monitor-Befehlen einzustellen.__\\ | Die serielle Geschwindigkeit wird auf 250000 bit/s gesetzt und der Monitor kann nur lesen. __Daher ist es bei aktivieren dieser Option nicht möglich, WIO mit Monitor-Befehlen einzustellen.__\\ | ||
\\ | \\ | ||
- | ====Sensor==== | + | ====Sensoren==== |
- | {{ : | + | {{ : |
- | Ein an I2C angeschlossener | + | Ein an I2C angeschlossener |
Für korrekte Druckwerte muss die USER_ALTITUDE in der USERCNF.h auf die lokale Höhe eingestellt werden.\\ | Für korrekte Druckwerte muss die USER_ALTITUDE in der USERCNF.h auf die lokale Höhe eingestellt werden.\\ | ||
+ | Ein an I2C angeschlossener TSL2591 ' | ||
+ | |||
===Dynamischer Text=== | ===Dynamischer Text=== | ||
Temperatur, Luftdruck und Feuchtigkeit können als Text in XMLScript-Variablen verwendet werden.\\ | Temperatur, Luftdruck und Feuchtigkeit können als Text in XMLScript-Variablen verwendet werden.\\ | ||
Line 549: | Line 695: | ||
====Sound==== | ====Sound==== | ||
Sound kann auf ESP32-Baugruppen durch Verwenden eines der DAC((**D**igital-**A**nalog-**C**onverter))-Stifte (GPIO25 oder GPIO26) abgespielt werden.\\ | Sound kann auf ESP32-Baugruppen durch Verwenden eines der DAC((**D**igital-**A**nalog-**C**onverter))-Stifte (GPIO25 oder GPIO26) abgespielt werden.\\ | ||
+ | Der '' | ||
+ | < | ||
+ | // Sound | ||
+ | #define USER_SOUND | ||
+ | </ | ||
+ | |||
Unterstütztes [[https:// | Unterstütztes [[https:// | ||
* PCM-Typ | * PCM-Typ | ||
Line 567: | Line 719: | ||
Um das beste Ergebnis zu erhalten: | Um das beste Ergebnis zu erhalten: | ||
* Die Sound-Dateien normalisieren, | * Die Sound-Dateien normalisieren, | ||
+ | \\ | ||
+ | |||
+ | ====Schritt-Motor==== | ||
+ | Der WIO-02 unerstützt zwei Typen von Schritt-Motoren: | ||
+ | {{ : | ||
+ | |< >| | ||
+ | ^ WIO-02 ^ 4-Draht ^ 3-Draht ^ Hinweis ^ | ||
+ | | 32 | IN1 | CLK+ | | ||
+ | | 13 | IN2 | DIR+ | | ||
+ | | 2 | IN3 | ENABLE+ | | ||
+ | | 15 | IN4 | - | | ||
+ | | 25 | - | | Hall/ | ||
+ | | EP1-1 | GND | CLK-, | ||
+ | | - | VCC | 12 - 45V DC | Externe Stromversorgung | | ||
+ | |||
+ | ===Drehscheiben-Einstellung=== | ||
+ | |< >| | ||
+ | | Drehscheibe Schnittstelle | ||
+ | ^ Feld ^ Wert ^ Hinweis ^ | ||
+ | | Knoten-ID | WIO-02 ID | | | ||
+ | | Adresse | 1 | //fest// | | ||
+ | | Beleuchtungen | ||
+ | | Fahrstufen | 0-16777215 | Anzahl der Schritte für eine 360°-Drehung. \\ Im Fall eines 28BYJ-48: 4096 Schritte. | | ||
+ | | Korrektur | 0-255 | Zum Ausgleich des Getriebespiels. | | ||
+ | | Schrittverzögerung | 1-10 | Größe der Start- und Verzögerungsrampe | | ||
+ | | Offset | -32767...+32767 | Kalibrierungs-Korrektur in Schritten. | | ||
+ | | Typ | wio | | ||
+ | | Drehgeschwindigkeit | 0-100% | | ||
+ | //Die Anzahl der Schritte für eine Drehscheiben-Drehung wird zur Berechnung des kurzen Weges benötigt.// | ||
+ | \\ | ||
+ | |< >| | ||
+ | | Drehscheibe Gleise \\ (Beispiel 4096 Schritte) | ||
+ | ^ Gleis ^ Dekoder-Gleis | ||
+ | | 0 | 0 | | ||
+ | | 12 | 1024 | | ||
+ | | 24 | 2048 | | ||
+ | | 36 | 3072 | | ||
+ | |||
+ | XML-Beispiel: | ||
+ | <code xml> | ||
+ | <tt ori=" | ||
+ | <track nr=" | ||
+ | <track nr=" | ||
+ | <track nr=" | ||
+ | <track nr=" | ||
+ | </tt> | ||
+ | </ | ||
+ | |||
+ | |||
+ | \\ | ||
+ | ====CAN==== | ||
+ | {{ : | ||
+ | Der WIO-CAN-Typ kann als CAN-WiFi-Brücke verwendet werden für: | ||
+ | * [[: | ||
+ | * RCAN, Type TCP+Binary an Port 5550.\\ | ||
+ | ====MCP2515==== | ||
+ | Stift-Zuordnung für das Verwenden des SPI MCP2515(16MHz) am __**[[: | ||
+ | |< >| | ||
+ | ^ Name ^ Nano ^ Lolin D1 Mini ^ Lolin D32 ^ Hinweis ^ | ||
+ | | GND | GND | GND | GND | Ground | | ||
+ | | 5V | 5V | 5V | 5V(USB) | | | ||
+ | | CS | D10 | D3 | GPIO14 | Chip Select | | ||
+ | | MOSI | D11 | D7 | GPIO23(MOSI) | Master Output, Slave Input | | ||
+ | | MISO | D12 | D6 | GPIO19(MISO) | Master Input, Slave Output | | ||
+ | | SCK | D13 | D5 | GPIO18(SCK) | Serial Clock | | ||
+ | |||
+ | Der Lolin D1 Mini muss an 5V-USB ohne Stromversorgung vom CAN-Bus angeschlossen sein.\\ | ||
+ | Es wird ein WIO-CAN-Bausatz verfügbar sein.\\ | ||
+ | |||
+ | ====ESP32==== | ||
+ | Die aktuelle WIO-Firmware, | ||
+ | Im Fall von ESP32 wird die CAN-Kommunikation immer aktiviert, unabhängig, | ||
+ | |< >| | ||
+ | ^ Anschluss ^ ESP32 Stift ^ MCP2561 ^ | ||
+ | | TXCAN | 16 | 1 | | ||
+ | | RXCAN | 4 | 4 | | ||
+ | |||
+ | \\ | ||
\\ | \\ | ||
=====Mobil RFID-Leser===== | =====Mobil RFID-Leser===== | ||
Line 575: | Line 805: | ||
< | < | ||
Die gemeldete RFID muss zu einer __**[[: | Die gemeldete RFID muss zu einer __**[[: | ||
- | Die Adresse dieses | + | Der Rückmelder muss in Rocrail eine eindeutige Adresse ungleich |
Die Kennung muss in dieser __**[[: | Die Kennung muss in dieser __**[[: | ||
Für das Kopieren dieser Kennung können die Rocrail-Traces oder der __**[[: | Für das Kopieren dieser Kennung können die Rocrail-Traces oder der __**[[: | ||
Line 595: | Line 825: | ||
\\ | \\ | ||
===== Fehlersuche ===== | ===== Fehlersuche ===== | ||
+ | |< >| | ||
+ | | Oberseite | ||
+ | | LOLIN D1 mini | Wemos mini | LOLIN D1 mini | Wemos mini | | ||
+ | | {{: | ||
+ | |||
+ | |< >| | ||
+ | ^ Stift ^ Lolin ^ Wemos ^ | ||
+ | | D3 | - | Wird nicht starten, falls " | ||
+ | |||
+ | ==== Sehr langsam ==== | ||
+ | Wenn I2C-Module wie Pi02 oder Pi03 an den I2C-Bus des WIO angeschlossen sind und keine Stromversorgung haben, verlangsamt dies die Verarbeitung und es werden keine anderen I2C-Geräte erkannt. (Mehrere Sekunden zwischen den Aufruf-Wiederholungen.) \\ | ||
+ | Der I2C-Bus-Extender P82B715 scheint die I2C-Takt- und Datenleitungen zu belasten, was die Interrupt-Routine in der Wire-(I2C)-Bibliothek irritiert. \\ | ||
+ | Der Pi08 hat mit dem PCA9622-Chip und dessen internem I2C-Bus-Extender dieses Problem nicht. \\ | ||
+ | === Lösung === | ||
+ | Sicherstellen, | ||
+ | |||
+ | ====macOS "Big Sur" | ||
+ | ===Upload tool ESP8266=== | ||
+ | * https:// | ||
+ | |||
+ | ===Upload tool ESP32=== | ||
+ | * https:// | ||
+ | |||
+ | |||
+ | |||
+ | =====Programmieren WIO-Binary mit Arduino IDE-Tools===== | ||
+ | |< >| | ||
+ | | Arduino IDE 1.8.16 | ||
+ | |||
+ | ====macOS "Big Sur" | ||
+ | ===ESP8266=== | ||
+ | < | ||
+ | export WIOBIN=~/ | ||
+ | |||
+ | / | ||
+ | / | ||
+ | --chip esp8266 --port / | ||
+ | </ | ||
+ | ===ESP32=== | ||
+ | < | ||
+ | ~/ | ||
+ | --chip esp32 \ | ||
+ | --port / | ||
+ | --baud 921600 \ | ||
+ | --before default_reset \ | ||
+ | --after hard_reset write_flash \ | ||
+ | -z \ | ||
+ | --flash_mode dio \ | ||
+ | --flash_freq 80m \ | ||
+ | --flash_size 4MB \ | ||
+ | 0x10000 WIO.ino.d1_mini32.bin | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ====Windows 10==== | ||
+ | < | ||
+ | set WIOBIN=\Users\%USERNAME%\Downloads\WIO.ino.d1_mini.bin | ||
+ | |||
+ | C: | ||
+ | </ | ||
+ | |||
+ | ====PiOS-64 " | ||
+ | < | ||
+ | export WIOBIN=/ | ||
+ | |||
+ | / | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
arduino/wio-de.1581123250.txt.gz · Last modified: 2020/02/08 01:54 by rainerk