Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: EDV-Dompteur/Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Desi

Der EDV-Dompteur im Zivilmodus

  • »Desi« ist der Autor dieses Themas

Beiträge: 1 076

Wohnort: Hamburg

Beruf: Techniker

  • Nachricht senden

1

Donnerstag, 28. August 2014, 10:39

ESP8266 - geniales WLAN-Modul für Elektroniker

Hubi und ich brainstormen diese Tage gerade über die Entwicklung eines pfiffigen, kleinen Gerätes, das Daten per WLAN senden können muss.

Die Anforderungen an das WLAN-Modul wären die üblichen:
  1. Billig.
  2. Kleine Abmessungen.
  3. Geringer Strombedarf, wegen Akkubetrieb.
  4. Elektrisch einfach anzuschließen/anzusteuern, vorzugsweise per UART oder SPI.
  5. Geringer Programmieraufwand, durch viel Eigenintelligenz on board.

Was Hubi fand und mir vorschlug, sieht in der Tat aus, wie die Erfüllung der schon beinahe unverschämtesten Wunschträume eines jeden Elektronik-Entwicklers:
New Chip Alert: The ESP8266 WiFi Module (It’s $5)

Die interessanteste der vier existierenden Varianten dürfte diese hier sein (mit keramischer, statt gedruckter Antenne):
http://www.aliexpress.com/item/ESP8266-s…2020120903.html

Dokumentation findet man hier (teilweise noch nicht vollständig übersetzt, aber immerhin):
http://nurdspace.nl/ESP8266

Mikrocontroller.net hat auch schon einige Infos und Links zusammengetragen:
http://www.mikrocontroller.net/articles/ESP8266


Bis jetzt war meine bevorzugte Lösung, um ein paar Daten an einen Mikrocontroller zu senden, stets die gute, alte Infrarot-Fernbedienung. Diese Dinger gibt es für zwei EUR vom Chinesen und der Empfänger kostet noch weniger.
Aber diese Lösung eignet sich ohne Zusatzaufwand eben nur für unidirektionale Datenübertragung. Und nur für sehr geringe Datenmengen, die zudem recht langsam übertragen werden.
Und in der Praxis verlegt man die blöde Fernbedienung dauernd, die dann durch absolut nichts zu ersetzen ist ... X-(

Obiges WLAN-Modul löst diese Probleme zum ungefähr gleichen Preis. Und sie ist kaum größer, als ein guter, lichtstarker IR-Empfänger (ich rede nicht von den ganz winzigen Ausführungen mit magerer Reichweite).

Der komplizierte TCP/IP stack ist schon implementiert, das Modul verfügt über UART & SPI, wobei die rund zwei Dutzend überflüssigen Anschlusspins, mit denen Funkmodule typischerweise zu "glänzen" pflegen, und um die man sich als Entwickler erst lange 'nen Kopp machen müsste, hier glücklicherweise gar nicht erst vorhanden sind.
Was will man mehr?
.
Achtung: Meine "piratigen" Postings können höhere Dosierungen von Satire/Ironie/Sarkasmus beinhalten! Mehr Infos dazu

"Das Internet darf kein rechtsfreier Raum sein"
Das Internet darf keine Spielwiese berufsempörter Advokaten sein!

Desi

Der EDV-Dompteur im Zivilmodus

  • »Desi« ist der Autor dieses Themas

Beiträge: 1 076

Wohnort: Hamburg

Beruf: Techniker

  • Nachricht senden

2

Montag, 8. September 2014, 22:48

Weitere Infos

The Current State of ESP8266 Development

Auf Hackaday zwar auch schon verlinkt, aber hier noch mal explizit der Direktlink zum Userforum für ESP8266-Anwender:
http://www.esp8266.com/search.php?search_id=active_topics
.
Achtung: Meine "piratigen" Postings können höhere Dosierungen von Satire/Ironie/Sarkasmus beinhalten! Mehr Infos dazu

"Das Internet darf kein rechtsfreier Raum sein"
Das Internet darf keine Spielwiese berufsempörter Advokaten sein!

Desi

Der EDV-Dompteur im Zivilmodus

  • »Desi« ist der Autor dieses Themas

Beiträge: 1 076

Wohnort: Hamburg

Beruf: Techniker

  • Nachricht senden

3

Dienstag, 7. Oktober 2014, 04:07

GCC for the ESP8266 WiFi Module

Das hier ist prinzipiell "geil":

http://hackaday.com/2014/10/02/gcc-for-t…66-wifi-module/

"Prinzipiell" in Anführungszeichen deshalb, weil ich persönlich von der Sprache "C" Pickel bekomme - was sicher mit den geschweiften Klammern zusammenhängt, deren Piekser schon beim bloßen Anblick meine Haut irritieren.
Aber mal von meinem persönlichen Abneigungen gegen "C" abgesehen (die übrigens auch bei politischen Parteien aufkocht, aber das nur am Rande), ist ein Compiler für dieses Briefmarken-Modul natürlich eine tolle Sache!

Das macht Hoffnung, dass mal jemand Python oder 'nen guten Basic-Dialekt für das Ding zimmert (träum!).
.
Achtung: Meine "piratigen" Postings können höhere Dosierungen von Satire/Ironie/Sarkasmus beinhalten! Mehr Infos dazu

"Das Internet darf kein rechtsfreier Raum sein"
Das Internet darf keine Spielwiese berufsempörter Advokaten sein!

4

Mittwoch, 7. Oktober 2015, 16:28

Hallo zusammen,

letzte Woche kamen ein paar ESP8266 Module bei mir an. Ich habe diese natürlich gleich in Betrieb genommen. Benötigt wird dazu nicht mehr als:

- USB to UART TTL Adapter (Achtung, der ESP8266 ist nicht 5V tolerant)
- Externe Spannungsversorgung 3,3V (der ESP8266 zieht bis zu 200mA was viele USB Adapter nicht bringen)
- Arduino IDE mit eingebundenen ESP8266 Libs

Kurz und knapp zusammengefasst: Innerhalb 10 Minuten war mit Hilfe der Arduino IDE und Beispielcode aus dem Internet (vielen Dank an Stefan Thesen :189: , https://blog.thesen.eu/esp8266-wlan-microcontroller-mit-der-arduino-ide-programmieren) das Modul zum Wlan Client in ein bestehendes Wlan-Netz integriert bzw. selbst als AP eingerichtet. Als kleine Demo wird im Beispielcode von Stefan Thesen per Button-Klick im Browser ein GPIO geschalten bzw. serielle Daten gesendet. Am GPIO hatte ich eine LED hängen die ich dann komfortabel per Smartphone toggeln konnte. Als nächstes werde ich mir die One-Wire Lib für dieses Modul anschauen und berichten :-) .

Desi

Der EDV-Dompteur im Zivilmodus

  • »Desi« ist der Autor dieses Themas

Beiträge: 1 076

Wohnort: Hamburg

Beruf: Techniker

  • Nachricht senden

5

Mittwoch, 7. Oktober 2015, 17:44

Aufgabe ... :-)

Hallo Bastelfreund,

vielen Dank, für Deinen Beitrag!
Ich hätte da gleich mal eine nette Aufgabe für Dich, wenn du magst:

Versuche doch mal, zwei Stück dieser ESP-Boards quasi-gleichzeitig mit dem Smartphone zu koppeln.

Z.B. derart, dass eines dieser Module ein niederfrequentes Rechtecksignal sendet, das auf dem Smartphone einen Button blinken lässt, während das andere Board einen anderen Job ausführt (gerne wiederum ein blinkender Button, aber mit anderer Frequenz).

Ich habe selbst noch nicht die Zeit gefunden, das mal auszuprobieren, aber mir wurde mal von einem Ingenieur erklärt, dass das ganz dolle schwierig sein soll (und warum).
Mir fehlt dennoch der Glaube, dass dem tatsächlich so ist. :078:
.
Achtung: Meine "piratigen" Postings können höhere Dosierungen von Satire/Ironie/Sarkasmus beinhalten! Mehr Infos dazu

"Das Internet darf kein rechtsfreier Raum sein"
Das Internet darf keine Spielwiese berufsempörter Advokaten sein!

6

Dienstag, 8. März 2016, 09:31

ESP8266 12E LED Matrix Versuchsaufbau

Servus,

gestern habe ich zwei Brakeoutplatinen von Thomas Heldt (http://blog.thomasheldt.de/carrier-board…esp8266-module/) zum selbstkostenpreis von 2,99€ erhalten. Trotz Feierabendfaulheit konnte ich mich aufraffen die Platine rudimentär zu bestücken (ich wollte die Platine lediglich als reines Brakeout für das RM2 des ESP8266 verwenden) und diese mit fünf MAX7219 8x8 LED Matrix Modulen in Betrieb zu nehmen. Wie so oft kamen mir einige Leute schon zuvor wie z.B. hier: http://www.xn--c-lmb.net/2015/12/thematr…x-mit-wlan.html

Was die Funktion angeht, ist SSID und das zugehörige WLAN Passwort fest in der SW kodiert. Der ESP8266 verbindet sich automatisch als Client mit dem WLAN und bekommt per DHCP eine IP zugewiesen, welche über die LED Matrix angezeigt wird. Nun kann man per Browser die IP aufrufen und per Textfeld einen beliebigen Text eingeben, welcher unmittelbar nach Knopfdruck auf der LED Matrix ausgegeben wird.

Ich war erstaunt, das Teil lief auf Anhieb :189: .

Grüße
~BF~

Desi

Der EDV-Dompteur im Zivilmodus

  • »Desi« ist der Autor dieses Themas

Beiträge: 1 076

Wohnort: Hamburg

Beruf: Techniker

  • Nachricht senden

7

Samstag, 19. März 2016, 13:19

Hey Bastelfreund,

magst Du mal die KiCad-Daten vom aktuellen Stand hochladen?
Ich habe selbst gerade Bedarf an so einem Platinchen und würde Dir am Ende gerne 1-2 Stück davon abkaufen, wenn Du die produzieren lässt.
Zuvor würde ich aber gerne noch meine eigenen Ideen in die Schaltung einfließen lassen, wenn es Dir recht ist.

Mein eigener Task wäre der, eine analoge Spannung zu messen und per WLAN ans Smartphone zu senden.
Der ADC des ESP8266 hat aber ein paar Eigenarten, die mit etwas zusätzlicher Beschaltung begradigt werden müssten.

Weiterhin würde ich dem Modul noch mindestens einen kleinen MOSFET spendieren, damit man externe Lasten, wie z. B. Relais schalten kann.
.
Achtung: Meine "piratigen" Postings können höhere Dosierungen von Satire/Ironie/Sarkasmus beinhalten! Mehr Infos dazu

"Das Internet darf kein rechtsfreier Raum sein"
Das Internet darf keine Spielwiese berufsempörter Advokaten sein!

8

Sonntag, 20. März 2016, 13:31

Aber sicher doch :)

Hi Desi,

sehr gerne :) ich bin leider jetzt am Wochenende noch nicht dazu gekommen den Schaltplan nach deinen Ratschlägen "aufzuräumen", wäre natürlich genial wenn der Profi mitarbeitet 8-D . Bisher habe ich das Maß der Platine auf 5cm*5cm festgelegt, da man dieses Maß zweiseitig bei elecrow sehr günstig fertigen lassen kann. Derzeit haben sie aber auch ein gutes Angebot minimal teurer für 10cm*5cm bzw. sogar 10cm*10cm, wäre also auch kein Problem die Platine noch etwas zu vergrößern. Umso besser wenn das Platinchen noch ein paar Features mehr erhält. Anbei mein aktueller Stand als ZIP im Anhang.

