Forum: Projekte & Code WiFi Relais mit ESP8266 ESP-01 Modul (Bascom)


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Thomas H. (pcexperte) Benutzerseite



Lesenswert?

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
von Thomas H. (pcexperte) Benutzerseite


Angehängte Dateien:

Lesenswert?

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
von Thomas H. (pcexperte) Benutzerseite



Lesenswert?

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
von Lars R. (lrs)


Lesenswert?

Thomas H. schrieb:
> Hoffe es gefällt...

Schönes Projekt. War etwas unerwarte/schwierig?

von Thomas H. (pcexperte) Benutzerseite


Lesenswert?

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
von Ronny S. (phoenix-0815)


Lesenswert?

Hallo,
also das ist ja Super und auch noch in Basic finde ich auch Super.

Gruß Ronny

von Lars R. (lrs)


Lesenswert?

@Thomas H.

Im uC-Unterforum gibt es einen Thread zu diesen Modulen. Da wird bei 
Problemen gern geholfen.

von Guest (Gast)


Lesenswert?

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.

von Thomas H. (pcexperte) Benutzerseite


Lesenswert?

@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
von Thomas H. (pcexperte) Benutzerseite


Angehängte Dateien:

Lesenswert?

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
von Thomas H. (pcexperte) Benutzerseite


Lesenswert?

@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

von Thomas H. (pcexperte) Benutzerseite


Lesenswert?

@Ronny

Habe deine PN alle bereits beantwortet, schau mal in den Spam-Ordner ;)

Gruß
Thomas

von Darth Vader (Gast)


Lesenswert?

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?

von Darth Vader (Gast)


Lesenswert?

Warum eigentlich ein Quarz, wenn eh nur ein 9600baud Soft-UART genutzt 
wird?!?

von Thomas H. (pcexperte) Benutzerseite


Lesenswert?

@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

von Ronny S. (phoenix-0815)


Lesenswert?

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

von Klaus R. (klaus2)


Lesenswert?

...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.

von Thomas H. (pcexperte) Benutzerseite


Lesenswert?

@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

von Ronny S. (phoenix-0815)


Lesenswert?

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

von Thomas H. (pcexperte) Benutzerseite


Lesenswert?

@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

von Thomas H. (pcexperte) Benutzerseite


Angehängte Dateien:

Lesenswert?

@Alle

Mir ist da übrigens ein Fehler unterlaufen, hatte den falschen
Schaltplan hochgeladen.

Hier der richtige Schaltplan.

Gruß
Thomas

: Bearbeitet durch User
von Reprezentant W. (reprezentantwschodu)


Lesenswert?

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.

von Thomas H. (pcexperte) Benutzerseite


Lesenswert?

@Reprezentant

Die Rahmen sind in der Frames Library ;)

Gruß
Thomas

von Lars R. (lrs)


Lesenswert?

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.

von Thomas H. (pcexperte) Benutzerseite


Angehängte Dateien:

Lesenswert?

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

von Ronny S. (phoenix-0815)


Lesenswert?

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

von Thomas H. (pcexperte) Benutzerseite


Angehängte Dateien:

Lesenswert?

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

von Joachim B. (jar)


Lesenswert?

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

von Horst (Gast)


Lesenswert?

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.

von Joachim B. (jar)


Lesenswert?

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.

von Horst (Gast)


Lesenswert?

:/ Das ist aber nicht so endkundenfreundlich.

von Horst (Gast)


Lesenswert?

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.

von sven (Gast)


Lesenswert?

Nettes kleines Projekt.
Mir Gefällt das Layout.
Magst du die Eagle Dateien veröffentlichen?

von Thomas H. (pcexperte) Benutzerseite



Lesenswert?

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
von Thomas H. (pcexperte) Benutzerseite


Lesenswert?

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)

von Thomas H. (pcexperte) Benutzerseite


Lesenswert?

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 ;)

von Ronny S. (phoenix-0815)


Lesenswert?

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

von Sven (Gast)


Lesenswert?

Gibt es noch platinen? könnte Zwei oder Drei brauchen .

von Thomas H. (pcexperte) Benutzerseite


Lesenswert?

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

von Thomas H. (pcexperte) Benutzerseite


Lesenswert?

@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

von Ronny S. (phoenix-0815)


