Servus,
wie hier schon mal erwähnt möchte ich gerne einen Z280 basierenden
Computer mit einer Netzwerkschnittstelle versehen und ihn hauptsächlich
als FTP Client mit dem LAN verbinden. DHCP und DNS gehören wohl dazu.
Ich habe vorläufig vor auf einer ECB Universalplatine mit einem Wiznet
W5500 Modul zu hantieren und habe mit zu dem Zweck ja schon ein SPI
Master Interface für den Z280 gebastelt. Zwischenzeitlich habe ich auch
einige irgendwann mal mit bestellte ESP8266 Module hervor gekramt..mit
denen das ja per Wifi auch möglich sein sollte.
Probleme bereitet hier allerdings die asynchrone RS232 Verbindung mit
115200 Baud bei der auch ein Interface mit Zilog ESCC 85230 bei 12Mhz
CPU- und 6Mhz Bustakt ins schwitzen kommt und die Segel streicht (8
Bytes RX FIFO), dabei habe ich das noch nicht mal mit Interrupts
versucht, sondern nur im PIO Mode am Statusregister "lauschend". Es gibt
zwar eine ESP8266 Firmware mit 9600 Baud (in Fakt hatte ich prompt diese
auf dem Modul von AI-Thinker) aber dann kann man die Netzwerkerei ja
auch gleich ganz sein lassen und ein Kermit verwenden..
Meine Frage ist deshalb ob es für den ESP32 auf dem ESP8266 evtl. eine
Firmware gibt bei der das Teil als SPI Slave betrieben werden kann.
Überläufe sollten dann nur auftreten wenn die Haupt-CPU die Daten aus
dem ESP nicht abholt, nicht aber bei der Übertragung. Ist was derartiges
bekannt?
Ich bin zar über eine Arduino Library gestolpert bei der im Context
"Support für ESP8266" vorkommt, dabei handelt es sich aber um einen
Wiznetmodul der zusätzlich an einem ESP8266 angeschlossen wird um eine
Ethernet to Wifi Bridge für was auch immer zu bilden.
Ich möchte jetzt nicht die Espressiv IDE installieren und das selbst
versuchen, das wären hier zu viele Baustellen auf einmal....
Gruß,
Holm
Hallo,
ich könnte jetzt nur vorschlagen: ArduinoIDE + ESP6266 Erweiterung
installieren. Als Modul einen D1 mini nehmen, weil genug Pins
rausgeführt sind und die ISB-bridge zum Programmieren gleich drauf ist.
Und dann eben durchkramen...
Die Beispiel in der IDE geben brauchbare Ansätze, FTP-Client habe ich
für mich mal als primitiv-Version zusammengebastelt, Datenübertagung per
SPI wäre kein wirkliches Problem.
PS: bist DER Holm?
Gruß aus Berlin
Michael
Michael U. schrieb:> PS: bist DER Holm?
...das fragt wohl jetzt Jeder? Du bist zumindest der Zweite...
Micha, ja, ich habe meinen Account hier gecancelt. Zu viel dummes Getue
seitens der Mods. Die haben extra wegen mir "präventive Löschungen"
erfunden.
"Lieber Gott laß es Hirn regnen, oder Steine, Hauptsache Du triffst
Jemanden".
Ich habe im Prinzip so ein ESP Board herumliegen, allerdings Vendor
AI-Thinker und auch deren Firmware drauf. Läßt sich das umflaschen?
Es steht auch ESP8266MOD auf dem Blech.. ist also ein -12 mit der selben
Anzahl GPIOs. Also Sowas hier:
ebay.de/itm/322715945383
..mit einem einfach Breakout Bord unten drunter, allerdings in blau und
nicht shwarz. Dann habe ich Sowas nochmal mit einem CH340 und USB Buchse
drauf..in schwarz..steht sogar D1 Mini drauf :-)
IMHO sagt die Farbe was aus über die Flash Größe.
Des Weiteren habe ich noch mehrere ESP-01 in schwarz. Gerümpel ist also
schon da.
Von der Arduino Software habe ich überhaupt keinen Plan, Ich habe bisher
Arduino Sketches immer "entnazifiziert" benutzt, also den Arduino-Kram
ausgebaut und plain Ansi C programmiert.
Angelesen habe ich mir das man das Ding entweder mit der Espressiv IDE,
möglichst 1.54, der Arduino IDE, irgendwelchem Node-MCU Kram und LUA
programmieren können soll. Ich habe mir "Kolbans book on ESP8266"
besorgt und stochere gerade da drin herum....
Nach Deiner Aussage läuft das darauf hinaus das ich mich in die Dinger
auch noch einarbeiten muß..wollte ich eigentlich vermeiden. Ich wollte
bis ende März zum Robotrontechnik-Forumtreffen in Gariz was fertig
haben, primär habe ich mir ja dazu die Wiznet Module ausgesucht,
speziell den W5500 und dachte das man WLAN evtl. gleich mit erschlagen
könnte.. Ich scheitere nur an der seriellen Schnittstelle mit 115200
Baud.
Gruß,
Holm
Hallo,
so über alles: Du mußt Dich nicht in die ArduinoIDE einarbeiten, sie hat
hier nur den Vorteil, daß Du wohl 90% Deiner Wünsche schon fertig als
nutzbare Libraries dabei hat und damit kaum Arbeit hast. Die ArduinoIDE
kann man portable installieren, allerdings kann ich hier nur für Windows
sprechen, mit Linux habe ich mich nicht sonderlich befasst.
IDE als ZIP runterladen, Archir irgendwohin entpacken, NICHT die IDE
starten.
Dann einen Ordner "portable" im IDE-Ordner anlegen und die IDE starten.
Damit bleibt alles in diesem Ordner, den kann dann z.B. auch einfach auf
einen anderen Rechner kopieren und dort starten, man hat dann alles
dabei.
Für den ESP8266 dann von github noch die Boardmanager URL ind ie IDE
kopieren und den ESP8266 Kram installieren:
https://github.com/esp8266/Arduino
Zum PS: viel ist in den Jahren nicht pasiert, der "Dolch" steht also
immernoch im Keller...
Ich habe Dir mal eine Mail geschickt, ob Deine Mailadresse noch stimmt.
Gruß aus Berlin
Michael
Michael U. schrieb:> Hallo,>> so über alles: Du mußt Dich nicht in die ArduinoIDE einarbeiten, sie hat> hier nur den Vorteil, daß Du wohl 90% Deiner Wünsche schon fertig als> nutzbare Libraries dabei hat und damit kaum Arbeit hast. Die ArduinoIDE> kann man portable installieren, allerdings kann ich hier nur für Windows> sprechen, mit Linux habe ich mich nicht sonderlich befasst.> IDE als ZIP runterladen, Archir irgendwohin entpacken, NICHT die IDE> starten.> Dann einen Ordner "portable" im IDE-Ordner anlegen und die IDE starten.> Damit bleibt alles in diesem Ordner, den kann dann z.B. auch einfach auf> einen anderen Rechner kopieren und dort starten, man hat dann alles> dabei.
Ich werde das mal probieren, hier dümpelt noch eine VM mit XP herum.
Ich müßte mich nur mal damit beschäftigen das usb Device zur VM
durchzureichen.
>> Für den ESP8266 dann von github noch die Boardmanager URL ind ie IDE> kopieren und den ESP8266 Kram installieren:> https://github.com/esp8266/Arduino>> Zum PS: viel ist in den Jahren nicht pasiert, der "Dolch" steht also> immernoch im Keller...> Ich habe Dir mal eine Mail geschickt, ob Deine Mailadresse noch stimmt.>> Gruß aus Berlin> Michael
Ich habe derzeit 3 Dolche hier (uhh, krieg ich jetzt Besuch von einem
SEK?)
das ist also Alles Andere als eilig. Meine Schwägerin ist mittlerweile
aus Berlin nach Brieselang gezogen, arbeitet aber immer noch da..sollte
also auch später kein Problem sein :-)
Gruß,
Holm
Die SPI Schnittstelle des ESP8266 hat hardwaremäßig keinen Slave Modus.
Das ist der eigentliche Knackpunkt.
Du müsstest das per Bit-Banging in Software implementieren, dann wird
aber die Basis-Firmware dazwischen funken, sobald sie sich mit der WLAN
Schnittstelle beschäftigt.
Das kann nur so halbwegs funktionieren, während WLAN deaktiviert ist
oder mit sehr niedriger Übertragungsrate (schätze < 1 kHz).
By the way: Die serielle Übertragungsrate kann man doch per AT-Befehl
umkonfigurieren.
Stefan ⛄ F. schrieb:> Die SPI Schnittstelle des ESP8266 hat hardwaremäßig keinen Slave> Modus.> Das ist der eigentliche Knackpunkt.>
Das ist eher als häßlich zu bezeichnen.
> Du müsstest das per Bit-Banging in Software implementieren, dann wird> aber die Basis-Firmware dazwischen funken, sobald sie sich mit der WLAN> Schnittstelle beschäftigt.>> Das kann nur so halbwegs funktionieren, während WLAN deaktiviert ist> oder mit sehr niedriger Übertragungsrate (schätze < 1 kHz).>> By the way: Die serielle Übertragungsrate kann man doch per AT-Befehl> umkonfigurieren.
Ja, das habe ich gestern auch gefunden (Du hast den Befehl leider bei
Dir nicht aufgelistet). Es gibt die veraltete UART Version und die
neuere BAUD Variante.
Damit kann ich die Dinger sicher benutzen, aber es wird langsamer als
notwendig. Interessanter finde ich das dokumentierter Weise ein
Handshaking zuschaltbar (gewesen?) sein soll.. da muß ich mal weiter
lesen.
Gruß,
Holm
Hallo,
naja, ich bin mir im Moment nicht sicher, ob eine andere Variante nicht
in seinem Umfeld sinnvoller wäre, aber das müßte Holm klären.
Mein Liebling MCP23S17 kann zwar nur 10MHz SPI-Clock, aber selbst da
wären schon rund 1MS/s in 8 oder 16 Bit parallel, auch bi-directiornal
machbar.
Ein paar Bits für den Quittungskram sind am ESP8266 dann ja noch
verfügbar.
Der zusätzliche Hardwareaufwnad wäre minimal. Der Z28ß ist mir selbst
nei untergekommen, scheint aber 5V zu sein, damit wäre mit dem MCP23S17
an 5V nur wenig Pegelwandlung auf der SPI-Seite zum ESP8266 nötig.
Naja, mal schauen, was Holm dazu denkt.
Ein Beispiel für einen SPI-Slave gibt es im ESP8266 Paket auch, ich habe
da nicht viel über die Einschränkungen gefunden.
Gruß aus Berlin
Michael
Michael U. schrieb:> Ein Beispiel für einen SPI-Slave gibt es im ESP8266 Paket auch, ich habe> da nicht viel über die Einschränkungen gefunden.
Ich habe nochmal ins Datenblatt geschaut und muss zu meiner Schande
gestehen, dass es genau anders herum ist, als ich schrieb. Dieses HSPI
Interface kann nur den Slave Modus.
Dann wäre das ja doch verwendbar.
Na guck an, dann wirds ja wieder interessant...
Aber mal Langsam. Ich habe auf einem ECB Board Sowohl einen selber
gebastelten SPI-Master in einem CPLD (6,144Mhz Bustakt/2 als Clock Rate)
und auch einen Zilog ESCC Z85230, das ist ein ein wenig aufgepeppter
Zilog SCC, der Nachfolger der SIO. Mit einem 7,3728Mhz Quarz ist 115200
Baud das Ende der Fahnenstange ..im Asynchronmodus. Der TX hat wohl 4
Bytes Buffer, der RX 8, mehr ist nicht. Das Ding hängt Momentan am
ESP8266 (Empfänger über 680R mit einer ZD 3V6 gegen Masse).
Ich werde wie schon geschrieben im polled Mode nicht so recht Herr der
Lage über die 115200..was mich eigentlich erstaunt, die Möglichkeit
Hardware Flußkontrolle zu verwenden sollte das Problem aber eigentlich
vertreiben, daher wäre die Verwendung der AT Firmware mit der ESCC
eigentlich die billigste Variante...
Interrupt Betrieb der ESCC sollte an und für sich möglich sein, ich muß
da noch ein Bisschen in den Details kramen. Die Z280 läuft in INT3 Mode,
da gibts dann noch einen vectorisierten Mode (der unter CP/M wohl
ausfällt, die Vectortabelle steht ab 0000 im RAM, im vektorisierten
Modus würde das von 70..180hex gehen..unter CP/M ein Nono..allerdings
hat das Ding ne MMU..
Wenn ich das richtig verstanden habe gibts einen festen Vector und die
ESCC kann trotzdem einen liefern der dann auf dem Systemstack liegt wo
man ihn zwecks Verzweigung abfragen kann..ist ne andere Baustelle, wird
Euch nicht interessieren.
Ich habe vorhin
AT version:1.1.0.0(May 11 2016 18:09:56)
SDK version:1.5.4(baaeaebb)
compile time:Mar 9 2017 19:22:12
auf den ESP-12 und 2 ESP-01 die gerade aus der Tüte fielen geflasht, Ok
(Ich wußte gar nicht das ich einen ganzen Haufen von dem Zeug da
habe..ich werde alt).
Momentan mache ich mir aber gerade einen Häßlichen dabei das passende
AT-Command Set für die Firmware zu finden.(Stefan Du sagst es, mehrere
geänderte Verionen die nciht unbedingt stimmen) Auf jeden Fall begreift
die AT+UART=115200,8,1,0,0 ..die Letzte Ziffer als 3 schaltet wohl
RTS/CTS ein,
..aber auf welchen Pins fällt das raus und was soll der Kuddelmuddel mit
Reset des ESP durch RTS? Wie also mach ich da ne Flußkontrolle wenn RTS
das Ding zurücksetzt?
Gruß,
Holm
Hallo,
die DTR/RTS-Geschichte greift nur, um automatisch aus dem ESPFlasher
bzw. der ArduinoIDE in den Flashmode zu kommen.
Sonst muß eben ein Taster für Reset und GPIO0 angebaut werden und zum
Flashen passend gedrückt werden.
Die Standard-Pins für das HardwareHandshake vom UART0 sind:
GPIO12 I/O/T U0DTR
GPIO13 I/O/T U0CTS
GPIO14 I/O/T U0DSR
GPIO15 I/O/T U0RTS
Geht also sowieso nur ein -12, weil die beim -01 garnicht zugänglich
sind.
Ob die AT-Firmware das überhaupt unterstützt, weiß ich aber nicht, ich
habe die nie benutzt.
Gruß aus Berlin
Michael
Dokumentiert ist die Funktionalität, ich werde mal damit spielen und nur
CTS einschalten. Dazu muß ich mich aber durch das Interruptgewusel auf
der Z280 wühlen, die ESCC kann genauso wie die SIO nicht auftomatisch
RTS im Asynchronmodus abschalten (in den Sync Modi geht das!) sondern
braucht die CPU dazu. Die ESCC kann aber bei halb vollem RX-Fifo bereits
mit einem INT winken..
Gruß,
Holm