http://www.filedropper.com/esp826612brakeoutkicad

Ps. Leider war der Anhang als ZIP zu groß (über 150kB), sodass ich Ihn per Filehoster hochgeladen habe.

Grüße
~BF~

Desi

Der EDV-Dompteur im Zivilmodus

  • »Desi« ist der Autor dieses Themas

Beiträge: 1 076

Wohnort: Hamburg

Beruf: Techniker

  • Nachricht senden

9

Sonntag, 20. März 2016, 16:00

Ps. Leider war der Anhang als ZIP zu groß (über 150kB), sodass ich Ihn per Filehoster hochgeladen habe.
Oh, Skandal!
Ich habe Deine Berechtigung mal auf 1,5MB pro Anhang hochgeschraubt. Und davon jetzt bis zu 10 Stück pro Posting. Das sollte reichen. :-)

Aber es ist schon eine gute Idee, Anhänge von lediglich temporärer Bedeutung auf einen externen Filehoster hochzuladen.
So halbwegs fertige Platinen hingegen, bzw. auch für deutlich später hinzustoßende User bedeutsame Anhänge, sollten jedoch vorzugsweise per Dateianhang auf den Server vom EDV-Dompteur geladen werden - weil man ja nie ganz sicher sein kann, ob ein externer Filehoster nächsten Monat noch existiert.
Ist schließlich immer doof, wenn man in einem interessanten Forum stöbert und externe Links laufen ins Nichts.

Ich habe mal angefangen, Schaltplan und Layout umzufrickeln, aber die Bedienung von KiCad stockt irgendwie noch für mich.
Vielleicht telefonieren wir mal (siehe Impressum).

Gibt es eigentlich Vorgaben Deinerseits, bezüglich bestimmter Steckverbinderformen, die unbedingt einzuhalten sind?
Sonst würde ich nämlich die ganzen Pfostenleisten gerne gegen zweireihige Bauformen austauschen (vorzugsweise Micro-Match Buchsen).

Zweireihig u.a. deshalb, weil man dann einfach den jeweils zugehörigen Stecker auf ein Flachbandkabel quetschen kann.
Micro-Match deshalb, weil deren Buchsen die segensreiche Eigenschaft haben, für eine gewöhnliche Messspitze (abrutschsicher) zugänglich zu sein.
Wenn man im Gegensatz dazu mal bei abgezogenem Steckverbinder mit dem Multimeter/Oszi an einem Pfostenstift messen möchte, besteht immer Kurzschlussgefahr.

Sofern die Platine durch Fräsung nicht teurer wird, so würde ich zwei der Befestigungsbohrungen gerne gegen gefräste Langlöcher austauschen, mit Öffnung zum Platinenrand.
Das hätte den Vorteil, dass man dann nur noch zwei Muttern abschrauben müsste, um die Platine zu entnehmen. Die Muttern bei den beiden Langlöchern bräuchten lediglich etwas gelockert zu werden, schon könnte man die Platine dort wegziehen.

P.S.: Womit programmierst Du den ESP eigentlich?
Und wie verbindest Du ihn elektrisch mit dem Computer, zum Programmieren?

