-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathESP8266.tex
186 lines (147 loc) · 5.26 KB
/
ESP8266.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
\begin{figure}[ht]
\centering
\includegraphics[scale=0.25]{images/ESP8266_ESP-01.png}
\ \ \
\includegraphics[scale=0.2]{images/ESP8266.png}
% \caption{}
\label{ESP8266_ESP-01}
\end{figure}
\subsection{Firmware Update}
Tools: \url{http://www.espressif.com/en/support/download/other-tools}\\
SDKs und Demos: \url{http://www.espressif.com/en/support/download/sdks-demos}\\
NONOS SDK Source: \url{https://github.com/espressif/ESP8266_NONOS_SDK/releases}\\
Download SDK: \url{https://github.com/espressif/ESP8266_NONOS_SDK/archive/v2.2.1.zip}\\
Um das Firmware Update ausführen zu können muss der GPIO0 Eingang auf GND gesetzt werden. Das kann entweder dauerhaft gemacht werden indem der Pin direkt auf GND verbunden wird. Oder man macht es über einen Schalter. Dann ist wichtig, dass der Schalter während des Boot-Vorgangs bzw. bevor Reset gedrückt wird, gedrückt gehalten wird. Ich würde aber empfehlen einfach den GPIO0 Pin über eine Kabel auf GND zu verbinden. Reset kann ausgelöst werden durch entfernen und zurückstecken der 3,3~V Versorgung.
Beim schwarzen ESP-01 (1~MBit) müssen folgende Dateien und Adressen übertragen werden.
\begin{table}[h]
\caption{ Schwarzer ESP01 (1~MBit) Firmware Dateien}
\centering
\begin{tabular}{|l|c|c|}
\hline
\textbf{Datei (NONOS SDK)} & \textbf{Adresse} \\
\hline
\path{bin/blank.bin} & 0xFB000\\
\hline
\path{bin/esp_init_data_default_v08.bin} & 0xFC000\\
\hline
\path{bin/blank.bin} & 0x7E000\\
\hline
\path{bin/blank.bin} & 0xFE000\\
\hline
\path{bin/boot_v1.7.bin} & 0x00000\\
\hline
\path{bin/at/512+512/user1.1024.new.2.bin} & 0x01000\\
\hline
\end{tabular}
\end{table}
\input{ESP8266-Firmware-Linux}
%\input{ESP8266-Firmware-Win}
\subsection{Verwendung}
\textbf{AT-Befehlsatz:}\\
\url{https://www.espressif.com/sites/default/files/documentation/4a-esp8266_at_instruction_set_en.pdf}\\
\begin{figure}[ht]
\centering
\includegraphics[scale=0.18]{images/QR_ESP8266_AT-Cmd.png}
% \caption{}
\label{ESP8266_AT-Cmd}
\end{figure}
Vor dem Verbindungsaufbau muss zuerst der serielle Terminal beendet werden. Bei GC2-xHAT kann dies mit dem Befehl "`esppoweron"' erledigt werden. Dieser schaltet danach die Versorgung des ESP-Moduls ein. Dann kann über das Programm screen mit dem Mikrocontroller kommuniziert werden. Alle Befehle müssen allerdings mit Enter und STRG+J abgeschlossen werden.
%\textbf{Raspberry Pi:}
\begin{console}
sudo systemctl stop [email protected]
sudo systemctl status [email protected]
\end{console}
%sudo apt-get install screen
\begin{console}
sudo screen /dev/ttyAMA0 115200
\end{console}
%\textbf{USB UART:}
%\begin{console}
%sudo screen /dev/ttyUSB0 115200
%\end{console}
%\textbf{Beispielkommunikation:}
\textbf{Verbindungstest:} \texttt{AT} \framebox{Enter} \framebox{Strg}+\framebox{J}
\begin{screensmall}
OK
\end{screensmall}
\textbf{Reset:} \texttt{AT+RST} \framebox{Enter} \framebox{Strg}+\framebox{J}
\begin{screensmall}
2nd boot version : 1.7(5d6f877)
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000
\end{screensmall}
% Updated ESP-01
% ets Jan 8 2013,rst cause:2, boot mode:(3,6)
%
% load 0x40100000, len 1396, room 16
% tail 4
% chksum 0x89
% load 0x3ffe8000, len 776, room 4
% tail 4
% chksum 0xe8
% load 0x3ffe8308, len 540, room 4
% tail 8
% chksum 0xc0
% csum 0xc0
%
% 2nd boot version : 1.4(b1)
% SPI Speed : 40MHz
% SPI Mode : DIO
% SPI Flash Size & Map: 8Mbit(512KB+512KB)
% jump to run user1 @ 1000
%
% Ai-Thinker Technology Co.,Ltd.
% ets Jan 8 2013,rst cause:2, boot mode:(3,7)
%
% load 0x40100000, len 1856, room 16
% tail 0
% chksum 0x63
% load 0x3ffe8000, len 776, room 8
% tail 0
% chksum 0x02
% load 0x3ffe8310, len 552, room 8
% tail 0
% chksum 0x79
% csum 0x79
%
% 2nd boot version : 1.5
% SPI Speed : 40MHz
% SPI Mode : DIO
% SPI Flash Size & Map: 8Mbit(512KB+512KB)
% jump to run user1 @ 1000
\textbf{Version abfragen:} \texttt{AT+GMR} \framebox{Enter} \framebox{Strg}+\framebox{J}
\begin{screensmall}
AT version:1.6.2.0(Apr 13 2018 11:10:59)
SDK version:2.2.1(6ab97e9)
compile time:Jun 7 2018 19:34:26
Bin version(Wroom 02):1.6.2
OK
\end{screensmall}
% Updated ESP-01
%AT version:0.40.0.0(Aug 8 2015 14:45:58)
%SDK version:1.3.0
%Ai-Thinker Technology Co.,Ltd.
%Build:1.3.0.2 Sep 11 2015 11:48:04
%AT version:1.1.0.0(May 11 2016 18:09:56)
%SDK version:1.5.4(baaeaebb)
%Ai-Thinker Technology Co. Ltd.
%Jun 13 2016 11:29:20
\textbf{WLAN Modus Station setzen:} \texttt{AT+CWMODE=1} \framebox{Enter} \framebox{Strg}+\framebox{J}
\begin{screensmall}
OK
\end{screensmall}
\textbf{Gefundene WLAN-Netze auflisten:} \texttt{AT+CWLAP} \framebox{Enter} \framebox{Strg}+\framebox{J}
\begin{screensmall}
+CWLAP:(4,"Home",-92,"f4:06:8d:3b:e1:3c",11,-41)
+CWLAP:(3,"AndroidAP",-89,"10:a5:d0:73:de:eb",11,23)
\end{screensmall}
\textbf{LED schalten (nur bei ESP-01S):} \\
\texttt{AT+SYSIOSETCFG=2,0,1} \framebox{Enter} \framebox{Strg}+\framebox{J}\\
\texttt{AT+SYSGPIODIR=2,1} \framebox{Enter} \framebox{Strg}+\framebox{J}\\
\texttt{AT+SYSGPIOWRITE=2,1} \framebox{Enter} \framebox{Strg}+\framebox{J}\\
\texttt{AT+SYSGPIOWRITE=2,0} \framebox{Enter} \framebox{Strg}+\framebox{J}\\
\texttt{AT+SYSGPIODIR=2,0} \framebox{Enter} \framebox{Strg}+\framebox{J}\\
\textbf{Screen beenden:}\\
\framebox{Strg}+\framebox{A} und "`:quit"' eingeben