PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Atmega8 und Esp8266



MrWagner
16.04.2017, 11:42
Hi,

ich (Anfänger) versuche schon seit diversen Monaten irgendeine günstige und einfache Funkverbindung mit einem Atmega8 und diversen Funkmodulen aufzubauen, die ich für geplante Projekte nutzen kann und auch brauche um diese Sachen zu realisieren.

Ich bin dann irgendwann beim ESP8266 hängen geblieben. Beim ESP8266 fallen im theoretisch alle Probleme weg die der Funk mit sich bringt und um einen Empfänger muss ich mich auch nicht kümmern (ist nur Software). Das Ding ist günstig, ist aber vom Stromverbrauch nicht mein Wunschmodul. Aber um überhaupt mal was (als Anfänger) auf die Beine zu stellen sehe ich es als geeignet an.
Es bleibt im Grunde nur das Problem mit dem Modul zu kommunizieren. Ich hab zwei Module, die auch funktionieren. Ich habe diese bereits mit dem Arduino getestet und auch ansprechen können. Das Modul funktioniert, ich kann auch APs erstellen.

Das Modul möchte ich jetzt mit einem Atmega8 ansprechen. Bei der Kommunikation Atmega <-> ESP hängt es und aus meiner Sicht ist das auch der einzige Punkt wo es noch hängen würde.

Mein Schaltplan sieht folgendermaßen aus.

32559

Wenn der Schaltplan korrekt ist (?) sollte es doch "nur" noch an der Kommunikation hängen und die läuft über UART. Nach meine Verständnis müsste ich in Bascom nur noch ein paar Zeilen schreiben um die Befehle an den ESP8266 zu senden (Z.b. Name vom AC ändern). Ich würde dann ja auf meinem Smartphone in der WLAN-Übersicht sehen ob ein AC mit anderen Namen angelegt wurde. So ist der Plan. Ist ein russisches Vorgeben, aber so sollte es funktionieren? Wo es hängen würde wäre noch die Baudrate von 115200, da macht der Atmega8 sicher nicht mit, aber 9600 müssten gehen und das ESP-Modul kann man ja einstellenn

mfg

shedepe
16.04.2017, 14:09
Der Atmega kann locker 115200 Baud oder auch noch mehr, wenn man ihm einen Quarz spendiert. (Aufjedenfall in C) In Bascom sollte das auch möglich sein. Beschaltung sieht soweit ok aus. (Einfach Atmega Grundbeschaltung nehmen, und dann TX und RX entsprechend vertauscht verbinden, sowie du es gemacht hast)

Sofern ich weiß kann man aber die Controller der ESP Serien nicht nur als Wireless Gateway nutzen sondern auch direkt sein eigenes Programm zusätzlich zur Wirelessfirmware laufen lassen. Wäre vllt auch eine Idee sich das anzuschauen. Da spart man sich die Kommunikation dann direkt.

MrWagner
16.04.2017, 18:05
Danke für das Feedback :-) Dadurch das ich mir jetzt sicherer war, dass die "Schaltung" so ok ist habe ich noch mal 3 Stunden probiert und das Modul zum ersten mal über Atmega8 erfolgreich angesprochen :-) :-)

Die Einstellung über die Baudrate wird beim Modul anscheinend nach einem Restart/Stromlos nicht gespeichert (Hab ich mich verlesen...) Da das Modul aber per USB-Programmer an den PC angeschlossen war hatte es immer Saft, auch wenn ich neuen Code auf den Atmega8 übertragen habe. So konnte ich mit einer "Print "AT+CIOBAUD=9600"-Schleife und der Einstellung $baud = 115200 die Einstellung vom ESP8266 ändern, auch wenn der Atmega8 ohne externen Quarz bei 115200
Baud viele "Fehler" macht. Irgendwann hat er aber das Kommando für die Baueinstellung fehlerfrei übertragen.
Dann konnte ich die Einstellung auf $baud = 9600 ändern und die längeren Befehle an den ESP8622 fehlerfrei übertragen. Er macht schon mal was, damit kann ich jetzt auch arbeiten und in kleinen Stücken weiter machen.


Auf den ESP8622 kann man auch irgendwie eigene Programme nutzen. Das ist mir aber momentan zu hoch. Ich bin erst mal froh das ich das Ding jetzt zum laufen gebracht habe :-)