Ich habe gestern den ESPlorer gefunden. Habe den zwar noch nicht ausprobiert, sieht aber interessant aus! Es gibt auch gute YouTube-Videos dazu.
Mit der Sprache "C" und geschweiften Klammen in Quellcodes stehe ich irgendwie komplett auf Kriegsfuß. Sehr gerne würde ich in Basic programmieren, aber mit Python könnte ich mich ebenso anfreunden.
.
Achtung: Meine "piratigen" Postings können höhere Dosierungen von Satire/Ironie/Sarkasmus beinhalten! Mehr Infos dazu

"Das Internet darf kein rechtsfreier Raum sein"
Das Internet darf keine Spielwiese berufsempörter Advokaten sein!

10

Sonntag, 20. März 2016, 17:03

Zitat

Oh, Skandal! Ich habe Deine Berechtigung mal auf 1,5MB pro Anhang hochgeschraubt. Und davon jetzt bis zu 10 Stück pro Posting. Das sollte reichen. :-)
Super danke, dann passt das ja für die Zukunft bzw. für die finale Version.

Zitat

Gibt es eigentlich Vorgaben Deinerseits, bezüglich bestimmter Steckverbinderformen, die unbedingt einzuhalten sind?
Sonst würde ich nämlich die ganzen Pfostenleisten gerne gegen zweireihige Bauformen austauschen (vorzugsweise Micro-Match Buchsen).
Eine bestimme Steckverbindung muss es von meiner Seite aus nicht sein (2-reihig also kein Problem), die Micro-Match Buchsen finde ich auch geschickt. So wie ich das gesehen habe sind diese ja auch im 2,54 RM, sodass ich für Entwicklungszwecke auf dem Breadboard auch normale Stiftleisten bestücken könnte, oder verwendest du die Micro-Match Buchsen in SMD Bauform?

Zitat

Sofern die Platine durch Fräsung nicht teurer wird, so würde ich zwei der Befestigungsbohrungen gerne gegen gefräste Langlöcher austauschen, mit Öffnung zum Platinenrand.

Das hätte den Vorteil, dass man dann nur noch zwei Muttern abschrauben müsste, um die Platine zu entnehmen. Die Muttern bei den beiden Langlöchern bräuchten lediglich etwas gelockert zu werden, schon könnte man die Platine dort wegziehen.
Die Langlöcher sollte kein Problem sein, die kommen nach meinem Verständnis dann einfach in den Umriss-Layer. Bei Mikrocontroller.net gibt es auch einen Thread bzgl. Elcrow Erfahrungsberichte in dem man verschiedene User Platinen sieht (http://www.mikrocontroller.net/topic/319266), unter anderem auch mit zusätzlichen Fräsungen im Umsriss.

Programmiert habe ich den ESP bisher nur über die Arduino IDE also in C, ich hab schon gelesen, dass du nicht der größte C Freund bist :193:. Bin da zugegebenermaßen beruflich vorbelastet (im Automotive Bereich kommt man einfach nicht drum herum).


Den ESPlorer kannte ich bisher noch nicht. Die IDE sieht schon mal cool aus, vor allem das integrierte Hex-Fenster.


Grüße
~BF~

Desi

Der EDV-Dompteur im Zivilmodus

  • »Desi« ist der Autor dieses Themas

Beiträge: 1 076

Wohnort: Hamburg

Beruf: Techniker

  • Nachricht senden

11

Sonntag, 20. März 2016, 19:44

die Micro-Match Buchsen finde ich auch geschickt. So wie ich das gesehen habe sind diese ja auch im 2,54 RM, sodass ich für Entwicklungszwecke auf dem Breadboard auch normale Stiftleisten bestücken könnte, oder verwendest du die Micro-Match Buchsen in SMD Bauform?
Ich verwende vorzugsweise die THT-Versionen, denn denen traue ich irgendwie mehr über den Weg. Bei den SMD-Bauformen habe ich immer Angst, dass man die Lötpads mit abrupft, beim Abziehen des Steckverbinders, oder wenn man mal über das Kabel stolpert.

Aber man kann leider keine normalen Stiftleisten bestücken, wenn man sich für Micro-Match entscheidet, weil deren beide Reihen um 50 Mil gegeneinander versetzt sind:



Für Pfosten-Stiftreiehn gibt es natürlich ebenfalls Flachband-taugliche Buchsen (das ist also nicht das große Alleinstellungsmerkmal von Micro-Match). Aber ich mag diese offenstehenden "Pieckser" nicht, auf Platinen und die Ausführungen mit Schutzkranz um die Stifte fressen mehr Platz.

Micro-Match hat eine geringere Höhe und das Stecken fühlt sich schön "satt" an.
Im Gegensatz zu kranzlosen Stiftleisten ist auch keine Fehlsteckung möglich.
Der ganz dicke Vorteil ist in meinen Augen aber die Möglichkeit, dort eine Messspitze an den Buchsenkontakten anzusetzen, ohne jeder Abrutschgefahr.

Und wenn eine Platine mal ganz besonders flach werden muss, dann kann man auch solche Späße treiben:



Dort habe ich drei verschiedene Bestückungsvarianten vorgesehen:
1) Am Platinenrand, wie auf den ersten vier Platinen zu sehen.
2) Gewinkeltes THT, Bestückung oben auf der Platine, mit Steckrichtung von der Seite (Platine links unten).
3) Gerades THT, mit Steckrichtung von oben (nicht im Bild gezeigt)

Das ist möglich, wegen dem Versatz um 50 Mil beider Kontaktreihen. Mit Pfosten-Stiftleisten, ohne diesem Versatz, wäre das nciht möglich.

Das Bild zeigt übrigens die Prototypen eines älteren Projektes aus der Zeit deutlich vor dem ESP8266 :-)
- Dort verwende ich einen Infrarot-Empfänger, um die Schaltung per Fernbedienung zu beeinflussen. Unter dem dicken Empfangsbaustein sitzt ein Atmel-Controller, der die Signale auswertet.

Künftig will ich vorzugsweise den ESP einsetzen (hier wäre das allerdings nicht möglich gewesen).
.
Achtung: Meine "piratigen" Postings können höhere Dosierungen von Satire/Ironie/Sarkasmus beinhalten! Mehr Infos dazu

"Das Internet darf kein rechtsfreier Raum sein"
Das Internet darf keine Spielwiese berufsempörter Advokaten sein!

12

Sonntag, 20. März 2016, 20:54

Da man die Micro-Match Stecker wie du sagtest unter anderem auf Flachbandkabel quetschen kann, kann ich diese ja einfach mit meinen Bread-Board Flachbandkabeln verheiraten und der Fisch ist geputzt. Das ist ja Wahnsinn wie klein deine IR-Module sind :-). Das mit dem Mess-Spitzen Ansetzen sehe ich auch als riesigen Vorteil, dann kann man auf irgendwelche Messadapter verzichten und direkt an der Platine Messen.

Desi

Der EDV-Dompteur im Zivilmodus

  • »Desi« ist der Autor dieses Themas

Beiträge: 1 076

Wohnort: Hamburg

Beruf: Techniker

  • Nachricht senden

13

Montag, 21. März 2016, 05:28

Habe noch nicht überprüft, was korrekt ist und im Internet widersprüchliches gefunden, aber mir fiel gerade etwas auf:

Laut dieser Website:
http://www.xn--c-lmb.net/2015/12/thematr…x-mit-wlan.html

soll es so sein:



