arduino:wio-de
Differences
This shows you the differences between two versions of the page.
| Previous revision | |||
| — | arduino:wio-de [2025/10/29 03:03] (current) – [Prototyp 1] rainerk | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | [[: | ||
| + | ======WIO - Firmware====== | ||
| + | [[: | ||
| + | [[: | ||
| + | * [[arduino: | ||
| + | * [[: | ||
| + | |||
| + | \\ | ||
| + | \\ | ||
| + | =====Einführung===== | ||
| + | Dieses Projekt ist auf die Plattformen ESP8266, ESP32 und RP2040 ausgerichtet.\\ | ||
| + | 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: | ||
| + | * Drahtloser Fahrtregler | ||
| + | |||
| + | oder als drahtloser I/O: | ||
| + | * 32 I2C I/O [[: | ||
| + | * 2 Displays SSD1306 | ||
| + | |||
| + | und eine der folgenden zusätzlichen Optionen: | ||
| + | - LED-Steuerung WS2812 | ||
| + | - 4 Servos | ||
| + | - 2 RC522-Leser | ||
| + | - DCC-Generator | ||
| + | - Mobil-PWM, Fahrtrichtung und Licht | ||
| + | |||
| + | und eine der folgenden Optionen: | ||
| + | |||
| + | * ID12LA 125kHz RFID-Leser an RX | ||
| + | * RailCom-Leser an RX | ||
| + | |||
| + | ====Unterstützte Boards==== | ||
| + | * Raspberry Pi Pico W -> empfohlen | ||
| + | * Lolin/Wemos D1 Mini ESP 8266 | ||
| + | * Lolin D32 | ||
| + | * ESP32 Dev Module | ||
| + | * ESP32 CAM Module | ||
| + | |||
| + | ====Verwendete Stifte==== | ||
| + | Stift-Zuordnung in '' | ||
| + | * Pins.cpp | ||
| + | |||
| + | |||
| + | ====Informationsblatt==== | ||
| + | * {{: | ||
| + | \\ | ||
| + | ===== Achtung ===== | ||
| + | {{ : | ||
| + | - Der Rocrail-Server muss auf einem PC ausgeführt werden, der **nicht** automatisch angehalten wird oder in den Ruhezustand wechselt, wenn keine Benutzeraktivität erfolgt. Die Energieeinstellung überprüfen, | ||
| + | - __Der verwendete WiFi-Router sollte auf dem neuesten Stand sein; Nur gewartete Hardware verwenden.__ | ||
| + | - Unbedingt sicherstellen, | ||
| + | |||
| + | ^ Das Verwenden von WIO geschieht auf eigenes Risiko. \\ Peter Giling und Robert Jan Versluis können __nicht__ für irgendwelche Schäden oder Probleme bei Verwendung der vorgeschlagenen Hard- und Firmware verantwortlich gemacht werden. \\ Die veröffentlichte Hardware sind Prototypen, unvollständig und nicht zur Freigabe bereit. \\ Es werden nur Original-GCA-Bausätze unterstützt. ^ | ||
| + | |||
| + | \\ | ||
| + | |||
| + | =====Arduino IDE===== | ||
| + | Die Arduino IDE mit folgenden Boards und Bibliotheken vorbereiten: | ||
| + | ====Boardverwalter===== | ||
| + | Im Einstelldialog bei " | ||
| + | < | ||
| + | https:// | ||
| + | https:// | ||
| + | https:// | ||
| + | </ | ||
| + | {{ : | ||
| + | Und die ESP8266 und ESP32 Board-Bibliotheken installieren.\\ | ||
| + | ====Board-Auswahl==== | ||
| + | {{ : | ||
| + | '' | ||
| + | |||
| + | ====Bibliotheken==== | ||
| + | ===ESP8266 & ESP32=== | ||
| + | * ESP8266 (Board Manager) | ||
| + | * Adafruit NeoPixel (WS2812) | ||
| + | * RotaryEncoder | ||
| + | * MFRC522 (RC522) | ||
| + | * Servo | ||
| + | * ArduinoOTA | ||
| + | * mcp_can | ||
| + | * https:// | ||
| + | * [[: | ||
| + | * SparkFun APDS9960 RGB and Gesture Sensor \\ Zeile 198 in Arduino/ | ||
| + | |||
| + | ===ESP32=== | ||
| + | * ESP32 (Board Manager) | ||
| + | * ESP32Servo | ||
| + | * ESP32CAN | ||
| + | * https:// | ||
| + | |||
| + | __**ESP32CAN Modifikationen**__\\ | ||
| + | Der '' | ||
| + | '' | ||
| + | <code c> | ||
| + | int CAN_write_frame(const CAN_frame_t *p_frame) { | ||
| + | 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===== | ||
| + | | //Copyright (c) 2002-2025 Robert Jan Versluis, Rocrail.net// | ||
| + | WIO ist Firmware zur Steuerung von Fahrtregler, | ||
| + | Der Quellcode ist nicht öffentlich.\\ | ||
| + | \\ | ||
| + | |||
| + | ====Binary==== | ||
| + | {{ : | ||
| + | Das Espressif-Tool verwenden, um das WIO-Binary hochzuladen. | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ====Compiler-Ausgabe==== | ||
| + | Die roten FastLED pragma Meldungen, die nur informell sind, können ignoriert werden, wenn die beiden letzten weißen Zeilen angezeigt werden: | ||
| + | < | ||
| + | # | ||
| + | # | ||
| + | |||
| + | Sketch uses 293716 bytes (28%) of program storage space. Maximum is 1044464 bytes. | ||
| + | Global variables use 33104 bytes (40%) of dynamic memory, leaving 48816 bytes for local variables. Maximum is 81920 bytes. | ||
| + | </ | ||
| + | |||
| + | ^ Reinfall: Viele Micro-USB-Kabel liefern nur 5 V aber keine Daten und können nicht für Programmieren verwendet werden. ^ | ||
| + | |||
| + | Das Einrichten des WiFi kann mit dem Arduino Serial Monitor 115200 bps erfolgen oder durch modifizieren der [[# | ||
| + | < | ||
| + | # | ||
| + | #13WiFi try to connect | ||
| + | ... | ||
| + | #13WiFi try to connect | ||
| + | #17WiFi connected RSSI=-55 | ||
| + | </ | ||
| + | |||
| + | Ausgabe nach einem ''?'' | ||
| + | < | ||
| + | ------------------------------ | ||
| + | revision=458 WIO (c)Rocrail | ||
| + | 192.168.100.175 RSSI=-52 | ||
| + | battery=186 | ||
| + | EEPROM size=3804 | ||
| + | Free heap=174271 | ||
| + | I/O state=00 00 00 00 | ||
| + | ------------------------------ | ||
| + | SPIFFS total=1345kb used=0kb | ||
| + | file: Disco01.led size=110 | ||
| + | ------------------------------ | ||
| + | Configuration: | ||
| + | ------------------------------ | ||
| + | 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 | ||
| + | id12=0 | ||
| + | depart=0 | ||
| + | stepper=0 | ||
| + | canprot=0(0) | ||
| + | canio=0 | ||
| + | canusb=0 | ||
| + | trace=0 | ||
| + | ------------------------------ | ||
| + | </ | ||
| + | |||
| + | |||
| + | ====Benutzer-Konfiguration==== | ||
| + | Die [[https:// | ||
| + | Die Werte müssen eingestellt sein, bevor kompiliert und hochgeladen wird.\\ | ||
| + | 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==== | ||
| + | Der Arduino Seriell-Monitor kann zur Änderung der WIO-Einstellungen mit 115200 bit/s verwendet werden.\\ | ||
| + | - Wenn RailCom aktiviert wurde, schaltet die Baudrate automatisch auf 250000 und der serielle Monitor kann "nur lesen" | ||
| + | - Wenn ID12 aktiviert wurde, schaltet die Baudrate automatisch auf 9600 bit/s und der serielle Monitor kann "nur lesen" | ||
| + | |||
| + | Grundsätzliche Verbindungs-Einstellung kann auch über die Registerkarte __**[[: | ||
| + | |||
| + | |< >| | ||
| + | ^ Befehle ^ Beschreibung ^ Standard ^ Bemerkung ^ | ||
| + | | ? | Zeigt die momentanen Einstellungen und wie sie geändert werden. | | ||
| + | | ! | Auflistung des verwendeten Flash-Speichers. | | ||
| + | | *sod | Erzwingt Start of Day |*scan | List all available WiFi APs | | ||
| + | | *scan | Listet alle verfügbaren WiFi APs | | ||
| + | | *ssid1=< | ||
| + | | *pwd1=< | ||
| + | | *ssid2=< | ||
| + | | *pwd2=< | ||
| + | | *server=< | ||
| + | | *autoserver=< | ||
| + | | *name=< | ||
| + | | *id=< | ||
| + | | *io=< | ||
| + | | *i2c=< | ||
| + | | *steps=< | ||
| + | | *pulse=< | ||
| + | | *canprot=< | ||
| + | | *dccslave=< | ||
| + | | *trace=< | ||
| + | | *ptmain=< | ||
| + | | *pwm=< | ||
| + | | *display=< | ||
| + | |||
| + | **Hinweis: | ||
| + | **Hinweis: | ||
| + | \\ | ||
| + | |||
| + | |< >| | ||
| + | ^ Port-Typ ^ Beschreibung ^ | ||
| + | | i | Eingang | | ||
| + | | o | Ausgang | | ||
| + | | b | Block: Eingang mit 2 Sekunden Aus-Verzögerung. | | ||
| + | | 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 ^ I2C 32I/O ^ FastLED ^ Servo ^ RFID ^ Display ^ DCC ^ | ||
| + | | throttle | - | - | - | - | - | - | | ||
| + | | i2cled | JA | JA | Nein | Nein | JA | Nein | | ||
| + | | i2cservo | JA | Nein | JA | Nein | JA | Nein | | ||
| + | | i2crfid | JA | Nein | Nein | JA | JA | Nein | | ||
| + | | i2cdcc | JA | Nein | Nein | Nein | JA | JA | | ||
| + | |||
| + | \\ | ||
| + | ====OTA Updating==== | ||
| + | |< >| | ||
| + | | //Muss im WIO-Dialog aktiviert werden.// | ||
| + | Wenn ein Update per USB nicht möglich oder zu umständlich ist, kann ein WIO-Update auch "Over The Air" (OTA) (über WLAN) erfolgen.\\ | ||
| + | {{: | ||
| + | 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 __**[[# | ||
| + | {{: | ||
| + | |||
| + | |||
| + | \\ | ||
| + | ====OTA von Grund auf neu==== | ||
| + | * __**[[arduino: | ||
| + | =====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 .// \\ | ||
| + | Der Pocket-Fahrtregler-I/ | ||
| + | Die LED kann auch die eingebaute sein. (D4)\\ | ||
| + | {{ : | ||
| + | ====Prototyp 1==== | ||
| + | |< >| | ||
| + | ^ Stift ^ Verwendung ^ Klick ^ Langer Klick ^ | ||
| + | | D5/D6 | Drehgeber | - | - | | ||
| + | | D7 | Drehgeber-Taster | Ändert die Fahrtrichtung | Wartet auf Lok / Lok-Freigabe | | ||
| + | | D4 | eingebaute LED | - | - | | ||
| + | | D1 | F1 | F1 | F5 | | ||
| + | | D2 | F2 | F2 | F6 | | ||
| + | | D3 | F3 | F3 | F7 | | ||
| + | | D0 | F4 | F4 | F8 | | ||
| + | | A0 | Batterie | - | - | | ||
| + | ===Licht=== | ||
| + | F0 wird umgeschaltet, | ||
| + | ===Not-Halt=== | ||
| + | Ein Not-Halt wird zum Server gesendet, wenn F1 und F2 gleichzeitig gedrückt werden.\\ | ||
| + | ===Loco selection=== | ||
| + | Lok 1 ist standardmäßig ausgewählt.\\ | ||
| + | Auswahl Lok 1 wenn F1 und F4 gleichzeitig gedrückt werden.\\ | ||
| + | Auswahl Lok 2 wenn F2 und F3 gleichzeitig gedrückt werden.\\ | ||
| + | |||
| + | |< >| | ||
| + | ^ LED ^ Bedeutung ^ | ||
| + | | Ein | Keine WiFi-Verbindung. | | ||
| + | | Sehr schnelles Blinken 10Hz | Keine Rocrail-Server-Verbindung. | | ||
| + | | Aus | Ruhezustand. | | ||
| + | | Schnelles Blinken 5Hz | Auf Lok-Zuweiung warten (Dispatch). | | ||
| + | | Langsames Blinken 1Hz | Betriebs-Modus. | | ||
| + | |||
| + | ===Booten=== | ||
| + | Während des Bootens leuchtet die LED, bis eine WiFi-Verbindung hergestellt ist.\\ | ||
| + | |||
| + | ===Eine Lok übernehmen (catch)=== | ||
| + | - Falls der LOLii eine bereitgestellte Lok nicht übernimmt, während der Drehgeber für mindesten 2 Sekunden gedrückt ist, beginnt die LED schnell zu blinken. | ||
| + | - Wenn der LOLii in diesem Modus eine bereitgestellte Lok sieht, wird er sie übernehmen und die LED beginnt langsam zu blinken. | ||
| + | - Diese Lok-Übernahme wird im Flash-Speicher gespeichert und beim Neustart erneut verwendet, wenn sie nicht freigegeben wurde. | ||
| + | ===Geschwindigkeits-Steuerung=== | ||
| + | * Für Geschwindigkeits-Änderungen durch Drehen des Drehgebers. | ||
| + | * Ein kurzer Druck auf den Drehgeber kehrt die Fahrtrichtung um. | ||
| + | ===Steuerung der Funktionen=== | ||
| + | Die vier Funktions-Tasten stehen für F1 bis F4.\\ | ||
| + | Mit langen Klicks können F5 bis F8 angesprochen werden.\\ | ||
| + | Eine Funktion wird nach Loslassen der Taste umgekehrt, um lange Klicks bearbeiten zu können. (So wie mit Smartphones.)\\ | ||
| + | ===Eine Lok freigeben=== | ||
| + | - Den Drehgeber für mindesten 2 Sekunden gedrückt halten. | ||
| + | - Eine Freigabe-Meldung wird gesendet. | ||
| + | - Die LED wird Aus-geschaltet. | ||
| + | ===Batterie-Kontrolle=== | ||
| + | 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.\\ | ||
| + | Die LED beginnt sehr schnelles Blinken, solange die Batterie nicht vollständig entladen ist.\\ | ||
| + | ===Servererkennung=== | ||
| + | Wenn beim Rocrail-Server R2RNet auf Multicast-Adresse 224.0.1.20 aktiviert ist, kann WIO den Servernamen / die IP-Adresse abrufen, um automatisch eine Verbindung zum Client-Port 8051 herzustellen.\\ | ||
| + | \\ | ||
| + | ====ESP32 TTGO==== | ||
| + | {{: | ||
| + | Das Display ist standardmäßig an andere I2C-Pins angeschlossen.\\ | ||
| + | Dies kann über I/O-Mapping geändert werden.\\ | ||
| + | {{: | ||
| + | |||
| + | =====WIO - I/O===== | ||
| + | * Verbindet direkt mit dem Rocrail-Server-Client-Port 8051. Siehe **[[https:// | ||
| + | * Wiederherstellung von WiFi- und Server-Verbindung. | ||
| + | * 32 Digital-I/ | ||
| + | * Eingang | ||
| + | * Ausgang | ||
| + | * Block | ||
| + | * Pulse | ||
| + | * 100 LEDs kompatibel mit WS2812 an D8. (Ausgangs-Typ Farbe in Rocrail.) | ||
| + | * RGB-Farbe | ||
| + | * Helligkeit | ||
| + | * Dimmen | ||
| + | * Blinken | ||
| + | * 4 Servos | ||
| + | * Einstellbare Bewegungsgeschwindigkeit | ||
| + | * Positionen werden in der plan.xml gespeichert, | ||
| + | * Erreichte Endpositionen werden im Flash gespeichert, | ||
| + | * DCC-Zentrale | ||
| + | * Bis zu 255 Einheiten im gleichen WiFi-Netzwerk. (Abhängig von IP-Konfiguration und Verfügbarkeit.) | ||
| + | * Ein Alarm wird erzeugt, wenn keine 'a live' | ||
| + | * Ausgangs-/ | ||
| + | * 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==== | ||
| + | |< >| | ||
| + | ^ Rocrail ^ WIO ^ | ||
| + | | Schnittstellenkennung | " | ||
| + | | Node ID (Bus) | Kennung | | ||
| + | | Adresse | I2C-Port | | ||
| + | | Adresse | LED-Port | | ||
| + | | Adresse | Servo-Port | | ||
| + | Dieses Adressierungs-Schema wird verwendet für: | ||
| + | * Ausgänge | ||
| + | * Weichen | ||
| + | * Signale | ||
| + | * 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==== | ||
| + | Die Ausgangs-Blink- und Verzögerungs-Optionen können für Blinken eines I2C-Port verwendet werden.\\ | ||
| + | Wenn die Verzögereung Null ist, wird die Standard-Pulslänge verwendet.\\ | ||
| + | \\ | ||
| + | ====LEDs==== | ||
| + | {{ : | ||
| + | Die Adressierung ist die gleiche, wie bei normalen Ausgängen. | ||
| + | \\ | ||
| + | ===Ausgänge=== | ||
| + | - Schnittstelle -> WIO-Kennung: | ||
| + | - Schnittstelle -> Adresse setzt den LED-Offset | ||
| + | - Schnittstelle -> Parameter ' | ||
| + | - Schnittstelle -> Option ' | ||
| + | - Schnittstelle -> Wert setzt Helligkeit | ||
| + | - Schnittstelle -> Verzögerung (0...15) setzt die Dimm-Schritte. (Ein Wert von Null deaktiviert Dimmen.) | ||
| + | - Schnittstelle -> Option ' | ||
| + | - Farbe -> RGB setzt die LED-Farbe | ||
| + | |||
| + | ===Signale=== | ||
| + | - Schnittstelle -> WIO-Kennung: | ||
| + | - Schnittstelle -> Adresse setzt die LED-Nummer | ||
| + | - Schnittstelle -> Port-Typ: LED | ||
| + | - Schnittstelle -> Steuerungs-Typ: | ||
| + | - Schnittstelle -> Helligkeit setzt Helligkeit | ||
| + | - Schnittstelle -> Dimmen (0…15) setzt die Dimm-Schritte (Überblenden). Ein Wert von Null deaktiviert Dimmen. | ||
| + | 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==== | ||
| + | {{ : | ||
| + | Die Adressierung ist die gleiche, wie bei normalen Ausgängen.\\ | ||
| + | ^ Steuerung ^ Ausgang ^ Weiche ^ Signal ^ Segment Drehscheibe ^ Bereich ^ | ||
| + | | WIO | Schnittstellenkennung = " | ||
| + | | WIO-Kennung | Knoten-ID | Knoten-ID | Knoten-ID | Knoten-ID | 1...255 | | ||
| + | | Servo-Port | Adresse | Adresse | Adresse | Adresse | 1...4 | | ||
| + | | Zusätzliche Option | - | Einzel-Ausgang ON | - | - | | ||
| + | | Steuerung | - | - | Begriffs-Nummern | - | - | | ||
| + | | Position 1 | Parameter Ein | Parameter | Rot Begriff 0 **((Signal-Dialog, | ||
| + | | Position 2 | Parameter Aus | Wert | Grün Begriff 1 **((Signal-Dialog, | ||
| + | | Position | - | - | - | Decoder Gleisnummer | PWM 500...2500 ²| | ||
| + | | Geschwindigkeit | Verzögerung | Schaltzeit | Dimmen | Schrittverzögerung | 1...10 | | ||
| + | | Ziel | Port Typ " | ||
| + | ² Achtung zu hohe oder niedrige Werte können den Servo beschädigen mit PWM 1500 = 0° beginnen. | ||
| + | |||
| + | |||
| + | * **Hinweis: | ||
| + | \\ | ||
| + | ====RFID==== | ||
| + | {{ : | ||
| + | | // | ||
| + | Mit WIO Type I/O16 nicht möglich, hier bitte ID-12LA verwenden. | ||
| + | |||
| + | - Zwei RFID RC522-Leser werden unterstützt. | ||
| + | - 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.) | ||
| + | - Automatisches Rückmelder-Aus-Ereignis nach 1500ms. (Bis dahin muss es vom Server bestätigt sein.) | ||
| + | - Viermaliges Wiederholen bis zur Bestätigung, | ||
| + | |||
| + | \\ | ||
| + | |||
| + | |||
| + | |< >| | ||
| + | ^ Signal ^ D1 Mini 8266 / Lolin D32 ^ RFID RC522 ^ | ||
| + | | Slave Select 1 | D3 | 1 (SDA) Leser 1 | | ||
| + | | Slave Select 2 | D0 | 1 (SDA) Leser 2 | | ||
| + | | SCK | D5 | 2 (SCK) | | ||
| + | | MOSI | D7 | 3 (MOSI) | | ||
| + | | 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.\\ | ||
| + | |||
| + | \\ | ||
| + | ====Stifte I2C==== | ||
| + | |< >| | ||
| + | ^ Stift ^ Verwendung ^ | ||
| + | | A0 | Spannungs-Überwachung | | ||
| + | | D1 | I2C SCL | | ||
| + | | D2 | I2C SDA | | ||
| + | | D4 | Eingebaute LED | | ||
| + | | D8 | LEDs (FastLED) | | ||
| + | |||
| + | < | ||
| + | ====Stifte native==== | ||
| + | ^ Stift ^ Verwendung ^ | ||
| + | | A0 | Spannungs-Überwachung | | ||
| + | | D0...D7 | I/O-Ports an J1 | | ||
| + | | D8 | LEDs (FastLED) | | ||
| + | --></ | ||
| + | |||
| + | ====Stifte S88==== | ||
| + | |< >| | ||
| + | ^ ESP8266 ^ ESP32 ^ PicoW ^ Verwendung ^ | ||
| + | | D0 | 12 | 10 | PS | | ||
| + | | D5 | 17 | 11 | Reset | | ||
| + | | D6 | 26 | 12 | Takt | | ||
| + | | D7 | 27 | 13 | Daten | | ||
| + | |||
| + | \\ | ||
| + | |||
| + | |||
| + | ====Display SSD1306/ | ||
| + | |{{: | ||
| + | | Beispiel. | ||
| + | An I2C können zwei Displays vom Typ SSD1306 mit den I2C-Adressen 0x3C und 0x3D angeschlossen werden.\\ | ||
| + | Formatierter Text ist mit **[[: | ||
| + | WIO unterstützt nur eine Teilmenge und es werden einige neue Kleinbuchstabenbefehle eingeführt.\\ | ||
| + | Code-Seite ist ISO 8859 Latin für Font {F0}; {F1} ist nur 7 Bit ASCII.\\ | ||
| + | ===Adressierung=== | ||
| + | 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.\\ | ||
| + | ===Multiplexing=== | ||
| + | Bis zu 16 Displays können mit **[[: | ||
| + | ===Unterstützte Formatierung=== | ||
| + | Formatierungsbefehle sind in geschweiften Klammern eingeschlossen. | ||
| + | Beispiel des Lösch-Befehls: | ||
| + | < | ||
| + | {g1}{E}{L0}{X0}Hello World!{P} | ||
| + | </ | ||
| + | |< >| | ||
| + | ^ Befehl ^ Parameter ^ Beschreibung ^ Hinweis ^ | ||
| + | | {B#} | # | ||
| + | | {B'// | ||
| + | | 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, | ||
| + | | {H#} | #=0-255 | Setzt den Display-Kontrast. | | ||
| + | | {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. (Y = L * 8) | | ||
| + | | P | - | Puffer zum Display kopieren | | ||
| + | | {R#} | #=0,2 | Legt die Drehung der Anzeige fest. 0=0° 2=180° | Siehe auch **[[: | ||
| + | | {?V} | - | Zeige Firmware-Version. | | ||
| + | | {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. | | ||
| + | ^ Neue Befehle ^ Parameter ^ Beschreibung ^ | ||
| + | | {c#} | #=1-16 | Zeichnet eine Analog-Uhr mit dem angegebenen Radius an der aktuellen Position. | Nur eine (Modellzeit)-Uhr je Display wird aktualisiert. | | ||
| + | | {g#} | # | ||
| + | | {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} | | ||
| + | | {d} | - | Eine Textzeile herunterscrollen. | | ||
| + | | {f#} | #=1-2 | 7-Segment-Modellzeituhr. | Nur eine (Modellzeit)-Uhr je Display wird aktualisiert. | | ||
| + | | {f7} | - | Benutzerdefinierte Modellzeituhr. Benötigte Dateien: '' | ||
| + | | {f8} | - | wie {f7} aber mit führender Null. | Beispiel: 08:22 anstatt von 8:22| | ||
| + | | {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: | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ====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==== | ||
| + | {{ : | ||
| + | === WIO unterstützt folgende DCC-Pakete === | ||
| + | * Lok-Geschwindigkeit und -Fahrtrichtung. (14 Fahrstufen werden nicht unterstützt.) | ||
| + | * Lok-Funktionen 0 - 32. | ||
| + | * PoM schreiben/ | ||
| + | * Zubehör | ||
| + | * BinState | ||
| + | * Programmiergleis; | ||
| + | - Globale Gleisspannung muss EIN sein. | ||
| + | - PT muss auf EIN gestellt sein. | ||
| + | - Lesen/ | ||
| + | * Lok-Adressen >= 100 gelten als Lange Addressen. | ||
| + | * Die Kurzadresse 111 wird als Dummy verwendet, um andere Decoder zu veranlassen, | ||
| + | |||
| + | ===Eigenschaften=== | ||
| + | * 100% NMRA Timing-konform. | ||
| + | * Automatisch Gleisspannung AUS nach einem Verbindungsverlust zum Rocrail-Server. | ||
| + | * Zeigt Aktivität auf einem Display, wenn eines angeschlossen ist. | ||
| + | * 48 Slot Aktualisierungs-Stapel mit automatischer Bereinigung. | ||
| + | * 12fach Zubehör-Befehlswarteschlange. | ||
| + | ===Stifte DCC=== | ||
| + | |< >| | ||
| + | ^ Stift ^ Verwendung ^ Hinweis ^ | ||
| + | | D6 & D7 | Symmetrisches DCC-Signal. | | ||
| + | | D5 | H-Brücke 1 aktivieren | Betrieb | | ||
| + | | D8 | H-Brücke 2 aktivieren | Service | | ||
| + | |||
| + | ===ORD3=== | ||
| + | Zur Verwendung des 3,3V-Pegels muss parallel zum R1 ein 470Ω-Widerstand hinzugefügt werden.\\ | ||
| + | ===Mobil-Adressierung=== | ||
| + | |< >| | ||
| + | ^ Schnittstellenkennung | WIO | Bemerkung | | ||
| + | ^ Node ID (Bus) | WIO-Kennung | | ||
| + | ^ Adresse | DCC-Decoder-Adresse. | Adressen > 99 werden als lange DCC-Adressen berücksichtigt. | | ||
| + | ^ Fahrstufen | 28 oder 128 | | ||
| + | \\ | ||
| + | ====Mobil==== | ||
| + | Verwendet den WIO als Mobil-Decoder.\\ | ||
| + | Der Lokomotiven-__**[[: | ||
| + | Die Anzahl der __**[[: | ||
| + | ===Stifte LOLIN D1=== | ||
| + | {{ arduino: | ||
| + | |< >| | ||
| + | ^ Stift ^ Verwendung ^ H-Brücke ^ Bemerkung ^ | ||
| + | | D0 | Licht vorne | | Kabine 1 | | ||
| + | | D3 | Licht hinten | | Kabine 2 | | ||
| + | | D5 | Motor-Aktivierung | ENA | RC ESC((**R**emote **C**ontrol - **E**lectronic **S**peed **C**ontroller \\ = Elektronik-Fahrtregler aus dem Modellbau-Bereich)) Servo-PWM | | ||
| + | | 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 | | | | ||
| + | | A0 | Batterie-Monitor LiPo 3S | | + 100kΩ A0 32kΩ - | | ||
| + | Beschleunigung/ | ||
| + | Ein Masse-Wert von 5 erhöht/ | ||
| + | Vstart und Vhigh, CV2/CV5, können mit dem __**[[: | ||
| + | ===Electronic Speed Controller=== | ||
| + | Ein **E**lectronic **S**peed **C**ontroller, | ||
| + | Hinweis: __**Nur Masse und PWM anschliessen, | ||
| + | |||
| + | \\ | ||
| + | ====RailCom==== | ||
| + | {{ : | ||
| + | Der serielle Anschluss auf der WIO-Platine kann verwendet werden, um einen Verstärkers für das Lesen von RailCom-Daten anzuschliessen.\\ | ||
| + | Der **[[: | ||
| + | Folgende RailCom-Kennungen werden unterstützt: | ||
| + | |< >| | ||
| + | ^ Kennung ^ Kanal ^ Beschreibung ^ | ||
| + | | 0 | 2 | POM lesen | | ||
| + | | 1 | 1 | Dekoder Low-Adresse | | ||
| + | | 2 | 1 | Dekoder High-Adresse | | ||
| + | Der einzige Weg RailCom-Lesen in WIO zu aktivieren, ist das Setzen dieser Option im WIO-Dialog. (WIO 0.105, Rocrail 2.1.212)\\ | ||
| + | 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.__\\ | ||
| + | \\ | ||
| + | ====Sensoren==== | ||
| + | {{ : | ||
| + | Ein an I2C angeschlossener BME280/ | ||
| + | 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=== | ||
| + | Temperatur, Luftdruck und Feuchtigkeit können als Text in XMLScript-Variablen verwendet werden.\\ | ||
| + | Siehe: __**[[: | ||
| + | \\ | ||
| + | |||
| + | ====Sound==== | ||
| + | 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:// | ||
| + | * PCM-Typ | ||
| + | * Sample-Rate 11.025 Hz | ||
| + | * 16 Bit-Samples | ||
| + | * Ein Kanal (Mono) | ||
| + | ===Aktion=== | ||
| + | * Typ: Sound | ||
| + | * Befehl: Play | ||
| + | * Parameter: Sound-Datei inkl. Pfad, wie: "/ | ||
| + | * Schnittstellen-Bus: | ||
| + | Beispiel: | ||
| + | <code xml> | ||
| + | <ac id=" | ||
| + | </ | ||
| + | ===Empfehlungen=== | ||
| + | Der DAC ist nur in der Lage, 8 Bits zu verwenden. Die 16-Bit-Daten müssen interpretiert werden, was nicht ohne Datenverlust möglich ist.\\ | ||
| + | Um das beste Ergebnis zu erhalten: | ||
| + | * 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 | | ||
| + | |||
| + | * Der Kalibrier-Sensor sollte möglichst nahe des Gleises 0 installiert werden. | ||
| + | |||
| + | |||
| + | ===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 | 0-255 | Schrittgeschwindigkeit \\ Je höher der Wert \\ umso geringer die Geschwindigkeit | | ||
| + | | Offset | -32767...+32767 | Kalibrierungs-Korrektur in Schritten. | | ||
| + | | Typ | wio | | ||
| + | | Drehgeschwindigkeit | 1-10 | Größe der Start- und Verzögerungsrampe | | ||
| + | //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> | ||
| + | </ | ||
| + | |||
| + | |||
| + | === Ausgangs-Einstellung === | ||
| + | |||
| + | |< >| | ||
| + | | Schnittstelle | ||
| + | ^ Feld ^ Wert ^ Hinweis ^ | ||
| + | | Knoten-ID | WIO ID | | | ||
| + | | Adresse | 1 | //fest// | | ||
| + | | Parameter Ein | 0-16777215 | Anzahl der Schritte gegen den Uhrzeigersinn | | ||
| + | | Parameter Aus | 0-16777215 | Anzahl der Schritte im Uhrzeigersinn | | ||
| + | | Verzögerung | 0-255 | Schrittgeschwindigkeit \\ Bei einem Wert >0 wird eine Anfahr- und Bremsrampe generiert. | ||
| + | | Typ | Motor | | ||
| + | |||
| + | Eine Kalibrierung ist nicht möglich! | ||
| + | |||
| + | ====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===== | ||
| + | Der WIO kann auch als mobiler RFID-Leser und I/O verwendet werden.\\ | ||
| + | Die WIO-Kennung muss in dem **[[: | ||
| + | |||
| + | ====Rückmelder-Einstellung==== | ||
| + | < | ||
| + | Die gemeldete RFID muss zu einer __**[[: | ||
| + | Der Rückmelder muss in Rocrail eine eindeutige Adresse ungleich Null haben.\\ | ||
| + | Die Kennung muss in dieser __**[[: | ||
| + | Für das Kopieren dieser Kennung können die Rocrail-Traces oder der __**[[: | ||
| + | \\ | ||
| + | ====Funktion-Einstellung==== | ||
| + | Um Funktionen an den WIO zu übergeben, muss die Funktion mit **[[: | ||
| + | \\ | ||
| + | =====Hardware===== | ||
| + | Die Firmware für IO-Type RIC funktioniert nicht ohne Pull-Up-Widerstände an den Tasten-Eingängen, | ||
| + | |||
| + | ====Pläne & PCBs==== | ||
| + | * https:// | ||
| + | |||
| + | //Die veröffentlichte Hardware sind Prototypen, unvollständig und nicht zur Veröffentlichung bereit. \\ | ||
| + | Es werden nur Original-GCA-Bausätze unterstützt.// | ||
| + | |||
| + | * https:// | ||
| + | |||
| + | \\ | ||
| + | ===== 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=/ | ||
| + | |||
| + | / | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||