Hallo alle zusammen, nachdem ich mich jetzt endlich einmal mit den ESP8266 WLAN Modulen beschäftigen konnte habe ich auf die Schnelle ein kleines Projekt realisert, ein per WLAN steuerbares Relais. Das in Bascom geschriebene Programm ist extrem einfach gehalten, es unterstützt noch keine Verbindungen von mehreren Clients, wobei ich dies bei einem Relais auch als nicht sinnvoll ansehe ;) Nachdem man eine Verbindung zum Modul per WLAN hergestellt hat kann man folgende Befehle per UDP senden: REL=? : Abfrage des Relais Status REL=0 : Relais aktivieren REL=1 : Relais deaktivieren SAV=? : Abfrage ob der Relais Status im EEPROM gespreichert wird SAV=0 : Relais Status nicht im EEPROM speichern SAV=1 : Relais Status im EEPROM speichern Speichert man den Relais Status im EEPROM wird der letzte Status wieder hergestellt wenn zum Beispiel der Strom ausfällt oder der Watchdog zuschlägt. Eine LED wird nach erfolgtem Start aktiviert, eine andere signalisert den Relais Status. Über einen Taster kann man das Relais NOT abschalten (zum erneuten aktivieren muss die Spannung kurz vom Board getrennt werden. Benutzt habe ich einen ATTINY44, es werden folgende Ports/Pins genutzt: PORT A2 -> ESP8266 RST PORT A4 -> System Status LED PORT A5 -> Relais PORT A7 -> Not-Aus Taster (gegen GND mit internem PullUp aktiviert) PORT B2 -> Relais Status LED Die Verbindung zwischen ATTINY und ESP8266 Modul erfolgt mit 9600 Baud (Software-Uart), 8 Daten-Bits, None Parity und 1 Stop-Bit. Zum Steuern nutze ich eine Basic4Android App für mein Handy. Die Platinen habe ich bei OSH-Park machen lassen und als Spannungsversorgung nutze ich ein 5V / 500mA Steckernetzteil. Bei Interesse kann man Platinen bei mir vorbestellen, wenn ich die nächsten bestelle gebe ich dann jedem der sich meldet Bescheid. Einfach eine PN an mich. Das ESP8266 Modul habe ich einfach aufgesteckt, als Firmware nutze ich die V0922 von ED http://www.electrodragon.com/w/Wi07c . Hoffe es gefällt... Gruß Thomas P.S. Das Bild zeigt noch eine ältere version mit nur einer LED für den Relais-Status.
:
Bearbeitet durch User
1 | ' ESP8266 WiFi-Relais V2.0 C 2014 by Thomas Heldt |
2 | ' ----------------------------------------------- |
3 | ' Frei zur nicht kommerziellen Nutzung |
4 | |
5 | ' Der ATTINY44 wird genutzt |
6 | $regfile = "Attiny44.dat" |
7 | |
8 | ' Ein externer 7,3728Mhz Quarz wird genutzt |
9 | $crystal = 7372800 |
10 | |
11 | ' Variablen dimensionieren |
12 | Dim Uartchar As Byte |
13 | Dim Uartstring As String * 16 |
14 | Dim Eepromchar As Byte |
15 | Dim Savevalues As Bit |
16 | |
17 | $hwstack = 50 |
18 | $swstack = 50 |
19 | $framesize = 50 |
20 | |
21 | Config Watchdog = 2048 |
22 | |
23 | ' Konstanten festlegen |
24 | Const Wlan_kanal = 1 |
25 | Const Server_port = 8080 |
26 | Const Wlan_ssid = "WIFI-RELAIS" |
27 | Const Wlan_passwort = "12345678" ' Min. 8 Stellen/Zeichen |
28 | |
29 | ' 3 Sekunden warten bis sich Spannung stabilisiert hat |
30 | Wait 3 |
31 | |
32 | ' PIN A2 als Ausgang für den Reset des ESP8266 konfigurieren |
33 | Config Pina.2 = Output |
34 | |
35 | ' PIN A2 auf Low um ESP8266 im Reset zu halten |
36 | Reset Porta.2 |
37 | |
38 | ' PIN A4 als Ausgang für System-Status-LED konfigurieren |
39 | Config Pina.4 = Output |
40 | |
41 | ' PIN A.4 auf High um System-Status-LED abzuschalten |
42 | Reset Porta.4 |
43 | |
44 | ' PIN A5 als Ausgang für das Relais konfigurieren |
45 | Config Pina.5 = Output |
46 | |
47 | ' PIN A7 als Eingang für den Taster konfigurieren (Relais Not-Abschaltung) |
48 | Config Pina.7 = Input |
49 | |
50 | ' PullUp für PIN A7 einschalten, Taster geht gegen GND |
51 | Set Porta.7 |
52 | |
53 | ' PIN B.2 als Ausgang für Relais-Status-LED konfigurieren |
54 | Config Pinb.2 = Output |
55 | |
56 | ' Pins für Software UART Schnittstelle festlegen, |
57 | ' Schnittstelle wird von BASCOM per Software realisiert |
58 | Open "ComA.0:9600,8,n,1" For Output As #1 |
59 | Open "ComA.1:9600,8,n,1" For Input As #2 |
60 | |
61 | ' Lese Speicher-Status aus EEPROM aus |
62 | Readeeprom Eepromchar , 1 |
63 | |
64 | If Eepromchar = 1 Then |
65 | Savevalues = 1 |
66 | |
67 | ' Lese letzten Relais-Status aus EEPROM aus |
68 | Readeeprom Eepromchar , 2 |
69 | |
70 | If Eepromchar = 1 Then |
71 | ' Relais einschalten |
72 | Set Porta.5 |
73 | |
74 | ' Relais-Status-LED einschalten |
75 | Set Portb.2 |
76 | Else |
77 | ' Relais abschalten |
78 | Reset Porta.5 |
79 | |
80 | ' Relais-Status-LED abschalten |
81 | Reset Portb.2 |
82 | End If |
83 | Else |
84 | Savevalues = 0 |
85 | |
86 | ' Relais abschalten |
87 | Reset Porta.5 |
88 | |
89 | ' Relais-Status-LED abschalten |
90 | Reset Portb.2 |
91 | End If |
92 | |
93 | ' PIN A2 auf High um ESP8266 zu starten |
94 | Set Porta.2 |
95 | |
96 | Waitms 500 |
97 | |
98 | Do |
99 | Uartchar = Inkey(#2) |
100 | Loop Until Uartchar = 0 |
101 | |
102 | ' ESP8266 konfigurieren als AP |
103 | Print #1 , "AT+CWMODE=2" |
104 | |
105 | Waitms 100 |
106 | |
107 | Do |
108 | Uartchar = Inkey(#2) |
109 | Loop Until Uartchar = 0 |
110 | |
111 | ' ESP8266 so konfigurieren das immer mehrere Verbindungen möglich sind (wird zum starten des Servers benötigt) |
112 | Print #1 , "AT+CIPMUX=1" |
113 | |
114 | Waitms 100 |
115 | |
116 | Do |
117 | Uartchar = Inkey(#2) |
118 | Loop Until Uartchar = 0 |
119 | |
120 | ' ESP8266 AP konfigurieren (SSID, Passwort, Kanal und Verschlüsselung) |
121 | Print #1 , "AT+CWSAP=" ; Chr(34) ; Wlan_ssid ; Chr(34) ; "," ; Chr(34) ; Wlan_passwort ; Chr(34) ; "," ; Wlan_kanal ; ",4" |
122 | |
123 | Waitms 100 |
124 | |
125 | Do |
126 | Uartchar = Inkey(#2) |
127 | Loop Until Uartchar = 0 |
128 | |
129 | ' ESP8266 Server starten |
130 | Print #1 , "AT+CIPSERVER=1," ; Server_port |
131 | |
132 | Waitms 100 |
133 | |
134 | Do |
135 | Uartchar = Inkey(#2) |
136 | Loop Until Uartchar = 0 |
137 | |
138 | 'System-Status-LED aktivieren (System bereit) |
139 | Set Porta.4 |
140 | |
141 | Start Watchdog |
142 | |
143 | ' Die Hauptschleife wird nie beendet |
144 | Do |
145 | Do |
146 | Uartchar = Inkey(#2) |
147 | |
148 | Reset Watchdog |
149 | |
150 | 'Relais Not-Abschaltung |
151 | If Pina.7 = 0 Then |
152 | Waitms 50 |
153 | |
154 | If Pina.7 = 0 Then |
155 | Reset Porta.5 |
156 | Reset Portb.2 |
157 | |
158 | If Savevalues = 1 Then |
159 | Eepromchar = 0 |
160 | Writeeeprom Eepromchar , 2 |
161 | End If |
162 | |
163 | Stop Watchdog |
164 | |
165 | Do |
166 | Loop |
167 | End If |
168 | End If |
169 | Loop Until Uartchar = 0 |
170 | |
171 | Do |
172 | Uartchar = Inkey(#2) |
173 | |
174 | Reset Watchdog |
175 | |
176 | 'Relais Not-Abschaltung |
177 | If Pina.7 = 0 Then |
178 | Waitms 50 |
179 | |
180 | If Pina.7 = 0 Then |
181 | Reset Porta.5 |
182 | Reset Portb.2 |
183 | |
184 | If Savevalues = 1 Then |
185 | Eepromchar = 0 |
186 | Writeeeprom Eepromchar , 2 |
187 | End If |
188 | |
189 | Stop Watchdog |
190 | |
191 | Do |
192 | Loop |
193 | End If |
194 | End If |
195 | Loop Until Chr(uartchar) = "+" |
196 | |
197 | Uartstring = "" |
198 | |
199 | Do |
200 | Uartchar = Inkey(#2) |
201 | |
202 | If Uartchar > 0 Then |
203 | Uartstring = Uartstring + Chr(uartchar) |
204 | End If |
205 | Loop Until Len(uartstring) > 12 |
206 | |
207 | Uartstring = Ucase(uartstring) |
208 | |
209 | If Instr(uartstring , "REL=?") > 0 Then |
210 | Print #1 , "AT+CIPSEND=0,5" |
211 | |
212 | Waitms 250 |
213 | |
214 | Print #1 , "REL=" ; Str(pina.5) |
215 | |
216 | Waitms 100 |
217 | Elseif Instr(uartstring , "REL=0") > 0 Then |
218 | Reset Porta.5 |
219 | Reset Portb.2 |
220 | |
221 | If Savevalues = 1 Then |
222 | Eepromchar = 0 |
223 | Writeeeprom Eepromchar , 2 |
224 | End If |
225 | |
226 | Print #1 , "AT+CIPSEND=0,5" |
227 | |
228 | Waitms 250 |
229 | |
230 | Print #1 , "REL=0" |
231 | |
232 | Waitms 100 |
233 | Elseif Instr(uartstring , "REL=1") > 0 Then |
234 | Set Porta.5 |
235 | Set Portb.2 |
236 | |
237 | If Savevalues = 1 Then |
238 | Eepromchar = 1 |
239 | Writeeeprom Eepromchar , 2 |
240 | End If |
241 | |
242 | Print #1 , "AT+CIPSEND=0,2" |
243 | |
244 | Waitms 250 |
245 | |
246 | Print #1 , "REL=1" |
247 | |
248 | Waitms 100 |
249 | Elseif Instr(uartstring , "SAV=?") > 0 Then |
250 | Print #1 , "AT+CIPSEND=0,5" |
251 | |
252 | Waitms 250 |
253 | |
254 | Print #1 , "SAV=" ; Str(savevalues) |
255 | |
256 | Waitms 100 |
257 | Elseif Instr(uartstring , "SAV=0") > 0 Then |
258 | Savevalues = 0 |
259 | |
260 | Eepromchar = 0 |
261 | Writeeeprom Eepromchar , 1 |
262 | |
263 | Print #1 , "AT+CIPSEND=0,5" |
264 | |
265 | Waitms 250 |
266 | |
267 | Print #1 , "SAV=0" |
268 | |
269 | Waitms 100 |
270 | Elseif Instr(uartstring , "SAV=1") > 0 Then |
271 | Savevalues = 1 |
272 | |
273 | Eepromchar = 1 |
274 | Writeeeprom Eepromchar , 1 |
275 | |
276 | Print #1 , "AT+CIPSEND=0,5" |
277 | |
278 | Waitms 250 |
279 | |
280 | Print #1 , "SAV=1" |
281 | |
282 | Waitms 100 |
283 | Else |
284 | Print #1 , "AT+CIPSEND=0,5" |
285 | |
286 | Waitms 250 |
287 | |
288 | Print #1 , "REL=" ; Str(pina.5) |
289 | |
290 | Waitms 100 |
291 | End If |
292 | Loop |
293 | |
294 | End |
Wenn jemand den Code erweitert, oder verbessert, wäre ich immer an einer Nachricht interessiert. Wer Fragen hat einfach eine PN. Gruß Thomas
:
Bearbeitet durch User
Hier noch 2 Screenshots der sehr einfachen Android App. Die App fragt beim Start den Status per REL=? ab und wartet nach jeder Aktion auf eine Antwort vom Modul. Bei Interesse am Basic4Android Programm bitte einfach eine PN! Gruß Thomas
:
Bearbeitet durch User
Hallo Lars, ja es gab etwas was mich fast zur Verzweiflung getrieben hat. Wenn man zu schnell den zu sendenden Text an das ESP8266 sendet oder zwischendurch ein weiterer Connect kommt, kommt es aus der busy.. Meldung nicht mehr raus. Ich habe es dann über die (eigentlich unschöne Lösung) Waitms Verzögerungen mit genügend Spielraum für 9600 Baud gemacht. Gruß Thomas P.S. Aktuell baue ich gerade ein ATMEGA324/644/1284 Baseboard auf, auf dieses Board kann man Zusatzboards (SD-Card mit RTC, Sensorboard mit DHT22 und BMP180 z.B.) aufstecken. Erste Muster laufen schon, nur der schon oben genannte busy.. Bug macht mir noch Probleme. Bilder etc. folgen in Kürze.
:
Bearbeitet durch User
Hallo, also das ist ja Super und auch noch in Basic finde ich auch Super. Gruß Ronny
@Thomas H. Im uC-Unterforum gibt es einen Thread zu diesen Modulen. Da wird bei Problemen gern geholfen.
Tolles Projekt! Wenn man das ESP Modul noch um 90 Grad drehen könnte, liesse sich das gesamte Modul noch besser irgendwo einbauen. Die Printantenne wäre dann zwar von der Hauptplatine abgeschattet, man müsste mal testen, wieviel Einfluss auf die Reichweite diese Abschattung hätte.
@Lars danke für den Hinweis, ich stehe schon in regem Kontakt zu Rudi da mich die Module sehr interessieren. Leider hatte ich noch keine Zeit mir für das SDK eine Entwicklungsumgebung aufzusetzen, daher nutze ich zur Zeit nur die im Web verfügbaren Firmwares und "umschiffe" die Bugs so gut es geht.
:
Bearbeitet durch User
Noch ein Hinweis an alle die es nachbauen wollen, die aktuelle Platinenversion ist aufgrund der Leiterbahnabstände unter dem Relais nicht für Netzspannung geeignet!!! Ich sitze noch an einer Version mit der man Netzspannung schalten kann, dann sicher mit Sicherung, Varistor und AC/DC Wandler. Anbei ein Vorabbild der Platine, ich werde da das ESP-03 Modul mit keramik-Antenne nutzen. Zwischen der Netzspannung und den Signalen am Relais werden dann Ausbrüche sein. Meinungen hierzu gerne per PN an mich. Gruß Thomas
:
Bearbeitet durch User
@Guest Ich habe eine Version mit ESP-03 in Planung da wird die Platine nur etwas größer aber nichts ragt mehr über den Rand ;) In der eingebauten version habe ich ein kurzes Flachbandkabel zwischen Modul und Platine so kann das Modul in einem Gehäuse frei plaziert werden. Deine Lösung wäre auch kein Problem da ich nicht davon ausgehe das die Abschattung so etrem wäre. Gruß Thomas
@Ronny Habe deine PN alle bereits beantwortet, schau mal in den Spam-Ordner ;) Gruß Thomas
Ich finde das Projekt ja gut. Aber: Einen 80MHz SOC mit einem minimalen 8Bit Microcontroller anzusteuern, den man auch noch mit BASCOM verkrüppelt, verdient einen Preis besonderer Art. Ich weiss nur nicht welchen. Außerdem: Wenn schon eigene Platine, warum dann noch in THT?
Warum eigentlich ein Quarz, wenn eh nur ein 9600baud Soft-UART genutzt wird?!?
@Darth Vader Ich habe auf die Schnelle die Teile genutzt die ich hier hatte, daher THT. Und es ist halt für mich in meinem Alter und mit meinen Augen auch besser zu löten ;) Sicher hätte der ESP8266 alleine auch gereicht aber ich habe noch keine Möglickeit die Firmware anzupassen, Rudi im anderen Thread hat ja bereits einen Webserver drauf gepackt und die GPIO direkt angesteuert, aber solange ich hier noch keine Möglichkeit habe das selber zu machen mache ich es halt so wie es schnell geht. Mich bringen jetzt die paar Cent für den ATTINY nicht um und da es ja funktioniert reicht mir das. Wenn jemand die Software in C umsetzen will, gerne, ich lerne immer gerne was dazu. Bascom geht mir halt einfacher von den Fingern. Gruß Thomas
Darth Vader schrieb: > Ich finde das Projekt ja gut. Das ist doch gut, wenn Du es gut findest. > > Aber: Einen 80MHz SOC mit einem minimalen 8Bit Microcontroller > anzusteuern, den man auch noch mit BASCOM verkrüppelt, verdient einen > Preis besonderer Art. Er macht es weil er es kann und weil es geht wie Du siehst. Er ist ja auch nicht der Einzige der einen 8Bit Microcontroller dafür verwendet. > Außerdem: Wenn schon eigene Platine, warum dann noch in THT? Weil es gut zu Bascom passt und es viele gibt die auch gerne noch mit THT arbeiten ich z.B. auch. Wünsche eine schönes Wochenende Gruß Ronny
...ich finds super, Thoams. Schließlich ist das hier Hobby und nicht Beruf...bei den meisten. Das Modul steht auch schon auf meiner Liste, nur schade, dass ich aus deinem BASCOM code nichts wildern kann :) Wobei ich mich aber Frage, was ich damit machen soll - die gleiche Frage stellte sich mir mit dem NetAVR auch schon. Basic4Android muss ich mir mal ansehen, denn das HMI fehlte mir noch in der Nutzungskette... Klaus.
@Darth Vader Der Quarz ist deshalb drauf weil ich erst mit höherer Baudrate arbeiten wollte. So kann man ja jederzeit auch andere Baudraten nutzen. Auch wieder nur ein paar Cent und man ist flexibler in der möglichen Software. Gruß thomas
Darth Vader schrieb: > Warum eigentlich ein Quarz, wenn eh nur ein 9600baud Soft-UART genutzt > wird?!? Das könnte folgenden Grund haben wenn die Firmware Stabil läuft sind ja höhere Baudraten möglich gibt ja schon bessere und schnellere Firmware. Allerdings ist UDP wohl noch etwas Zickig was man so hört. Gruß Ronny
@Klaus R. Das Problem mit der eigentlichen Nutzung habe ich einfach geklärt ;) Ich habe Server die ziemlich schwer zugänglich sind und wenn man die mal resetten muss war bisher einfacher den Strom kurz zu killen. Jetzt habe ich das Relais in der Reset-Leitung und resette per Handy. Aber sicher fallen einem da noch mehr Möglichkeiten ein, LED Ketten schalten würde mir da spontan einfallen. Gruß Thomas
@Alle Mir ist da übrigens ein Fehler unterlaufen, hatte den falschen Schaltplan hochgeladen. Hier der richtige Schaltplan. Gruß Thomas
:
Bearbeitet durch User
Hallo, Ich habe eine Frage, in welcher programe hast du der Schaltplan und Platine gemacht? Ich mache eine Schaltplane und Platine in eagle, aber sehe ich nicht in eagle,damit man anliche Rahmen zu Schaltplanen wie z.B. in Autocad machen kann. Danke im Voraus fur Deinen Antwort. Enschuldigung fur Rechtschreibfehle.
@Reprezentant Die Rahmen sind in der Frames Library ;) Gruß Thomas
bzgl Anwendungsmöglichkeiten: . Alles, was sonst USB->uC->Relais war (z.B. Reflow-Ofen, automatische Not@Home-Lichtprogramme) . Funksteckdosen . Relais und Beschaltung muss geeignet sein . www.sprut.de/electronic/ssr/ssr.htm . Schaltersteckdosen ersetzen. . Unterputzdose unter Lichtschalter (z.B. an der Stelle einer nicht benutzten Steckdose) . Kaffee-Maschine (oder ähnliches) von unterwegs anschalten.
Guest schrieb: > Wenn man das ESP Modul noch um 90 Grad drehen könnte, liesse sich das > gesamte Modul noch besser irgendwo einbauen. Habe jetzt mal eine Platine layoutet wo das ESP8266 Modul über dem ATTINY liegt. Auch sind jetzt die Sicherheitsabstände (durch Ausfräsungen) so das man Netzspannung schalten kann. Wenn sich noch 2 Interessierte finden würden, würde ich die Platine bei OSH-Park fertigen lassen, kosten dann ca. 6-7 Euro / Stück. Dauert ca. 2-3 Wochen allerdings bis die dann da wären. Versand per Brief würde ich übernehmen. Bei Interesse einfach PN an mich. Gruß Thomas
Thomas H. schrieb: > Wenn sich noch 2 Interessierte finden würden, würde ich die Platine bei > OSH-Park fertigen lassen Hallo Thomas, Super Sache Nachricht ist schon unterwegs. Gruß Ronny
Hallo alle zusammen, habe mal die aktuelle Software hier mit angehangen. Habe jetzt fast jede Zeile kommentiert und noch einen Befehl integriert um das Relais zu pulsen PUL=1. Wenn das Relais aus ist kann man es damit für eine einstellbare Zeit in Sekunden aktivieren. Das war für meine Nutzung halt wichtig, resetten von PCs. Die Software kann für jede Platine kompiliert werden im Quelltext ist dazu eine Konstante vorhanden die man setzten muss. In ca. 2-3 Wochen kommen die neuen Platinen (Netzspannung kann sicher geschaltet werden) bei mir an. Wer noch eine haben möchte bitte PN. Die Android APP bin ich auch gerade am erweitern, sobald diese fertig ist werde ich sie hier auch zum Download einstellen. Gruß Thomas
rund wäre schön zum Einbau in eine UP Leerdose dazu http://www.elv.de/recom-ac-dc-unterputz-netzteil-rac03-3-3scr-277-3-3-v-dc-900-ma.html/marke/540 auch als 5V Variante
Ich habe mal eine Frage. Wie bekomme ich bei diesen ganzen IoT-Projekten eigentlich mein WLAN-Passwort in das "Thing" hinein? Ich meine, die wenigsten haben ja Tastatur und Display.
Horst schrieb: > Ich habe mal eine Frage. Wie bekomme ich bei diesen ganzen > IoT-Projekten > eigentlich mein WLAN-Passwort in das "Thing" hinein? Ich meine, die > wenigsten haben ja Tastatur und Display. über den Quellcode, über die Serielle, wie du magst. Im NetIO (pollin) habe ich meine SSID/Benutzer/PW im Code eingearbeitet. Kann über die serielle Schnittstelle auch geändert werden.
Kann man mit dem Chip nicht standardmäßig einen AP laufen lassen mit Webinterface zum Eingeben der Infos? Dann Reboot und das Ganze läuft als Client. Dann bräuchte man nur einen Resetknopf, der den Originalzustand wiederherstellen kann.
Nettes kleines Projekt. Mir Gefällt das Layout. Magst du die Eagle Dateien veröffentlichen?
Hallo alle zusammen, die neuen Platinen sind da, das ESP8266 Modul liegt jetzt über dem ATTINY und die gabze Platine kann so besser in ein Gehäuse eingebaut werden. Aktuell bin ich zwar noch im Urlaub aber dank Notebook arbeite ich an einer erweiterten Software bei der man auch die SSID, das WLAN-Passwort und den Server-Port per Befehl ändern kann. Überbrückt man den Lötjumper beim Powerup werden jederzeit wieder Grundeinstellungen geladen. Alle Daten werden im EEPROM gespeichert, der Notaus geht über PCINT und kann jederzeit ausgelöst werden. Zwei "Vorbesteller" sollten die Platinen schon haben. Wer jetzt noch eine Platine möchte um sich vielleicht einen fernsteuerbaren LED Leisten Schalter etc. zu bauen, es sind noch ein paar Platinen und Relais da, einfach per PN melden. Da der China-PCB-Fertiger einen kleinen Fehler gemacht hat gibt es 2 Platinensorten, technisch sind beide identisch und voll funktionsfähig! Lediglich der Bestückungsdruck ist etwas falsch, an jedem Label hängt ein á hinten dran ;) Preise: Platine mit dem komischen Bestückungsdruck: 4,- Euro (noch 6 Stück) Platine mit korrektem Bestückungsdruck: 5,- Euro (noch 4 Stück) Relais passend zur Platine: 1,90 euro (noch 4 Stück) Versand pauschal 2,- egal wieviel gekauft wird. Die Besteller bekommen die BETA der neuen Software per Mail dazu geliefert und die fertige werde ich hier veröffentlichen. Gruß Thomas Hinweis: Die neue Software wird für den ATTINY84 sein, der 44er geht damit nicht mehr! P.S. Das Layout ist so einfach das es sich jeder in Eagle innerhalb kürzester Zeit erstellen kann, ist eine gute Übung ;) Ansonsten gerne PN an mich.
:
Bearbeitet durch User
Hier noch alle Befehle die mit der neuen Platine genutzt werden können: ' Folgende Befehle können an das Relais Modul gesendet werden: ' SAV=? : Abfrage des aktuellen Speicher Status ' SAV=0 : Relaisstatus Speicherung abschalten ' SAV=1 : Relaisstatus Speicherung aktivieren ' REL=? : Abfrage des aktuellen Relais Status ' REL=0 : Relais abschalten ' REL=1 : Relais aktivieren ' PUD=? : Abfrage der Länge eines Puls (Antwort in Sekunden) ' PUD=# : Setzen der Pulsdauer (#=1-255 Sekunden) ' PUL=1 : Relais Puls aktivieren ' RES=1 : Software Reset ausführen ' SEC=? : Abfrage der WLAN-Sicherheit (Antwort 0=Offen, 1=WPA2) ' SEC=0 : Abschalten der WLAN Sicherheit (Verbindung offen) ' SEC=1 : Aktivieren der WLAN-Sicherheit (WPA2) ' PWD=$ : Setzen des WLAN Passworts ($=Zeichenkette ohne Leerzeichen, min. 8, max.63 Zeichen) ' CHN=? : Abfrage des aktuellen WLAN Kanals ' CHN=# : Setzen des WLAN Kanals (#=1-12) ' POR=# : Setzen des Server Ports (#=1-65535) ' NAM=? : Abfrage der aktuellen WLAN SSID ' NAM=$ : Setzen der WLAN SSID ($ = String ohne Leerzeichen mit max Länge von 32 Zeichen)
Aktuell noch verfügbar: Platine mit dem komischen Bestückungsdruck: 4,- Euro (noch 4 Stück) Relais passend zur Platine: 1,90 euro (noch 4 Stück) Rest siehe 2 Posts höher ;)
Thomas H. schrieb: > Aktuell noch verfügbar: > > Platine mit dem komischen Bestückungsdruck: 4,- Euro (noch 4 Stück) > Relais passend zur Platine: 1,90 euro (noch 4 Stück) Nachricht ist schon raus an Dich. Gruß und schönen Urlaub noch. Ronny
Gibt es noch platinen? könnte Zwei oder Drei brauchen .
So erst einmal ist alles weg !!! Sollte noch Interesse bestehen einfach PN und wenn min. 10 Platinen zusammen kommen lasse ich noch einmal welche Herstellen. Gruß Thomas
@Sven Bitte melde dich im Forum an dann kannst du mir eine PN schicken und wenn min. 10 Platinen zusammen kommen lasse ich welche machen. Das dauert dann aber ca. 2-3 Wochen bis die da sind, also zu Weihnachten ist nicht garantiert ;) Gruß Thomas
Hallo, hatte mir ja hier im Forum diese Platine von Thomas bestellt. Also bin damit sehr zu frieden habe das aufgebaut und es lief auf Anhieb so wie es sein soll. Der Aufbau läuft jetzt seid gut 2 Wochen dauerhaft und ohne Probleme. Gruß Ronny
Platine-ohne e schrieb im Beitrag #3910974: > Thomas H. schrieb: >> Wer jetzt noch eine Platine möchte um sich vielleicht einen > fernsteuerbaren LED Leisten Schalter etc. zu bauen, es sind noch ein > paar Platinen und Relais da, einfach per PN melden. > naja. is halt Internet. kann man nichts machen, manche schnallen es nie, Respekt, dass du dein eigenes Unvermögen beklagst.
Hallo, wer hat noch diese Platine im Dauereinsatz mit dem 01 Modul ? Nachdem die erste über 2 Monate im Dauereinsatz ohne große Probleme lief hat sich nun das erste ESP Modul verabschiedet. Sendet und Empfängt nichts mehr. Hat noch jemand schon total ausfälle beim ESP-01 Modul gehabt. Gruß Ronny
Holger W. schrieb: > Hier mein WLan Relais ohne extra µC: > Beitrag "Re: Zeigt her Eure IoT Projekte" > > Holger ..der sich nun der Gruppe "Selbstbeweihräucherung" angeschlossen hat. ;-)
@Ronny Aslo meine laufen jetzt 3 Monate ohne Probleme. Aber ich musste feststellen das manche Module schlecht verlötet sind, kurzes erhitzen der Lötstellen (Pins) brachte Besserung. Gruß Thomas
Thomas H. schrieb: > @Ronny > > Aslo meine laufen jetzt 3 Monate ohne Probleme. > > Aber ich musste feststellen das manche Module schlecht verlötet sind, > kurzes erhitzen der Lötstellen (Pins) brachte Besserung. > > Gruß > Thomas Hallo Thomas, danke für die Info, allerdings hat sich bei dem Modul wohl etwas verabschiedet. Das manche Module etwas schlecht verlötet sind ist allerdings auch richtig aber daran liegt es hier leider nicht. Dieses Modul Sendet und Empfängt nichts mehr, Firmware rauf und runter geht auch. Auf AT Befehle antwortet es soweit es sie ohne Senden und Empfangen verarbeiten kann. Naja wird wohl ein Montags Model sein. Gruß und Danke. Ronny Hatte Dir auch Email gesendet hast die erhalten ?
Ronny S. schrieb: > Naja wird wohl ein Montags Model sein. > > Ronny Eventuell Sperrdioden an der Relais Spule oder ansteuern über Opto wegen Eigen-Induktion beim Ausmachen?
@Ronny Mail ist da; komme aber erst ab 26. dazu alles zu bearbeiten, sorry. Aber dann kommt auch das worauf du wartest, Experimentierboard mit ESP als Wetterstation. Platine läuft seit 1 Monat ohne Probleme. Muss aber erst wichtige andere Sachen erledigen. Gruß Thomas
Thomas H. schrieb: > Experimentierboard mit ESP > als Wetterstation. Hallo Thomas, na das hört sich doch gut an, da warte ich gerne noch etwas ab. Gruß und Danke für die Info. Ronny
Hallo Thomas. Schönes einfaches Design für esp8266. Nicht teilen Sie den Quellcode für Android B4A? Interessierte Basis UDP-Kommunikation. Grüße - Slawek
Guten Abend, sind noch solche Platinen erhältlich ? lg
V. K. schrieb: > Guten Abend, > sind noch solche Platinen erhältlich ? > > lg das würd mich auch mal interessieren ;-)
V. K. schrieb: > Guten Abend, > sind noch solche Platinen erhältlich ? > > lg Frag mal dich oder 'deinen Nachbarn'
Ich habe Arduino für ESP8266 entdeckt und Programm direkt für ESP8266 Controller in Arduino IDE geschrieben. Da braucht man kein zusätzlicher Arduino-Board. Hier sind meine ersten Sketche http://esp8266-server.de/
Mischa N. schrieb: > Da braucht man kein zusätzlicher Arduino-Board. Und vor Allem quält man sich nicht mit diesem abscheulichen AT-Kommandos rum. Wie gesagt: Ein Web-Server über AT-Kommandos ist, wie einen Flur durch den Briefkastenschlitz zu tapezieren. Ich hatte immer einen Horror davor, eigene SW in den ESP zu flashen. Ich kann bei mir auch nicht so einfach Linux oder eine VM installieren. Die Arduino-Lösung hat mich auf Windows 7 nur ca. 30 Minuten Arbeit gekostet, bis alles lief. Guter Tipp! Danke. :-) Ich nutze übrigens den Prolific PL2303. Damit klappt auch DTR -> GPIO0 und RTS -> Reset wunderbar. Ich habe am PL2303 über 3,3V und GND noch einen Kondensator gelötet, da ich ca. 1VSS Ripple auf den Signalen hatte. Mein PL2303-Adapter ist halt ein billiges China-Teil. Der PL2303 unterstützt übrigens auch die höheren Baudraten von 230400, 460800 und 921600. Der CH430 zwar auch, aber CP2102 und FT232RL schwächeln z.B. bei diesen Baudraten. Beim Upload macht das einen deutlichen Unterschied! :-) 115200 empfindet man anschließend als extrem lahm! Mischa N. schrieb: > http://esp8266-server.de/ Ist das Deine Domain? Dann schöne Grüße nach Wuppertal!
Hi, hat jemand eine Idee, wie ich den Arduino-like Code fürs ESP8266 in einer vernünftigen IDE unter Windows schreiben kann?
Der "Arduino-like Code" hat Nachteile: Man ist gegenüber der Original-API ein Stück weit eingeschränkt. Mit einer 'vernünftigen IDE' und der Original-API hat man dagegen alle Möglichkeiten, auch die Neuerungen, aber man muss sich mit mehr Details beschäftigen und sich die Info-Bröckchen aus vielen Internetseiten zusammen suchen. Mark schrieb: > … Idee, wie ich den Arduino-like Code fürs ESP8266 in > einer vernünftigen IDE … Also "Arduino-like Code" ist gut, die "Arduino-IDE" aber unvernünftig? Oder wie? Anders wird ein Schuh draus: Original-API unter Windows mit Tracer/Debugger (Breakpoints, ...). Die gitbt es leider nicht. Oder habe ich die Frage falsch verstanden?
Eine "vernünftigen IDE" wäre für mich z.B. Code::Blocks oder Eclipse. Ich suche einfach nach einer Möglichkeit den Arduino-Like Code in einer "vernünftigen IDE" zu entwickeln. Mit Original-API habe ich mich schon versucht, bin aber nicht wirklich gut damit zurechtgekommen.
Nur zum Verständnis: Was ist aus Deiner Sicht an der "Arduino-IDE" unvernünftig?
Torsten C. schrieb: > Original-API unter Windows mit Tracer/Debugger (Breakpoints, ...). > Die gitbt es leider nicht. > Oder habe ich die Frage falsch verstanden? Ja ;-)
Mark schrieb: > Eine "vernünftigen IDE" wäre für mich z.B. Code::Blocks oder Eclipse. > Ich suche einfach nach einer Möglichkeit den Arduino-Like Code in einer > "vernünftigen IDE" zu entwickeln. Mit Original-API habe ich mich schon > versucht, bin aber nicht wirklich gut damit zurechtgekommen. Mark, willst du den arduino like code also das .ino file in arduino sprache mit einer anderen ide machen? für eclipse gibt es ein arduino plugin http://www.baeyens.it/eclipse/how_to.shtml#/e willst du den arduino like code umschreiben in c / c++ für die luna ide mit toolchain für den esp, Beitrag "IDE für ESP8266 mit vielen Example" lg ;-)
Torsten C. schrieb: > Nur zum Verständnis: > Was ist aus Deiner Sicht an der "Arduino-IDE" unvernünftig? zwischenruf - finger_heb: feine sache, aber sie unterstützt nur das, was impl. wurde. denn leider nicht alle esp api befehle werden unterstützt. es gibt viel beispielcode aus dem arduino portal aber nicht alle laufen reibungslos. nicht böse auffassen! ich finde es schade, dass man sich nunmehr nach fast einem jahr noch immer nicht mit dem original befasst ( espressif sdk & ide ) - so bleiben einem immer nur die möglichkeiten, die den stand der untergeordneten ide entspricht. lua, ardudino-ide und wie sie noch alle lauten, es sind untergeordnete dinge. gerade die leute, die c/c++ programmierung 'gelernt' haben, hinken hinterher ;-) - ist irgendwie lustig ;-) sorry . appr. hinken d.h. hinkt die arduino-ide, profitiert man nicht von den vorteilen der neuen future einer sdk, solange die nicht impl. wurden. m.M. lg ;-) und weg_
.. schrieb: > ich finde es schade, dass man sich nunmehr nach fast einem jahr noch > immer nicht mit dem original befasst ( espressif sdk & ide ) Ich finde das auch schade. Für mich liegt das an den schlechten und weit verstreuten Informationen und dem fehlenden Tracer/Debugger (Breakpoints, Single-Step, ...). Debugging mit Serial.print() hat mich u.A. bisher von dem Arduino-Kram abgehalten, aber die "espressif-ide" ist diesbezüglich nicht besser. Solange sich daran nichts ändert… Sehe ich das richtig? Dann kann ich nur für mich sprechen: Ich verbrenne keine Zeit damit, komplexere Dinge ohne Debugger umzusetzen und hänge ggf. lieber eine zweite 50ct-MCU über UART oder SPI an den ESP8266. Hauptsache, ich muss keinen Web-Server über den Briefkastenschlitz^^ programmieren. Für die 50ct-MCU hat man dann wenigstens einen Debugger. Ansonsten: IDE != API .. schrieb: > zwischenruf - finger_heb: feine sache, aber … > … profitiert man nicht von den vorteilen der > neuen future einer sdk, solange die nicht impl. wurden. Ja, das ist so. Das schrieb ich im Beitrag #4230500: > Der "Arduino-like Code" hat Nachteile: > Man ist gegenüber der Original-API ein Stück weit eingeschränkt. Soweit zur API. An der Arduino-IDE konnte ich bisher keine Nachteile entdecken, daher erschließt sich mir nicht der Sinn von einem Arduino-Plugin für Eclipse. Die Original-API (espressif sdk) programmiert man natürlich nicht mit der Arduino-IDE. Das würde ich der Arduino-IDE aber nicht als "Nachteil" anlasten.
:
Bearbeitet durch User
Torsten C. schrieb: > An der Arduino-IDE konnte ich bisher keine Nachteile entdecken, daher > erschließt sich mir nicht der Sinn von einem Arduino-Plugin für Eclipse. der nachteil bei der arduino ide ist, dass es keine möglichkeit hat tracer/debugger anzuwerfen, in eclipse kann man genau diese dinge tun: > fehlenden Tracer/Debugger (Breakpoints, Single-Step, ...). mit entsprechenden plugin.
push# (info) @thorsten vieleicht ist das passender für dich, schauh wenigstens mal drüber. http://www.visualmicro.com/page/esp8266.aspx http://www.visualmicro.com/page/Debugging-for-Arduino.aspx http://visualmicro.blogspot.de/
.. schrieb: > in eclipse kann man genau diese dinge tun: >> …(Breakpoints, Single-Step, ...). > mit entsprechenden plugin. Kennst Du ein solches Plugin für den ESP8266? Neil Kolban schreibt in seinem Buch: > Performing debugging on an SOC can be difficult since we have no readily > available source level debuggers. http://neilkolban.com/tech/esp8266/ Ich befürchte, Neil Kolban hat Recht. Falls nicht, sollte ihm das mal jemand sagen. .. schrieb: > schauh wenigstens mal drüber OK. Da steht: > The concept of clicking code and adding break or trace points is common > practise. Ja, genau. Eigentlich schon. :-) > The debugger is unique and for the first time enables Arduino developers > to monitor a running Arduino by simply clicking the code they want to > monitor. > Visual Micro also includes an optional (not free) Arduino software > debugger. Oh, cool. ;-) Damit können Arduino-User nun das erste Mal auch debuggen? Aha! ;-) Das mache ich mit einem AVR-Dragon und AtmelStudio aber schon seit Jahren, und zwar ohne 'injected code': > The unique element that Visual Micro provides is to silently add > (inject) special (known protocol) Arduino 'Serial' instructions during > compilation without altering the developers original source code. Aha. Na, wenn das auch mit dem ESP8266 ginge, wäre es ja ganz nett. Ich befürchte, das geht nur mit einem AVR. Oder weiss jemand mehr? Ich frage mich gerade: Woher weiss der Compiler, wo ich die Breakopints setzen werde? Oder muss man nach jedem neuen Breakpoint neu compilieren? Hmmm. Das "Unofficial Development Kit for Espressif ESP8266" ist m.E. am dichtesten dran, aber eben auch ohne "source level debugger"^^: http://www.esp8266.com/viewtopic.php?t=820 PS: Mit diesem 'Unofficial Kit' beschäftige ich mich jetzt schon seit 5 Stunden und bin noch nicht so weit wie mit der Arduino-IDE nach 30 Minuten.
:
Bearbeitet durch User
Werner P. schrieb: > kann ich nur empfehlen: > > http://tomeko.net/other/ESP8266/native.php > > codeblocks > > Grüße [x] vote Verwende es selber auch , aber nicht mit den Cross Compiler , sondern sitzt auf dem Xtensa Compiler auf. Wenn wir schon dabei sind, DevC++ empfehle ich auch , und zwar jedem , der Delphi kann , oder Lazarus , das Develop Kit steht als Delphi Source Code parat. Man kann dann seinen eigenen Debugger / Tracer schreiben und einbauen. Ebenso kann die IDE nach eigenen Wünschen erweitert werden; aber das hatten wir schon alles im 'Monster Thread'.
Torsten C. schrieb: > .. schrieb: >> in eclipse kann man genau diese dinge tun: >>> …(Breakpoints, Single-Step, ...). >> mit entsprechenden plugin. > > Kennst Du ein solches Plugin für den ESP8266? Diese Bequemlichkeit immer hier : sowas schreibt man sich selber wenn man c/c++ kann, auf auf .... ;-) > > Neil Kolban schreibt in seinem Buch: >> Performing debugging on an SOC can be difficult since we have no readily >> available source level debuggers. Richtig - weil die Toolchain eben noch nicht so weit ist. Das steht leider nicht dort - aber die Toolchain ist eben noch nicht 100 Prozent, daher hinkt auch Arduino IDE ... usw. btw, mit der Xtensa IDE kannst du super Debuggen / Tracern und noch ganz andere Sachen - es gibt sogar einen Debugg Adapter ;-) , das liegt darin, weil eben der Compiler zu 100 Prozent dazu passt. Im u.c.f. ( esp8266.com ) gibt es dazu einen Thread und Anleitung zum selber basteln. Link weiss ich nicht mehr, 'thinhead' hat dazu etwas geschrieben. Und das läuft auch super. > .. schrieb: >> schauh wenigstens mal drüber > > OK. Da steht: > >> The concept of clicking code and adding break or trace points is common >> practise. > > Ja, genau. Eigentlich schon. :-) > >> The debugger is unique and for the first time enables Arduino developers >> to monitor a running Arduino by simply clicking the code they want to >> monitor. >> Visual Micro also includes an optional (not free) Arduino software >> debugger. > > Oh, cool. ;-) > Damit können Arduino-User nun das erste Mal auch debuggen? Aha! ;-) > > Das mache ich mit einem AVR-Dragon und AtmelStudio aber schon seit > Jahren, und zwar ohne 'injected code': ( nur mal nachgefragt, hast du schon versucht, im Atmel Studio, das Cross Toolchain zum laufen zu bringen? warum nicht? ) Um das gehts ja jetzt gar nicht - du wolltest mit der Arduino IDE den ESP debuggen, oder hab ich das falsch verstanden? Ich bin kein Befürworter für die Arduino IDE für den ESP, ganz im Gegenteil. Ich finde es eigentlich einen quatsch alles und allem immer nachzustehen; original ist origial und bleibt original. Wenn man c / c++ kann, muss man sich das nicht antun, antun tun es sich aber immer wieder welche, weil jeder damit rumhantiert und es einen Haufen 'Sketche' gibt, die im Grunde aber nichts weiter sind, als ein ausgefülltes Template nach einem Muster. Alles in einem File runtergebrasselt. Wenn dann Umsteiger so einen Sketch umschreiben wollen, AVR Studio ect, dann stolpern die meisten, weil sie nicht wissen, wo sie anfangen sollen, der Bezug main() fehlt ganz und gar, header, was sind header, man kennt nur "Libs".. m.M. Daher - Arduino Board, ok, nehme ich Arduino IDE her, aber nur um einen Sketch ( fertigen ) einmal zu probieren, ob die HW passt. Einen Sketch darin zu erstellen, auszubauen etc - niemals - sorry - c ist c - sketch ist sketch - und hat für mich keinen Zusammenhang in dem Sinne. Es fehlt die main(), es fehlt der ganze Stil der Programmierung. Arduino IDE Stil ist ein eigener, den die Leute können, die das machen. Für Arduino ( AVR )und solche Sachen nehme ich dann lieber Flowcode her, aber das war es dann auch schon, das meiste wird dazu auch in c geschrieben. Hier spielt die Schnelligkeit eine Rolle, wann etwas fertig sein muss. Gut es ist nicht umsonst und auch nicht billig, daher stell ich auch einen Anspruch an die Entwickler von FC und fordere Nachbesserung. >> The unique element that Visual Micro provides is to silently add >> (inject) special (known protocol) Arduino 'Serial' instructions during >> compilation without altering the developers original source code. > > Aha. Na, wenn das auch mit dem ESP8266 ginge, wäre es ja ganz nett. Ich > befürchte, das geht nur mit einem AVR. Oder weiss jemand mehr? Das sollte auch mit einem ESP dann gehen, nur fehlt es eben an der 100 prozentigen Toolchain. > > Ich frage mich gerade: Woher weiss der Compiler, wo ich die Breakopints > setzen werde? Oder muss man nach jedem neuen Breakpoint neu compilieren? > Hmmm. Vorsichtig nachgefragt, welchen Compiler? AVR? Toolchain? Gehe mal von der Toolchain aus : ??? Fragst du das jetzt ernsthaft oder ist das ironisch gemeint? > > Das "Unofficial Development Kit for Espressif ESP8266" ist m.E. am > dichtesten dran, aber eben auch ohne "source level debugger"^^: > http://www.esp8266.com/viewtopic.php?t=820 > > PS: Mit diesem 'Unofficial Kit' beschäftige ich mich jetzt schon seit 5 > Stunden und bin noch nicht so weit wie mit der Arduino-IDE nach 30 > Minuten. Du hättest dich schon letztes Jahr damit beschäftigen sollen, gleich, wo es rausgekommen ist, sei froh dass ich nicht in deiner Nachbarschaft wohne, ich hätte mich jeden Tag bei dir eingeladen um dich zu c auszuquetschen, nebenbei hätte ich bestimmt auch einige Sachen ausgeplaudert.. oder die Dosen ausgestemmt und erweitert usw.. ;-) schnell_weg_hier_**gute_nacht**schönes_wochenende**schönen_urlaub_*bis_b ald ;-) /* rudis meinungs kasten ---------------------------------------------- thorsten, ist alles nicht böse gemeint, ich schreib es jetzt extra dazu, aber du hättest und auch andere schon viel früher mit dem direkten proggen anfangen sollen, aus dem monster thread heraus, wie es viele getan haben. bin mamalala und thinhead immer noch sehr dankbar dafür, dass sie uns allen hier immer wieder angestossen haben bis es endlich mal voran ging, überhaubt einen code compilieren zu können. thinheads worte waren mal: " wenn einer schon nicht weiss wie er compilieren muss...." das thema war die IDE selber, aber so fing es eben an ;-) der ganze quatsch am anfang mit den AT befehlen, die sich ständig geändert haben und eine programmierung nun wirklich nicht einfach machten, allein von der wartung, das macht man mal, wenn man solche module mal probiert. jetzt werden die AT sachen aber schon erwachsen, aber trotzdem, eigener code ist und bleibt eigener . m.M. ----------------------------------*/
r_u_d_i schrieb: > btw, mit der Xtensa IDE kannst du super Debuggen / Tracern und noch ganz > andere Sachen - es gibt sogar einen Debugg Adapter ;-) Also geht es doch? Hast Du bitte einen Link zum Adapter? Das müssen wir Neil Kolban erzählen! > Um das gehts ja jetzt gar nicht - du wolltest mit der Arduino IDE den > ESP debuggen, oder hab ich das falsch verstanden? Ja, hast Du. Du hattest sogar drauf geantwortet. > Wenn man c / c++ kann, muss man sich das nicht antun Stimmt. Falls es nun tatsächlich einen ISD-Adapter geben sollte, nicht mehr. > nur fehlt es eben an der 100 prozentigen Toolchain. Eben. > Fragst du das jetzt ernsthaft oder ist das ironisch gemeint? Natürlich ernsthaft. Ich kann mir mit 'incected code' nicht annähernd so ein effizientes Arbeiten vorstellen, wie mit einem echten ICD-Adapter, á la 'AVR Dragon' oder 'ST-Link V2'. > sei froh dass ich nicht in deiner Nachbarschaft wohne, … Ernsthaft? Werner P. schrieb: > kann ich nur empfehlen: > http://tomeko.net/other/ESP8266/native.php Danke. Was ich verstanden habe, habe ich mal zusammengefasst unter: https://github.com/TorstenC/Notizblog/wiki/ESP8266
:
Bearbeitet durch User
Torsten C. schrieb: > r_u_d_i schrieb: >> btw, mit der Xtensa IDE kannst du super Debuggen / Tracern und noch ganz >> andere Sachen - es gibt sogar einen Debugg Adapter ;-) > > Also geht es doch? Hast Du bitte einen Link zum Adapter? Das müssen wir > Neil Kolban erzählen! 28. August 2014 "does anyone know how hardware is needed to debug this chip?" -> "from the "Tensilica On-Chip Debugging Guide" within the VM-Image, there is support for various jtag debuggers stated" 25 Dezember 2014! ------------------ http://www.esp8266.com/viewtopic.php?f=9&t=1022 "only supported with xt-ocd + xt-gdb (Tensilica tools). You'd need JTAG probe supported by xt-ocd and ESP module with JTAG pins" http://www.esp8266.com/viewtopic.php?f=9&t=31&start=10#p3435 " to use the "Xtensa OCD Daemon 8.0.1" (the one provided with the VM)" http://www.esp8266.com/viewtopic.php?f=6&t=12&p=1400&hilit=jtag#p1400 "If you're using xt-ocd and want to create your own custom Ethernet-based probe, it's probably easier to use xt-ocd's TCP/IP pseudo-probe driver, tcb_probe. It uses a very simple protocol over TCP/IP." "The Xtensa Tools OCD Daemon supports FT2232" http://ip.cadence.com/support/sdk-evaluation-request und damit du nachts wieder mehr schlafen kannst: http://www.esp8266.com/viewtopic.php?f=9&t=31&start=15#p3435 wie stellst du dir eigentlich den beginn von cross compiling / toolchain vor? ;-) einen hab ich noch: wegen spam schutz auf 5 begrenzt daher im anhang den adapter von thinhead finde ich jedoch nicht auf anhieb in der db. bei gelegenheit reiche ich nach - >> sei froh dass ich nicht in deiner Nachbarschaft wohne, … > > Ernsthaft? ne - hätten uns bestimmt gut ergänzt ;-)
@thorsten Post gefunden: EinzelPost aus Threads ( wiederholte ) http://www.esp8266.com/viewtopic.php?f=9&t=31#p122 So und ab jetzt bitte selber weiter suchen ;-) Stichwort usbwiggler Macraigor oder LPT Wiggler NoVM XT-OCD (C:\usr\xtensa\XtDevTools\downloads\RC-2010.1\tools\xt-ocd-8.0.1-windows -installer.exe) Adapter: usbWigger (TM) http://www.macraigor.com/usbWiggler.htm ARM-USB-OCD-H https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ @tinhead sorry für das 'h' da konnte ich lange suchen ;-)
r_u_d_i schrieb: > Du hättest dich schon letztes Jahr damit beschäftigen sollen, gleich, wo > es rausgekommen ist Damals war der Wirkungsgrad noch schlechter und ich hätte noch mehr Zeit mit den Bugs und Workarounds verplempert. So, ich arbeite nun mit dem SDK 1.3.0. Klappt. :-) Hier das PDF (ohne Bookmarks! :-( ): https://cdn.rawgit.com/CHERTS/esp8266-devkit/master/Espressif/docs/2C-ESP8266__SDK__Programming%20Guide__EN_v1.3.0.pdf Aber: Warum ist hier z.B. immer noch nicht die die Funktion ets_uart_printf() dokumentiert? Die Doku ist immer noch grottig! Hintergrund: In uart.c habe ich os_printf() auf UART1 gemappt, für Debug-Ausgaben:
1 | os_install_putc1((void *)uart1_write_char); |
In der Doku steht nix davon, wie man in einem solchen Fall mit printf() an UART0 schreibt. Demnach würde man nur mit uart0_tx_buffer() arbeiten; das wäre doch doof. Und wo schreibt man sich sowas auf, damit man das auch morgen noch nachlesen kann und damit alle was davon haben? Ich habe es mir erstmal hier gemerkt: http://de.esp8266.wikia.com/wiki/Ets_uart_printf
:
Bearbeitet durch User
Torsten C. schrieb: > Aber: Warum ist hier z.B. immer noch nicht die die Funktion > ets_uart_printf() dokumentiert? Die Doku ist immer noch grottig!
1 | PROVIDE ( ets_uart_printf = 0x40002544 ); |
Sieh dir das Linker File an. Es steht viel drin. Alles ist nicht dokumentiert. Hier mal eine unoffiz. Erweiterung: Da steht schon etwas mehr drin. Es gibt noch andere - das steht ziemlich alles drin.
1 | PROVIDE ( Cache_Read_Disable = 0x400047f0 ); |
2 | PROVIDE ( Cache_Read_Enable = 0x40004678 ); |
3 | PROVIDE ( FilePacketSendReqMsgProc = 0x400035a0 ); |
4 | PROVIDE ( FlashDwnLdParamCfgMsgProc = 0x4000368c ); |
5 | PROVIDE ( FlashDwnLdStartMsgProc = 0x40003538 ); |
6 | PROVIDE ( FlashDwnLdStopReqMsgProc = 0x40003658 ); |
7 | PROVIDE ( GetUartDevice = 0x40003f4c ); |
8 | PROVIDE ( MD5Final = 0x40009900 ); |
9 | PROVIDE ( MD5Init = 0x40009818 ); |
10 | PROVIDE ( MD5Update = 0x40009834 ); |
11 | PROVIDE ( MemDwnLdStartMsgProc = 0x400036c4 ); |
12 | PROVIDE ( MemDwnLdStopReqMsgProc = 0x4000377c ); |
13 | PROVIDE ( MemPacketSendReqMsgProc = 0x400036f0 ); |
14 | PROVIDE ( RcvMsg = 0x40003eac ); |
15 | PROVIDE ( SHA1Final = 0x4000b648 ); |
16 | PROVIDE ( SHA1Init = 0x4000b584 ); |
17 | PROVIDE ( SHA1Transform = 0x4000a364 ); |
18 | PROVIDE ( SHA1Update = 0x4000b5a8 ); |
19 | PROVIDE ( SPIEraseArea = 0x40004b44 ); |
20 | PROVIDE ( SPIEraseBlock = 0x400049b4 ); |
21 | PROVIDE ( SPIEraseChip = 0x40004984 ); |
22 | PROVIDE ( SPIEraseSector = 0x40004a00 ); |
23 | PROVIDE ( SPILock = 0x400048a8 ); |
24 | PROVIDE ( SPIParamCfg = 0x40004c2c ); |
25 | PROVIDE ( SPIRead = 0x40004b1c ); |
26 | PROVIDE ( SPIReadModeCnfig = 0x400048ec ); |
27 | PROVIDE ( SPIUnlock = 0x40004878 ); |
28 | PROVIDE ( SPIWrite = 0x40004a4c ); |
29 | PROVIDE ( SelectSpiFunction = 0x40003f58 ); |
30 | PROVIDE ( SendMsg = 0x40003cf4 ); |
31 | PROVIDE ( UartConnCheck = 0x40003230 ); |
32 | PROVIDE ( UartConnectProc = 0x400037a0 ); |
33 | PROVIDE ( UartDwnLdProc = 0x40003368 ); |
34 | PROVIDE ( UartGetCmdLn = 0x40003ef4 ); |
35 | PROVIDE ( UartRegReadProc = 0x4000381c ); |
36 | PROVIDE ( UartRegWriteProc = 0x400037ac ); |
37 | PROVIDE ( UartRxString = 0x40003c30 ); |
38 | PROVIDE ( Uart_Init = 0x40003a14 ); |
39 | PROVIDE ( _DebugExceptionVector = 0x40000010 ); |
40 | PROVIDE ( _DoubleExceptionVector = 0x40000070 ); |
41 | PROVIDE ( _KernelExceptionVector = 0x40000030 ); |
42 | PROVIDE ( _NMIExceptionVector = 0x40000020 ); |
43 | PROVIDE ( _ResetHandler = 0x400000a4 ); |
44 | PROVIDE ( _ResetVector = 0x40000080 ); |
45 | PROVIDE ( _UserExceptionVector = 0x40000050 ); |
46 | PROVIDE ( __adddf3 = 0x4000c538 ); |
47 | PROVIDE ( __addsf3 = 0x4000c180 ); |
48 | PROVIDE ( __divdf3 = 0x4000cb94 ); |
49 | PROVIDE ( __divdi3 = 0x4000ce60 ); |
50 | PROVIDE ( __divsi3 = 0x4000dc88 ); |
51 | PROVIDE ( __extendsfdf2 = 0x4000cdfc ); |
52 | PROVIDE ( __fixdfsi = 0x4000ccb8 ); |
53 | PROVIDE ( __fixunsdfsi = 0x4000cd00 ); |
54 | PROVIDE ( __fixunssfsi = 0x4000c4c4 ); |
55 | PROVIDE ( __floatsidf = 0x4000e2f0 ); |
56 | PROVIDE ( __floatsisf = 0x4000e2ac ); |
57 | PROVIDE ( __floatunsidf = 0x4000e2e8 ); |
58 | PROVIDE ( __floatunsisf = 0x4000e2a4 ); |
59 | PROVIDE ( __muldf3 = 0x4000c8f0 ); |
60 | PROVIDE ( __muldi3 = 0x40000650 ); |
61 | PROVIDE ( __mulsf3 = 0x4000c3dc ); |
62 | PROVIDE ( __subdf3 = 0x4000c688 ); |
63 | PROVIDE ( __subsf3 = 0x4000c268 ); |
64 | PROVIDE ( __truncdfsf2 = 0x4000cd5c ); |
65 | PROVIDE ( __udivdi3 = 0x4000d310 ); |
66 | PROVIDE ( __udivsi3 = 0x4000e21c ); |
67 | PROVIDE ( __umoddi3 = 0x4000d770 ); |
68 | PROVIDE ( __umodsi3 = 0x4000e268 ); |
69 | PROVIDE ( __umulsidi3 = 0x4000dcf0 ); |
70 | PROVIDE ( _rom_store = 0x4000e388 ); |
71 | PROVIDE ( _rom_store_table = 0x4000e328 ); |
72 | PROVIDE ( _start = 0x4000042c ); |
73 | PROVIDE ( _xtos_alloca_handler = 0x4000dbe0 ); |
74 | PROVIDE ( _xtos_c_wrapper_handler = 0x40000598 ); |
75 | PROVIDE ( _xtos_cause3_handler = 0x40000590 ); |
76 | PROVIDE ( _xtos_ints_off = 0x4000bda4 ); |
77 | PROVIDE ( _xtos_ints_on = 0x4000bd84 ); |
78 | PROVIDE ( _xtos_l1int_handler = 0x4000048c ); |
79 | PROVIDE ( _xtos_p_none = 0x4000dbf8 ); |
80 | PROVIDE ( _xtos_restore_intlevel = 0x4000056c ); |
81 | PROVIDE ( _xtos_return_from_exc = 0x4000dc54 ); |
82 | PROVIDE ( _xtos_set_exception_handler = 0x40000454 ); |
83 | PROVIDE ( _xtos_set_interrupt_handler = 0x4000bd70 ); |
84 | PROVIDE ( _xtos_set_interrupt_handler_arg = 0x4000bd28 ); |
85 | PROVIDE ( _xtos_set_intlevel = 0x4000dbfc ); |
86 | PROVIDE ( _xtos_set_min_intlevel = 0x4000dc18 ); |
87 | PROVIDE ( _xtos_set_vpri = 0x40000574 ); |
88 | PROVIDE ( _xtos_syscall_handler = 0x4000dbe4 ); |
89 | PROVIDE ( _xtos_unhandled_exception = 0x4000dc44 ); |
90 | PROVIDE ( _xtos_unhandled_interrupt = 0x4000dc3c ); |
91 | PROVIDE ( aes_decrypt = 0x400092d4 ); |
92 | PROVIDE ( aes_decrypt_deinit = 0x400092e4 ); |
93 | PROVIDE ( aes_decrypt_init = 0x40008ea4 ); |
94 | PROVIDE ( aes_unwrap = 0x40009410 ); |
95 | PROVIDE ( base64_decode = 0x40009648 ); |
96 | PROVIDE ( base64_encode = 0x400094fc ); |
97 | PROVIDE ( bzero = 0x4000de84 ); |
98 | PROVIDE ( cmd_parse = 0x40000814 ); |
99 | PROVIDE ( conv_str_decimal = 0x40000b24 ); |
100 | PROVIDE ( conv_str_hex = 0x40000cb8 ); |
101 | PROVIDE ( convert_para_str = 0x40000a60 ); |
102 | PROVIDE ( dtm_get_intr_mask = 0x400026d0 ); |
103 | PROVIDE ( dtm_params_init = 0x4000269c ); |
104 | PROVIDE ( dtm_set_intr_mask = 0x400026c8 ); |
105 | PROVIDE ( dtm_set_params = 0x400026dc ); |
106 | PROVIDE ( eprintf = 0x40001d14 ); |
107 | PROVIDE ( eprintf_init_buf = 0x40001cb8 ); |
108 | PROVIDE ( eprintf_to_host = 0x40001d48 ); |
109 | PROVIDE ( est_get_printf_buf_remain_len = 0x40002494 ); |
110 | PROVIDE ( est_reset_printf_buf_len = 0x4000249c ); |
111 | PROVIDE ( ets_bzero = 0x40002ae8 ); |
112 | PROVIDE ( ets_char2xdigit = 0x40002b74 ); |
113 | PROVIDE ( ets_delay_us = 0x40002ecc ); |
114 | PROVIDE ( ets_enter_sleep = 0x400027b8 ); |
115 | PROVIDE ( ets_external_printf = 0x40002578 ); |
116 | PROVIDE ( ets_get_cpu_frequency = 0x40002f0c ); |
117 | PROVIDE ( ets_getc = 0x40002bcc ); |
118 | PROVIDE ( ets_install_external_printf = 0x40002450 ); |
119 | PROVIDE ( ets_install_putc1 = 0x4000242c ); |
120 | PROVIDE ( ets_install_putc2 = 0x4000248c ); |
121 | PROVIDE ( ets_install_uart_printf = 0x40002438 ); |
122 | PROVIDE ( ets_intr_lock = 0x40000f74 ); |
123 | PROVIDE ( ets_intr_unlock = 0x40000f80 ); |
124 | PROVIDE ( ets_isr_attach = 0x40000f88 ); |
125 | PROVIDE ( ets_isr_mask = 0x40000f98 ); |
126 | PROVIDE ( ets_isr_unmask = 0x40000fa8 ); |
127 | PROVIDE ( ets_memcmp = 0x400018d4 ); |
128 | PROVIDE ( ets_memcpy = 0x400018b4 ); |
129 | PROVIDE ( ets_memmove = 0x400018c4 ); |
130 | PROVIDE ( ets_memset = 0x400018a4 ); |
131 | PROVIDE ( ets_post = 0x40000e24 ); |
132 | PROVIDE ( ets_printf = 0x400024cc ); |
133 | PROVIDE ( ets_putc = 0x40002be8 ); |
134 | PROVIDE ( ets_rtc_int_register = 0x40002a40 ); |
135 | PROVIDE ( ets_run = 0x40000e04 ); |
136 | PROVIDE ( ets_set_idle_cb = 0x40000dc0 ); |
137 | PROVIDE ( ets_set_user_start = 0x40000fbc ); |
138 | PROVIDE ( ets_str2macaddr = 0x40002af8 ); |
139 | PROVIDE ( ets_strcmp = 0x40002aa8 ); |
140 | PROVIDE ( ets_strcpy = 0x40002a88 ); |
141 | PROVIDE ( ets_strlen = 0x40002ac8 ); |
142 | PROVIDE ( ets_strncmp = 0x40002ab8 ); |
143 | PROVIDE ( ets_strncpy = 0x40002a98 ); |
144 | PROVIDE ( ets_strstr = 0x40002ad8 ); |
145 | PROVIDE ( ets_task = 0x40000dd0 ); |
146 | PROVIDE ( ets_timer_arm = 0x40002cc4 ); |
147 | PROVIDE ( ets_timer_disarm = 0x40002d40 ); |
148 | PROVIDE ( ets_timer_done = 0x40002d80 ); |
149 | PROVIDE ( ets_timer_handler_isr = 0x40002da8 ); |
150 | PROVIDE ( ets_timer_init = 0x40002e68 ); |
151 | PROVIDE ( ets_timer_setfn = 0x40002c48 ); |
152 | PROVIDE ( ets_uart_printf = 0x40002544 ); |
153 | PROVIDE ( ets_update_cpu_frequency = 0x40002f04 ); |
154 | PROVIDE ( ets_vprintf = 0x40001f00 ); |
155 | PROVIDE ( ets_wdt_disable = 0x400030f0 ); |
156 | PROVIDE ( ets_wdt_enable = 0x40002fa0 ); |
157 | PROVIDE ( ets_wdt_get_mode = 0x40002f34 ); |
158 | PROVIDE ( ets_wdt_init = 0x40003170 ); |
159 | PROVIDE ( ets_wdt_restore = 0x40003158 ); |
160 | PROVIDE ( ets_write_char = 0x40001da0 ); |
161 | PROVIDE ( get_first_seg = 0x4000091c ); |
162 | PROVIDE ( gpio_init = 0x40004c50 ); |
163 | PROVIDE ( gpio_input_get = 0x40004cf0 ); |
164 | PROVIDE ( gpio_intr_ack = 0x40004dcc ); |
165 | PROVIDE ( gpio_intr_handler_register = 0x40004e28 ); |
166 | PROVIDE ( gpio_intr_pending = 0x40004d88 ); |
167 | PROVIDE ( gpio_intr_test = 0x40004efc ); |
168 | PROVIDE ( gpio_output_set = 0x40004cd0 ); |
169 | PROVIDE ( gpio_pin_intr_state_set = 0x40004d90 ); |
170 | PROVIDE ( gpio_pin_wakeup_disable = 0x40004ed4 ); |
171 | PROVIDE ( gpio_pin_wakeup_enable = 0x40004e90 ); |
172 | PROVIDE ( gpio_register_get = 0x40004d5c ); |
173 | PROVIDE ( gpio_register_set = 0x40004d04 ); |
174 | PROVIDE ( hmac_md5 = 0x4000a2cc ); |
175 | PROVIDE ( hmac_md5_vector = 0x4000a160 ); |
176 | PROVIDE ( hmac_sha1 = 0x4000ba28 ); |
177 | PROVIDE ( hmac_sha1_vector = 0x4000b8b4 ); |
178 | PROVIDE ( lldesc_build_chain = 0x40004f40 ); |
179 | PROVIDE ( lldesc_num2link = 0x40005050 ); |
180 | PROVIDE ( lldesc_set_owner = 0x4000507c ); |
181 | PROVIDE ( main = 0x40000fec ); |
182 | PROVIDE ( md5_vector = 0x400097ac ); |
183 | PROVIDE ( mem_calloc = 0x40001c2c ); |
184 | PROVIDE ( mem_free = 0x400019e0 ); |
185 | PROVIDE ( mem_init = 0x40001998 ); |
186 | PROVIDE ( mem_malloc = 0x40001b40 ); |
187 | PROVIDE ( mem_realloc = 0x40001c6c ); |
188 | PROVIDE ( mem_trim = 0x40001a14 ); |
189 | PROVIDE ( mem_zalloc = 0x40001c58 ); |
190 | PROVIDE ( memcmp = 0x4000dea8 ); |
191 | PROVIDE ( memcpy = 0x4000df48 ); |
192 | PROVIDE ( memmove = 0x4000e04c ); |
193 | PROVIDE ( memset = 0x4000e190 ); |
194 | PROVIDE ( multofup = 0x400031c0 ); |
195 | PROVIDE ( pbkdf2_sha1 = 0x4000b840 ); |
196 | PROVIDE ( phy_get_romfuncs = 0x40006b08 ); |
197 | PROVIDE ( rand = 0x40000600 ); |
198 | PROVIDE ( rc4_skip = 0x4000dd68 ); |
199 | PROVIDE ( recv_packet = 0x40003d08 ); |
200 | PROVIDE ( remove_head_space = 0x40000a04 ); |
201 | PROVIDE ( rijndaelKeySetupDec = 0x40008dd0 ); |
202 | PROVIDE ( rijndaelKeySetupEnc = 0x40009300 ); |
203 | PROVIDE ( rom_abs_temp = 0x400060c0 ); |
204 | PROVIDE ( rom_ana_inf_gating_en = 0x40006b10 ); |
205 | PROVIDE ( rom_cal_tos_v50 = 0x40007a28 ); |
206 | PROVIDE ( rom_chip_50_set_channel = 0x40006f84 ); |
207 | PROVIDE ( rom_chip_v5_disable_cca = 0x400060d0 ); |
208 | PROVIDE ( rom_chip_v5_enable_cca = 0x400060ec ); |
209 | PROVIDE ( rom_chip_v5_rx_init = 0x4000711c ); |
210 | PROVIDE ( rom_chip_v5_sense_backoff = 0x4000610c ); |
211 | PROVIDE ( rom_chip_v5_tx_init = 0x4000718c ); |
212 | PROVIDE ( rom_dc_iq_est = 0x4000615c ); |
213 | PROVIDE ( rom_en_pwdet = 0x400061b8 ); |
214 | PROVIDE ( rom_get_bb_atten = 0x40006238 ); |
215 | PROVIDE ( rom_get_corr_power = 0x40006260 ); |
216 | PROVIDE ( rom_get_fm_sar_dout = 0x400062dc ); |
217 | PROVIDE ( rom_get_noisefloor = 0x40006394 ); |
218 | PROVIDE ( rom_get_power_db = 0x400063b0 ); |
219 | PROVIDE ( rom_i2c_readReg = 0x40007268 ); |
220 | PROVIDE ( rom_i2c_readReg_Mask = 0x4000729c ); |
221 | PROVIDE ( rom_i2c_writeReg = 0x400072d8 ); |
222 | PROVIDE ( rom_i2c_writeReg_Mask = 0x4000730c ); |
223 | PROVIDE ( rom_iq_est_disable = 0x40006400 ); |
224 | PROVIDE ( rom_iq_est_enable = 0x40006430 ); |
225 | PROVIDE ( rom_linear_to_db = 0x40006484 ); |
226 | PROVIDE ( rom_mhz2ieee = 0x400065a4 ); |
227 | PROVIDE ( rom_pbus_dco___SA2 = 0x40007bf0 ); |
228 | PROVIDE ( rom_pbus_debugmode = 0x4000737c ); |
229 | PROVIDE ( rom_pbus_enter_debugmode = 0x40007410 ); |
230 | PROVIDE ( rom_pbus_exit_debugmode = 0x40007448 ); |
231 | PROVIDE ( rom_pbus_force_test = 0x4000747c ); |
232 | PROVIDE ( rom_pbus_rd = 0x400074d8 ); |
233 | PROVIDE ( rom_pbus_set_rxgain = 0x4000754c ); |
234 | PROVIDE ( rom_pbus_set_txgain = 0x40007610 ); |
235 | PROVIDE ( rom_pbus_workmode = 0x40007648 ); |
236 | PROVIDE ( rom_pbus_xpd_rx_off = 0x40007688 ); |
237 | PROVIDE ( rom_pbus_xpd_rx_on = 0x400076cc ); |
238 | PROVIDE ( rom_pbus_xpd_tx_off = 0x400076fc ); |
239 | PROVIDE ( rom_pbus_xpd_tx_on = 0x40007740 ); |
240 | PROVIDE ( rom_pbus_xpd_tx_on__low_gain = 0x400077a0 ); |
241 | PROVIDE ( rom_phy_reset_req = 0x40007804 ); |
242 | PROVIDE ( rom_restart_cal = 0x4000781c ); |
243 | PROVIDE ( rom_rfcal_pwrctrl = 0x40007eb4 ); |
244 | PROVIDE ( rom_rfcal_rxiq = 0x4000804c ); |
245 | PROVIDE ( rom_rfcal_rxiq_set_reg = 0x40008264 ); |
246 | PROVIDE ( rom_rfcal_txcap = 0x40008388 ); |
247 | PROVIDE ( rom_rfcal_txiq = 0x40008610 ); |
248 | PROVIDE ( rom_rfcal_txiq_cover = 0x400088b8 ); |
249 | PROVIDE ( rom_rfcal_txiq_set_reg = 0x40008a70 ); |
250 | PROVIDE ( rom_rfpll_reset = 0x40007868 ); |
251 | PROVIDE ( rom_rfpll_set_freq = 0x40007968 ); |
252 | PROVIDE ( rom_rxiq_cover_mg_mp = 0x40008b6c ); |
253 | PROVIDE ( rom_rxiq_get_mis = 0x40006628 ); |
254 | PROVIDE ( rom_sar_init = 0x40006738 ); |
255 | PROVIDE ( rom_set_ana_inf_tx_scale = 0x4000678c ); |
256 | PROVIDE ( rom_set_channel_freq = 0x40006c50 ); |
257 | PROVIDE ( rom_set_loopback_gain = 0x400067c8 ); |
258 | PROVIDE ( rom_set_noise_floor = 0x40006830 ); |
259 | PROVIDE ( rom_set_rxclk_en = 0x40006550 ); |
260 | PROVIDE ( rom_set_txbb_atten = 0x40008c6c ); |
261 | PROVIDE ( rom_set_txclk_en = 0x4000650c ); |
262 | PROVIDE ( rom_set_txiq_cal = 0x40008d34 ); |
263 | PROVIDE ( rom_start_noisefloor = 0x40006874 ); |
264 | PROVIDE ( rom_start_tx_tone = 0x400068b4 ); |
265 | PROVIDE ( rom_stop_tx_tone = 0x4000698c ); |
266 | PROVIDE ( rom_tx_mac_disable = 0x40006a98 ); |
267 | PROVIDE ( rom_tx_mac_enable = 0x40006ad4 ); |
268 | PROVIDE ( rom_txtone_linear_pwr = 0x40006a1c ); |
269 | PROVIDE ( rom_write_rfpll_sdm = 0x400078dc ); |
270 | PROVIDE ( roundup2 = 0x400031b4 ); |
271 | PROVIDE ( rtc_enter_sleep = 0x40002870 ); |
272 | PROVIDE ( rtc_get_reset_reason = 0x400025e0 ); |
273 | PROVIDE ( rtc_intr_handler = 0x400029ec ); |
274 | PROVIDE ( rtc_set_sleep_mode = 0x40002668 ); |
275 | PROVIDE ( save_rxbcn_mactime = 0x400027a4 ); |
276 | PROVIDE ( save_tsf_us = 0x400027ac ); |
277 | PROVIDE ( send_packet = 0x40003c80 ); |
278 | PROVIDE ( sha1_prf = 0x4000ba48 ); |
279 | PROVIDE ( sha1_vector = 0x4000a2ec ); |
280 | PROVIDE ( sip_alloc_to_host_evt = 0x40005180 ); |
281 | PROVIDE ( sip_get_ptr = 0x400058a8 ); |
282 | PROVIDE ( sip_get_state = 0x40005668 ); |
283 | PROVIDE ( sip_init_attach = 0x4000567c ); |
284 | PROVIDE ( sip_install_rx_ctrl_cb = 0x4000544c ); |
285 | PROVIDE ( sip_install_rx_data_cb = 0x4000545c ); |
286 | PROVIDE ( sip_post = 0x400050fc ); |
287 | PROVIDE ( sip_post_init = 0x400056c4 ); |
288 | PROVIDE ( sip_reclaim_from_host_cmd = 0x4000534c ); |
289 | PROVIDE ( sip_reclaim_tx_data_pkt = 0x400052c0 ); |
290 | PROVIDE ( sip_send = 0x40005808 ); |
291 | PROVIDE ( sip_to_host_chain_append = 0x40005864 ); |
292 | PROVIDE ( sip_to_host_evt_send_done = 0x40005234 ); |
293 | PROVIDE ( slc_add_credits = 0x400060ac ); |
294 | PROVIDE ( slc_enable = 0x40005d90 ); |
295 | PROVIDE ( slc_from_host_chain_fetch = 0x40005f24 ); |
296 | PROVIDE ( slc_from_host_chain_recycle = 0x40005e94 ); |
297 | PROVIDE ( slc_init_attach = 0x40005c50 ); |
298 | PROVIDE ( slc_init_credit = 0x4000608c ); |
299 | PROVIDE ( slc_pause_from_host = 0x40006014 ); |
300 | PROVIDE ( slc_reattach = 0x40005c1c ); |
301 | PROVIDE ( slc_resume_from_host = 0x4000603c ); |
302 | PROVIDE ( slc_select_tohost_gpio = 0x40005dc0 ); |
303 | PROVIDE ( slc_select_tohost_gpio_mode = 0x40005db8 ); |
304 | PROVIDE ( slc_send_to_host_chain = 0x40005de4 ); |
305 | PROVIDE ( slc_set_host_io_max_window = 0x40006068 ); |
306 | PROVIDE ( slc_to_host_chain_recycle = 0x40005f10 ); |
307 | PROVIDE ( software_reset = 0x4000264c ); |
308 | PROVIDE ( spi_flash_attach = 0x40004644 ); |
309 | PROVIDE ( srand = 0x400005f0 ); |
310 | PROVIDE ( strcmp = 0x4000bdc8 ); |
311 | PROVIDE ( strcpy = 0x4000bec8 ); |
312 | PROVIDE ( strlen = 0x4000bf4c ); |
313 | PROVIDE ( strncmp = 0x4000bfa8 ); |
314 | PROVIDE ( strncpy = 0x4000c0a0 ); |
315 | PROVIDE ( strstr = 0x4000e1e0 ); |
316 | PROVIDE ( timer_insert = 0x40002c64 ); |
317 | PROVIDE ( uartAttach = 0x4000383c ); |
318 | PROVIDE ( uart_baudrate_detect = 0x40003924 ); |
319 | PROVIDE ( uart_buff_switch = 0x400038a4 ); |
320 | PROVIDE ( uart_div_modify = 0x400039d8 ); |
321 | PROVIDE ( uart_rx_intr_handler = 0x40003bbc ); |
322 | PROVIDE ( uart_rx_one_char = 0x40003b8c ); |
323 | PROVIDE ( uart_rx_one_char_block = 0x40003b64 ); |
324 | PROVIDE ( uart_rx_readbuff = 0x40003ec8 ); |
325 | PROVIDE ( uart_tx_one_char = 0x40003b30 ); |
326 | PROVIDE ( wepkey_128 = 0x4000bc40 ); |
327 | PROVIDE ( wepkey_64 = 0x4000bb3c ); |
328 | PROVIDE ( xthal_bcopy = 0x40000688 ); |
329 | PROVIDE ( xthal_copy123 = 0x4000074c ); |
330 | PROVIDE ( xthal_get_ccompare = 0x4000dd4c ); |
331 | PROVIDE ( xthal_get_ccount = 0x4000dd38 ); |
332 | PROVIDE ( xthal_get_interrupt = 0x4000dd58 ); |
333 | PROVIDE ( xthal_get_intread = 0x4000dd58 ); |
334 | PROVIDE ( xthal_memcpy = 0x400006c4 ); |
335 | PROVIDE ( xthal_set_ccompare = 0x4000dd40 ); |
336 | PROVIDE ( xthal_set_intclear = 0x4000dd60 ); |
337 | PROVIDE ( xthal_spill_registers_into_stack_nw = 0x4000e320 ); |
338 | PROVIDE ( xthal_window_spill = 0x4000e324 ); |
339 | PROVIDE ( xthal_window_spill_nw = 0x4000e320 ); |
340 | |
341 | PROVIDE ( Te0 = 0x3fffccf0 ); |
342 | PROVIDE ( UartDev = 0x3fffde10 ); |
> > Und wo schreibt man sich sowas auf, damit man das auch morgen noch > nachlesen kann und damit alle was davon haben? > > Ich habe es mir erstmal hier gemerkt: > http://de.esp8266.wikia.com/wiki/Ets_uart_printf Ein Anfang ist gemacht - howdy wow - Guter Anfang, aber hint: Stichwort sollte auch klein sein: "ets_uart_prinzf()"
.. schrieb: > Sieh dir das Linker File an. Es steht viel drin. Alles ist nicht > dokumentiert. Eben. :-( Aber natürlich: Danke für den Tipp! Viel Potenzial für ein Wiki! .. schrieb: > Stichwort sollte auch klein sein Hast Du bei Wikipedia mal einen Artikel in "klein" oder mit "Unterstrich" gesehen? Das geht nicht! Englisch wäre auch 'ne Alternative. Kannst Du im Doku-Wiki editieren? http://www.esp8266.com/wiki/doku.php Ich bekomme "Command disabled: edit" bzw. "If permissions allow, you may create it by clicking on “Create this page”." Aber ich habe wohl keine Rechte. http://www.esp8266.com/viewtopic.php?f=6&t=924&start=25#p26929 Mein MQTT-Client mit PWM-Dimmer läuft inzwischen übrigens mit SDK 1.3.0. Aber dazu demnächst mehr im Dimmer-Thread. Irgendwie sind wir hier hoffnungslos OT. Sorry @ All.
:
Bearbeitet durch User
Hallo Thomas, tolles Projekt! Kann du mir bitte das Basic4Android Programm zukommen lassen? Gruß Toni
Klasse Projekt. Fast das was ich suche ;-) Mal eine Frage an diejenigen, die es im Einsatz haben: Stromversorgung: Wie schauts da aus? Mit was versorgt ihr es? Wie lange hält es?
Hallo Thomas, mein Name ist Alexander. Kannst du mir bitte die App zu deinem Projekt hier zukommen lassen ? Ich freue mich über deine Hilfe. gruß Alexander
WiFi Relais mit ESP8266 ESP-01 Modul (Bascom) Hallo zusammen, ich weiss, dass das oben genannte Thema schon sehr alt ist, aber ich bin jetzt erst drauf gestoßen und hab dazu eine Frage a.) wie spielt man die Firmware in den ESP8266 rein ?? b.) wie kann man die IP-Adresse ändern ?? Vielen Dank im Voraus Gruss Martin (martini2000)
Beitrag #5115354 wurde von einem Moderator gelöscht.
Beitrag #5115417 wurde von einem Moderator gelöscht.
Beitrag #5115477 wurde von einem Moderator gelöscht.
Statt sich im Verfassen wenig hilfreicher Beiträge und dem sich-das-gegenseitig-Vorwerfen zu üben, könnten die lieben Mitforisten auch mal was sinnvolleres tun. ESP8266 sind nicht mit Bascom programmierbar. Bascom ist ein Basic-Compiler für Atmels 8-Bit-AVRs und für Intels MCS-51-Reihe; der ESP8266 aber setzt einen komplett anderen Microcontroller ein. Für diesen Microcontroller gibt es verschiedene Entwicklungssysteme, die teilweise komplett neue Firmware produzieren (wie es bei Verwendung von C- oder C++-Compilern der Fall ist), oder die eine Firmware verwenden, die auf den Controller geladene Programme interpretiert, wie es z.B. die Lua-Variante namens NodeMCU macht. Für jemand, der bislang mit Basic gearbeitet hat, ist das vermutlich ein Weg mit geringem Widerstand. http://nodemcu.com/index_en.html Alternativ lassen sich ESP8266 auch mit der Arduino-Entwicklungsumgebung programmieren, dazu muss nur ein passender "Boardmanager" in der Arduino-IDE installiert werden. Ein willkürlich ausgesuchtes Tutorial dafür findet sich hier: https://diyhacking.com/esp8266-tutorial/
Oder ein Zweizeiler mit espbasic: https://www.esp8266basic.com/examples.html In Fünf Minuten zur Lösung?
Beitrag #5115851 wurde von einem Moderator gelöscht.
Rufus Τ. F. schrieb: > ESP8266 sind nicht mit Bascom programmierbar. Bascom ist ein > Basic-Compiler für Atmels 8-Bit-AVRs und für Intels MCS-51-Reihe; der > ESP8266 aber setzt einen komplett anderen Microcontroller ein. Alles richtig -aber am Thema vorbei. Es geht, wie man unschwer mit der allseits gepriesenen Suchfunktion feststellen kann, um diesen Beitrag: Beitrag "WiFi Relais mit ESP8266 ESP-01 Modul (Bascom)" Dort ist ein Attiny44 im Spiel -und für den gibt es ein Bascom-Programm. Von einem Bascom-Programm für den ESP8266 selbst war weder heir noch dort die Rede. Herbert
ich wollte nur (höflich) wissen, wie man die Firmware in den ESP kriegt und bekomme ich gleich so eine Keule ab. Trotzdem Danke
Martin B. schrieb: > ich wollte nur (höflich) wissen, wie man die Firmware in den ESP > kriegt und bekomme ich gleich so eine Keule ab. > Trotzdem Danke Ja, das habe ich auch gesehen und deshalb meinen obigen Beitrag gesandt. Es ist hier eine zunehmende Tenzenz zum flüchtigen Lesen und daraus folgendem Mißverstehen von Fragen zu verzeichnen. Es gibt dann mehrere Möglichkeiten der Reaktion: - Nichtbeachten von vollkommen nutzlosen Antworten - Bei wiederholtem Auftauchen des gleichen "Helfers" -> Ausblenden - Antwort in Frakturschrift d.h. unmißverständliches Zeigen der roten Karte Um auf Deine Frage zurückzukommen: Hier ist ein Link, in dem beschrieben wird, wie man neue Firmware auf den ESP8266 bekommt: http://michaelsarduino.blogspot.de/2015/10/neue-firmware-auf-esp-8266-brennen.html Herbert
Beitrag #5115915 wurde von einem Moderator gelöscht.
Danke an Herbert, der klarmachte, daß es sich hier um ein Nachfolgeposting eines anderen Beitrags handelte. Das war anhand der ausführlichen Formulierung im Ausgangsposting für mich nicht klar zu erkennen.
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.