Man beachte das Signal GPIO_0 (Pin 12).
In Deiner Schaltung dagegen, ist GPIO0 der Pin 18 und mit dem Programmierswitch verbunden.

Und bist Du Dir sicher, dass es genügt, dort einen Taster anzuschließen?
Müsste das nicht eher ein Schalter sein, der während der gesamten Programmierzeit geschlossen sein muss?


Laut diesem PDF sollte GPIO_2 über 10k Pull-up auf 3,3V geschaltet werden, da ein floatender Pin die Schaltung störanfälliger macht.

Bin noch nicht damit durch, das alles zu überprüfen, wollte all das nur kurz einwerfen, bevor Du womöglich weitere Arbeit in Schaltplan und Layout steckst.


Und weil Du ja schon eine funktionierende Schaltung besitzt, noch eine Frage an den Fachmann:
Ist es nach erfolgter Erstprogrammierung möglich, spätere Programmänderungen per WLAN einzuspielen, statt per serieller Kabelverbindung?

Falls nein: Was hältst Du von der Idee, der Platine noch einen FT232-Chip zu verpassen?
Dann wäre die USB-Buchse eine eben solche und nicht nur eine reine Ladebuchse. Folglich bräuchte man zum Programmieren keinen USB-Seriell-Adapter mehr anzuschließen, sondern ein simples USB-Kabel wäre genug.
.
Achtung: Meine "piratigen" Postings können höhere Dosierungen von Satire/Ironie/Sarkasmus beinhalten! Mehr Infos dazu

"Das Internet darf kein rechtsfreier Raum sein"
Das Internet darf keine Spielwiese berufsempörter Advokaten sein!

14

Montag, 21. März 2016, 07:40

Zitat

Man beachte das Signal GPIO_0 (Pin 12).
In Deiner Schaltung dagegen, ist GPIO0 der Pin 18 und mit dem Programmierswitch verbunden.
Das liegt an den 6 zusätzlichen Pins (MISO, MOSI, SCLK, GPIO9/10, CSO) des ESP8266-12-E, die an der Unterseite herausgeführt sind in Gegensatz zum ESP8266-12. So kommt man auch auf den Pin 12+6=18 in meinem Schaltplan. Das gute ist, dass das der Abstand der seitlichen Pins bei beiden Modulen gleich ist, man könnte dann also auch einen ESP8266-12 bestücken. Hier gibt es eine gute Übersicht mit Infos zu den verschiedenen Modulvarianten: http://www.esp8266.com/wiki/doku.php?id=…6-module-family


Zitat

Und bist Du Dir sicher, dass es genügt, dort einen Taster anzuschließen?
Müsste das nicht eher ein Schalter sein, der während der gesamten Programmierzeit geschlossen sein muss?
Auf meinen Versuchen direkt auf dem Breadboard hat das so funktioniert. Dort habe ich lediglich beim Power-On das Kabel für GPIO0 auf GND gesteckt und kurz danach wieder frei hängen lassen. So bin ich immer problemlos in den Flashbootloader gelangt. Man sieht es auch am Blinkverhalten der LED, ob das normale Programm oder der Flashbootloader geladen wurde.

Zitat

Laut diesem PDF sollte GPIO_2 über 10k Pull-up auf 3,3V geschaltet werden, da ein floatender Pin die Schaltung störanfälliger macht.
In meinen Testaufbauten kam es zwar nie zu Problemen aber besser ist das ja immer, von dem her können wir das gerne mit aufnehmen.

Zitat

Und weil Du ja schon eine funktionierende Schaltung besitzt, noch eine Frage an den Fachmann:
Ist es nach erfolgter Erstprogrammierung möglich, spätere
Programmänderungen per WLAN einzuspielen, statt per serieller
Kabelverbindung?
Ich habe davon schon gelesen aber noch nicht wirklich etwas konkretes (zumindest für Arduino) gesehen: http://jeelabs.org/book/1526e/

Zitat

Falls nein: Was hältst Du von der Idee, der Platine noch einen FT232-Chip zu verpassen?
Dann wäre die USB-Buchse eine eben solche und nicht nur eine reine
Ladebuchse. Folglich bräuchte man zum Programmieren keinen
USB-Seriell-Adapter mehr anzuschließen, sondern ein simples USB-Kabel
wäre genug.
Finde ich super, dann hat man nur ein USB-Kabel vom Modul zum Rechner. Wollte mir für mein erstes Projekt nur nicht "überfordern" wenn du aber mit dabei bist kein Thema :-).

15

Montag, 21. März 2016, 11:07

Noch einen kleinen Nachtrag zur USB/UART Anbindung: Ich habe gerade den "MCP2221" gefunden (klick) der wie der FT232RL auch eine USB2.0 to UART Anbindung realisiert. Dieser sieht mir nicht ganz so "aufgeblasen" wie die FTDI Variante aus (auch wegen des SO14 Gehäuses anstatt des SSOP28) und soll auch mit Standard Treibern (VCP) unter Windows laufen. Hast du damit schon Erfahrungen gemacht?

Desi

Der EDV-Dompteur im Zivilmodus

  • »Desi« ist der Autor dieses Themas

Beiträge: 1 076

Wohnort: Hamburg

Beruf: Techniker

  • Nachricht senden

16

Montag, 21. März 2016, 15:30

Das liegt an den 6 zusätzlichen Pins (MISO, MOSI, SCLK, GPIO9/10, CSO) des ESP8266-12-E, die an der Unterseite herausgeführt sind in Gegensatz zum ESP8266-12. So kommt man auch auf den Pin 12+6=18 in meinem Schaltplan. Das gute ist, dass das der Abstand der seitlichen Pins bei beiden Modulen gleich ist, man könnte dann also auch einen ESP8266-12 bestücken. Hier gibt es eine gute Übersicht mit Infos zu den verschiedenen Modulvarianten: http://www.esp8266.com/wiki/doku.php?id=…6-module-family
Ah, sehr gut, das hatte ich ja noch gar nicht auf dem Schirm!
Du, das macht richtig Spaß mit Dir, Bastelfreund! Du 'ne klare "Denke" und drückst Dich schön präzise aus. Ich glaube, wir können noch tolle gemeinsame Projekte haben, mit der Zeit.

Ich habe davon schon gelesen aber noch nicht wirklich etwas konkretes (zumindest für Arduino) gesehen: http://jeelabs.org/book/1526e/
:-D Du bist hiermit dazu verdonnert, das herauszufinden!

Hubi und ich schieben schon seit längerer Zeit ein komplexes Projekt vor uns her, wo ebenfalls ein ESP zum Einsatz kommen soll.
Hubi will ja "sicherheitshalber" unbedingt 'ne USB-Schnittstelle haben, aber der Platz ist partout nicht vorhanden und ich sehe die Notwendigkeit auch nicht ein, wenn man den ESP nach erfolgter Erstprogrammierung doch auch einfach per WLAN mit neuer Software beschicken kann.
Das mal zu eruieren, habe ich aber bislang vertagt.

