arduino:wio-de
Differences
This shows you the differences between two versions of the page.
Previous revision | |||
— | arduino:wio-de [2025/05/19 20:56] (current) – [Schritt-Motor] babbel | ||
---|---|---|---|
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.\\ | ||
+ | |||
+ | \\ | ||
+ | =====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=/ | ||
+ | |||
+ | / | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||