Hallo zusammen, Ich habe hier einen ESP8266 den ich mit Arduino programmiere. Jetzt hätte ich gerne zum austesten und rumspielen einen AVR dazu um die beiden mal ein bisschen kommunizieren zu lassen. Im Grunde geht es mir nur darum den ESP (NodeMCU Board) Kommunikationsfähig zu machen. Somit könnte ich alle per I2C Verbundenen Geräte übers Netz ansteuern. Möchte ihn gerne als "Hauptsteuerelement" nutzen. Die Frage die sich mir jetzt stellt, ist folgende: Gibt es einen Weg, beide in der gleichen Sprache zu programmieren ? Denn soweit ich das jetzt recherchiert habe ist es nicht ganz so unkompliziert das Programm von Arduino auf meinen AVR zu bekommen. Ich besitze das STK500, sonst nichts weiteres an Programmierhardware. Beim NodeMCU Board stecke ich ja quasi nur das USB Kabel ein und kann es flashen, allrdings weiss ich nicht wie ich über das STK500 mit Arduino flashen kann, soll. Natürlich bleibt ja noch die Option beides getrennt zu entwickeln. Da würde mich interessieren, ob das schonmal jemand gemacht hat, oder mir Tipps diesbezüglich geben kann. Vielen Dank im vorraus, Gigi
Marcel B. schrieb: > Gibt es einen Weg, beide in der gleichen Sprache zu programmieren ? Ja sicher, Arduino ist primär für AVR gemacht worden. Arduino unterstützt das STK500 als Programmieradapter für AVR. Alternativ kannst du Dir irgendeinen anderen ISP Programmieradapter kaufen. Oder du verwendest ein Arduino (kompatibles) Modul mit AVR Mikrocontroller. Diese werden mit Bootloader ausgestattet verkauft und lassen sich einfach über das USB Kabel programmieren. Das ist bei Arduino eigentlich die normale Vorgehensweise. Was den ESP angeht: siehe http://stefanfrings.de/esp8266/index.html#prog Um den Sketch hochzuladen brauchst du beim NodeMCU Board lediglich ein USB Kabel. Bei "nackten" ESP8266 Modulen brauchst du ein USB-UART Kabel. Wenn der ESP8266 Master sein soll, kannst du I²C verwenden. Wenn du ihn als Slave verwenden willst, verwendest du besser die UART Schnittstelle denn sein I²C Anschluss unterstützt den Slave Modus nicht. In dem Buch http://stefanfrings.de/mikrocontroller_buch/index.html ist ein entsprechendes Beispiel, wo ein AVR den ESP über UART Schnittstelle als Netzwerk-Interface verwendet.
Hallo ich bin neuer Fahn von eletronic hir. Ein releise macht einen Leuchte an, mit hochspannung! Kenen Angst ich passe auff? Ich habe gehöhrt das man das auch mit so einem transitstor anmachen kann. Ich habe einen goldenen Transistor mir einem stahlgehüse mit einer kleinen Fahn dran. Da kommen 4 drähte raus. Ist von einem ser guten freund. Muss ich dann immer 2 Drähte zusammenschweißen damit ein Schalter raus wird? Ich hab den In den Kasten vom kapputten schalter verklehbt. Ist sicher so! Wie kann ich dann den spannungsfluss an und ausmachen? Wo ist da der Schlater für? Hab am wochende zeit dafür. Bekommen wir eine lösungh dafür zusammen? Danke an die spezialkräfte hier. Acim
Stefanus F. schrieb: > Wenn du ihn als Slave verwenden willst, verwendest du besser die UART > Schnittstelle denn sein I²C Anschluss Liegt anscheinend daran, dass sich keiner die Mühe gemacht hat, den Slave Modus in Software nachzubilden. Hardware-I²C unterstützt der ESP8266 nämlich nicht.
Max M. schrieb: > Liegt anscheinend daran, dass sich keiner die Mühe gemacht hat, den > Slave Modus in Software nachzubilden. Dafür müsste der Chip auf Interrupts schnell reagieren, und das kann er nicht - jedenfalls nicht zuverlässig.
Danke erstmal für die Antworten, kann bei Arduino nirgends eine Option finden, wo das STK500 aufgeführt wird. Dann bin ich wohl einfach blind. In diesem Sinne wäre ich für einen Tipp sehr dankbar. Da I2C ja dann doch nicht ganz so toll ist, welche Art der Kommunikation würdet ihr denn wählen ? Im Grunde geht es mir nur darum, überhaupt kommunizieren zu können. Also die Controller, versteht sich. :D Alles andere kann, können ja dann die einzelnen Controller übernehmen.
Marcel B. schrieb: > kann bei Arduino nirgends eine Option finden, wo das STK500 aufgeführt > wird. Menü Werkzeuge/Programmer/Atmel STK500 > welche Art der Kommunikation würdet ihr denn wählen ? Stefanus F. schrieb: > Wenn du ihn als Slave verwenden willst, verwendest du besser die UART > Schnittstelle Solange der ESP Master ist, spricht nichts gegen I²C.
Stefanus F. schrieb: > Max M. schrieb: >> Liegt anscheinend daran, dass sich keiner die Mühe gemacht hat, den >> Slave Modus in Software nachzubilden. > > Dafür müsste der Chip auf Interrupts schnell reagieren, und das kann er > nicht - jedenfalls nicht zuverlässig. Der Chip selber könnte das (zumindest bei 100kHz-I2C) sehr wohl, sogar mit sehr viel Sicherheitsreserve... Was es nicht kann, ist die Software, die normalerweise darauf läuft...
c-hater schrieb: > Was es nicht kann, ist die Software, die normalerweise darauf läuft... Das meine ich doch. Klar kannst du auf die Espressif Firmware verzichten, nur bleibt dann von den Netzwerk-Fähigkeiten ungefähr nichts mehr übrig. Wer will das schon?
Stefanus F. schrieb: > Menü Werkzeuge/Programmer/Atmel STK500 Oh man, was bin ich für ein Blindfisch! Wenn du mir jetzt auch noch verrätst, wie ich z.B. einen Attiny auswählen kann, bist du mein Held! :D LG, Gigi
Marcel B. schrieb: > Wenn du mir jetzt auch noch verrätst, wie ich z.B. einen Attiny > auswählen kann, bist du mein Held! :D Dazu musst du einen Core installieren: https://github.com/SpenceKonde/ATTinyCore Sag mal, ist dein Google kaputt?
Stefanus F. schrieb: > Sag mal, ist dein Google kaputt? Ich bin einfach zu dämlich die richtigen Begriffe einzutippen, glaube ich. DANKE! :D
Marcel B. schrieb: > Da I2C ja dann doch nicht ganz so toll ist, welche Art der Kommunikation > würdet ihr denn wählen ? > > Im Grunde geht es mir nur darum, überhaupt kommunizieren zu können. > Also die Controller, versteht sich. :D Der ESP8266 unterstützt Hardware-SPI - das wäre also möglich. Oder UART
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.