Noch einen kleinen Nachtrag zur USB/UART Anbindung: Ich habe gerade den "MCP2221" gefunden (klick) der wie der FT232RL auch eine USB2.0 to UART Anbindung realisiert. Dieser sieht mir nicht ganz so "aufgeblasen" wie die FTDI Variante aus (auch wegen des SO14 Gehäuses anstatt des SSOP28) und soll auch mit Standard Treibern (VCP) unter Windows laufen. Hast du damit schon Erfahrungen gemacht?
Ich habe damit noch keine eigenen Erfahrungen, sondern bislang immer den FT232 verwendet.
Aber in der Tat nervt mich dieser viel zu aufgeblasene IC schon lange. Im Grunde wünsche ich mir ja einen IC mit nur sechs Anschlüssen:
Zwei für die Versorgungsspannung, zwei für USB-Daten, zwei für RS232.
Der MSP2221 kommt diesem Ideal schon deutlich näher, als der FT232.

So 'ne Sache könnte aber noch das Thema "Treiber" sein. FT232 arbeitet mit Windows und Android - äähh - ohne viel Kummer zusammen.
Hubi hatte dagegen mal gebockt, als ich ihm (beim Waschcenter-Projekt) auferlegen wollte, den Arduino per darauf integriertem USB-Chip (kein FT232) mit 'nem Android-Tablet zu verheiraten. Da fand er nur theoretisch funktionierende, jedoch nicht real funktionierende Treiber für Android. Am Ende einigten wir uns (fast unter Tränen meinerseits!) zu einem externen USB-auf-Seriell-Wandler mit FT232, um diesen Kummer rasch zu beseitigen (die Zeit drängte).

Aber auch FTDI hat sich in der Vergangenheit nicht ausschließlich mit Ruhm bekleckert. Da hatte ich früher manchmal Abstürze am PC, die eindeutig durch 'nen Treiberbug verursacht wurden.
Und beim Waschcenter hatte ich mal einigen Kummer mit der Stabilität der USB-Verbindung, deren Ursache nie ganz geklärt wurde, wobei sich das Problem jedoch verfüchtigte, nach Einsatz einer anderen Variante des Konverters.
Also restlos sorgenfrei bin ich bezüglich der Treiberproblematik auch beim FT232 nicht; abgesehen davon, dass mir der komplexe Chip stinkt.

Der Kummer beim Waschcenter muss nicht unbedingt mit dem Treiber zu tun gehabt haben, es könnte auch ein Wackelkontakt gewesen sein, oder vielleicht ein China-Plagiat des Chips (die FTDI-Dinger werden reichlich kopiert, von den Chinesen!). Aber es blieb halt etwas Misstrauen zurück.

Daher würde ich sagen: Dein Projekt ist genau richtig, um mal einen völlig anderen Chip auszuprobieren!


Habe übrigens noch eine Idee für das Layout:
Die ESP-Module haben ja diese seitlich offenen, kelchförmigen Lötanschlüsse.
Sind die durchmetallisiert?
- Wenn ja, dann könnte man auf der Platine dort Pfostenreihen so setzen, dass sie seitlich ein paar Mil zu eng liegen. Dazwischen könnte man das ESP-Modul quasi "einklemmen".

Verlöten kann man sie bei Bedarf ja trotzdem, aber man kann sie halt auch nur kurz mal dort einklemmen, wenn man nacheinander mehrere ESP programmieren will, für 'ne Serienproduktion.

Beim ISP-anschluss für AVRs mache ich das schon lange so. Da bestücke ich den typischen, zweireihigen Pfostenverbinder oftmals gar nicht, sondern ich lasse die minimal zu eng platzierten Lötlöcher einfach offen, wo ich dann einen solchen Pfostenstecker hineindrücken kann, zum flashen.
Der klemmt sich dabei genügend fest, durch die Federkraft der Kontaktstifte, um astreinen Kontakt zu gewährleisten.
Das hat über die Jahre immer perfekt funktioniert, auch nach etlichen Neuprogrammierungen, also vielen Steckzyklen.
.
Achtung: Meine "piratigen" Postings können höhere Dosierungen von Satire/Ironie/Sarkasmus beinhalten! Mehr Infos dazu

"Das Internet darf kein rechtsfreier Raum sein"
Das Internet darf keine Spielwiese berufsempörter Advokaten sein!

17

Montag, 21. März 2016, 16:16

Zitat

Ah, sehr gut, das hatte ich ja noch gar nicht auf dem Schirm!

Du, das macht richtig Spaß mit Dir, Bastelfreund! Du 'ne klare "Denke"
und drückst Dich schön präzise aus. Ich glaube, wir können noch tolle
gemeinsame Projekte haben, mit der Zeit.
:-) danke, dass freut mich! Ist für mich auch ein riesiger Benefit hier Tips vom Profi zu bekommen!

Zitat

:-D Du bist hiermit dazu verdonnert, das herauszufinden!
Werde mich diesem Thema in einer ruhigen Minuten gerne nochmal widmen. Sollten wir ein derartiges ESP8266 OTA Firmware-Flashen zum Laufen bekommen wäre das schon ein Knaller.

Zitat

Daher würde ich sagen: Dein Projekt ist genau richtig, um mal einen völlig anderen Chip auszuprobieren!
Das sehe ich auch so! Dieser große FTDI "Käfer" ist mir fast schon zu groß für die geringe Zeit die er auf der Platine Arbeit verrichtet :-) .

Zitat

Habe übrigens noch eine Idee für das Layout:

Die ESP-Module haben ja diese seitlich offenen, kelchförmigen Lötanschlüsse.

Sind die durchmetallisiert?

- Wenn ja, dann könnte man auf der Platine dort Pfostenreihen so setzen,
dass sie seitlich ein paar Mil zu eng liegen. Dazwischen könnte man das
ESP-Modul quasi "einklemmen".
Finde ich ne super geniale Idee. Die Lötanschlüsse sind im RM2 und durchmetalisiert, von dem her wird das sicher gut funktionieren. Ich habe diese minimal versetzten Pads für Stiftleisten auf einer Platine auch schon mal gesehen. Erst dachte ich, da wäre beim Layout oder der Fertigung was schief gegangen :-D bis ich dann eine reingesteckt und die Klemmwirkung erlebt habe. Super Idee, gerade für Programmieranwendungen.

Desi

Der EDV-Dompteur im Zivilmodus

  • »Desi« ist der Autor dieses Themas

Beiträge: 1 076

Wohnort: Hamburg

Beruf: Techniker

  • Nachricht senden

18

Montag, 21. März 2016, 23:04

ESP8266 Witty

Die Website von Thomas Heldt, die Du in Posing Nr. 6 verlinkst, ist leider nicht mehr erreichbar.
Schade, da hätte ich jetzt gerne mal was nachgeschaut.

Nun bin ich auf dieser russischen Website auf das Entwicklungssystem ESP8266 Witty gestoßen.
Auch wenn man kein Russisch versteht, so ist das dort eingebundene Video dennoch sehr aussagekräftig.

Der Suchbegriff "ESP8266 Witty" spuckt bei eBay zahlreiche Treffer aus. Davon gegenwärtig zwar nur einen einzigen passenden Treffer (und nur noch ein Stück des Witty verfügbar!), aber die anderen, artverwandten Treffer sind auch interessant.

Also speziell der Witty kommt Deinem Projekt nun wirklich verblüffend nah, auch wenn es ein Doppeldecker ist.
Und generell ist inzwischen ein ganzer Haufen preisgünstiger Entwicklungssysteme verfügbar.
Da frage ich mich, ob es wirklich noch Sinn macht, die Platine wie ursprünglich gedacht zu entwickeln?
Es macht einige Arbeit und kostet am Ende ein Mehrfaches dessen, was Witty & Co. kosten, ohne Mehrwert zu bieten.

