Hallo, ich untersuche den Trigorilla-Pro ESP01-Port.
Mein Drucker hat eine v1.4.0RC23/P3-Firmware,,,,
Dieser Port ist für ein ESP01 ESP8266 WLAN-Modul.
Der Anycubic on Boot spricht mit dem WLAN-Modul über AT-Befehle bei 115200 bps, sendet einen AT-Befehl zum Umschalten auf 2.250.000 bps und öffnet den UDP-Server im Port 3000.
Dies ist ein Sniff-Verkehr auf dem Port, Befehle werden vom Drucker gesendet.
Boot-Printer und es sendet mit 115.200 Bauds:
⸮⸮⸮⸮⸮⸮AT+UART_CUR=2250000,8,1,0,0
- "?????" Scrap-Daten
- AT+UART_CUR=2250000,8,1,0,0 Stellt einen ESP8266 so ein, dass er auf 2.250.000 bps wechselt.
Dann bei 2.250.000 Bauds sendet der Drucker:
AT+CIPSTART=4,"UDP","192.168.1.110",8080,3000,2
- Richten Sie einen ESP8266 UDP-Server auf Port 3000 im Multiconnection-Modus ein.
- Die IP 192.168.1.110 und der Port 8080 im UDP-Protokoll sind irrelevant.
- (Der Befehl AT+CWMODE=1 erscheint nicht, aber es ist notwendig, ihn vorher zu senden, um diesen Befehl zu akzeptieren)
Weitere Gedanken:
Wenn ich über die Cura-Konsole einige Befehle wie zum Beispiel an den Drucker sende:
Befehl über die Cura-Konsole:
M9005 '"ssid", "password"'
Und empfange über den ESP8266-Port die Zeichenkette:
AT+CWSAP="ssid", "password", 5,3
Bedeutet im AT-Befehl, den ESP8266 in den AP-Modus zu versetzen mit SSID=SSID und 3=WPA_TKIP Passwort="Passwort", 5=5 Kanal bei 2,4 GHz.
Befehl über die Cura-Konsole:
M9003 '"ssid", "password"'
Und empfange über den ESP8266-Port die Zeichenkette:
AT+CWJAP="ssid", "password"
Bedeutet im AT-Befehl, den ESP8266 in den Station-Modus zu versetzen und sich mit dem drahtlosen SSID=SSID und Passwort="Passwort" zu verbinden.
Ok, geh und mach ein paar Sonden.
Ich überprüfe die AT-Befehle des Druckers im ESP8266-Modul mit AT-Firmwares, und sie funktionieren einwandfrei.
Jetzt verbinde ich den ESP8266 mit dem Drucker, und es funktioniert nicht richtig. Ich denke, dass einige Befehle erforderlich sind, um den Einrichtungsvorgang korrekt durchzuführen.
Umgehungslösung:
Programmieren Sie ESP8266 mit Arduino IDE.
Einfaches Programm,
- Platziert einen UART bei 2.250.000dbs.
- Verbindet sich mit meinem drahtlosen Netzwerk in DHCP.
- Öffne den TCP-Server am Port 2000 (wie z. B. ein Telnet-Server)
- Erstellen Sie eine transparente Brücke zwischen Server <> UART
Ergebnisse:
Der ESP8266 ignoriert jetzt die Druckerzeichenfolge oder Befehle (feste Konfiguration, keine AT-Befehle zum Ausführen *TO DO) und sendet sie an die drahtlose Verbindung.
Verbinde meinen PC mit dem TCP-Port 2000:
Ich habe einige Zeichenketten von der Bootzeit in der Konsole erhalten.
Jetzt sende ich einige Zeichenketten an die TCP-Konsole im AT-Format für Befehle und Antworten:
Senden:
+IPD,4,3:M20
HINWEIS: +IPD,4,3: < ist ein AT-Befehl, der anzeigt, dass er im Kanalstrom 4, 3 Bytes mit der Zeichenkette "M30" empfangen hat (der M30-Befehl Marling ist eine Liste von SD-Dateien).
Antwort:
Beginne mit der Dateiliste
ANYCUBIC 0=4,12
.Spotlight-V100 0
.fseventsd 0,14
Modelle 0ND=4,10
prova.gcode 615
AI3M_Print.gcode 4641914
Endgültige Dateiliste 15
Ok, L:6SEND=4,8
Drucker, schick mir eine Liste der SD-Dateien.
ANYCUBIC < Name des SD
Modelle < Ordner <
*.gcode sind gcode-Dateien, die Zahl gibt die Anzahl der Bytes der Datei an.
WOW, es funktioniert!!!
Einige andere Befehle.....
Senden:
+IPD,4,4:M300
Antwort:
Ok N:0SEND=4,8
"Der Drucker piept"
Jetzt schicke ich einen Drucker, um eine SD-Datei zu drucken.
Bei der Untersuchung von Google habe ich einen M6030-Befehl gefunden, öffne die Datei und drucke sie, überprüfe sie:
Senden:
+IPD,4,19:M6030 'prova.gcode'
Antwort:
Ok N:0SEND=4,8
Die prova.gcode-Datei enthält nur einen Marlin-Befehl M300, der Drucker öffnet die Datei und führt sie aus, und der Drucker piept.
ZU TUN...
Nutzen Sie die Vorteile der Befehle M9005 und M9003
Implementiere rudimentären Code, um AT-Befehle auszuführen, die von den Befehlen M9005 und M9003 gesendet werden, und stelle den WLAN-Modus ein.
Drucker haben kein drahtloses Menü, aber es ist einfach, es einzurichten. Erstellen Sie eine Textdatei mit gcode-Befehlen M9003 oder M9005, um es einzustellen.
Ermittle, wie man das Optoprint-Protokoll in ESP8266 implementieren kann, um es möglich zu machen, dass CURA als Optoprint-Server auf ESP8266 läuft.
Das ist alles im Moment, Avances.
Bitte, jede Information ist willkommen. Wenn Sie Fragen haben, bitte fragen Sie mich.
Hinweis: Die englische Sprache ist nicht meine Muttersprache, mein Englisch-Niveau ist ziemlich niedrig.
Ich spreche Katalanisch und Spanisch.
모델 소스
