Vous êtes sur la page 1sur 254

ESP8266

ESP8266
ESP8266



- -
4.0 .

http://creativecommons.org/licenses/by-nc-
.sa/4.0/deed.ar

1
ESP8266

2
ESP8266

3
ESP8266



1.
2.
: 6.ESP8266
7.ESP8266
9..ESP8266
: 11..NodeMCU
12.NodeMCU
13.....NodeMCU
: 25
: 31NodeMCU
: 32...
: 59...
: 76..
: 77..ESPlorer
: 84.Arduino

4
ESP8266

: 92..
: 94...
: ) 102( ESPlorer
:103..
: 116....PWM
: 131..
: 147....
: 163.....
: 189...
: ) 213.( Arduino
: 214.
: 231
247.
249...
251..

5
ESP8266

ESP8266

6
ESP8266

:ESP8266

) ( wifi ) (.
.

:

ESP-12 ESP-12E

7
ESP8266

:ESP8266

ESP-06-07-08-12-12E
.
) ( Shielded .
8
ESP8266

:ESP8266

.ESP8266
:

NodeMCU ESP-07
ESP-12

ESPduino Adafruit HUZZAH


ESP-13 ESP-12

9
ESP8266

:ESP8266

NodeMCU .
ESP8266-01

. .
10
NodeMCU

NodeMCU

11
NodeMCU

:NodeMCU


) ( internet of things
.
:


.


.
.ESP2866-12
.
.2014

NodeMCU
http://nodemcu.com/index_cn.html

12
NodeMCU

:NodeMCU

: NodeMCU

) :( V 0.9

( :

) ( D10 - D1
) input ( output .PWM

) ( D0
.PWM
) ( A0

) .( analog input
5 ) ( 5v 3.3 ) ( 3.3v
) .( GND

13
NodeMCU

6 ) ( NC
.

14
NodeMCU

( :

) .( push button

* ) :( flash button
f u
NodeMCU

* ) :( user button
) (
NodeMCU

:


.

( :

) 47 ( ) 31 ( .
.
) ( Breadboard NodeMCU

:
15
NodeMCU

16
NodeMCU

( :

ESP8266 3.3 .
) ( output ESP8266 3.3 .
NodeMCU 3.3 5
) ( regulator 5
3.3.

( NodeMCU :

NodeMCU :

) (
6 24.

) (.
NodeMCU
:

17
NodeMCU

18
NodeMCU

) :( V 1

( :

) ( D10 - D1
) input ( output .PWM

) ( D0
.PWM
) ( A0

) .( analog input
( 10v - 3.3v ) Vin 3.3 ) ( 3.3v
) .( GND

19
NodeMCU

) ( NC
.

20
NodeMCU

( :

) .( push button

* ) :( flash button
f r
NodeMCU

* ) :( rst button
) (
NodeMCU

:


.

( :

) 47 ( ) 26 ( .
.
) ( Breadboard
:

21
NodeMCU

22
NodeMCU

( :

ESP8266 3.3 .
) ( output ESP8266 3.3 .
NodeMCU 3.3
10 ) ( regulator
3.3

10 5.

( NodeMCU :

NodeMCU :

) (
6v .24v

) (.
NodeMCU
:

23
NodeMCU

24
NodeMCU

25
NodeMCU


NodeMCU


NodeMCU

) (

26
NodeMCU

) ( Breadboard


NodeMCU

)
(


NodeMCU

)
(

27
NodeMCU

) ( Resistors
.

) ( LED

)(RGB LED

) ( LDR

28
NodeMCU

) ( PIR


) ( DHT11

)(jumper wire

29
NodeMCU

) ( aliexpress DealeXtreme
.
) 20 60 (

3 6 NodeMCU

2.5 NodeMCU

1.3

550 5

100 4

50 2.3

10 0.5

100 2

: aliexpress

30
NodeMCU

NodeMCU

31
NodeMCU

32
NodeMCU

NodeMCU
. .

(1 :ch341 driver

) ( .
) ( . :

http://raysfiles.com/drivers/ch341ser_mac.zip

(2 :silabs driver

) ( ) (
:

https://www.silabs.com/products/mcu/Pages/
USBtoUARTBridgeVCPDrivers.aspx

) ( ) (
. .

33
NodeMCU

(3 :Git

) ( ) (
:

http://git-scm.com/downloads

) ( ) (
. .

(4 :python

python 2.7 :

https://www.python.org/downloads/

34
NodeMCU

(5 :pyserial

https://pypi.python.org/pypi/pyserial

) ( ) ( .
.
.

: .

35
NodeMCU

(6 :NodeMCU

NodeMCU :

https://github.com/nodemcu/nodemcu-firmware/
releases/tag/0.9.6-dev_20150704

4
) ( nodemcu_integer_0.9.6-dev_20150704.bin

) ( Terminal .

Terminal LXTerminal .

) ( .

36
NodeMCU

) ( Terminal :

37
NodeMCU

Terminal :

38
NodeMCU

) ( Terminal :

.
NodeMCU
.

39
NodeMCU

) ( Home
.Finder .inventor

: .

Terminal
) ( Home .inventor

Terminal
:

(1 .pip

(2 .pyserial

(3 .esptool

(4 .NodeMCU

40
NodeMCU

(1 :pip


) ( python
:

pip --version


pip 7.1.2 )
( pip . pyserial

pip :

pip: command not found


: pip
41
NodeMCU


: pip

:pip

sudo easy_install pip

Enter
)
( :

42
NodeMCU

:

.pip

:
Terminal .

Enter
pip :

43
NodeMCU

pip --version

44
NodeMCU

:pip

( :pip

sudo easy_install pip

( :pip

pip --version

( :pip

pip install -U pip

( :pip

sudo pip uninstall pip

45
NodeMCU

(2 :pyserial

sudo pip install pyserial

)
(
:

46
NodeMCU

Enter
pyserial :

47
NodeMCU

(3 :esptool

git clone https://github.com/themadinventor/esptool.git

Enter
:

48
NodeMCU

.esptool esptool
) .( Home

: ) (
. inventor

49
NodeMCU

NodeMCU
esptool :

50
NodeMCU

(4 :NodeMCU

NodeMCU
esptool ) .( Home
.esptool Terminal
esptool :

cd esptool

Enter ) ( inventor
esptool :

51
NodeMCU

NodeMCU
.USB USB.

*ls /dev/tty.

Enter USB
:

52
NodeMCU

) ( /dev/tty.wchusbserial1410
.NodeMCU

: .


NodeMCU

sudo python esptool.py --port /dev/ttyUSB0 write_flash


0x00000 The_Path_To_The_NodeMCU_Firmware.bin

/dev/ttyUSB0 USB
NodeMCU
The_Path_To_The_NodeMCU_Firmware.bin
NodeMCU .
53
NodeMCU

sudo python esptool.py --port /dev/tty.wchusbserial1410


write_flash 0x00000 nodemcu_float_0.9.6-dev_20150704.bin

Enter
)
( :

54
NodeMCU

Enter :

NodeMCU

.
:

55
NodeMCU

Terminal NodeMCU .

56
NodeMCU

NodeMCU .
) ( Flash button
NodeMCU
) (.

NodeMCU
) .( Flash button

:
sudo python esptool.py --port /dev/tty.wchusbserial1410
write_flash 0x00000 nodemcu_float_0.9.6-dev_20150704.bin

Enter
NodeMCU :

57
NodeMCU

.
:

Terminal NodeMCU

58
NodeMCU

59
NodeMCU

NodeMCU
) (.

(1 :silabs driver

https://www.silabs.com/products/mcu/Pages/
USBtoUARTBridgeVCPDrivers.aspx

) (
. .

(2 :CH340 driver

http://www.14core.com/drivers/


) ( CH340 Serial Communication Driver
:

60
NodeMCU

) ( SETUP.EXE
:

61
NodeMCU

(3 :NodeMCU

NodeMCU :

https://github.com/nodemcu/nodemcu-
firmware/releases/tag/0.9.6-dev_20150704

4
) ( nodemcu_integer_0.9.6-dev_20150704.bin

(4 :nodemcu flasher

NodeMCU :

https://github.com/nodemcu/nodemcu-flasher

62
NodeMCU

(5 :putty

http://www.chiark.greenend.org.uk/~sgtatham/
putty/download.html


) ( putty.exe :

63
NodeMCU

NodeMCU

(1 :NodeMCU

NodeMCU .
:


NodeMCU :

64
NodeMCU

) ( COM4
.NodeMCU

: .

65
NodeMCU

(2 :Putty

Putty

66
NodeMCU

Open :

.
.

67
NodeMCU

(3 :NodeMCU

) ( nodemcu flasher

.
) ( Advanced :

68
NodeMCU

9600 = Baudrate

512kByte = Flash size

40MHz = Flash speed

QIO = SPI Mode

) ( Config :

69
NodeMCU

NodeMCU
. ) ( Operation
:

70
NodeMCU

Flash
:

71
NodeMCU

72
NodeMCU

(4 :NodeMCU

Putty

NodeMCU open

73
NodeMCU

Open :


) user ( rst NodeMCU
.

:Enter

)"print ("Hello NodeMCU

" " Hello NodeMCU


:

74
NodeMCU

NodeMCU
Putty NodeMCU .

75
NodeMCU

76
NodeMCU

ESPlorer

77
NodeMCU


.NodeMCU

ESPlorer
:

(1 :ESPlorer

http://esp8266.ru/esplorer/

Download

:

: ESPlorer

78
NodeMCU

(2 ) :( Java
http://java.com/en/download/

Free Java Download


:

79
NodeMCU

(3 :ESPlorer

ESPlorer.jar :

80
NodeMCU

81
NodeMCU


) ( code

4
3

1 2

(1 .NodeMCU
(2 .NodeMCU
(3 USB.
(4 .NodeMCU
82
NodeMCU

(4 :ESPlorer
) ( Lua
.NodeMCU


) :( Lua

http://www.lua.org/home.html


) ( Lua :

http://www.nodemcu.com/docs/index

83
NodeMCU

Arduino

84
NodeMCU


.NodeMCU

) ( Arduino IDE
ESP8266
:

(1 :
https://www.arduino.cc/en/Main/Software


just download

85
NodeMCU

(2 ESP8266 :
:

) Preferences ( Arduino :

) Preferences ( ) File : (

) Preferences ( ) File : (

86
NodeMCU

) ( additional boards manager urls


:

http://arduino.esp8266.com/versions/2.1.0/
package_esp8266com_index.json

87
NodeMCU

Boards Manager Board Tools

88
NodeMCU

) Boards Manager (
:

.
esp8266 Install
:

89
NodeMCU

90
NodeMCU

) ( Board ) ( Tools

NodeMCU
) ( 0.9 ) ( 1.0
:

91
NodeMCU

92
NodeMCU

:


) .( wifi

) ( wifi
:

) ( Aplication
.




) ( web server
.
93
NodeMCU

94
NodeMCU

) ( JavaScript CSS HTML

) .( Bootstrap

) ( framework HTML CSS

. JavaScript

http://www.w3schools.com/bootstrap/default.asp
.

95
NodeMCU

http://www.w3schools.com/bootstrap/default.asp

96
NodeMCU

) ( BS Buttons
) ( :


) ( :

97
NodeMCU

Try it Yourself

:

98
NodeMCU


.
See Result
:

99
NodeMCU

.
See Result :

100
NodeMCU

101
NodeMCU



) ( ESPlorer

102
NodeMCU

) (:

:

) ( ) .( LED
.

NodeMCU
NodeMCU
) ( Breadboard
220
) ( LED

103
NodeMCU

) ( LED D4
NodeMCU ) ( LED
) ( GND .220

104
NodeMCU

:
:
www.github/flash.lua
ESPlorer .

.
.NodeMCU
105
NodeMCU

: .

: .

led D4 . 1

x 0 . 2

) ( output . 3

106
NodeMCU

. 4
. 1000 ) 1 (.


5
x 0 .
0 . 1
10
. 1000

11 if .

12 ) ( tmr.alarm .

107
NodeMCU

) ( tmr.alarm
:

)(tmr.alarm( 0, 1000, 1, function


) "print( "hello world
) end
) ( tmr.alarm 4:

) : (0 0 6
.

) : (1000 .

) : (1 1 .0 1
) 1000 ( .
0

) :( function .
) .( hello world

: ) ( hello world
.

108
NodeMCU

) ( tmr.alarm

)(tmr.alarm( 0, 2000, 1, function


) "print( "green
) end

)(tmr.alarm( 4 ,5000 ,0, function


) "print( "black
) end

)(tmr.alarm( 2, 300, 1, function


) "print( "white
) end

) ( tmr.alarm : .0
) ( green .

) ( tmr.alarm : .4
) ( black 5 .

) ( tmr.alarm : .2
) ( white 300 .

109
NodeMCU

NodeMCU :
NodeMCU
. .NodeMCU
9600 :

110
NodeMCU

111
NodeMCU

) ( save to ESP
) ( send to ESP

) :( save to ESP ESP8266



) (
.ESP8266

) :( send to ESP

) ( .ESP8266

) ( save to ESP
init.lua
:

112
NodeMCU

:
https://www.youtube.com/watch?v=FIEcLg0plZM

113
NodeMCU

ESP8266
.init.lua


init.lua
:

114
NodeMCU

:ESP8266

.
ESP8266 .
ESP8266
)" file.remove("init.lua
send .
ESP8266 )(file.format

115
NodeMCU

) :( PWM

.PWM
.

NodeMCU
NodeMCU
) ( Breadboard
220
) ( LED

116
NodeMCU

) ( LED D4
NodeMCU ) ( LED
) ( GND .220

117
NodeMCU

:
:
www.github/pwm.lua
ESPlorer .

led D4 . 1

c 0 . 2

x 0 . 3

) ( output . 5

118
NodeMCU

.PWM . 6

.PWM . 7

) pwm.setup( led,1000,0 3:

) :(led PWM.
D4 led

) :(1000 ) ( Frequency
.PWM 0 .1000

) :( 0 .duty cycle
0 1023 .
0
. 1023 .
512 .
0
1023 .
119
NodeMCU

) ( for : 3
9
) 0 ( 2
.

) ( for : .
1024 . 11
) 0 ( 1023.

.
.c c 0 . 13
1023 ) (.

.
14
. 1000
.

) ( for. . 15

120
NodeMCU

) ( for : .
17 1024 .

) 1023 ( 0.

.
19 .c c .

1023 0 ) (.

.
20
. 1000
.

21 ) ( for. .

23 ) ( for. .

121
NodeMCU

) ( for
:
for x=0, 9, 1 do

) "print( "Arabic

end

) ( for 3 :

) :( x=0 .

) :( 9 .

) :( 1 ) (.

: x 0
) .( Arabic 1 x 1
) ( Arabic . 1 x
2 ) ( Arabic .
1 x 3 )(Arabic
. x 9
) ( Arabic . 1 x
10 ) ( Arabic 10

122
NodeMCU

for x=1, 5, 2 do

) "print( "good

end

) :( x=1 .

) :( 5 .

) :( 2 ) (.

: x 1
) .( good 2 x 3
) ( good . 2 x
5 ) ( good .
2 x 7
) ( good 7 ) ( for

123
NodeMCU

for x=3, 0, -1 do

) "print( "man

end

) :( x=3 .

) :( 0 .

) :( -1 ) (.

: x 3
) .( man 1 x 2
) ( man . 1 x
1 ) ( man .
1 x 0 ) (man .
1 x 1-
) ( good 1- ) ( for

124
NodeMCU

NodeMCU :
NodeMCU
. .NodeMCU
9600 :

125
NodeMCU

126
NodeMCU

) ( save to ESP
) ( send to ESP

) :( save to ESP ESP8266



) (
.ESP8266

) :( send to ESP

) ( .ESP8266

) ( save to ESP
init.lua
:

127
NodeMCU


.
3

:
https://www.youtube.com/watch?v=7-YWds1xuEc

128
NodeMCU

ESP8266
.init.lua


init.lua
:

129
NodeMCU

:ESP8266

.
ESP8266 .
ESP8266
)" file.remove("init.lua
send .
ESP8266 )(file.format

130
NodeMCU

) (:

:

NodeMCU
NodeMCU
) ( Breadboard
220
) ( LED

131
NodeMCU

) ( LED D4
NodeMCU ) ( LED
) ( GND .220

132
NodeMCU

:
:
www.github/on-off-button.lua
ESPlorer .

ESP8266 ) .( wifi
1
) .( client
.

) .( wifi :
:your_network_name . 2
:your_network_password

IP . 3

led D4 . 5

) ( output . 6

133
NodeMCU

( port 80 ) 80 . 8
9


11
.
.

12
24 ) .( URL

134
NodeMCU

26
) ( Bootstrap
) 38 (.

33

34

36
37

135
NodeMCU

IP
) 192.168.8.112
(.

) ( ON
192.168.8.112/?pin=ON
pin
.ON

) ( OFF
192.168.8.112/?pin=OFF
pin
.OFF

136
NodeMCU

40 pin ON .
41 .

42 pin OFF .
43 .

44 .if
.

137
NodeMCU


45
.Bootstrap
.

46
.


47 .

48 )conn:on("receive",function(client,request

.

49 )srv:listen(80,function(conn
.

138
NodeMCU

NodeMCU :
NodeMCU
. .NodeMCU
9600 :

139
NodeMCU

140
NodeMCU

) ( save to ESP
) ( send to ESP

) :( save to ESP ESP8266



) (
.ESP8266

) :( send to ESP

) ( .ESP8266

) ( save to ESP
init.lua
:

141
NodeMCU

142
NodeMCU

:IP
IP
:

112

IP :

143
NodeMCU

)( =wifi.sta.getip
send .IP

:
https://www.youtube.com/watch?v=ew-xRSakZe4

144
NodeMCU

ESP8266
.init.lua


init.lua
:

NodeMCU .
.


) ( wifi ESP8266
.

145
NodeMCU

:ESP8266

.
ESP8266 .
ESP8266
)" file.remove("init.lua
send .
ESP8266 )(file.format

146
NodeMCU

) (:

NodeMCU
NodeMCU
) ( LDR
1
) ( Breadboard

147
NodeMCU

.5v
) ( GND 1.
1
A0 .NodeMCU

148
NodeMCU

:
:
www.github/ldr.lua
ESPlorer .

ESP8266 ) .( wifi
1
) .( client
.

) .( wifi :
:ssid . 2
:pass

IP . 3

. . 5

149
NodeMCU

6
0
8

. 1 . 9

11 ) (ldr
.

) adc.read(0 A0
12
. ldr_value
.

13 . percent_light .

14 . percent_dark .

15 )(ldr
.

150
NodeMCU


17
. 5000 ) 5 (.
.

)( ldr
18
bimb 1 .
.

bimb 5 . 5
19 bimb=0 ) ( wifi .

Reconnect

20 if .

21 ) ( tmr.alarm .

151
NodeMCU

( port 80 ) 80 .
23

.


24
.
.

152
NodeMCU

26
) ( Bootstrap
) 42 (.

33

34

36

38
40
41
153
NodeMCU


43
.Bootstrap
.

44 conn:send('HTTP/1.1 200 OK\r\n. .

45 )conn:on("receive",function(conn,payload
.

154
NodeMCU

NodeMCU :
NodeMCU
. .NodeMCU
9600 :

155
NodeMCU

156
NodeMCU

) ( save to ESP
) ( send to ESP

) :( save to ESP ESP8266



) (
.ESP8266

) :( send to ESP

) ( .ESP8266

) ( save to ESP
init.lua
:

157
NodeMCU

158
NodeMCU

:IP
IP
:

IP :

159
NodeMCU

)( =wifi.sta.getip
send .IP

:
https://www.youtube.com/watch?v=Wask4NJp9TQ

160
NodeMCU

ESP8266
.init.lua


init.lua
:

NodeMCU .
.


) ( wifi ESP8266
.

161
NodeMCU

:ESP8266

.
ESP8266 .
ESP8266
)" file.remove("init.lua
send .
ESP8266 )(file.format

162
NodeMCU

) (:

NodeMCU
NodeMCU
) ( RGB LED
3 ) 220 ( 3.3v
) ( Breadboard

163
NodeMCU

(1 ) :( common cathode


+ + +

3
) ( .
.
.
.

164
NodeMCU

(2 ) :( common anode

3
) ( .
.
.
.

165
NodeMCU

) :( common cathode
) .( GND
.NodeMCU
( HIGH ) 1 .( LOW ) 0
0 .1023 0
1023 .

) :( common anode
.5v
.NodeMCU
( LOW ) 0 .( HIGH ) 1
1023 .0 1023
0 .

:
) .( bit

8 ) :( 8 bit = ) 256 = 28 0 ( 255

10 ) :( 10 bit = ) 1024 = 210 0 ( 1023

NodeMCU 10 ) ( 10 bit
166
NodeMCU




)(R )(G )(B )(R )(G )(B

0
1 0
1 0
1 1023
1 1023
1 1023
1

1023
1 0
1 0
1 0
1 1023
1 1023
1

0
1 1023
1 0
1 1023
1 0
1 1023
1

0
1 0
1 1023
1 1023
1 1023
1 0
1

1023
1 1023
1 0
1 0
1 0
1 1023
1

1023
1 590
1 0
1 0
1 433
1 1023
1

0
1 1023
1 1023
1 1023
1 0
1 0
1

1023
1 0
1 1023
1 0
1 1023
1 0
1

1023
1 1023
1 1023
1 0
1 0
1 0
1

167
NodeMCU

.5v
.D2 .D3
D4 .NodeMCU

168
NodeMCU

:
:
www.github/rgb.lua
ESPlorer .

) "( "ssid" , "pass

ESP8266 ) .( wifi
1
) .( client
.

) .( wifi :
:ssid . 2
:pass

IP . 3

169
NodeMCU

:
) r ( .D2 5

) g ( .D3 7
) b ( .D4

) ( output
9
) ( output
11
) ( output

170
NodeMCU

PWM . 1000
12
) 1023 (
.

PWM . 1000
13
) 1023 (
.

PWM . 1000
14
) 1023 (
.

15 .PWM .

16 .PWM .

17 .PWM .

171
NodeMCU

19 )( off
23 ) . (

25 )( red
29 .

31 )( green
35 .
172
NodeMCU

37 )( blue
41 .

43 )( white
47 .

49 )( yellow
53 .
173
NodeMCU

55 )( aqua
59 .

61 )( pink
65 .

67 )( orange
71 .

174
NodeMCU

( port 80 ) 80 . 73
74


75
.
.

77
89 ) .( URL

175
NodeMCU

90
) ( Bootstrap
) 115 (.

176
NodeMCU

98

100 106

107 112

color
.:

off color off

pink color pink


pink

177
NodeMCU

117 color off .


118 )(.off

119 color red .


120 )(.red

121 color green .


122 )(.green

123 color blue .


124 )(.blue

125 color white .


126 )(.white
178
NodeMCU

127 color yellow .


128 )(.yellow

129 color pink .


130 )(.pink

131 color orange .


132 )(.orange

133 color aqua .


134 )(.aqua

135 .if
.

179
NodeMCU


137
.Bootstrap
.

138
.


140 .

141 )conn:on("receive",function(client,request
.

142 )srv:listen(80,function(conn
.

180
NodeMCU

NodeMCU :
NodeMCU
. .NodeMCU
9600 :

181
NodeMCU

182
NodeMCU

) ( save to ESP
) ( send to ESP

) :( save to ESP ESP8266



) (
.ESP8266

) :( send to ESP

) ( .ESP8266

) ( save to ESP
init.lua
:

183
NodeMCU

:

not enough memory

184
NodeMCU

:IP
IP
:

IP :

185
NodeMCU

)( =wifi.sta.getip
send .IP

:
https://www.youtube.com/watch?v=8dcI9n4ELhY

186
NodeMCU

ESP8266
.init.lua


init.lua
:

NodeMCU .
.


) ( wifi ESP8266
.

187
NodeMCU

:ESP8266

.
ESP8266 .
ESP8266
)" file.remove("init.lua
send .
ESP8266 )(file.format

188
NodeMCU

) (:

NodeMCU
NodeMCU
) ( PIR: Passive infrared sensor
) ( Breadboard

189
NodeMCU

.5v
) .( GND ) ( output D4
.NodeMCU

190
NodeMCU

:( If This Then That ) IFTTT

) ( Recipe

.

:
https://ifttt.com

) ( Sign Up
:

191
NodeMCU


) .( Create account :

192
NodeMCU

) .( this
:

) .( that
:
193
NodeMCU

) .( Continue :

) .( Continue :
194
NodeMCU


. ) .( Continue

) ( Recipe
:

https://ifttt.com/recipes/315426-esp8266-email-notifier

195
NodeMCU

:
.Gmail

) ( Connect Maker
Gmail :

196
NodeMCU

) ( Connect
Maker
) .( Done

) ( Connect Gmail
) ( ) .( Done

197
NodeMCU

) ( motion_detected .

:

) .( Add :

198
NodeMCU

) .( Done

https://ifttt.com/maker

199
NodeMCU

cnaIpXPkSACc_ZSUincyfQ :

200
NodeMCU

https://maker.ifttt.com/trigger/motion_detected/with/
key/YOUR_API_KEY

YOUR_API_KEY
. :

https://maker.ifttt.com/trigger/motion_detected/with/
key/cnaIpXPkSACc_ZSUincyfQ

Congratulations!Youve fired the motion_detected event

201
NodeMCU

:
.

202
NodeMCU

:
:
www.github/email-pir.lua
ESPlorer .

ESP8266 ) .( wifi
1
) .( client
.

) .( wifi :
:ssid . 2
:pass

pin D4 . 3

D4
4
) .( interrupt
.

203
NodeMCU

) :( interrupt
. ) .( Triggering

) ( pin High
Low .

) ( interrupt :

http://www.genotronex.com/2013/03/interrupt.html

204
NodeMCU

)(onChange . 6

Motion Detected . 8

9
( port 80 ) 80 .
12

13
14

:14 YOUR_API_KEY
. :

conn:send("POST /trigger/motion_detected/with/key/
cnaIpXPkSACc_ZSUincyfQ HTTP/1.1\r\nHost: maker.ifttt.com
)\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n") end

205
NodeMCU

. 15

Email sent . 16

)(onChange . 17

Low
.High
18
)( onChange
.

) gpio.trig( pin, 'up', onChange 3:


:pin D4 ) .( interrupt

:up Low .High

)( :onChange .

206
NodeMCU

NodeMCU :
NodeMCU
. .NodeMCU
9600 :

207
NodeMCU

208
NodeMCU

) ( save to ESP
) ( send to ESP

) :( save to ESP ESP8266



) (
.ESP8266

) :( send to ESP

) ( .ESP8266

) ( save to ESP
init.lua
:

209
NodeMCU

:
https://www.youtube.com/watch?v=ltWVZUcArB0

210
NodeMCU

ESP8266
.init.lua


init.lua
:

NodeMCU .
.

211
NodeMCU

:ESP8266

.
ESP8266 .
ESP8266
)" file.remove("init.lua
send .
ESP8266 )(file.format

212
NodeMCU



) ( Arduino

213
NodeMCU

) (:

:

NodeMCU
NodeMCU
) ( Breadboard
220
) ( LED

214
NodeMCU

) ( LED D4
NodeMCU ) ( LED
) ( GND .220

215
NodeMCU

:NodeMCU

NodeMCU
( 14 ): .

NodeMCU :


)GPIO16 (16 D0
)GPIO5 (5 D1
)GPIO4 (4 D2
)GPIO0 (0 D3
)GPIO2 (2 D4
)GPIO14 (14 D5
)GPIO12 (12 D6
)GPIO13 (13 D7
)GPIO15 (15 D8
)GPIO3 (3 D9
)GPIO1 (1 D10


.
D4 ) ( LED=2 .
216
NodeMCU

:
:
www.github/on-off-button.lua
.

ESP8266 . 1

:ssid . 3

:pass . 4

led GPIO2 . 6

value LOW . 7

. 8

217
NodeMCU

. 10

115200 . 12

13 . 10 .

) ( output . 14

.LOW . 15

17 ) ( conn ) ( ssid
20

218
NodeMCU

ESP8266 .22

. 23
while ) ( . .
while . 26

27

28

.30

31
IP 35
219
NodeMCU

39 .

.
41
.return
.
44
: NodeMCU

) ( . 45

47 http
49

220
NodeMCU

51
) ( Bootstrap
60 ) (.

64

65

66 67

70

221
NodeMCU

IP
) 192.168.1.9
(.

) ( ON
192.168.1.9/LED=ON
LED
.ON

) ( OFF
192.168.1.9/LED=OFF
LED
.OFF

222
NodeMCU

. . 70

71 value HIGH
) .( On value LOW
75 ) ( Off .

77
) ( BootStrap
79

223
NodeMCU

.
81 while
.
: ) (/LED=ON
83
) (/LED=OFF

) client.readStringUntil(\r
85

request
.

86 request .

) ( buffer . 87

224
NodeMCU

request ).(/LED=ON 89
. value
92 .HIGH

request ).(/LED=OFF 93
. value
96 .LOW

225
NodeMCU

98 . 1 .

99
.
. 100

102 .

226
NodeMCU

NodeMCU :
NodeMCU
.
:

227
NodeMCU

) ( port ) ( Tools


NodeMCU :

228
NodeMCU

229
NodeMCU

IP :

IP

9/

115200

:
https://www.youtube.com/watch?v=449FbBCfKcA

230
NodeMCU

) (:

NodeMCU
NodeMCU
) ( DHT11
) ( Breadboard

231
NodeMCU

) (:

.5v
) .( GND ) ( output
D5 .NodeMCU
232
NodeMCU

) (:


10 ) ( output .5v

.5v
) .( GND ) ( output D5
.NodeMCU

233
NodeMCU

:NodeMCU

NodeMCU
( 14 ): .

NodeMCU :


)GPIO16 (16 D0
)GPIO5 (5 D1
)GPIO4 (4 D2
)GPIO0 (0 D3
)GPIO2 (2 D4
)GPIO14 (14 D5
)GPIO12 (12 D6
)GPIO13 (13 D7
)GPIO15 (15 D8
)GPIO3 (3 D9
)GPIO1 (1 D10


.
D4 ) ( LED=2 .
NodeMCU

:
:
www.github/dht.lua
.

ESP8266 . 1

DHT . 2

DHTPIN GPIO14 . 3

5
) ( // . DHT11 7

235
NodeMCU

:ssid . 9

:pass . 10

. 12

. 13

236
NodeMCU

. 15

115200 . 17

18 . 10 .

) ! ( DHTxx test . 20

. 21

23 ) ( connecting to ) ( ssid
26
237
NodeMCU

.28 ESP8266

. 29
while ) ( . .
while . 32

33

34

.36

37
IP 41
238
NodeMCU

45
.

47 . 1000 .

49 h .

50 t
.

.f . 51

53 .
56 ) .( Failed
.

239
NodeMCU

.58 .hif

.59 hic

.
61
.return
.
64
: NodeMCU

.65 ) (

http 67

69
240
NodeMCU

71
) ( Bootstrap
91 ) (.

.92

241
NodeMCU

77

87

79 90

3 .
71 .

242
NodeMCU

NodeMCU :
NodeMCU
.
:

243
NodeMCU

) ( port ) ( Tools


NodeMCU :

244
NodeMCU

245
NodeMCU

IP :

IP

115200

:
https://www.youtube.com/watch?v=WFfZXg6FlOc

246
NodeMCU

247
NodeMCU

HOME AUTOMATION USING ESP8266

NodeMCU Development Workshop

NodeMCU

http://www.nodemcu.com/docs/index

( Bootstrap )

http://www.w3schools.com/bootstrap/default.asp

248
NodeMCU

249
NodeMCU

:
.
. :

https://www.udemy.com/arduinoworkshop

: .
:

https://drive.google.com/file/d/
0BzFV7oWCcSrbT041S2RGdDZZMk0/view?usp=sharing

250
NodeMCU

251
NodeMCU

jihad.basuni@gmail.com

https://www.facebook.com/Inventor.Jihad

https://twitter.com/jihad_basuni

252

Vous aimerez peut-être aussi