Lesenswert?

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

von Hurgel (Gast)


Lesenswert?

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.

von Holger W. (holgerw)


Lesenswert?

Hier mein WLan Relais ohne extra µC:
Beitrag "Re: Zeigt her Eure IoT Projekte"

Holger

von Ronny S. (phoenix-0815)


Lesenswert?

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

von ;-) (Gast)


Lesenswert?

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.

;-)

von Thomas H. (pcexperte) Benutzerseite


Lesenswert?

@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

von Ronny S. (phoenix-0815)


Lesenswert?

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 ?

von Induktionschutz? (Gast)


Lesenswert?

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?

von Thomas H. (pcexperte) Benutzerseite


Lesenswert?

@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

von Ronny S. (phoenix-0815)


Lesenswert?

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

von Sławek (Gast)


Lesenswert?

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

von V. K. (fragender)


Lesenswert?

Guten Abend,
sind noch solche Platinen erhältlich ?

lg

von ;-) (Gast)


Lesenswert?

V. K. schrieb:
> Guten Abend,
> sind noch solche Platinen erhältlich ?
>
> lg

das würd mich auch mal interessieren

;-)

von DSL Kunde (Gast)


Lesenswert?

V. K. schrieb:
> Guten Abend,
> sind noch solche Platinen erhältlich ?
>
> lg

Frag mal dich oder 'deinen Nachbarn'

von Mischa N. (mischaka)


Lesenswert?

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/

von Torsten C. (torsten_c) Benutzerseite


Angehängte Dateien:

Lesenswert?

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!

von Mark (Gast)


Lesenswert?

Hi,
hat jemand eine Idee, wie ich den Arduino-like Code fürs ESP8266 in 
einer vernünftigen IDE unter Windows schreiben kann?

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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?

von Mark (Gast)


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Nur zum Verständnis:
Was ist aus Deiner Sicht an der "Arduino-IDE" unvernünftig?

von .. (Gast)


Lesenswert?

Torsten C. schrieb:
> Original-API unter Windows mit Tracer/Debugger (Breakpoints, ...).
> Die gitbt es leider nicht.
> Oder habe ich die Frage falsch verstanden?

Ja ;-)

von .. (Gast)


Lesenswert?

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
;-)

von .. (Gast)


Lesenswert?

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_

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

.. 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
von .. (Gast)


Lesenswert?

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.

von .. (Gast)


Lesenswert?

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/

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

.. 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
von Werner P. (Gast)


Lesenswert?

kann ich nur empfehlen:

http://tomeko.net/other/ESP8266/native.php

codeblocks

Grüße

von r_u_d_i (Gast)


Lesenswert?

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'.

von r_u_d_i (Gast)


Lesenswert?

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. 
----------------------------------*/

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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
von r_u_d_i (Gast)


Angehängte Dateien:

Lesenswert?

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 ;-)

von .. (Gast)


Lesenswert?

@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 ;-)

von Torsten C. (torsten_c) Benutzerseite


Angehängte Dateien:

Lesenswert?

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
von .. (Gast)


Lesenswert?

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()"

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

.. 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
von Toni (Gast)


Lesenswert?

Hallo Thomas,

tolles Projekt! Kann du mir bitte das Basic4Android Programm zukommen 
lassen?

Gruß
Toni

von Horatis (Gast)


Lesenswert?

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?

von Evert Spies (Gast)


Lesenswert?

I would like a copy of the andriod b4a please

von Alexander H. (alexmaxch)


Lesenswert?

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

von Martin B. (martini2000)


Lesenswert?

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.
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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/

von Costa Smeralda (Gast)


Lesenswert?

Oder ein Zweizeiler mit espbasic:

https://www.esp8266basic.com/examples.html

In Fünf Minuten zur Lösung?

von Costa Smeralda (Gast)


Lesenswert?


Beitrag #5115851 wurde von einem Moderator gelöscht.
von Herbert B. (herbert_b)


Lesenswert?

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

von Martin B. (martini2000)


Lesenswert?

ich wollte nur (höflich) wissen, wie man die Firmware in den ESP
kriegt und bekomme ich gleich so eine Keule ab.
Trotzdem Danke

von Herbert B. (herbert_b)


Lesenswert?

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.
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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
Noch kein Account? Hier anmelden.