Ob man also nicht besser gleich eine Platine mit realem Nutzwert kreiert?
Ich hätte da mehrere Anwendungsfälle, wo ein ESP echt sinnvoll ist.

Speziell bei meinen Serviceeinsätzen bräuchte ich manchmal einen zweiten Mann, der mal kurz 'nen Knopf drückt, während ich unter einer Maschine liege um dort was zu messen.
1) Das Knopfdrücken könnte ich auch per ESP und Relais lösen, indem ich die Drähte zum Schalter zuvor kurz auf das Relais umklemme.
2) Statt mich mit dem Messgerät unter die Maschine zu legen, könnte ich dort auch den ADC des ESP anhängen und besagten Knopf selbst drücken.

Also zwei Anwendungsfälle, die in Variationen immer wieder auftreten:
1) Ein Relais schalten.
2) Eine Spannung messen und ans Smartphone senden.

Und als dritte Anwendung würde der ESP mit seinen GPIO sogar als minimalistischer, relativ langsamer Logic-Analyzer taugen.
Ich hatte da z. B. mal einen Drehencoder auszuwerten, der von einer heftigen Mechanik "bedient" wurde. Dazu bin ich dick mit mit Logic-Analyzer und Notebook angerückt und wusste kaum, wo ich den Krempel auf der ratternden Maschine ablegen sollte.
Hinzu kam die Angst, mir mein teures Equipment inklusive Notebook zu schlachten, durch versehentlichen Fehlanschluss.

Mein Gedanke geht also mehr in Richtung eines batteriegespeisten Platinchens mit etwas Eingangsschutz, Analogsignal-Anpassung, Treiber-MOSFETs für Relalis etc. und steckbaren Schraubklemmen.
Das, was Deine Platine können sollte, fällt so nebenbei mit an, aber mein Focus wäre doch eher auf universelle Einsetzbarkeit, für Messen, Steuern, Regeln.

Deine LED-Laufschrift könnte man natürlich genauso anschließen.
Die Platine würde ich dann doppeldeckertauglich gestalten, so dass man bei Bedarf schnell einen "Shield" auf Lochraster frickeln kann, falls mal eine besondere Pegelanpassung benötigt wird, oder so.

Eigentlich bin ich kein Freund der Doppeldecker-Bauweise, aber es gibt Fälle, wo das Sinn macht.
Am Anfang bin ich noch davon ausgegangen, dass die Entwicklung von ESP-Anwendungen ein Wahnsinns-Akt ist und dass man daran dauernd messen muss etc., bis mal was läuft. Daher meine Idee mit der leichten Umdrehbarkeit der Platine und alle Kabel zu einer Seite.

Davon bin ich jetzt ab. Der ESP ist als rotzbilliger "Wegwerfartikel" anzusehen, von dem man sich ein paar Stück auf Lager legt. Und die Anwendungsentwicklung ist ein Klacks. Da misst man nicht mehr großartig und von beiden Seiten auf der Platine. Wenn die zickt, tauscht man sie aus.
Für mich rückt jetzt also mehr die "Interfacerei" mit der Umwelt in den Fokus. Und die ist im Grunde so simpel, dass man wiederum kaum Messbedarf auf der Platine hat. Da kann man also Interface-Karm und Klemmen auf einen Shield verfrachten, ohne große Sorgen, dass deswegen Messpunkte nicht mehr zugänglich sind.

Das Relais, als dicksten Brummer, würde ich mitsamt kräftiger Schraubklemmen auf so einen Schield setzen. Steckt man halt nur dann dazu, wenn man es braucht.
Aber die Grundplatine, um die es die ganze Zeit geht, würde ich etwas erweitern und konzeptionell etwas anders aufziehen, als bisher gedacht.
Nicht schlagen, aber wegen der nun von mir angestrebten Dopeldeckerei würde ich statt Micro-Match nun doch lieber doppelreihige Pfostenreihen einsetzen.

Die GPIOs würde ich mit steckbaren Spannungsteilern und Schutzdioden versehen wollen, als simple Pegelanpassung an höhere Spannungen, wenn Eingangssignale erfasst werden sollen.
Und so was wie ULN2803 würde ich bestücken, damit die Ausgänge Relais, oder sonstige Kleinlasten direkt schalten können.

Die Platine würde gar nicht viel größer werden, aber enorm an Nutzen gewinnen und vielfach direkt einsetzbar sein.
Man muss sie ja auch nicht unbedingt voll bestücken, wenn man nicht jeden Firlefanz braucht, den sie bei Vollbestückung kann.

Was meinst Du?

P.S.: Schnapp mir bitte nicht den letzten, verfügbaren Witty weg, den soll mein Cousin morgen für mich bestellen.
.
Achtung: Meine "piratigen" Postings können höhere Dosierungen von Satire/Ironie/Sarkasmus beinhalten! Mehr Infos dazu

"Das Internet darf kein rechtsfreier Raum sein"
Das Internet darf keine Spielwiese berufsempörter Advokaten sein!

Desi

Der EDV-Dompteur im Zivilmodus

  • »Desi« ist der Autor dieses Themas

Beiträge: 1 076

Wohnort: Hamburg

Beruf: Techniker

  • Nachricht senden

19

Dienstag, 22. März 2016, 01:28

Speicher und Strombedarf

Jetzt bin ich gerade verwirrt, wegen dem Speicher.
Es gibt neben dem 12E auch noch den 12EX.

Die 12E-Module sollen "meistens" mit 4MB Flash daher kommen, worauf man sich aber anscheinend nicht verlassen kann und die eBay-Chinesen schweigen sich dazu natürlich aus.
Was der 12EX kann - Kai Nehahnung.


Jedenfalls bin ich jetzt richtig heiß auf das Teil, nachdem ich heute aufschnappte, dass die 32-Bit 80MHz-CPU für den WLAN-Kram nur rund 20% der MIPS abzwackt. Der mächtige Rest an Rechenleistung soll dem Anwenderprogramm zur Verfügung stehen!
Und das in Verbindung mit 4MB Flash!?!?! - Wahnsinn! Da sieht AVR aber in jeder Beziehung richtig alt aus!

Bis heute dachte ich nämlich, dass der ESP allein mit WLAN schon fast bis zum Anschlag ausgelastet ist und nur noch Dödelkram nebenher schafft - doch weit gefehlt!

Wäre noch interessant, wie weit man den Strombedarf drosseln kann, wenn man das WLAN komplett abschaltet und nur den nackten Controller als leistungsstärkeren AVR-Ersatz mit voller Rechenleistung ackern lässt.

Meine Mini-Platine mit dem Infrarotempfänger wurde damals in Hula-Hoop-Ringe eingebaut, nebst Akku und zahlreichen LEDs.
Sollte beim Herumtänzeln Lichtmuster in die Luft "malen". War für einen Zirkus.
Niedriger Stromverbrauch war da durchaus ein Thema, aber insbesondere hätte ich mir einen stärkeren Controller gewünscht, für die Darstellung der Lichteffekte.
Der AVR hat das damals Geforderte zwar hinbekommen, aber eine spätere Version 2.0 sollte noch Beschleunigungssensoren abfragen und die Lichteffekte mit den Bewegungen der Tänzerin synchronisieren. Ständig Fließkommaberechnungen und so ... da wäre AVR echt überfordert gewesen.

