Du fragst nach dem ESP01, mit dem habe ich es noch nicht so gemacht, da ich dort nur die serielle Schnittstelle nutze. Mit dem ESP03 habe ich es bereits täglich im Einsatz, per WLAN GPIO12-14 zu schalten. Das SDK findet man auf diversen Webseiten, ich verwende eine von mir modifizierte Version 9.2.2 Holger
Dateianhang: patch behebt: 1) system_print_meminfo(); heap size printf error 2) uint8 beacon_interval; change to uint16 espressif download link: http://bbs.espressif.com/download/file.php?id=190 Info: http://bbs.espressif.com/viewtopic.php?f=5&t=154#p557 lg rudi ;-) persönl. Anmerkung: Für produktiven Einsatz ist die Version noch nicht zu empfehlen! Sie hat noch einige Fehler! Es folgen Patch2...Patch3...
Holger W. schrieb: > Mit dem ESP03 habe ich es bereits täglich im Einsatz, per WLAN GPIO12-14 > zu schalten. Cool. Aber die .elf oder .bin magst Du nicht veröffentlichen, oder? Damit könnte man halt schon mal die Hardware entwickeln und in meinem Fall die "Funkschalter" in der Prakis einsetzen. Verbesserungen mit eigener Firmware könnte man später immer noch machen, wenn die Familie mit den neuen Funkschaltern zufrieden ist (Reichweite, Schaltverzögerung, ...)
Direkt veröffentlichen nicht, aber per PN gerne, auch Source. Hast du den ESP03 schon vorliegen ? Ansonsten schreib wenn du ihn hast, dann schick ich dir alles. Ich bastel noch täglich dran ;-) Holger
Hallo Holger, kurze frage mal heißt das jetzt (GPIO12-14) 12 und 14 oder 12 bis 14 ? Danke
moin moin, pico TCP http://www.picotcp.com/ https://github.com/tass-belgium/picotcp/wiki schaut es euch mal an, es sieht sehr interessant und vielversprechend auf dem ESP8266 aus : multicast udp support & working mdns & OLSR mesh stuff https://twitter.com/maximevince/status/528936982077276160 https://github.com/tass-belgium/picotcp/releases lg rudi ;-)
Hallo zusammen, In anderen Foren habe ich Hinweise auf neuere AI-THINKER software gefunden die für Stand-Alone anwendungen mit AT- Befehlen brauchbar were. Hier Auszug aus LOG: Update Log 1 An amendment to the restart frequently executed serial AT commands problem with large amounts of data stops responding problem 2 no longer picky serial debugging software, support PuTTY, SecureCRT and other serial debugging tools, the AT command at the end, is not mandatory \ r \ n, CR or LF can, CRLF can 3 AT + CIPAP? AT returns the IP address of the module current AP mode + CIPAP = "192.168.4.2" Setting the IP address of the AP mode 4 AT + CIPSTA? View IP address AT STA mode + CIPSTA = fixed IP "192.168.1.2" STA mode setting above operations are effective immediately without restarting 5 AT + CIPAPMAC query the current MAC address of the AP mode settings for the current MAC address of the AP mode AT + CIPAPMAC =? "1a: fe: 34: 9e: 34: a9" 6 AT + CIPSTAMAC exercise MAC address AT STA mode + CIPSTAMAC =? "18: fe: 34: 9e: 34: a9" AP mode settings for the current MAC address 7 AT + CIOADC command reads the ADC value Note: ADC input voltage range is between 0V to 1V! 0 to 1024,10 bit precision 8 AT + CIOREAD command reads the GPIO AT + CIOREAD = 0 reads GPIO0 level assumptions GPIO0 is high, it will return 1: HIGH, otherwise it returns 0: LOW GPIO range of digital, GPIO0, GPIO16 can 9 AT + CIOWRITE command to set the GPIO AT + CIOWRITE = 0,0 setting GPIO0 level is low AT + CIOWRITE = 16,1 set of high level GPIO16 10 baud rate support wider110,300,600,1200,2400,4800,9600,19200, 38400,57600,74880,115200,230400,256000,460800,921600 11 bugfix The next version supports 6-channel PWM AT cloud server and set of AT commands Smartconfig
http://www.electrodragon.com/w/ESP8266_Custom_AT_Firmware lg rudi ;-) "Please note the firmware is customized, based on Espressif SDK source" vorsicht es könnte sich um gebastelte fw handeln ;-) gell holger ;-)
Hi AT Version 0.22 b 1.0 baut auf auf dem SDK 0.9.5 unterstützt neue boot medien ( AT+RST und boottext zu SPI Medium ) ausführliche Infos später mehr sobald die Unterlagen public sind. Flashen wie folgt: boot_v1.2.bin 0x00000 user1.new.bin 0x01000 blank.bin 0x3E000 und!!! blank.bin 0x7E000 Attached ist auch AT Commands V 0.21 sobald die 0.22 vorliegt wird nachgelegt. lg rudi ;-) Quelle: http://bbs.espressif.com/download/file.php?id=213 Thread: http://bbs.espressif.com/viewtopic.php?f=13&t=163#p632 btw: Bedauere sehr dass Espressif die AT Src nicht mehr zur Verfügung stellt. http://bbs.espressif.com/viewtopic.php?f=17&t=184 Bitte prüft in jedem Fall die Quellen der AT Firmware und seid nicht allzu leichtsinnig damit. Jeder Hersteller macht da in Zukunft denke ich mal seine eigene.
Hi Stanzer, Developer Director von Espressif, übergab mir ein paar Unterlagen, u.a. diese Specification in engl in der neuesten Version 4.2 für meine Kontakte in der Führungsspitze, dazu zählt für mich Mikrocontroller.net dazu. Attached 4.2 als pdf in engl. Ich möchte auf ein Statement von mir in Sachen NDA Materialien / Dokumente hinweisen dass sich zwangsweise ergeben hat. Beitrag "Re: ESP8266 - Antenne umbauen ?" Dann zum Thread: auch auf weitere Module, die bei espressif den 'Eignungstest' bestanden haben, http://bbs.espressif.com/viewtopic.php?f=20&t=178 ein paar Bilder attached. ESP-07 auf dem 2.54 shield ( gibt es im Sammelbestellthread ) http://www.ai-thinker.com/ ESP-01 ESP-07 http://www.smartline.com.cn LM01 LM02 LM03 http://www.magictek.net WFM01A WFM02A WFM03A lg rudi ;-)
Hi vor der chinesischen Jahreswendfeier kam eine Beta Version zum SK 0.9.6 heraus, die ein paar Sachen ausmerzt. http://bbs.espressif.com/viewtopic.php?f=7&t=205 Ich hänge das File jetzt nicht mitdran, kann sihc ja jeder von der quelle laden: http://bbs.espressif.com/download/file.php?id=220 Hab es selber jetzt einmal gleladen, die AT Version einmal bisschen umgeschrieben und erfolgreich compiliert. Ich weiss nicht wie es euch geht, aber in der letzten Beta war das nicht so ohne weiteres möglich ohne gewisse Anpassung vorzunehmen. Jetzt läuft es zumindest schon mal sehr gut durch den compiler. Was mich noch beschäftigt - wie ändert ihr jetzt die Revision für den AT-GMR command? Espressif will das ja gerne sehen wenn man anpasst :) einfach at_version.h anlegen und includieren bringt nichts - zumindest jetzt mal bei mir - wie überschreibt ihr die vorhandene feste Revision in der at.a - legalerweise! ;-) Rätsel im Moment noch - vieleicht komm ich ja noch drauf - aber vieleicht gehts durch Mithilfe schneller. lg rudi ;-)
Hallo, hat jemand von euch den ADC erfolgreich in Benutzung ? Bin mit dem SDK 9.2.2 unterwegs und nutze read_ADC(); Wenn ich den direkt im HTTP Request auslese und ausgebe, stimmt der Wert immer, z.b. 111 Jetzt habe ich das Auslesen in einen 5 Sekunden Timer gelegt und bekomme andere, wechselnde Werte. Z.b. bei der gleichen Stellung mal 95, sehr oft 324 und zwischendurch auch mal 111. Beide Varianten beschreiben die gleiche volatile uint16 Variable. Bin irgendwie ratlos... Holger
Markus U. schrieb: > Der ADC funktioniert nur, wenn nicht gesendet/ empfangen wird. Auf deinen Mail Satz von neulich .. > ....tut mir leid, aber ich arbeite nicht für umsonst ;).... kann ich ja nur hoffen, dass du kein Berater Honorar dafür entgegennimmst :) denn die Aussage stimmt so schon gar nicht mal. Holger schrieb nämlich bereits: > Wenn ich den direkt im HTTP Request auslese und ausgebe, stimmt der Wert > immer, z.b. 111 Holger W. schrieb: > Hallo, > hat jemand von euch den ADC erfolgreich in Benutzung ? Ja - kann mich nicht beschweren. > Bin mit dem SDK 9.2.2 unterwegs und nutze read_ADC(); > Wenn ich den direkt im HTTP Request auslese und ausgebe, stimmt der Wert > immer, z.b. 111 > Jetzt habe ich das Auslesen in einen 5 Sekunden Timer gelegt und bekomme > andere, wechselnde Werte. Z.b. bei der gleichen Stellung mal 95, sehr > oft 324 und zwischendurch auch mal 111. Kommt auch darauf an, welchen Sensor du abfragst oder reiner Akkutest. > > Beide Varianten beschreiben die gleiche volatile uint16 Variable. > > Bin irgendwie ratlos... was sagt denn esp8266.com dazu ? ;-) .. .. .. SDK bis 0.9.1 beschrieb bisher, das man das Wifi Modem erst ausschalten muss ( modem-sleep-mode ) wenn eine Messung am TOUT erfolgt, wie auch immer, das war bisher nicht implementiert bis SDK 0.9.1, aber eine Messung war möglich. In der nächsten Revision 0.9.2 wurde dann der API Command adc_read() eingefügt, damit wurden auch sämtliche Vorkehrungen von espressif getroffen: system_adc_read() schaltet das Wifi Modem aus (leichter ~peak ) ruft den adc wert ab und gibt ihn zurück schaltet das Wifi Modem wieder an (leichter peak ) d.h. es kann gar nicht in dieser zeit senden oder empfangen richtige Aussage wäre: Seit 0.9.2 Das Wifi Modem funktioniert nur, wenn adc_read() nicht gerade prozessiert. viel wichtiger wäre auch dabei noch zu beachten: - stabilisierte Stromversorgung - die stabilisierte Referenzspannung ( Kondensator ! ) - alles auf gleichem GND ( kein Potential entstehen lassen! ) ADC_READ funktioniert bisher in meinen Anwendungen tadellos, ich verwende aber kein Lua oder andere Interpreter, sondern das reine SDK, API und compiler. z.B. bei einer hintereinander Abtastung im Takt von 10us bei Spannungsüberwachung jeder der 8 Messungen Erfolgreich im Einsazt mit einem HC4051 der dann 8 Kanäle ermöglicht, bei einer Umschaltung von 15! ns Bei schneller Abtastung von Sensoren / am gleichem Sensor bedarf es zuvor einen Blick ins Datenblatt, nicht alle unterstützen schnelle Abtastung und brauchen für Mittelwert Bildung einen delay von 250 > 1000 ms ( HCT11.. ) In der Zeit ist das Wifi durch den ADC_Read() blockiert ( sleep-modem-mode) ( nicht andersrum markus!) und kann nicht bedient werden, aber es kann der Interrupt für Rx abgehandelt werden, wenn Daten in dieser Pause Zeit der Messung gesendet werden müssen Das unterstütz der API Command system_adc_read() selbst aber nicht! Daher muss man sich eine Routine einfallen lassen, die das abhandelt, wenn gesendet/empfangen werden muss innerhalb grosser Pausen z.B. Bisheriger älterer Beispiel Behelf Ansatz vor SDK 0.9.2
1 | uint16 ICACHE_FLASH_ATTR adc_read(void) { |
2 | uint8 i; |
3 | uint16 sar_dout, tout, sardata[8]; |
4 | |
5 | rom_i2c_writeReg_Mask(0x6C,2,0,5,5,1); |
6 | |
7 | // disable interrupts.. |
8 | SET_PERI_REG_MASK(0x60000D5C, 0x200000); |
9 | while (GET_PERI_REG_BITS(0x60000D50, 26, 24) > 0); //wait r_state == 0 |
10 | sar_dout = 0; |
11 | CLEAR_PERI_REG_MASK(0x60000D50, 0x02); //force_en=0 |
12 | SET_PERI_REG_MASK(0x60000D50, 0x02); //force_en=1 |
13 | |
14 | os_delay_us(2); |
15 | while (GET_PERI_REG_BITS(0x60000D50, 26, 24) > 0); //wait r_state == 0 |
16 | read_sar_dout(sardata); |
17 | |
18 | // sensor abhängig!! |
19 | // Could this be averaging 8 readings? If anyone has any info please comment. |
20 | for (i = 0; i < 8; i++) { |
21 | sar_dout += sardata[i]; |
22 | } |
23 | tout = (sar_dout + 8) >> 4; //tout is 10 bits fraction |
24 | |
25 | // |
26 | // re-enables interrupts |
27 | rom_i2c_writeReg_Mask(0x6C,2,0,5,5,1); |
28 | while (GET_PERI_REG_BITS(0x60000D50, 26, 24) > 0); //wait r_state == 0 |
29 | CLEAR_PERI_REG_MASK(0x60000D5C, 0x200000); |
30 | SET_PERI_REG_MASK(0x60000D60, 0x1); //force_en=1 |
31 | CLEAR_PERI_REG_MASK(0x60000D60, 0x1);//force_en=1 |
32 | return tout; //tout is 10 bits fraction |
33 | } |
hoffe es hilft. moin moin lg rudi ;-)
Mensch Rudi, da haste dich aber ins Zeug gelegt, Danke. Also Randbedingungen: stabile 3,3V mit Spannungsteiler auf 1 Volt an Poti. Direkt am ADC Pin mit 100nF "stabilisiert". Meine Tests sahen so aus, dass ich immer im Request direkt gemessen und ausgegeben habe, das sieht sehr gut aus, nur die letzte Stelle schwankt (normal). Jetzt habe ich den Aufruf in einen SystemTimer gepackt, den rufe ich aller 5 Sekunden auf (Zeit mit LED auch nochmal geprüft). Jetzt sind die Werte plötzlich ganz verschieden, nur "selten" wird der richtige Wert erwischt, ich glaub auch nicht das da immer der Funk dazwischenhaut. Mit dem 9.2 bin ich mir jetzt gar nicht so sicher. Ich habe eine adc.c, in der die Routine von dir oben hinterlegt ist. Ich hab jetzt mal deine Routine oben reinkopiert, gleiches falsches Ergebnis. system_adc_read ist in der user_interface.h Datei vorhanden, damit kann aber nicht compiliert werden(undefined reference to system_adc_read). Die Variable die den Messwert bekommt ist volatile uint16. Im Forum von esp8266.com hab ich auch eine Anfrage laufen... Holger
Hallo Holger, du schreibst zwar 0.9.2.2 ok - aber welche SDK Basis verwendest du zur Firmware Erstellung bzw hast du die 0.9.2.2 gepatcht oder ist das eine fertige AT Firmware von ai-thinker mit adc_read() als AT Command ? Hatte anfangs das Problem, dass es niergends dokumentiert war, wie das Wifi Modem auszuschalten ist. Espressif schweigt heute noch dazu. http://bbs.espressif.com/viewtopic.php?f=7&t=34#p120 Die adc.c sowie die Header adc.h braucht man ab 0.9.2 + patch nur bedingt - http://bbs.espressif.com/viewtopic.php?f=7&t=16 Der Übergang Behelf "test function" war dann in der lib "libphy.a" welche dann mit "test_tout" lief und einen Wert zwischen 0 und 1024 (1024 ja schon richtig ) für die 0-1v, espressif wollte nicht die abhandlung für das wifi modem preis geben - wie auch immer; test_tout(0) war dann ohne ausgabe am uart ( reiner return der function ) und test_tout(1) war dann mit uart ausgabe. In der neuen SDK floss dann nur der return der function ein.
1 | Uint16adc_read(void) |
2 | // war bisher - ( über die dir auch bekannten adc.c / adc.h ) |
wichtig beim patch sofern du den noch nicht eingebaut hast, sind dann auch verschiedene Einbindungen im Makefile und vorgehensweise: 1.Ersetzen der libphy.a im sdk/lib ordner 2.Hinzügen der libpp.a in den sdk/lib ordner 3.Ändern Makefile SDK/APP/MAKEFILE 4.und hinzufügen "-lpp \" wie hier -lgcc -lhal -lpp -lphy -lnet80211 -llwip -lwpa -lmain -lssc -lssl und ab 0.9.3
1 | Uint16 system_adc_read(void) |
war das dann auch schon geschichte. http://bbs.espressif.com/viewtopic.php?f=5&t=53 und "system_adc_read()" wurde in der API aufgenommen. Dadurch brauchte man adc.c.nicht mehr und konnte es löschen. Hoffe es hilft. lg rudi ;-)
Hallo Rudi, habe eben mal den Patch oben gemacht und es scheint zu funktionieren. Ich verwende den test_out(0) und die Werte sind stabil. Muss das mal langsam angehen auf neuer Version umzustellen, aber bisher war ich recht zufrieden. Vielen Dank ! Holger
V. K. schrieb: > Ronny S. schrieb: >> Dirk K. schrieb: >>> Ich sehe zudem nicht, wo meine Einwürfe aggressiv wären. Die sind >>> schlicht emotionslos sachlich und ohne viel Schmuck. >> >> Also das ist ja nun echt ein Witz,dann schau Dir mal Deine ersten >> Beiträge hier in diesem Thread an, wie arrogant und aggressiv Du >> wirklich bist. > > Da kann man Ronny nur zustimmen. > > Der Stress oben wurde ja durch Dirk selber verursacht mit seiner art und > weise. > > Aber ist ja auf den ersten Seiten für aller lesbar wie der gute Dirk > wirklich Tickt. > > mfg OT: Tatsächlich, geschickte Selbstgespräche, auf dem ersten Blick glaubt man es kaum. Seltsam. Thread: Wer kann etwas zum neuen Espressif Modul und dessen Evalboard sagen? Aliexpress führt es in weiss aber ohne Beschreibung.
News? schrieb: > Wer kann etwas zum neuen Espressif Modul und dessen Evalboard sagen? > Aliexpress führt es in weiss aber ohne Beschreibung. Ein neues Modul, klingt interessant... Könntest du es bitte verlinken?
Evtl. dies gemeint? http://de.aliexpress.com/item/ESP8266-full-IO-serial-WiFi-module/32290998969.html
Hallo, habe eine Frage zum Datendurchsatz des ESP8266 bei TCP. Mit meinem Aufbau ESP8266 <-> AP(Speedport) <-> PC berägt der Datendurchsatz 1700 Byte/s. Es wurden Testdaten der Länge 512 Byte gesendet. Hat jemand eine Konfiguration mit einem deutlich besseren Datendurchsatz? Gruß schwiete
Das ESP-01 Modul mit der AT-Firmware 0.9 übertrag maximal 10 Pakete pro Sekunde mit jeweils maximal 1024 Bytes Nutzdaten. Bei deiner Paketgröße sollten maximal 5kB/sec zu erwarten sein. 1,7kB/sec ist da schon enttäuschend.
Wenn du auf einer Verbindung mehrere Pakete nacheinander sendest, könnte der "nagle" Algorithmus von Windows störend wirken. Windows erwartet, viele Pakete hintereinander zu empfangen, ohne jedes einzelne mit ACK zu bestätigen. Viele mini IP-Stacks (auch der vom ESP Modul) erwarten jedoch ein ACK für jedes einzelne Paket, was zu 200ms Verzögerung zwischen jedem Pakt führt. Wenn du das Windows Programm selbst schreibst, dann such mal nach einer Möglichkeit, die option TCP_NODELAY zu setzen, die schaltet diesen Delay nämlich ab. Früher konnte man das auch mal durch einen Registry Eintrag beeinflussen, aber das geht seit Windows 7 leider nicht mehr. https://msdn.microsoft.com/de-de/library/system.net.sockets.tcpclient.nodelay%28v=vs.110%29.aspx Linux ist auch betroffen, aber nicht so stark, weil Linux einen kürzeren Timeout hat. Alternativen: a) Benutze UDP Protokoll statt TCP b) Baue für jedes Paket eine neue Verbindung auf, geht schneller als 200ms lang zu warten.
ich habe Daten über eine UDP Verbindung geschickt und komme auch nur auf 5 Pakete/s. Ein solches Limit kommt nicht vom UDP und muss irgendwo tief in dem Modul stecken, im Code aus dem SDK habe ich so ein delay nicht gefunden. Im Espressif Forum gibt es zum TCP eine ähnliche Meldung, ebenfalls das 200 ms Pause zwischen Paketen ist. Bei kleinen Paketen kann der Nagle Algorithmus das verursachen, wenn der Gegner die Daten erst nach 200 ms quittiert schickt das ESP vorher keine neuen (nicht genug Speicher für grösseren Buffer). Es hilft wohl nur die Pakete auf die max Grösse von 2048 Byte zu bringen, die grosse Latenzzeit bleibt aber.
schwiete schrieb: > Hat jemand eine > Konfiguration mit einem deutlich besseren Datendurchsatz? Ich habe einen selbstgeschriebenen Webserver (http) und übertrage ein ca. 7kB JPG (8 Pakete a <= 1kB) in ca. 1 Sekunde (gestoppt von drücken der F5 Taste bis die Website geladen ist). Konfiguration: ESP-12 ---WLAN--- Netgear DGN2200 ---WLAN-- Win 8.1 Notebook
:
Bearbeitet durch User
Hallo, vielen Dank für die Tipps. UDP geht bei mir mit 4000Byte/s, schon eher zu gebrauchen. Die Connection für jedes Paket aufzubauen hat es leider nicht gebracht. Das NO_DELAY bekomme ich ein meiner steinalten Delphi Komponente auch nicht so leicht eingebaut. Möchte demnächst auf Delphi XE umsteigen um damit auch SW für iPhone und Android zu bauen. Sind bei iPhone und Android ähnliche Probleme zu erwarten? Was hat denn wohl User tinman (Datum: 26.10.2014 19:01) gemacht um auf so sagenhaft Datenraten zu kommen? Gruß schwiete
Hi, hat schon mal wer n FT800 dran angeschlossen und zum Laufen gebracht? Stell mir vor, mit den Modulen n kleines Mesh Netzwerk auf zu bauen. Von FHEM kontrolliert und mit dem FT800 einzelne Mesh-Knoten mit LCD und Touch einzubinden. Nur so als Idee ;) Frank
Hallo erstmal :) Es gibt viele News! a) die SPI ID Daten sind jetzt über das Download Tool abrufbar b) RF kann konfiguriert werden, d.h.i.K. "siehe Bild".. c) Multidownload für mehrere Devices gleichzeitig d) TOUT_ADC_EN / TOUT_VDD_EN kann gewählt werden e) TEST MODE ( noch deaktiv ) für verschiedene MHz Frequenzen ( Kanäle ) f) Flash Size wurde auf max ausgebaut g) ... viele weitere Sachen Info1: http://bbs.espressif.com/viewtopic.php?f=5&t=433 Info2: http://bbs.espressif.com/viewtopic.php?f=7&p=1660#p379 lg rudi ;-)
MP3 Decoder mit dem ESP8266 Schönen Sonntag, es gibt wieder ein paar News, Der ESP8266 goes MP3 320 Kbit. Der Code ist auf Github. Bevorzugt werden weitere zwei IC Bausteine, - SPI RAM 128 KByte von Microchip 23LC1024 - I2C IC MP3 Decoder wie den ES9023 ( aber auch andere gehen ) . Beschreibung, Pin Belegung usw. findet ihr im Readme. I2S Sound output and MP3 decoding in an ESP8266 http://bbs.espressif.com/viewtopic.php?f=15&t=553&p=2069#p2069 Code: https://github.com/espressif/esp8266_mp3_decoder lg rudi ;-)
Nicht schlecht, darauf hab ich schon irgendwie gewartet. Da muss ich mir mal die beiden Chips besorgen. Den RAM zu verdrahten wird wohl eine Herausforderung (von einem ESP 03/12 Modul aus). Holger
Hallo Holger moin moin .. die Geschichte funktioniert auch ohne den beiden zusätzlichen chips. ( Kopfhörer, Line in in eine StereoAnlage ) einfach den GPIO02 an beide Kanäle L und Rechts, sowie den anderen Pol (GND ) auf RX legen. Kannst heute alles noch sofort ausprobieren: Trival hab ich mal einen Windows Stream Server angehangen, nichts besonderes, ist gestern Nacht schnell entstanden ;-) und noch lange nicht ausgereift, ( Verbindungs - Fehler werden noch nicht alle abgefangen ) aber zum probieren reicht es: Du kannst auch IIS oder Apache oder.. verwenden, die Anforderung vom ESP ist "HTTP://192.168.1.112/031.mp3" Der trivale Server wartet auf ein Request ( egal welcher, wenn einer reinkommt gibt er den Stream zurück ) je nach makierten "File" Streamt er dann die Datei zurück. example. Die Dateien sind bei mir ( pascal ) case choiceidx of 0: Filename := "031.mp3" 1: Filename := "032.mp3" 2: Filename := "033.mp3" 3: Filename := "034.mp3" end; Wenn Du das mal ausprobieren willst, dann in das Verzeichnis wo der Server liegt, 4 mp3 Files kopieren, so benennen ( 031.mp3 ...034.mp3 ) und jetzt in dem Fall mit dem Example, sind es dann wie in der Groupbox benannt. wenn der ESP dann connected hat ( connected in dem Beispiel auf 192.168.1.112 ) , und der Stream läuft, dann setze auf einen anderen Groupeintrag, z.b. 032.mp3, der nächste Request bekommt dann 032.. usw. Dieses Auswählen wird später autark vom ESP gemacht (idx wird mitgesandt ) und/oder über AT oder einem TCP Server der auf dem ESP läuft realisiert.. ( gibt es schon weitere Sachen, aber mehr erst später ) . Connecte einen zweiten ESP. der bekomt dann den anderen Eintrag usw.. oder resete den ersten ESP, dann bekommt der den anderen Eintrag. Immer der Steam wird gesendet, der zum Request Zeitpunkt makiert ist. Um das auszuprobieren auf die schnelle: Der ESP, hab ich jetzt mal so eingeschrieben in die FW , will zu
1 | SSID: MIKROCONTROLLERNET |
2 | PWD : MIKROCONTROLLERNET |
Der WIFI AP sollte dann für den WIFI Server und dem ESP so erreichbar sein. ( * Anmerkung ) 4 mp3 Files , bennen nach 031.mp3 ... 034.mp3 das Serverfile in ein Verzeichnis kopieren. die PC Wifi IP auf 192.168.1.112 stellen sodass der Server auf 192.168.1.112 lauschen kann. Den Server starten und online klicken, wenn er bereit ist, dann wird es grün. 1. Test Windows Media Player starten Link ( ohne weitere Documente ) aufrufen: http://192.168.1.112 der Server sollte jetzt das File streamen und der Media Player spielen. 2. Test ESP flashen Blank.bin auf Adresse 0x7E000 Blank.bin auf Adresse 0xFE000 0x00000.bin auf Adresse 0x00000 0xA0000.bin auf Adresse 0xA0000 Das neueste ESP Flash Tool holen . Aktuell V 1.2 ESP01..03..07..12 usw, also die erste Generation mit den noch kleinen SPI Flash die es bisher gab und die du normalerweise auch hast, Einstellen auf Flash Size 8 mbit ( ja schon richtig ) , ansonsten alles Standard (26M, 40MHz, QIO) (ESP-12 / ESP-01 ) habe ich jetzt für das verwendet. Start Fash. Eine Serielle Konsole ( TX vom ESP auf RX usb2Seriell adapter ) und Com Port öffnen ( 115200 ) ESP reset Knopf, und die Logs erscheinen auf dem Terminal ..scannt Wifi und sucht eingetragene SSID: Micorocontroller ..findet und verbindet sich damit ..versucht den Server zu kontaktieren ( 192.168.1.112 ) ..macht einen Request und buffert sich die MP3 Happen und ;-) "Musik liegt in der Luft" Viel Spass!!! lg rudi ;-) ( *Anmerkung ) Einen zweiten ESP nehmen, Server aufbauen, eingehendes ADC/PWM ( Mikro ) codieren ( MP3 ) und auf request streamen ( BABYphone ) . Gegensprechanlage .. ... Hoffe man kommt zurecht mit der schnellen Beschreibung. Hab heute ( die Woche ) leider weniger Zeit. Das Resultat wird eine Ergänzung.
Hallo Rudi, ich hab es auf Anhieb auch geschafft das Paket von hier https://github.com/espressif/esp8266_mp3_decoder zu compilieren (ok... war nicht weiter schwer) und dort das Webradio in Betrieb genommen. Kopfhörer dran und ja, erste Hörprobe war ok. Muss jetzt mal testen wie es ohne den RAM auskommt (evtl. stottern) und wie die Qualität ist Holger
Ich hab gestern mal etwas getestet. Mein Radiosender mit 128kbps hat mehrfach pro Minute kurze Buffer-Unterläufe, das macht sich mit Aussetzern bemerkbar. Die Qualität ist doch recht bescheiden, alles sehr verrauscht. Aber trotzdem eine tolle Leistung, das so aus dem Chip zu bekommen. Ich bestelle mir jetzt mal den RAM, den kann man ja auf den bestehenden Flash huckepack auflöten und nur CS zum GPIO führen. Den DAC ES9023 hab ich so richtig nicht gefunden ausser bei Ali glaub ich. Es wird zwar beschrieben es funktionieren auch andere, aber da hab ich überhaupt keine Erfahrungen. Holger
https://github.com/espressif/esp8266_mp3_decoder Moin moin, Es ist nun eine bessere Version online, die besser buffert, auch wurde die Pin Beschreibung überarbeitet. Ein Bug wurde beseitigt, und es kann sich echt sehen (hören) lassen. Schaut mal auf You Tube, ESP8266 MP3, Tobias Mädel hat einen anderen DAC benutzt, und läuft sichtlich auch gut. DAC TDA 1543 ( leider schon lange abgekündigt ) https://www.youtube.com/watch?v=PqVXMLRurUs https://www.youtube.com/watch?v=JsRsNDIBQsM lg rudi ;-) ps: Wer andere DAC's probiert hat, bitte Ergebnis/Bezugsquellen posten, den PI RAM Microchip 23LC1024 scheint es auf die schnelle 'nur' bei dem grossen C zu geben, wer günstigere Quellen kennt, bitte posten, danke!
http://bbs.espressif.com/viewtopic.php?f=5&t=592 Sorry for Push, das hat er mir abgeschnitten im PS. Für alle die auch darauf gewartet haben: beta version mesh based esp_iot_sdk_v1.1.0 steht schon seit Freitag online. lg rudi ;-)
Hi kurze Info und Verweis auf den Start Thread. Beitrag "ESP8266 SD Card / AES256" Die Lib und Infos gibts im Thread. Doku und Videos folgen. lg rudi ;-)
Kurze pers. Info und Scherzfrage aus dem Mailverkehr: Wegen der Problematik, den Code auch schützen zu können, wurde von einem ESP8266 UNIT Hersteller über den Support von Espressif in Erfahrung gebracht, dass die Jungs vom Espressif Team an einem Ansatz arbeiten und in 3 Monaten mehr darüber berichten und von ihm so mitgeteilt. Es soll u.a. die Idee mit SDHC aufgegriffen worden sein und eine SDIO Version mit Code Protection und Booten von SD Card heraus gebracht werden, vermutlich wird es dann auch neue Module 'zur Weihnachtszeit' geben oder die 'alten' können wiederverwendet werden. Das ist aber reine Spekulation - da keine Infos von Espressif fliessen. http://bbs.espressif.com/viewtopic.php?f=49&t=965 http://bbs.espressif.com/viewtopic.php?f=6&p=3264#p3264 Der ESP8266 UNIT Hersteller ( seine Worte millionenfache Auflage ) will aber nicht so lange warten; er will Details haben, die er auch honorieren will, es gibt noch einen weiteren , ein "payment" Anbieter, der sich dafür interessiert. *) Beachtet bitte beim neuem ESP-12 mit 32MBit, dass es zwei Versionen gibt, die eine (12D) unterstützt den SDIO die andere (12E) nicht, Unterschiede sieht man in einem Hersteller Handbuch, Seite wurde attached. *) hoffe, dass sowas nicht unter Landesverrat steht ? - oder doch ? ;-)
R. W. schrieb: > die eine (12D) unterstützt den SDIO die andere (12E) nicht Entweder so oder anders rum: Die Fußnote heißt vielleicht, dass die Pins nicht als GPIO genutzt werden können, weil sie für SD_DATA2 und SD_DATA3 benötigt werden.
Torsten C. schrieb: > R. W. schrieb: >> die eine (12D) unterstützt den SDIO die andere (12E) nicht > > Entweder so oder anders rum: daher aufpassen! das thema war im mai schon bekannt. ESP12 ESP12D ESP12E > Die Fußnote heißt vielleicht, dass die Pins > nicht als GPIO genutzt werden können, weil sie für SD_DATA2 und SD_DATA3 > benötigt werden. ◦Based on ESP8266 Wifi IC, a new version of ESP-12. .............................^^^^ ◦Add extra I/Os and SPI pin interfaces: MTDO, MTDI, SD_3, MTMS, MTCK, SD_2 (GPIO10, GPIO9, CLK, CS, DI, DO) ◦The rest foot price and size remains same with ESP-12, Fake - Real - noch besser erklärt http://www.esp8266.com/viewtopic.php?f=5&t=3163
r_u_d_i schrieb: > MP3 Decoder mit dem ESP8266 @Rufus T. Firely @Bernd z. Information: ESP8266 MP3 Eintrag vom Juni 2015 - .. > > Schönen Sonntag, > > es gibt wieder ein paar News, > > Der ESP8266 goes MP3 320 Kbit. Der Code ist auf Github. > Bevorzugt werden weitere zwei IC Bausteine, > - SPI RAM 128 KByte von Microchip 23LC1024 > - I2C IC MP3 Decoder wie den ES9023 ( aber auch andere gehen ) . > > Beschreibung, Pin Belegung usw. findet ihr im Readme. > > I2S Sound output and MP3 decoding in an ESP8266 > > http://bbs.espressif.com/viewtopic.php?f=15&t=553&p=2069#p2069 > > Code: > > https://github.com/espressif/esp8266_mp3_decoder > > lg > rudi ;-)
schwiete schrieb: > schwiete Hallo, wenn man die Paketgroesse auf 2048 Byte vergroessert erhoeht sich die Uebertragungsgeschwindigkeit von 2290 Byte/s auf 494611 Byte/s. Sieht so aus als wenn erst mit der Ueberschreitung der Standard TCP Paketlaenge von 1518 Byte der Nagle Algorithmus deaktiviert wird. Gruß schwiete
Beitrag #6878805 wurde von einem Moderator gelöscht.
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.