Bin ja begeistert, wie leistungsstark der ESP ist und wie klein und billig!
Künftig werde ich wohl häufig den sonst für meine Projekte typischen AVR durch ESP ersetzen können. Ich muss für Batteriebetrieb nur noch wissen, wie weit der Strombedarf sinkt, bei deaktiviertem WLAN, jedoch maximal aktiver CPU.


AVR ist auch für die Ansteuerung von WS28XX LEDs nur grenzwertig geeignet, wegen deren doofem Timing, die den AVR ans Limit bringt.
Und - Tadaaaah! - hier zeigt jemand dieses Kunststück mit ESP:
https://www.youtube.com/watch?v=U5SWHqc2jlg :189:

Wahnsinn, und das noch mit Steuerung per Smartphone! Was wäre das noch vor wenigen Jahren für ein irres Projekt gewesen!

Update: Hier ein Video mit sehr guten Erklärungen, wie der I2C-Port des ESP per DMA mit 80 MHz gefüttert werden kann:
Using I2S on the ESP8266 to drive WS2812Bs.



Echt gut, dass Du mich mit der Nase darauf gestoßen hast, mich nach langer Pause mal wieder mit dem Teil zu beschäftigen; insbesondere als Stand-allone-Anwendung, ohne AVR!
:088:
.
Achtung: Meine "piratigen" Postings können höhere Dosierungen von Satire/Ironie/Sarkasmus beinhalten! Mehr Infos dazu

"Das Internet darf kein rechtsfreier Raum sein"
Das Internet darf keine Spielwiese berufsempörter Advokaten sein!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Desi« (6. April 2016, 21:49)


20

Dienstag, 22. März 2016, 09:17

Zitat

Die 12E-Module sollen "meistens" mit 4MB Flash daher kommen, worauf man
sich aber anscheinend nicht verlassen kann und die eBay-Chinesen
schweigen sich dazu natürlich aus.

Was der 12EX kann - Kai Nehahnung.
Den 12EX habe ich bisher noch nicht gesehen, nur die verbesserte 12E Variante, welche sich (das macht Sinn) 12F nennt. Dieses hat ein neues 4-Layer-Design und eine Überarbeitung der Patchantenne und soll 30-50% mehr Reichweite bringen. Dennoch weiterhin 4MB SPI Flash (http://www.electrodragon.com/product/esp…266-wifi-board/).

Zitat

Bis heute dachte ich nämlich, dass der ESP allein mit WLAN schon fast
bis zum Anschlag ausgelastet ist und nur noch Dödelkram nebenher schafft
- doch weit gefehlt!
So ging es mir am Anfang auch, da muss man erst mal ein bisschen was gelesen und gesehen haben um zu begreifen, was man beim ESP8266 für kleines Geld in kleiner Bauform bekommt :-) . Wenn man dann noch sieht was es alles für Arduino Libs dafür gibt wie z.B. für LED-Matrix Displays oder die von dir erwähnten WS28XX LEDs, dann schnallt man fast ab. Da kann dann wirklich jeder "Dödel" Projekte mit wenig Aufwand realisieren, die vor ein paar Jahren noch wirklich Aufwand gekostet hätten.

Zitat

Wäre noch interessant, wie weit man den Strombedarf drosseln kann, wenn
man das WLAN komplett abschaltet und nur den nackten Controller als
leistungsstärkeren AVR-Ersatz mit voller Rechenleistung ackern lässt.
Dafür hat der ESP8266 verschiedene Sleep-Modi (unter anderem auch den Modem-Sleep), die hier im Blog des Herstellers ganz gut erklärt sind: (http://bbs.espressif.com/viewtopic.php?t=133). Um den Deep-Sleep zu verwenden, muss GPIO16 mit RST verbunden werden. Sobald man in den Deep-Sleep (Isleep = 10uA) geht zieht der GPIO16 (=XPD_DCDC) den RST Pin auf GND, so lange bis die programmierte Zeit des Timer abgelaufen ist, worauf der ESP wieder aufwacht. Gerade für Anwendungen mit langem Intervall, wie das Temparatur-Logging welches ich in Betrieb habe, ist das ein nettes Feature. Einmal in 5 Minuten aufwachen, einen Temparaturwert in die Cloud pushen und danach wieder ab in den Deep-Sleep. Dafür hatte ich auf meinem ersten Platinenlayout auch dieses Jumper "Sleep" vorgesehen.

Hier auch nochmal näheres zu den Sleep-Modi in einem weiteren Blog: http://jeelabs.org/book/1526b/

Zitat

Echt gut, dass Du mich mit der Nase darauf gestoßen hast, mich nach
langer Pause mal wieder mit dem Teil zu beschäftigen; insbesondere als
Stand-allone-Anwendung, ohne AVR!
Immer gerne :189: !

21

Dienstag, 22. März 2016, 11:50

Neues zum OTA Flashen des ESP8266

Habe soeben folgende Infos zum Thema "over the air flashing" des ESP8266 per Arduino IDE gefunden: https://github.com/esp8266/Arduino/blob/…dates/readme.md
Dort werden drei verschiedene Modi vorgestellt:

1. Arduino IDE: mittels Pyhton Skript wird wie seriell gewohnt per Arduino IDE geflasht
2. Web Browser: auf dem ESP8266 kann per Browser eine HTTP Seite aufgerufen werden, auf der (wie man das z.B. auch bei Routern kennt) das Binary hochgeladen werden kann
3. HTTP Server: der ESP8266 schaut zyklisch nach Firmwareupdates auf einem externen HTTP Server

Einzige Voraussetzung ist, dass das altes und das neues Binary zusammen in den Flash passen. Dabei wird das neue Binary in einen Speicherbereich hinter dem alten Binary kopiert und beim Reboot das alte durch das neue überschrieben. Gerade Möglichkeit 3 finde ich sehr interessant. So kann man z.B. eine Horde von IoT Slaves auf einen Schlag updaten, indem man einfach ein neues Binary auf einen Server kopiert. Klar ist serverseitig auch noch etwas Logik z.B. in Form eines PHP Skripts vonnöten, aber grundsätzliche wäre das eine mächtige Anwendung... :-)

22

Dienstag, 22. März 2016, 12:36

Nachtrag zum Vorschlag des Brakeouts

Hi Desi,

sorry habe erst jetzt deinen vorletzten Post gesehen, so langsam sammelt sich in diesem Thread was an :). Ich bin was die Funktionen und das Layout der ESP-Platine angeht wirklich sehr offen. Mir ging es eigentlich nur darum einen Einstieg beim PCB Design zu finden. Wenn ich dann nachher ein paar GPIOs bedienen kann, das Ganze per USB bestromen und sogar bedaten kann bin ich schon glücklich (für's erste :193: ). Alles weitere was du noch an Ideen einbringst nehme ich natürlich gerne mit.

P.S.: Beim Ali gibt's die Witty wie Sand am mehr, wenn da nicht die Lieferzeit wäre: http://www.aliexpress.com/af/witty-cloud.html

Grüße
~BF~

23

Dienstag, 22. März 2016, 20:54

Habe soeben folgende Infos zum Thema "over the air flashing" des ESP8266 per Arduino IDE gefunden: https://github.com/esp8266/Arduino/blob/…dates/readme.md
Dort werden drei verschiedene Modi vorgestellt:

1. Arduino IDE: mittels Pyhton Skript wird wie seriell gewohnt per Arduino IDE geflasht
2. Web Browser: auf dem ESP8266 kann per Browser eine HTTP Seite aufgerufen werden, auf der (wie man das z.B. auch bei Routern kennt) das Binary hochgeladen werden kann
3. HTTP Server: der ESP8266 schaut zyklisch nach Firmwareupdates auf einem externen HTTP Server

Einzige Voraussetzung ist, dass das altes und das neues Binary zusammen in den Flash passen. Dabei wird das neue Binary in einen Speicherbereich hinter dem alten Binary kopiert und beim Reboot das alte durch das neue überschrieben. Gerade Möglichkeit 3 finde ich sehr interessant. So kann man z.B. eine Horde von IoT Slaves auf einen Schlag updaten, indem man einfach ein neues Binary auf einen Server kopiert. Klar ist serverseitig auch noch etwas Logik z.B. in Form eines PHP Skripts vonnöten, aber grundsätzliche wäre das eine mächtige Anwendung... :-)
Ein kleines Status-Update meinerseits: habe heute nach Feierabend kurzer Hand mal versucht ein Binary per HTTP-Server über's Wlan zu flashen. Das Ganze ist nach ner Stunde gelaufen :189: . Um das Konzept praxistauglich zu machen müsste man sich natürlich noch um ein Sicherheits- und Variantenkonzept serverseitig Gedanken machen, aber prinzipiell kann ich hiermit bestätigen läuft das Flashen des ESP8266 über WLAN (jetzt kann ich mein UART Adapter erstmal bei Seite legen :-P ).

Meine DesignSpark Einarbeitung musste ich heute deshalb leider vertagen :-) .

Desi

Der EDV-Dompteur im Zivilmodus

  • »Desi« ist der Autor dieses Themas

Beiträge: 1 076

Wohnort: Hamburg

Beruf: Techniker

  • Nachricht senden

24

Mittwoch, 23. März 2016, 23:15

Hallo Bastelfreund, jetzt war ich zwei Tage verhindert.

Dafür hat der ESP8266 verschiedene Sleep-Modi (unter anderem auch den Modem-Sleep)
Hmm, jaaa, aber da klingeln bei mir die Alarmglocken. Und weil ich schon im Voraus verhindern wollte, dass Du den Vorschlag "Sleep-Modus" machst, ritt ich so betont auf "CPU unter Volllast" herum.
Ich bin mir nämlich nicht sicher, ob dieser Modem-Sleep wirklich nur das WLAN abschaltet, ohne die Rechenleistung der CPU zu mindern.

Muss man wohl real ausprobieren ... aber ich habe ja bald 'nen Witty und so! :-)

1. Arduino IDE: mittels Pyhton Skript wird wie seriell gewohnt per Arduino IDE geflasht
2. Web Browser: auf dem ESP8266 kann per Browser eine HTTP Seite aufgerufen werden, auf der (wie man das z.B. auch bei Routern kennt) das Binary hochgeladen werden kann
3. HTTP Server: der ESP8266 schaut zyklisch nach Firmwareupdates auf einem externen HTTP Server
Ich kippe gleich um, vor Müdigkeit und habe mir das Geschreibsel auf Github noch nicht ins Hirn gezogen. Daher ist mir der Vorgang Nr. 2 noch nicht ganz klar. Der klingt dem ersten Eindruck nach sehr gut.

Selbstständiges "Nach-Hause-Telefonieren" mag ich dagegen eher nicht so.

Einzige Voraussetzung ist, dass das altes und das neues Binary zusammen in den Flash passen. Dabei wird das neue Binary in einen Speicherbereich hinter dem alten Binary kopiert und beim Reboot das alte durch das neue überschrieben.
Das ist unelegant. Aber wahrscheinlich kann man damit einigermaßen leben. In vier MB geht ja 'ne Menge rein.
In der Entwicklungsphase, wenn man immer und immer wieder updaten muss, wird das aber stören.
Vielleicht fehlt momentan nur so ein eleganter Bootloader, wie man ihn von AVR her kennt. So watt kommt aber sicher noch; wichtig war zunächst die Klärung der Frage, ob der Chip es prinzipiell kann.
- Und er kann! :013:

Ein kleines Status-Update meinerseits: habe heute nach Feierabend kurzer Hand mal versucht ein Binary per HTTP-Server über's Wlan zu flashen. Das Ganze ist nach ner Stunde gelaufen :189: . Um das Konzept praxistauglich zu machen müsste man sich natürlich noch um ein Sicherheits- und Variantenkonzept serverseitig Gedanken machen, aber prinzipiell kann ich hiermit bestätigen läuft das Flashen des ESP8266 über WLAN (jetzt kann ich mein UART Adapter erstmal bei Seite legen :-P ).
Du bist ein Held! Super, wirklich! :034:
Und dicken Glückwunsch, für Deinen raschen Erfolg!

Meine DesignSpark Einarbeitung musste ich heute deshalb leider vertagen :-) .
Was? Du kommst nicht zu Allem, was dringend anliegt, trotz Deiner raschen Arbeitsweise?
- Dann müssen wir wohl darüber nachdenken, Dich zu klonen! ;-)
.
Achtung: Meine "piratigen" Postings können höhere Dosierungen von Satire/Ironie/Sarkasmus beinhalten! Mehr Infos dazu

"Das Internet darf kein rechtsfreier Raum sein"
Das Internet darf keine Spielwiese berufsempörter Advokaten sein!

25

Donnerstag, 24. März 2016, 09:10

Hi Desi,

hoffe du kannst mit etwas weniger Workload in das Osterwochenende starten :-) .

Zitat

Hmm, jaaa, aber da klingeln bei mir die Alarmglocken. Und weil ich schon
im Voraus verhindern wollte, dass Du den Vorschlag "Sleep-Modus"
machst, ritt ich so betont auf "CPU unter Volllast" herum.

Ich bin mir nämlich nicht sicher, ob dieser Modem-Sleep wirklich nur das
WLAN abschaltet, ohne die Rechenleistung der CPU zu mindern.
Ah ok, habe ich dann falsch verstanden. Ich werde mal ein kleines Sketch ohne WLAN Instanz schreiben und messen was der Kamerad so zieht.

Zitat

Das ist unelegant. Aber wahrscheinlich kann man damit einigermaßen leben. In vier MB geht ja 'ne Menge rein.

In der Entwicklungsphase, wenn man immer und immer wieder updaten muss, wird das aber stören.

Vielleicht fehlt momentan nur so ein eleganter Bootloader, wie man ihn
von AVR her kennt. So watt kommt aber sicher noch; wichtig war zunächst
die Klärung der Frage, ob der Chip es prinzipiell kann.

- Und er kann! :013:

So lange es da keine harte Änderung des Bootloaders auf "WLAN Flashing" gibt müssen wir wohl leider diese Einschränkung in Kauf nehmen da ja das eigene Sketch für den Download des neuen Binary verantwortlich ist. Ich muss mich mal noch etwas einlesen in diese Flash-Mapping Geschichte über den 64KB Ram: https://www.kickstarter.com/projects/214…t/posts/1501224
Was gibt es so für Möglichkeiten/Bootloader in der AVR Welt? Hast du da auch schon ein Remote-Flashing umgesetzt?

Habe mir jetzt auch zwei Witty für jeweils 3,33€ inkl. Versand (Leute, wie kann man an diesen Preisen noch etwas verdienen? ?-( ) beim Ali bestellt. Bin mal gespannt wie lange sie unterwegs sind. Ich rechne mal mit 2-3 Wochen wenn alles glatt geht.

Grüße
~BF~