Sie sind auf Seite 1von 62

TP ON BU CHNH VIN THNG VIT NAM

HC VIN CNG NGH BU CHNH VIN THNG


---------------------------------------

N/KHO LUN
TT NGHIP I HC

ti: Thit k m hnh smart home n gin s dng


module wifi ESP8266

Ngi hng dn :
Sinh vin thc hin: Trn Vn Tip
Lp : D12DTMT
NHN XT, NH GI, CHO IM
(Ca ging vin hng dn)
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................

im: ..................................... (Bng ch:..)


ng /Khng ng cho sinh vin bo v trc hi ng chm n tt nghip?

H Ni, Ngy...Thng...Nm 2013


CN B - GING VIN HNG DN
(k, h tn)
LI CM N

Bc vo ngng ca c m cnh ca i hc vi bit bao nim c m v cng ngh thng tin


th nhng em tng trng nh ng gc v khng th ng dy c khi ngy em bit tin em
trt ngnh cng ngh thng tin i hc Bch Khoa H Ni nhng thng ngy k tip l nhng
thng ngy em sng trong tuyt vng khng bit mnh s i u v lm g, nhng c hi m
ra vi em mt ln na khi c c hi bc vo hc vin Bu Chnh Vin Thng nhng c mt s
thay i l ngnh em chn khng phi l cng ngh thng tin na m em i theo mt con ng
trong em mch bo l ngnh k thut in t, ngy em bc vo trng em cng cha hiu bit
nhiu v in t vi bit bao hoi nghi khng bit cng vic sau ny ra trng em s lm g,
trong qu trnh hc em s nghin cu iu g.
Nhng thi gian thc t hc hc vin tr li em tt c em thc rt thch th am m v nh
b cun vo ngnh in t vi nhng ng dng ca n rt gn vi cuc sng v rt hu ch theo
xu th ca x hi.
Nhng iu khin em thc s n tng v qu trng hn rt nhiu l s nhit huyt, tn tm
ca cc thy c trong khoa
Em xin cm n c Bi Th Dn, c V Anh o, thy Nguyn Trung Hiu, thy Nguyn Ngc
Minh thy c thc s a em n vi khoa in t, em n cho em s am m v nhit
huyt tui tr, in t ca cc thy c em v cc bn rt may mn c c n nhn tnh cm
ca thy c danh cho.
Sau cnh ca an l mt tng li mi, mt con ng mi, mt cng vic mi cho em v cc
bn tp on FPT sofware, khong 40 bn trn tng s hn mt trm bn lm vic cng em
tp on FPT sofware v cn nhiu bn khc c vic tp on khc l sm phm o to v
tm huyt ca thy c.
Em xin mt ln na thay mt cc bn cm n cc thy c rt nhiu em xin chc cc thy c sc
khe v thnh cng a !

Page i
DANH MC CC K HIU V CH VIT TT

CPU: Central Process Unit Khi x l trung tm


RAM: Random Access Memory B Nh truy nhp ngu nhin
ROM: Read Only Memory B Nh ch c
HDMI: High-Definition Multimedia Interface Giao din a phng tin phn gii cao
GPIO: General Purpose Input Output Cng vo ra vi mc ch c bn
MQTT: Message Queuing Telemetry Transport Giao thc publish/subscribe bn tin
IOT: Internet Of Things L lin kt my n my
WPA: Wi-Fi Protected Access Giao Thc an ninh mng khng dy
UART: Universal Asynchronous Receive/Transmit Truyn nhn d liu khng ng b
TXD: Transmitted Data Truyn d liu
RXD: Received Data Nhn d liu
RST: Reset Lm li
IC: Integrated Circuit Mch in cha cc link kin bn dn
VCC: Voltage Constant Current in p c dng khng i
VDD: Voltage Drain Drain in p cc mng
AC: Alternating Current Dng thay i theo thi gian
GND: Ground t
EEPROM:Electrically Erasable Programmable Vng nh khng bay hi
QoS: Quality of Service Kh nng gip cho vic truyn d liu
IP: Internet Protocol Giao thc internet
TCP: Transmission Control Protocol Giao thc iu khin vn chuyn
MAC: Media Access Control a ch vt l
SSL: Secure Sockets Layer Tiu chun ca cng ngh bo mt
TTL: Time To Live Thi gian sng
URL: Uniform Resource Locator S dng tham chiu n ti nguyn mng
PIR: Passive Infrared Sensor Hng ngoi th ng

Page ii
DANH MC CC BNG/ HNH V

Hnh 1. 1 M hnh smart home ........................................................................................................ 2


Hnh 2. 1 Mt trn ca raspberry pi2 ............................................................................................... 5
Hnh 2. 2 ESP8266 .......................................................................................................................... 6
Hnh 2. 3 S chn ESP8266 ....................................................................................................... 6
Hnh 2. 4 S nguyn l cm bin in dung TTP223-BA6 ....................................................... 7
Hnh 2. 5 S chn Mosfet IRFR 3709 ........................................................................................ 9
Hnh 2. 6 Module uart PL2303 ...................................................................................................... 10
Hnh 2. 7 S d chn DS18B20 .................................................................................................... 11
Hnh 2. 8 Module hng ngoi ........................................................................................................ 12
Hnh 2. 9 S chn module MQ2 ............................................................................................... 14
Hnh 2. 10 Module remote a dng ............................................................................................... 14

Hinh 3. 1 S khi smart home .................................................................................................. 15


Hinh 3. 2 M hnh giao tip client v broker trong giao thc mqtt ............................................... 17
Hinh 3. 3 S cho v d trn ....................................................................................................... 18
Hinh 3. 4 Hnh nh file Rasbian ti v ......................................................................................... 19
Hinh 3. 5 Hnh nh minh ha cho bc 3...................................................................................... 20
Hinh 3. 6 Hnh minh ha cho bc 5 ............................................................................................ 20
Hinh 3. 7 Hinh minh ha cho bc trn ........................................................................................ 21
Hinh 3. 8 S chn kt ni usb ttl v module Raspberry pi2 .................................................... 22
Hinh 3. 9 Hnh nh minh ha cho bc 1...................................................................................... 22
Hinh 3. 10 Hnh nh minh ha cho bc 3................................................................................... 23
Hinh 3. 11 Hnh nh minh ha cho bc 4.................................................................................... 23
Hinh 3. 12 Hnh minh ha cho bc 5 .......................................................................................... 24
Hinh 3. 13 Hnh minh ha cho bc 1 .......................................................................................... 24
Hinh 3. 14 Hnh nh minh ha cho bc 2.................................................................................... 25
Hinh 3. 15 Hnh nh m t cho bc 3.......................................................................................... 26
Hinh 3. 16 Hnh nh m t cho bc 4.......................................................................................... 26
Hinh 3. 17 Hnh nh m t cho bc 5.......................................................................................... 27
Hinh 3. 18 Hnh nh ci t mosquitto cho Orange pi one ........................................................... 27
Hinh 3. 19 Hinh nh ng nhp vo Raspberry pi bng winSCP.................................................. 29
Hinh 3. 20 Hnh m t cho bc trn ........................................................................................... 30
Hinh 3. 21 Hnh nh kch hot openhab bng Putty ...................................................................... 32
Hinh 3. 22 Hnh nh giao din Openhab ....................................................................................... 33

Hnh 4. 1 Mch in iu khin thit b bng wifi trong m hnh smart home, mt top .................. 34
Hnh 4. 2 Mch in iu khin thit b bng wifi trong m hnh smart home, mt bottom ............ 34
Hnh 4. 3 Lu thut ton code x l cm bin in dung ........................................................ 35
Hnh 4. 4 Code s dng ngt ngoi ESP8266 pht hin trm phm ......................................... 37
Hnh 4. 5 Hm x l sau trm phm .............................................................................................. 40
Hnh 4. 6 Chng trnh m t cho qu trnh trn .......................................................................... 44
Hnh 4. 7 Lu thut ton phn tch x l d liu t mqtt broker gi v .................................. 45
Hnh 4. 8 Chng trnh m t cho bc lng nghe v phn tch d liu t MQTT broker .......... 47
Hnh 4. 9 M t phn cng cm bin nhit .............................................................................. 48
Hnh 4. 10 Lu thut ton hot ng ESP8266 cm bin nhit .......................................... 48

Page iii
MC LC

LI CM N ................................................................................................................................. i
DANH MC CC K HIU V CH VIT TT ................................................................... ii
MC LC ...................................................................................................................................... v
M U......................................................................................................................................... 1
CHNG 1 GII THIU V SMART HOME ........................................................................ 2
1.1 Gii thiu v smart home ...................................................................................................... 2
1.2 Yu cu tng th .................................................................................................................... 2
1.3 Phn cng .............................................................................................................................. 3
1.4 Kch bn cho tng phng....................................................................................................... 3
CHNG 2: LINK KIN V MODULE S DNG .............................................................. 5
2.1 Server raspberry pi 2.............................................................................................................. 5
2.1.1 Gii thiu v raspberry pi 2 ........................................................................................... 5
2.1.2 Mc ch s dng Raspberry pi 2 trong ti smart home ............................................ 5
2.2 Module wifi ESP8266 ....................................................................................................... 6
2.2.1 Gii thiu v module ESP8266 ...................................................................................... 6
2.1.2 S chn v chc nng ................................................................................................ 6
2.3 IC cm bin in dung TTP223-BA6 ................................................................................... 7
2.3.1 Gii thiu v IC cm bin in dung TTP223-BA6 ....................................................... 7
2.3.2 S chn v chc nng ................................................................................................ 7
2.3.3 Mc ch s dng IC TTP223-BA6 ............................................................................... 8
2.4 Mosfet knh N- IRFR3709 30V ............................................................................................ 8
2.4.1 Gii thiu mosfet knh N- IRFR3709 30V .................................................................... 8
2.4.2 Nguyn l hot ng ...................................................................................................... 8
2.4.3 Kim tra hot ng ca mosfet ....................................................................................... 8
2.4.4 Mc ch s dng Mosfet IRFR3709 ............................................................................. 8
2.5 IC chuyn i USB UART IC PL2303 ............................................................................. 9
2.5.1 Gii thiu IC chuyn i gii thiu IC PL2303 ........................................................... 10
2.5.2 S chn v chc nng .............................................................................................. 10
2.5.3 Mc ch s dng mch np UART ............................................................................. 10
2.6 Cm bin nhit DS18B20 .............................................................................................. 10
2.6.1 Gii thiu v cm bin nhit DS18B20 ................................................................... 10
2.6.2 S chn v chc nng .............................................................................................. 11
2.6.3 Mc ch s dng cm bin nhit trong ti ........................................................ 11
2.7 IC cm bin hng ngoi ....................................................................................................... 12
2.7.1 Gii thiu IC cm bin hng ngoi.............................................................................. 12
2.7.2 Mt s lu khi lp t cm bin hng ngoi ............................................................. 12
2.7.3 Mc ch s dng cm bin hng ngoi trong ti smart home ................................ 13
2.8 Module cm bin kh gas MQ2 .......................................................................................... 13
2.8.1 Gii thiu v module cm bin kh gas MQ2 ............................................................... 13
Page v
2.8.3 Mc ch s dng module cm bin kh gas MQ2 ....................................................... 14
2.9 Remote a cm bin cho smart home ................................................................................. 14
2.9.1 Gii thiu v remote a dng cho smart home ............................................................. 14
2.9.2 Mc tiu t c ......................................................................................................... 15
CHNG 3 TNG QUAN V M HNH SMART HOME XY DNG ......................... 15
3.1 Giao thc MQTT ................................................................................................................. 15
3.1.1 MQTT l g ................................................................................................................... 15
3.1.2 Publish v subcribe trong giao thc MQTT ..................................................................... 15
3.1.3 QoS trong giao thc MQTT ........................................................................................ 16
3.1.4 Retain trong giao thc MQTT ..................................................................................... 16
3.2 Kin trc MQTT .................................................................................................................. 16
3.3 Bo mt ca giao thc MQTT ............................................................................................. 19
3.4 Ci t h iu hnh v phn mm cho Raspberry pi 2 ...................................................... 19
3.4.1 Ci t h iu hnh Raspberry pi 2 ............................................................................. 19
3.4.2 Ci t phn mm mosquitto a Raspberry pi tr thnh MQTT Broker ............... 27
3.4.3 Gii thiu v phn mm qun l thit b vo giao din ngi dng openhab .............. 28
3.4.4 Ci t openhab trn Raspberry pi 2 ............................................................................ 28
3.4.5 Cu hnh MQTT Binding ............................................................................................. 29
3.4.6 Cu hnh cc thit b (item) v giao din (site map) cho openhab .............................. 29
CHNG 4 CHNG TRNH HOT NG CA CLIENT TRONG M HNH MART
HOME .......................................................................................................................................... 34
4.1 Mch thit k iu khin thit b ......................................................................................... 34
4.2 Chng trnh iu khin device .......................................................................................... 35
4.3 Xy dng ESP8266 MQTT client cm bin nhit gi gi tr cm bin ln MQTT broker
................................................................................................................................................... 47
4.4 Xy dng cm bin hng ngoi m s ngi trong phng................................................ 52
KT LUN .................................................................................................................................. 51
TI LIU THAM KHO........................................................................................................... 52

Page vi
n tt nghip i hc Chng 1 Gii thiu v smart home

M U

in t ang l ngnh khoa hc a nhim in t p ng c nhng i hi khng ngng


ca cc ngnh v lnh vc khc nhau cho n nhu cu thit yu ca con ngi trong cuc sng
hng ngy. Mt trong nhng ng dng quan trng nht cu in t l wifi ng dng vo trong
m hnh smart home IOT, wifi c ng dng vo nhiu trong cng cng nghip v trong cuc
sng vi nhiu cc ng dng khc nhau vi nhng thit b iu khin t xa rt tinh vi v t
c nng sut kinh t tht cao. Xut pht t ng dng em thit k m hnh smart home s
dng module wifi ESP8266.
Thit k mudule thc thi: mch iu khin thit b theo kch thc hp m tng ng dng
a vo ngi nh xy dng thc t module gm 3 knh cm bin in dung gn vo mt trn
SINO S190 ca gp m tng c th d dng trm cm bin ng ngt thit b v tng gim
sng ca thit b trong nh mi module c thit k iu khin ti a 4 thit b (n ) trn
module tch hp ESP 8266 nhn lnh t server raspberry pi, v gi trng thi hot ng ca
module ln server qua chun giao thc MQTT ca IOT.
Thit k tch ri module cm bin: t cc phng lm nhim v m s ngi trong phng, c
cm bin m, nhit cm bin khi gas, o dng in tiu th ca ton b cc thit b trong
m hnh smart home v gi nhng d liu thu thp ca cm bin v cho server, server gi li gi
tr cm bin nhn c cho module thc thi phn tch v c nhng n thi thc hin tng ng
Ni dung bao gm 4 chng :
- Chng 1: Gii thiu v smart home
- Chng 2: Link kin v module s dng
- Chng 3: Tng quan v m hnh smart home xy dng
- Chng 4: Chng trnh hot ng ca client trong m hnh smart home

ti ny gip em hiu r nguyn l thu pht pht v ng dng n vo trong qu trnh ngin cu
th em :
1. lm c
Thit k cc module thc thi iu khin thit b in p 1 chiu in p t 5 n 60V
Thit b cm bin: nhit , m, khi gas, cm bin o dng, cm bin hng ngoi hot ng
chnh xc v nhy cm cc mi trng kch thch.
Thc hin truyn nhn tt data trn web openhab v phn mm openhab vit trn androi
M hnh xy dng c vo xy dng trong ngi nh thc t .
2.Vn cha lm c
Trong 3 thng lm n cng l 3 thng em th vic tp on FPT Sofware nn em gp nhiu
kh khn v thi gian gia p lc cng vic mi, v n nghin cu c trc tip vo xy
dng trong ngi nh thc t ca anh qun l em tp on FPT sofware vi nhng i hi kht
khe v ngi nh m khin cho p lc ti tng cao thc hin ti trong thi gian ngn nn sn
phm demo trong an cha c tch hp nhiu nhng tnh nng nh ngi nh xy dng thc
t.
3. Hng pht trin ti tip theo
S xy dng tch hp y nhng tnh nng ca smart home thc t lm, xy dng y
chi tit ti liu cc bn kha sau c th nghin cu phat trin k tha.

Trn Vn Tip D12DTMT Page 1


n tt nghip i hc Chng 1 Gii thiu v smart home

CHNG 1 GII THIU V SMART HOME

1.1 Gii thiu v smart home


Nh thng minh ang v s l mt xu hng cng ngh tt yu trn th gii, tr thnh tiu chun
ca nh hin i trong k nguyn Internet of Things kt ni vn vt qua internet. Bn cnh
, s tin nghi v tit kim nng lng cng dn tr thnh mt tiu chun cn thit nhm nng
cao cht lng sng ca chng ta. Vy nn hy bt u cho mt "k nguyn cng ngh" mi.
Cng ngh v thit b cho ngi nh thng minh ang c cc cng ty trong ngnh xy dng
quan tm nhiu. Ti chu u, ngy cng c nhiu iu lut bt buc cc ngi nh mi xy phi
c chng ch thn thin mi trng, nh cch nhit tt, gim tiu th in, nc v kh t,...
Di y l 5 cch m mt ngi nh thng minh gip bn c mt cuc sng tin nghi v thoi
mi hn:

Hnh 1. 1 M hnh smart home

1. Cc cnh ca u t ng ng v m khi chng nhn din c bn l ng ch ca ngi nh.


2. T iu chnh sng cc bng n in khi bn c sch, xem ti-vi hay i ng.
3. Cc thit b in t t gia dng n gii tr trong ngi nh c iu khin d dng thng qua
ging ni hay Smartphone ca bn.
4. a ra cc cnh bo cc vt dng c th gy nguy him cho tr em khi chng c nh s
dng cc vt dng .
5. Tnh nng an ninh nh t bo ng khi c mt ngi c tnh xm nhp tri php, t ng kha
tri ca, bo cnh st, lun trong trng thi sn sng.

1.2 Yu cu tng th
- C kch bn cho tng n v tng ch (ng, c sch, lm vic ..)
- T ng ng ngt n khi c ngi trong phng, phng c >2 ca ra vo.

Trn Vn Tip D12DTMT Page 2


n tt nghip i hc Chng 1 Gii thiu v smart home

- ng ngt n c dimmer (sng t t, tt t t). Phng c nhiu n v mi n u c th iu


khin c lp. n ch sng khi ngoi tri ti. Ma ng th bt n sng m, ma h th bt n
sng lnh.
- iu chnh sng ti ca n theo mun.
- o dng in v bo lng in tiu th
- Cnh bo cho ch nh (bt n, h ci) khi c ngi vo khi kch hot ch chng
trm.
- Bo v tr chnh xc ngi ang phng no.
- Bo ca no cha ng.
- Ko rm khi tri sng
- o mc nc trong b, hin th theo %. mn l 5-10%
- T ng bm nc khi b < 50%
- iu khin cc thit b trn smartphone hoc bng iu khin trung tm.
1.3 Phn cng
Cm bin:
- m s ngi trong phng
- Nhit , m.
- Cng nh sng.
- Mc nc
- Dng in
- PIR.
- ng m ca (ca ra vo ca s)
- Cm bin Gas, CO2
- Camera (ca ng)
- Cm bin mt in :)
n :
- LED thanh 1m 12V -> dng lm n ht t bp hoc ht ln trn trong phng ng. Remove b
in tr trn thanh LED.
- LED m tng: 36v -> dng lm n trn phng khch. Remove b b i ngun
220 -> 36v v in tr hn dng.
- LED 12v (3 bng ct t led thanh) -> dng lm n tng
- in p ti a 1 bng led l 3.3v. Ni tip cc bng ra in p khc nhau.
Ngun
- u tin dng ngun 24V
- Ngun cho LED: in p l bi ca 3.3v -> mi phng dng 1 cc sc laptop 19-20v
- Ngun cho h thng iu khin: 5V t in li hoc acquy.
Optional:
- Ngun d phng: 2 acquy 12v - 20AH (gi 1M)
- Pin nng lng mt tri: 1 tm 100W (1mx0.8m) + b sc.
i dy trong tng:
- i ng ngun 1 chiu 20v dy to mi phng s c 1 cc adapter 20v 4A
- i ng ngun 1 chiu 5V dy va mi tng s c 1 cc adapter 5v 2A
- ng 220v i quanh nh phc v cho cc cm v cc adapter.
- Ngun 24V (pin mt tri) u thng vo cc phng)
- Mi tng c 1 t in
1.4 Kch bn cho tng phng
Phng khch
- m s ngi trong phng
Trn Vn Tip D12DTMT Page 3
n tt nghip i hc Chng 1 Gii thiu v smart home

- Khi c ngi vo
- Kim tra sng v bt n vi sng ph hp, c dimmer.
- Bt tivi, m lng nh.
- Bt qut trn khi nhit > 30o
- Khi ht ngi, gim sng n trn cn 10%, n tng cn 50%, tt qut. Tt ht n sau 5p
- Trn tng c nt iu chnh sng, tt m theo mun. (reset v auto khi ht ngi trong
phng)
Phng ng
- m s ngi trong phng
- Khi c ngi vo, check sng v bt n vi sng ph hp, c dimmer.
- Khi ht ngi, tt ht n
- Trn tng c nt iu chnh sng theo mun.
- Bt qut thng gi khi CO2 trn ngng cho php
- iu chnh m. Tng n nhit v sng.
- Ko dm theo thi gian t trc.
- Trn tng c nt iu chnh sng theo mun.
Phng bp
- Bo ng kh gas, Co2
- Bt qut thng gi khi CO2 t ngng.
- T bp c n, bt n t khi m ca t.
- m s ngi trong phng
- Khi c ngi vo, check sng v bt n vi sng ph hp, c dimmer.
- Khi ht ngi, gim sng n trn cn 10%, n tng cn 50%. Tt ht n sau 5 pht
- Trn tng c nt iu chnh sng, tt m theo mun. (reset v auto khi ht ngi trong
phng)
Phng tm
- m s ngi trong phng
- Khi c ngi vo, check sng v bt n vi sng ph hp, c dimmer.
- Khi ht ngi, gim sng n trn cn 10%, Tt ht n sau 5p
- Trn tng c nt iu chnh sng, tt m theo mun. (reset v auto khi ht ngi trong
phng)
Ca ng
- Bm chung, mn hnh home server t hin camera ca ng
- Camera ghi hnh khi c chuyn ng
- Khi c ngi vo, check sng v bt n vi sng ph hp, c dimmer.
- Khi ht ngi, gim sng n cn 50%, Tt ht n sau 10p

Trn Vn Tip D12DTMT Page 4


n tt nghip i hc Chng 2 Link kin va mudule s dng

CHNG 2: LINK KIN V MODULE S DNG

2.1 Server raspberry pi 2


2.1.1 Gii thiu v raspberry pi 2

Hnh 2. 1 Mt trn ca raspberry pi2

Chip Raspberry pi 2 s dng CPU 4 nhn li ARM cotex A7 chip haBroadcom VideoCore
IV 250MHz, RAM 1 GB b chia s 250MB cho chip ha v 1 khe cm th nh micro SD
phc v lu tr in rng .
Raspberry pi 2 c tch hp nhiu cng kt ni trong c cng HDMI, cng kt ni ethernet
10/100, USB 2.0, microUSB, cng kt ni camera, mn hnh y chn cm GPIO nh mt
vi mch iu khin thng thng. Mch h tr b sc 5V 2A h tr sc
Camera: Connector 15-pin MIPI Camera Serial Interface (CSI-2)
Display: Connector Display Serial Interface (DSI)
Memory Card Slot: Micro SD
Cng ging nh mt s model my tnh Raspberry pi 2 khc, model Raspberry pi 2c th chy
trn nn tng Androi hoc mt s nn tng da trn linux bao gm:
Raspbian: h iu hnh da trn Debian
Ubuntu Mate: Ubuntu Desktop
Snappy Ubuntu Core: ch yu dnh cho cc nh pht trin
Openelec: h thng gii tr a phng tin
OSMC: h thng gii tr a phng tin
Pidora: h iu hnh da trn Fedora
RISC OS: khng phi h iu hnh Linux, .

2.1.2 Mc ch s dng Raspberry pi 2 trong ti smart home


S dng Raspberry pi 2 trong smart home ng vai tr nh server lu tr d liu, tng tc vi
cc thit b ( Device ) trao i d liu vi cc thit b thng qua chun giao thc IOT MQTT,
Orange pi one ng vai tr MQTT server (Broker) trong m hnh MQTT cn thit b ng vai
tr MQTT client. Trong mi MQTT client ng k 1 vi knh (topic) gi trao i d liu
vi MQTT server gi l Subcribe m client (c th l in thoi my tnh ) mi client c th
nhn c d liu t bt k trm no khc gi sang knh ng k vic gi d liu sang knh
ng k gi l publish.

Trn Vn Tip D12DTMT Page 5


n tt nghip i hc Chng 2 Link kin va mudule s dng

2.2 Module wifi ESP8266


2.2.1 Gii thiu v module ESP8266

Hnh 2. 2 ESP8266

Module wifi ESP8266-07/ESP8266-12 y l mt chip tch hp cao System on chip, c kh


nng x l lu tr tt cung cp kh nng vt tri trang b thm tnh nng wifi trong h thng
khc hoc ng vai tr nh mt gii php c lp. ESP8266 cung cp kh nng kt ni wifi y
khp kn c th dng n to 1 web server n gin hoc s dng accsess point.
ESP8266 h tr chun kt ni wifi 802.11 b/g/n, hot ng tn s 2.4Ghz h tr WPA/WPA2
Chun in p hot ng la 3.3V, chun giao tip UART vi tc Baudrate ln n 115200
bit/s c 3 ch hot ng client, access piont c client v access piont.
2.1.2 S chn v chc nng

Hnh 2. 3 S chn ESP8266

Trn Vn Tip D12DTMT Page 6


n tt nghip i hc Chng 2 Link kin va mudule s dng

- Chn TXD v Chn RXD l 2 chn chuyn nhn UART


- Chn VCC u vo 3.3 V
- Chn GPIO 0 ko xung thp ch bootloader
- Chn RST chn reset cng ca module ko xung mass reset
- Chn GPIO2 c dng nh 1 cng TX trong giao tip UART debug li
- Chn CH_PD chn s dng kch hot chip s dng cho flash boot v updating module ni vi
mc cao
- Chn GND ni mass

2.3 IC cm bin in dung TTP223-BA6


2.3.1 Gii thiu v IC cm bin in dung TTP223-BA6

Hnh 2. 4 S nguyn l cm bin in dung TTP223-BA6

TTP223 l mt IC pht hin chm phm cm ng, vic pht hin chm cm bin ca IC c
thit k thay th vic nhn nt bm trc tip thng thng, vi kch thc cm bin a dng.
tiu th in nng thp v in p hot ng rng l tip xc tnh nng chnh cho cc ng dng
DC AC.

2.3.2 S chn v chc nng


- Chn TOG ni GND chn mode direct
- Chn AHLB l chn chn mc in p u ra chn Q khi chm phm, ni ALHB vi GND chn
Q mc active hight khi chm phm chn Q mc in o cao.

Trn Vn Tip D12DTMT Page 7


n tt nghip i hc Chng 2 Link kin va mudule s dng

2.3.3 Mc ch s dng IC TTP223-BA6


S dng IC TTP223-BA6 thit k mch cm bin in dung 3 knh dng bt tt thit b v
iu chnh cng sut hot ng ca thit b tiu th trong ti Smart home.

2.4 Mosfet knh N- IRFR3709 30V


2.4.2 Nguyn l hot ng
Mosfet hot ng 2 ch ng v m, do l phn t ca ht mang in c bn nn mosfet c
th ng ngt vi tn s cao. Nhng m bo thi gian ng ct ngn th vn iu khin li
l rt quan trng.
Mch in tng ng ca mosfet, nhn ta thy c ch ng ngt ca mosfet ph thuc vo
t k sinh trn n, i vi mosfet knh N th in p iu khin mosfet l Ugs >0 dng i t D
xung S, mosfet knh P in p m mosfet l Ugs<0 dng s i t S n D.

2.4.3 Kim tra hot ng ca mosfet


Mosfet c th c kim tra bang ng h vn nng , kim tra mosfet cn hot ng tt khi o
tr khng gia D v S phi l v cng
Bc 1: Chun b thang o x1KW
Bc 2: Np cho G 1 in tch( que en vo G que vo S hoc D)
Bc 3: Sau khi np cho G 1 in tch ta o gia D v S (que en vo D que vo S) kim ng
h s ln.
Bc 4: Sau khi thot in chn G o li DS nh bc 3 kim khng ln
2.4.1 Gii thiu mosfet knh N- IRFR3709 30V
Mosfet l transistor hiu ng trng l mt transistor c bit c cu trc hot ng khc vi
transistor hot ng thng thng mosfet hot ng da trn hiu ng t trng to ta dng
in, l link kin c tr khng u vo thch hp hn cho khuch i cc ngun tn hiu yu,
mosfet c th c s dng cho cc mch bm xung iu chnh cng sut hot ng ca thit b
in p 1 chiu .

Trn Vn Tip D12DTMT Page 8


n tt nghip i hc Chng 2 Link kin va mudule s dng

Hnh 2. 5 S chn Mosfet IRFR 3709

- G l cc cng
- S l cc ngun
- D l cc mng
Trong G l cc iu khin c cch ly hon ton vi cu trc bn dn cn li bi lp bn dn
cn li bi lp in mi cc mng nhng c cch in ln. Hai cc cn li l cc gc (S) v
cc mng (D), cc mng l cc n tip cc ht mang in.
Mosfet c in tr gia 2 cc G v S v gia G v D l v cng ln cn in tr gia D v S ph
thuc vo in p cc G v cc S khi in p Ugs tng th tr khng gia cc D v cc S gim
cn khi in p Ugs gim th tr khng gia cc D v cc S tang.

2.4.4 Mc ch s dng Mosfet IRFR3709


Mosfet c kh nng ng ngt nhanh vi dng in v in p kh ln nn c s dng nhiu
trong cc b dao ng to ra t trng v ng ct nhanh lam cho dng in bin thin.
S dung mosfet trong trong module thit b iu khin sng ca led thanh 12V ng ngt
thit b in 1 chiu.

2.5 IC chuyn i USB UART IC PL2303

Trn Vn Tip D12DTMT Page 9


n tt nghip i hc Chng 2 Link kin va mudule s dng

Hnh 2. 6 Module uart PL2303

2.5.1 Gii thiu IC chuyn i gii thiu IC PL2303


Vic s dng chip IC chuyn i PL2303 chuyn i USB - UART d dng kt ni vi my
tnh module d dng cho vic nghin cu module khac bng cc lnh trc tip t my tnh v
phn tch d liu nhn c ln mn hnh my tnh v phn tch d liu nhn c ln mn hnh
my tnh v phn tch d liu nhn c ln mn hnh my tnh m khng cn thng qua chng
trnh ca vi iu khin .

2.5.2 S chn v chc nng


- S dng in p 5 V cp trc tip t USB
- Dy l chn ngun 5V
- Dy en GND
- Dy xanh dy truyn d liu t my tnh TX
- Dy dy nhn d liu t my tnh RX

2.5.3 Mc ch s dng mch np UART


s dng mch np UART np code lp trnh t my tnh vo chip ESP8266 thng qua
Bootloader
S dng truyn d liu t ESP8266 ln mn hnh my tnh .

2.6 Cm bin nhit DS18B20


2.6.1 Gii thiu v cm bin nhit DS18B20

Trn Vn Tip D12DTMT Page 10


n tt nghip i hc Chng 2 Link kin va mudule s dng

Hnh 2. 7 S d chn DS18B20

DS18B20 l link kin in t thuc loi bn cm bin nhit k thut s giao tip one wire(
giao tip mt ng truyn ), bn trong ic tch hp sn cm bin nhit , b chuyn i, khi x
l , giao tip one wire, b nh ROM, EEPROM, bo thc nhiu dt ngng
Cc thng s ca linh kin DS18B20:
- Cc thng s ca gii o t -55 n + 125 C
- Ngun cung cp 3 n 5.5 V
- phn gii 9bit, 12 bit
- Cm bin nhit DS18B20 c m nhn din ln n 64-bit, v vy bn c th kim tra nhit
vi nhiu IC DS18B20 m ch dng 1 dy dn duy nht giao tip vi cc IC ny.
- S v chc nng chn ca linh kin in t DS18B20.

2.6.2 S chn v chc nng


Chc nng chn ca DS18B20.
- Chn s 1 : GND l chn ni mass (0V).
- Chn s 2 : DQ l chn d liu vo ra.
- Chn s 3 : VDD l chn ni ngun (5V).
- Kch thc ca DS18B20.

2.6.3 Mc ch s dng cm bin nhit trong ti


S dng IC DS18B20 c nhit trong phng ca smart home sau qua MQTT ca
ESP8266 gi ln trang web openhab ca server

Trn Vn Tip D12DTMT Page 11


n tt nghip i hc Chng 2 Link kin va mudule s dng

2.7 IC cm bin hng ngoi


2.7.1 Gii thiu IC cm bin hng ngoi

Hnh 2. 8 Module hng ngoi

Module cm bin hng ngoi PIR lun c c sensor (mt cm bin) vi 2 n v (element). Chn
trc mt sensor l mt lng knh (thng lm bng plastic), ch to theo kiu lng knh fresnel.
Lng knh fresnel ny c tc dng chn li v phn thnh nhiu vng (zone) cho php tia hng
ngoi i vo mt sensor. Chng ta c th hiu n gin rng, nu khng c lng knh fresnel, ton
b bc x ca mi trng s ch coi nh c 1 Zone di ht vo mt sensor, nh vy th n s
khng c tc dng phn bit chuyn ng, v s cc k nhy vi bt k s thay i nhit no
ca mi trng.
2 n v ca mt sensor c tc dng phn thnh 2 in cc. Mt ci l in cc dng (+) v ci
kia l m (-). Khi 2 n v ny c tun t kch hot (ci ny xong ri mi n ci kia) th s
sinh ra mt xung in, xung in ny kch hot sensor (alarm-bo ng). Chnh v nguyn l ny,
khi c ngi i theo hng vung gc vi khu vc kim sot ca sensor (hng mi tn), thn
nhit t ngi ny (bc x hng ngoi) s ln lt kch hot tng n v cm bin v lm sensor
bo ng.
Vy th cng chnh do nguyn l ny, nu ngi chuyn ng theo hng song song, pht ra
cng lc 2 lung bc x qua lng knh fresnel p vo ng thi 2 n v cm bin, xung in
khng to ra ,v lc ny sensor khng h bo ng. y l iu ht sc c bn, nhng nhiu k
thut vin an ninh khi lp t cm bin PIR thng khng h lu n. H ch n gin t
sensor hng mt ra khu vc cn kim sot m khng quan tm n hng t nhp ca k
trm. Nguyn tc l phi t mt sensor hng vung gc vi hng kh d nht m k trm c
th di chuyn. Nh vy mi tng xc sut bo ng chnh xc. t song song vi hng k trm,
hn ta s i thng n cm bin m c th khng h kch hot bo ng.

2.7.2 Mt s lu khi lp t cm bin hng ngoi


- Khng hng mt sensor v pha dn nng my lnh. V dn nng my lnh khi hot ng
thng c nhit cao, tia bc x hng ngoi ca n pht ra s gy nhiu cm bin, khin n
hot ng khng chnh xc.
Trn Vn Tip D12DTMT Page 12
n tt nghip i hc Chng 2 Link kin va mudule s dng

- Khng hng mt sensor v pha ca s c rm che. Vic ny l trnh bo ng gi. Khi ca


s m, nhiu ngun nhit xm nhp, rm che gp gi s c th gy nhiu cm bin vi sng.

- Khng lp t cm bin PIR trong nh ra ngoi tri. iu ny thng hay gp. Cm bin PIR
loi trong nh khng c tnh nng chu ma nng, ngoi tri d khng trc tip gp ma nng,
n cng d b hng dn cht liu v, lng knh fresnel, khin chc nng hot ng km dn i.

- Khng hng trc tip mt sensor v ni nhiu nng mt tri. Khuyn co ny rt d hiu. Tia
mt tri c nhiu bc x hng ngoi, khin sensor b nhiu.
- Khng nn t sensor gn dy in ngun. Cm bin PIR l mt thit b in t, hot ng
in p thp, nn hn ch t gn in ngun cao p.

- Khng nn hng mt sensor ra pha cng st ng i. L do n gin l trnh bo ng


gi khng ng c do ngi khc i b hoc chy b ngang qua cng. Sensor c th lm vi vic
t nhp.

- Khng lp sensor trn tng b rung. iu ny gip sensor hot ng n nh hn.

2.7.3 Mc ch s dng cm bin hng ngoi trong ti smart home


S dng cm bin hng ngoi m s ngi trong phng pht hin vt th v chng chm

2.8 Module cm bin kh gas MQ2


2.8.1 Gii thiu v module cm bin kh gas MQ2
MQ2 l cm bin kh, dng pht hin cc kh c th gy chy. N c cu to t cht bn
dn SnO2. Cht ny c nhy cm thp vi khng kh sch. Nhng khi trong mi trng c
cht ngy chy, dn ca n thay i ngay. Chnh nh c im ny ngi ta thm vo mch
n gian bin i t nhy ny sang in p.
- Khi mi trng sch in p u ra ca cm bin thp, gi tr in p u ra cng tng khi nng
kh gy chy xung quang MQ2 cng cao.
- MQ2 hot ng rt tt trong mi trng kh ha lng LPG, H2, v cc cht kh gy chy khc.
N c s dng rng ri trong cng nghip v dn dng do mch n gin v chi ph thp.
- Trong mch c 2 chn u ra l Aout v Dout. Trong :
Aout: in p ra tng t. N chy t 0.3-4.5V, ph thuc vo nng kh xung quang MQ2.
Dout: in p ra s, gi tr 0,1 ph thuc vo in p tham chiu v nng kh m MQ2 o
c.
Vic c chn ra s Dout rt tin cho ta mc cc ng dng n gin, khng cn n vi iu khin.
Khi ta ch cn chnh gi tr bin tr ti gi tr nng ta mun cnh bo. Khi nng MQ2 o
c thp hn mc cho php th Dout = 1. n Led tt. Khi nng kh o c ln hn nng
kh cho php, Dout =0, n led sng.
Ta c th ghp ni vo mch Realy iu khin bt tt n, ci, hoc thit b cnh bo khc.
- Mt iu kh khn khi lm vic vi MQ2 l chng ta kh c th quy t in p Aout v gi tr
nng ppm. Ri t hin th v cnh bo theo ppm. Do gi tr in p tr v tng loi kh
khc nhau, li b nh hng nhit , m na.
- Trong thit b ca mnh, xc nh im cnh bo mnh lm kh th cng.
u tin o trng thi khng kh sch, gi tr thu c Vout1

Trn Vn Tip D12DTMT Page 13


n tt nghip i hc Chng 2 Link kin va mudule s dng

Cho kh ga t bt la r r ra. Ta thy gi tr Aout tng ln. Khi t khong cch kh ga t bt la


hp l ri tng ng vi nng kh bt u nguy him, ta ghi li gi tr Vout2. Ta chn gi tr
Vout2 l gi tr ngng cnh bo. Nu gi tr o c ln hn ta s cnh bo
Chnh chn bin tr in p o ti chn 3 ca L358 = Vout2.

Hnh 2. 9 S chn module MQ2

2.8.3 Mc ch s dng module cm bin kh gas MQ2


S dng module cm bin khi gas pht hin xem khi gas c b r r ra ngoi khng trong
phng bp.

2.9 Remote a cm bin cho smart home


2.9.1 Gii thiu v remote a dng cho smart home

Hnh 2. 10 Module remote a dng

Trn Vn Tip D12DTMT Page 14


n tt nghip i hc Chng 2 Link kin va mudule s dng

Khi nghin cu v Smart Home thng c nhiu tng v mt ngi nh t ng v c th d


dng iu khin bng cc thit b hin i nh smart phone hay my tnh bng. Tht ra, cc thit
b ch tin li trong mt s trng hp nht nh nh ang xa nh hay sn in thoi trn
tay, cn li phn ln u kh bt tin khi phi l m kim c ci in thoi ri loay hoay bt
chng trnh iu khin ln. Khi vic nhn cng tc hay remote ci remote(iu khin t xa)
cn nhanh hn . Remote c s dng ph bin nht v tin li nht. Khi bn pht hin vn cn
phi tt n phng ng hay phng khch trong khi nm m m trong chn mn th remote t
u ging s lun l gii php nhanh nht.

-Trn hnh, Kodi remote c cc chn cm cm D1 Mini m khng cn hn, cc chn cm


module thu sng RF, mt nhn hng ngoi thu tn hiu t remote hng ngoi nh TV, my
lnh v 8 led pht hng ngoi ph u 8 hng cng IC darlington ULN2803 khuch i tn
hiu gip pht lnh iu khin c ton b cc thit b trong mt phng.

2.9.2 Mc tiu t c
- Nhn c tn hiu t remote RF hay hng ngoi, t thc hin cc lnh c ci t trc
- C kh nng hc c cc lnh t remoteTV, my lnh, qut
- Nhn c yu cu iu khin thit b t b qun l trung tm nh bt tt TV, my lnh v
pht cc lnh tng ng hc t remote ca TV hay my lnh vi tm pht sng rng 360 .

Trn Vn Tip D12DTMT Page 15


n tt nghip i hc Chng 3 Tng quan v m hnh smart home

CHNG 3 TNG QUAN V M HNH SMART HOME XY DNG

Giao din ngi dng Giao din ngi dng Giao din ngi dng
1 2 2

Publish/subcribe
Openhab - server
Raspberry pi Moderm wifi

MQTT Broker
Publish/subcribe (Raspberrypi)

ESP8266.client1 ESP8266.client2 ESP8266.client

Hinh 3. 1 S khi smart home

3.1 Giao thc MQTT


3.1.1 MQTT l g
MQTT l mt giao thc gi dng publish/subscribe s dng cho cc thit b Internet of Things
vi bng thng thp, tin cy cao v kh nng c s dng trong mng li khng n nh.
Bi v giao thc ny s dng bng thng thp trong mi trng c tr cao nn n l mt giao
thc l tng cho cc ng dng M2M(machine to machine ).
M2M: l cng ngh cho php cc thit b c th trao i vi cc h thng thng qua mng v
tuyn hoc hu tuyn.

3.1.2 Publish v subcribe trong giao thc MQTT


Trong mt h thng s dng giao thc MQTT, nhiu node trm (gi l mqtt client - gi tt l
client) kt ni ti mt MQTT server (gi l broker). Mi client s ng k mt vi knh (topic),
v d nh "/client1/channel1", "/client1/channel2". Qu trnh ng k ny gi l "subscribe",
ging nh chng ta ng k nhn tin trn mt knh Youtube vy. Mi client s nhn c d liu

Trn Vn Tip D12DTMT Page 15


n tt nghip i hc Chng 3 Tng quan v m hnh smart home

khi bt k trm no khc gi d liu v knh ng k. Khi mt client gi d liu ti knh ,


gi l "publish".

3.1.3 QoS trong giao thc MQTT


QoS (qualities of sevice) : l 1 cch thc iu khin mc u tin traffic ca h thng mng,
tnh nng ny hot ng trn tt c cc tng khc nhau ca h thng, nhng trong bi th nghim
ny, chng ta s tp trung vo thit b router s dng trong m hnh nh hoc c nhn. C th
hn, QoS s th hin r tc dng nhng v tr thng xy ra hin tng bottleneck (hay thng
gi nm n l tht nt c chai), ng thi quyt nh phn traffic no quan trng hn cc phn
cn li, da trn quy lut m ngi s dng thit lp c lin quan ti a ch IP, MAC, cc dch
v ang hot ng...
- QoS0 Broker/client s gi d liu ng 1 ln, qu trnh gi c xc nhn bi ch giao thc
TCP/IP
- QoS1 Broker/client s gi d liu vi t nht 1 ln xc nhn t u kia, ngha l c th c nhiu
hn 1 ln xc nhn nhn c d liu.
- QoS2 Broker/client m bm khi gi d liu th pha nhn ch nhn c ng 1 ln, qu trnh
ny phi tri qua 4 bc bt tay.
Mt gi tin c th c gi bt k QoS no, v cc client cng c th subscribe vi bt k yu
cu QoS no. C ngha l client s la chn QoS ti a m n c nhn tin. V d, nu 1 gi d
liu c publish vi QoS2, v client subscribe vi QoS0, th gi d liu c nhn v client ny
s c broker gi vi QoS0, v 1 client khc ng k cng knh ny vi QoS 2, th n s c
Broker gi d liu vi QoS2.
Mt v d khc, nu 1 client subscribe vi QoS2 v gi d liu gi vo knh publish vi QoS0
th client s c Broker gi d liu vi QoS0. QoS cng cao th cng ng tin cy, ng thi
tr v bng thng i hi cng cao hn.

3.1.4 Retain trong giao thc MQTT


Nu RETAIN c set bng 1, khi gi tin c publish t Client, Broker PHI lu tr li gi tin
vi QoS, v n s c gi n bt k Client no subscribe cng knh trong tng lai. Khi mt
Client kt ni ti Broker v subscribe, n s nhn c gi tin cui cng c RETAIN = 1 vi bt
k topic no m n ng k trng. Tuy nhin, nu Broker nhn c gi tin m c QoS = 0 v
RETAIN = 1, n s hu tt c cc gi tin c RETAIN = 1 trc . V phi lu gi tin ny li,
nhng hon ton c th hu bt k lc no.

Khi publish mt gi d liu n Client, Broker phi t RETAIN = 1 nu gi c gi nh l kt


qu ca vic subscribe mi ca Client (ging nh tin nhn ACK bo subscribe thnh cng).
RETAIN phi bng 0 nu khng quan tm ti kt qu ca vic subscribe.

Trn Vn Tip D12DTMT Page 16


n tt nghip i hc Chng 3 Tng quan v m hnh smart home

3.2 Kin trc MQTT


MQTT c m hnh client/server, ni m mi cm bin l mt khc hng (client) v kt ni n
mt my ch, c th hiu nh mt nh mi gii (broker), thng qua giao thc TCP (Transmission
Control Protocol)

MQTT l giao thc nh hng bn tin. Mi bn tin l mt on ri rc ca tn hiu v broker


khng th nhn thy.

Mi bn tin c publish mt a ch, c th hiu nh mt knh. Client ng k vo mt vi knh


nhn/gi d liu, gi l subscribe. Client c th subscribe vo nhiu knh. Mi client s nhn
c d liu khi bt k trm no khc gi d liu vo knh ng k. Khi mt client gi mt
bn tin n mt knh vo , gi l publish.

V d, mt mng n gin gm 3 Client v mt broker trung tm.

C 3 khch hng m kt ni TCP vi Broker. Client B v C ng k ti knh nhit topic


temperature.

Hinh 3. 2 M hnh giao tip client v broker trong giao thc mqtt

Ti mt thi im no , Client A gi mt gi tr 22.5 n knh nhit topic temperature.


Broker s chuyn bn tin n tt c cc Client ng k.

Trn Vn Tip D12DTMT Page 17


n tt nghip i hc Chng 3 Tng quan v m hnh smart home

Hinh 3. 3 S cho v d trn

Nh vy, c Client B v C u nhn c bn tin gi t A.


Cc m hnh publish/subscribe cho php cc client MQTT c th giao tip 1-1, 1-N vN-1

Tng ng dng QoS C 3 ty chn khi ng k knh v gi bn tin:


- Delivered at least once: Gi t nht mt ln: Cn t nht 1 ln xc nhn t u cui tc l c th
c nhiu hn mt ln xc nhn nhn bn tin.
- Delivered exactly once: Ch gi mt ln: m bo khi gi bn tin, pha nhn ch nhn c
ng 1 ln, qu trnh ny cn qua nhiu bc bt tay
- Fire and forget: Gi v qun: Broker/Client s gi d liu ng 1 ln, qu trnh gi c xc
nhn bi giao thc TCP/IP.

LWT( last will and testamen): Gi s c 1 cm bin, n gi nhng d liu quan trng v rt
khng thng xuyn. N c ng k trc vi Broker mt bn tin topic /node/gone-offline. V
Client A ng k theo di topic /node/gone-offline, Broker s gi SMS ti mi khi nhn c tin
nhn no knh m Client theo di.
Trong qu trnh hot ng, cm bin lun gi kt ni vi Broker bi vic lun gi cc bn tin cp
nht. Nhng nu v l do g , cm bin ny chuyn sang ngoi tuyn, kt ni ti Broker
timeout.
Lc ny, do cm bin ng k LWT, do vy Broker s ng kt ni ca Cm bin, ng thi
s publish mt bn tin cn thit vo knh /node/gone-offline, d nhin l Client cng s nhn
c tin nhn bo Cm ngoi tuyn.

Kh nng duy tr bn tin

Trn Vn Tip D12DTMT Page 18


n tt nghip i hc Chng 3 Tng quan v m hnh smart home

MQTT h tr lu tr cc bn tin trong Broker duy tr bn tin. Khi publish cc bn tin, cc


Client c th yu cu broker duy tr cc bn tin. Ch c cc bn tin mi nht c lu li. Khi mt
Client ng k n mt knh, bt k bn tin no c ng k lu tr s c gi n Client.
Khng ging nh mt hng i bn tin, broker ca MQTT khng cho php duy tr cc bn tin
sao lu vo my ch.

3.3 Bo mt ca giao thc MQTT


MQTT broker c th yu cu tn ngi dng v mt khu xc thc t client kt ni. m
bo tnh bo mt, kt ni TCP c th c m ha vi SSL/TLS (Transport Layer Security (TLS)
protocol, Secure Sockets Layer (SSL) protocol).
Mc d MQTT c thit k gn nh, n c hai nhc im lm hn ch cc thit b:

Mi client MQTT phi h tr TCP v thng s gi mt kt ni m n broker mi thi im.


i vi mt s mi trng m xc sut mt bn tin cao hay khng c sn my tnh th y l c
mt vn .

Tn knh MQTT thng l cc chui di lm chng khng tha ng vi tiu chun 802.15.4

C hai thit st c gii quyt bng giao thc MQTT-SN, trong xc nh mt nh x UDP
ca MQTT v thm kh nng lp ch mc (indexing) tn cc knh cho broker.

3.4 Ci t h iu hnh v phn mm cho Raspberry pi 2


3.4.1 Ci t h iu hnh Raspberry pi 2
Cng c chun b:
- Raspberry pi 2v Adapter ngun (lu in p u ra 5V v dng 1.5A n 2A)
- Usb ttl PL2303 hoc c th dng con Cp2102
- Driver PL2303 (nu bn dng win 10 64bit)
- Dy Breadboard
- Micro SD 8Gb v Adapter (c th dng u c th bt k)
- H iu hnh Rasbian
- Phn mm Rawrite32
- Phn mm Putty
Chp file armbian vo th nh bng phn mm Rawrite
Bc 1: Cc bn gii nn file Raspberry va ti v vo mt th mc, file .raw dung lng
1.5GB

Hinh 3. 4 Hnh nh file Rasbian ti v

Bc 2: B th nh vo Adapter hoc u c th sau kt ni vo my tnh.


Bc 3: (Optional) Format th nh, chn FAT32 sau chn OK.

Trn Vn Tip D12DTMT Page 19


n tt nghip i hc Chng 3 Tng quan v m hnh smart home

Hinh 3. 5 Hnh nh minh ha cho bc 3


Bc 4: M phn mm Rawrite32 v chn Open tm th mc gii nn Armbian chn All file
hin th tt c, click file .raw c dung lng lng 1.5GB n s t ng c.
Bc 5: Sau chn th nh Target v sau n vo Write to disk tin hnh chp vo th
nh, mt khong 3-4 pht cho thao tc ny.

Hinh 3. 6 Hnh minh ha cho bc 5

Bc 6: Sau khi chp xong bn c th tt phn mm, tho th cn thn khi my tnh khng tho
t ngt nh trnh li th khi ci v sau.

Trn Vn Tip D12DTMT Page 20


n tt nghip i hc Chng 3 Tng quan v m hnh smart home

Kt ni USB TTL v ci t driver :


Bc ny xy ra nu my bn khng nhn driver ca Usb ttl PL2303, thng xy ra trn win10
cc bn tin hnh cc thao tc sau:

Bc 1: Gii nn th mc PL2303 va ti v chy file .exe ci t.

Bc 2: Kt ni Usb ttl vo my tnh, vo trnh qun l chn Manage -> chn Device Manager -
> mc Ports (COM & LPT) ta s thy li cha nhn thit b c du chm thang, click chut
phi vo du chm thang chn Update Driver Software.

Hinh 3. 7 Hinh minh ha cho bc trn

Bc 3: Chn Browser my computer for driver software -> chn Let me pick from a list of
drivers on my computer -> chn phin bn 3.3.2.105 [10/27/2008] -> v kt thc bng Next. Lc
ny driver s nhn v khng cn du chm thang bn hy ghi nh tn COM.

Tin hnh ci t h iu hnh:


Bc 1: Gn th nh vo Raspberry pi 2-> kt ni cc dy breadboard gia Usb ttl v Raspberry
pi theo bng bn di -> Cm Usb ttl vo my tnh.

Trn Vn Tip D12DTMT Page 21


n tt nghip i hc Chng 3 Tng quan v m hnh smart home

Hinh 3. 8 S chn kt ni usb ttl v module Raspberry pi2

Bc 2: M phn mm Putty -> chn kt ni Serial (mc nh l SSH) -> nhp tn COM bn
ghi nh trong mc ci driver lc ny (v d ca mnh l COM6, nu bn qun hy vo li Divice
Manager xem Ports) -> nhp tc truyn 115200 (mc nh l 9600) -> nhn Open m.

Hinh 3. 9 Hnh nh minh ha cho bc 1

Trn Vn Tip D12DTMT Page 22


n tt nghip i hc Chng 3 Tng quan v m hnh smart home

Bc 3: Lc ny cm ngun vo cho Raspberry pi 2, s thy trn mn hnh Putty chng trnh s


t ng ci t trong khon 1 pht (nu nh bc ny khng thc hin c hy cn thn rt
ngun -> rt Usb ttl sau tho th lau sch v tin hnh li Bc 1 .

Hinh 3. 10 Hnh nh minh ha cho bc 3


Bc 4: Tip theo tin hnh ng nhp (tt Vietkey trnh b du gy li), nhp vo dng login:
root, dng Password: 1234, dng (current) UNIX password: nhp li 1234, tip n s yu cu
nhp pass mi v nhp li xc nhn pass mi chn mt mt khu an ton v di t nht 8 k t.

Hinh 3. 11 Hnh nh minh ha cho bc 4

Trn Vn Tip D12DTMT Page 23


n tt nghip i hc Chng 3 Tng quan v m hnh smart home

Bc 5: Tip tc ng nhp login li ln na vi lnh root v password l pass mi to bc


trn, mn hnh giao din debian s xut hin nh bn di. N s yu cu bn to ci username
nhp tn mun vo (v d: arduino), tip n n to mt lot cc thng tin cho bn in nh: Full
Name, Room Number, Work Phone, Home Phone, Other bn c th in vo ty thch hoc c
th Enter b qua cng c. Dng k tip l xc nhn thng tin bn nhp Y ng , tip n
n hi bn c mun thay i ci t mn hnh hin ti bn chn N tit kim nng lng. Nh
vy l bn hon thnh bc c bn cho vic ci t h iu hnh cho Raspberry pi 2

Hinh 3. 12 Hnh minh ha cho bc 5

Thit lp vo mng ln u tin cho Raspberry pi 2:


tin li cho vic s dng v sau, s cho con Orange Pi ny kt ni vo mng wifi lc bn
s khng cn phi dng con Usb ttl ng nhp Putty qua Serial na m thng qua SSH. Cc
bn thc hin command cc lnh sau:
Bc 1 : thc hin lnh command, vi /etc/network/interfaces

Hinh 3. 13 Hnh minh ha cho bc 1

Trn Vn Tip D12DTMT Page 24


n tt nghip i hc Chng 3 Tng quan v m hnh smart home

Bc 2: Cc bn dng phm xung di chuyn con tr xung cui sau bn nhn phm Insert
(hoc t hp fn + insert) nhp lnh sau:
- auto wlan0
- iface wlan0 inet dhcp
- wpa_conf /etc/wpa_supplicant/wpa_supplicant.conf

Hinh 3. 14 Hnh nh minh ha cho bc 2

Bc 3: Bn nhn phm Insert (hoc t hp fn + insert) nhp cc dng sau:


network={
ssid="tn wifi nh bn"
psk="mt khu wifi"
}

Trn Vn Tip D12DTMT Page 25


n tt nghip i hc Chng 3 Tng quan v m hnh smart home

Hinh 3. 15 Hnh nh m t cho bc 3


Bc 4: Nhn phm ESC sau t hp phm Shift + Z Z v li ch command bn nhp lnh
sau:
- ifconfig wlan0 up
- ifup wlan0

Hinh 3. 16 Hnh nh m t cho bc 4

Trn Vn Tip D12DTMT Page 26


n tt nghip i hc Chng 3 Tng quan v m hnh smart home

Bc 5: Nhp lnh ifconfig kim tra li IP hin ti, sau khi c IP m li Putty v nhp vo
khung IP address ca loi kt ni SSH, Port nhp vo 22 (mc nh) v Open v tin hnh ng
nhp bnh thng .

Hinh 3. 17 Hnh nh m t cho bc 5


3.4.2 Ci t phn mm mosquitto a Raspberry pi tr thnh MQTT
Broker
Mosquitto l mt MQTT broker ngun m, ng vai tr trung gian gip cho cc chng trnh v
thit b d dng trao i data vi nhau. Data c truyn v nhn thng qua cc channel (hay cn
gi l topic). Vi cc channel, ta c th gi data ti hoc ng k nhn bt k d liu no gi
ti n.
V d: c 1 channel cho mi thit b cm bin trong nh c nhm li theo phng:
/FirstFloor/Living/Temperature
/FirstFloor/Living/Humidity
/FirstFloor/Kitchen/Temperature
...
Trn OpenHAB ta s tao ra giao din gm cc item v cu hnh cho cc item ny ng k nhn
d liu t cc thit b cm bin dng cc channel tng ng.
ci t Mosquitto trn Orange pi one, copy paste cc lnh sau vo ca s Putty console kt
ni ti Pi:

Hinh 3. 18 Hnh nh ci t mosquitto cho Raspberry pi


Trn Vn Tip D12DTMT Page 27
n tt nghip i hc Chng 3 Tng quan v m hnh smart home

Kim tra mosquitto: Mosquitto s t ng chy sau khi c ci t. kim tra, m 1 terminal
khc (terminal 2) kt ni vo Pi.

Trong terminal 1 chy lnh lng nghe data trn channel tn l hello/world (-d l yu cu in ra
thng tin debug, -t l tn channel hay cn gi l topic):

mosquitto_sub -d -t hello/world
Cho terminal 2 gi data bt k vo channel cng tn hello/world nh ng k trong terminal 1(-
m l ni dung data cn gi):

mosquitto_pub -d -t hello/world -m "Greetings from Terminal window 2"


Nu Mosquitto ang chy th ta s thy tin nhn gi i t terminal 2 trong terminal 1

3.4.3 Gii thiu v phn mm qun l thit b vo giao din ngi dng
openhab
OpenHAB l phn mm min ph ngun m c chc nng l b iu khin trung tm vi kh
nng ni chuyn v iu khin rt nhiu cc loi thit b khc nhau trong h thng Smart Home,
k c cc thit b thng mi ang bn trong lnh vc ny.

OpenHAB c ci t di dng mt website trn my tnh Raspberry pi (hoc chy trn


Windows cng c). Khi truy cp vo website ny t cc thit b nh PC, smart phone hay
tablet, ta c th xem trng thi cn nh v iu khin cc thit b. Ngoi ra OpenHAB cn c mt
engine qun l v thc thi cc rules gip cho cn nh thng minh hn bng cch t ng iu
chnh khi trng thi cc cm bin thay i.

3.4.4 Ci t openhab trn Raspberry pi 2


Ci t OpenHAB trong th mc /opt/openhab:
cd /opt/openhab
Ti v OpenHAB ca OpenHAB dng version mi nht (l 1.8.2 ti thi im bi vit). Nu ti
v phin bn mi hn th ch cn thay 1.8.2 trong cc command di y thnh version l
c. Trc tin ta s ti v file core runtime, gii nn v xa file zip:
sudo wget https://bintray.com/artifact/download/openhab/bin/distribution-1.8.2-runtime.zip
sudo unzip distribution-1.8.2-runtime.zip
sudo rm distribution-1.8.2-runtime.zip
Tip n l cc addons, ta s download ht v b vo folder ring. Sau ta s copy nhng
addon no cn m thi, gim thi gian khi ng ca OpenHAB:

sudo mkdir addons_repo


cd addons_repo
sudo wget https://bintray.com/artifact/download/openhab/bin/distribution-1.8.2-addons.zip
sudo unzip distribution-1.8.2-addons.zip
sudo rm distribution-1.8.2-addons.zip
Trc mt ta ch cn addon binding cho MQTT:

cd /opt/openhab
sudo cp addons_repo/org.openhab.binding.mqtt-1.8.2.jar

Trn Vn Tip D12DTMT Page 28


n tt nghip i hc Chng 3 Tng quan v m hnh smart home

3.4.5 Cu hnh MQTT Binding


To ra file config cho OpenHAB t file config default v sa li:

sudo cp /opt/openhab/configurations/openhab_default.cfg
/opt/openhab/configurations/openhab.cfg
sudo nano /opt/openhab/configurations/openhab.cfg
Trong ca s editor, scroll xung phn MQTT Transport section (trong mc Transport
Configurations), b qua phn MQTT Persistence. Tm n dng <broker>.url v <broker>.retain,
b du # u mi dng v sa thnh:

mqtt:mymosquitto.url=tcp://localhost:1883
mqtt:mymosquitto.retain=true
Thot v lu li (CTRL + X, Y, Enter).

3.4.6 Cu hnh cc thit b (item) v giao din (site map) cho openhab
Sau khi OpenHAB c ci t, ta cn cu hnh 2 file:
- Items file, cha danh sch cc thit b ta cn OpenHAB theo di v iu khin.
- Sitemap file, cha layout sp xp cc thit b hin th trn giao din website ca OpenHAB.
Upload ton b cc th mc con v file openhab.cfg vo trong th mc
/opt/openhab/configurations/ trn Orange pi. S dng phn mm WinSCP d dng chuyn file
qua li gia PC Windows v Orange pi one .
Sau khi ng nhp: host name (IP ca Orang pi) v user name, password ca Raspberry i
->Login

Hinh 3. 19 Hinh nh ng nhp vo Raspberry pi bng winSCP

Sau khi ng nhp vo win SCP vo File openhab-> configuartion-> item:

Trn Vn Tip D12DTMT Page 29


n tt nghip i hc Chng 3 Tng quan v m hnh smart home

Hinh 3. 20 Hnh m t cho bc trn

Trong file demo.item, file demo.sitemap file cu hnh giao din web cho openhab v cu hnh
iu khin hot ng giao tip ca MQTT broker vi MQTT client
- Cho 3 phng trong nh nm trong nhm All:

Group All
Group Living "Living Room" <sofa> (All)
Group Kitchen "Kitchen" <kitchen> (All)
Group Bedroom1 "Main Bedroom" <bedroom> (All)
Group Bedroom2 "Second Bedroom" <bedroom> (All)
/*Living room */
Number Temperature1 "Temperature [%.1f C]" <temperature> (Living)
{mqtt="<[mymosquitto:/Living/Temperature:state:default]"}
Switch Light1 "Light" (Living) {
mqtt="<[mymosquitto:/Living/Light/Status:state:default],>[mymosquitto:/Living/Light/Comman
d:command:ON:1],>[mymosquitto:/Living/Light/Command:command:OFF:0]" }

/*Kitchen */
Number Temperature2 "Temperature [%.1f C]" <temperature> (Kitchen)
{mqtt="<[mymosquitto:/Kitchen/Temperature:state:default]"}
Switch Light2 "Light" (Kitchen) {
mqtt="<[mymosquitto:/Kitchen/Light/Status:state:default],>[mymosquitto:/Kitchen/Light/Comm
and:command:ON:1],>[mymosquitto:/Living/Light/Command:command:OFF:0]" }

/*Main Bedroom */
Number Temperature3 "Temperature [%.1f C]" <temperature> (MainBedroom)
{mqtt="<[mymosquitto:/MainBedroom/Temperature:state:default]"}

Trn Vn Tip D12DTMT Page 30


n tt nghip i hc Chng 3 Tng quan v m hnh smart home

Switch Light3 "Light" (MainBedroom) {


mqtt="<[mymosquitto:/MainBedroom/Light/Status:state:default],>[mymosquitto:/MainBedroom/
Light/Command:command:ON:1],>[mymosquitto:/Living/Light/Command:command:OFF:0]" }

/*Second Bedroom */
Number Temperature4 "Temperature [%.1f C]" <temperature> (SecondBedroom)
{mqtt="<[mymosquitto:/SecondBedroom/Temperature:state:default]"}
Switch Light4 "Light" (SecondBedroom) {
mqtt="<[mymosquitto:/SecondBedroom/Light/Status:state:default],>[mymosquitto:/SecondBedr
oom/Light/Command:command:ON:1],>[mymosquitto:/Living/Light/Command:command:OFF:
0]" }
Mi phng u c 1 cng tc n v cm bin nhit . ngha cc tham s ca cm bin nhit
:

Number: loi d liu m sensor ny gi/nhn, ta dng Number v nhit l s.


Temperature1/2/3/4: tn ca thit b (item).
Temperature [%.1f C]: format data mnh mun hin th. %.1f l hin th data l s thp phn
1 s l v C l C).
<temperature>: icon hin th km vi thit b ny (hnh nhit k).
(Living): nhm m thit b ny thuc v.
{mqtt=<[mymosquitto:/Living/Temperature:state:default]}: ngun ly d liu. OpenHAB s s
dng MQTT tn l mymosquitto (ging nh mnh cu hnh phn trn) v lng nghe data gi
ti channel tn l /Living/Temperature. state l loi, th hin l OpenHAB hin th trng thi
(mt loi khc l command yu cu OpenHAB iu khin) v default l cng thc chuyn
i data . Du < u ngha l yu cu OpenHAB c data t channel thay v gi ti .
ngha cc tham s ca cng tc n:

Switch: thit b ny l loi cng tc On/off


Light1/2/3/4: Tn thit b
(Living): nhm m thit b ny thuc v
<[mymosquitto:/Living/Light/Status:state:default]: Du < l bo cho OpenHAB bit ngun ly
trng thi ca cng tc. OpenHAB s lng nghe trng thi ca cng tc channel tng ng
cp nht ln giao din ngi dng. Sau ny chng ta s lp trnh cho cc cng tc in trong
phng gi trng thi On/Off (khi c ngi bt/tt bng cng tc) n cho OpenHAB channel
tng ng
>[mymosquitto:/Living/Light/Command:command:ON:1]: Du > l bo cho OpenHAB bit khi
ngi dng bt cng tc trn giao din web, OpenHAB s gi lnh tn l 1 ti channel tng
ng. Khi ta s lp trnh cho cng tc in lng nghe trn channel ny v bt ln nu nhn c
command 1 t OpenHAB
>[mymosquitto:/Living/Light/Command:command:OFF:0]: Tng t cho trng hp OFF,
OpenHAB s gi n channel tng ng command l 0
File sitemap nm trong th mc /opt/openhab/configurations/sitemaps/default.sitemap
Trong sitemap, ta s add mt frame cho ton b giao din. Bn trong gm 4 frame dnh cho 4
phng tng ng:

sitemap default label="My Smart Home"


{
Frame label="Living Room" {

Trn Vn Tip D12DTMT Page 31


n tt nghip i hc Chng 3 Tng quan v m hnh smart home

Text item=Temperature1
Switch item=Light1
}

Frame label="Kitchen" {
Text item=Temperature2
Switch item=Light2
}

Frame label="Main Bedroom" {


Text item=Temperature3
Switch item=Light3
}

Frame label="Second Bedroom" {


Text item=Temperature4
Switch item=Light4
}
}
Bt OpenHAB bng command:
sudo /opt/openhab/start.sh
OpenHAB c th cn 1-2 pht khi ng. Mn hnh hin th khi chy ca OpenHAB:

Hinh 3. 21 Hnh nh kch hot openhab bng Putty

M trnh duyt v n URL http://192.168.1.80:8080/openhab.app (thay 192.168.1.80 bng IP


ca Raspberry pi) v s thy giao din OpenHAB.
Trn Vn Tip D12DTMT Page 32
n tt nghip i hc Chng 3 Tng quan v m hnh smart home

Hinh 3. 22 Hnh nh giao din Openhab

T khi ng openhab khi Raspberry pi khi ng:


Bc trn mnh chy OpenHAB bng lnh nhng ta mun OpenHAB s t ng bt khi Pi khi
ng. Khi khng phi chy lnh mi khi mt in hay tt m Pi.

To ra file tn l openhab trong th mc /etc/init.d

sudo nano /etc/init.d/openhab


Copy v paste ni dung script ny vo ca s editor v save li. Gn quyn execute choa script:

sudo chmod 777 /etc/init.d/openhab


Bt script ny chy khi Pi khi ng:

sudo update-rc.d openhab defaults


Bn c th dng cc lnh sau start, stop, restart v xem status hin ti ca OpenHAB:

sudo /etc/init.d/openhab start


sudo /etc/init.d/openhab status
sudo /etc/init.d/openhab stop
sudo /etc/init.d/openhab restart

C th xa script i nu mun lm li:

sudo update-rc.d -f openhab remove


By gi mi khi Pi khi ng, OpenHAB s t ng chy

Trn Vn Tip D12DTMT Page 33


n tt nghip i hc Chng 4 Chng trnh hot ng ca client trong
m hnh smart home

CHNG 4 CHNG TRNH HOT NG CA CLIENT TRONG M HNH MART


HOME

4.1 Mch thit k iu khin thit b

Hnh 4. 1 Mch in iu khin thit b bng wifi trong m hnh smart home, mt top

Hnh 4. 2 Mch in iu khin thit b bng wifi trong m hnh smart home, mt bottom

Mch thit k s dng ngun 5v DC nui cc link kin v IC v ngun 12-60V DC cung cp
iu khin thit b qua cng header 3
Bn cng header 2 iu khin 4 thit b mt chiu

Trn Vn Tip D12DTMT Page 34


n tt nghip i hc Chng 4 Chng trnh hot ng ca client trong
m hnh smart home

4.2 Chng trnh iu khin device

fdg

Hnh 4. 3 Lu thut ton code x l cm bin in dung

Trn Vn Tip D12DTMT Page 35


n tt nghip i hc Chng 4 Chng trnh hot ng ca client trong
m hnh smart home

Chng trnh xy dng :


Khi ESP8266 mqtt client khng kt ni mng wifi :
- Trm phm 1 ln o trng thi thit b LIGHTx tng ng
- Trm phm 2 ln (khong thi gian gia 2 ln trm <400ms c tnh l double click ) iu
chnh mc sng cho thit b trt phi tang sng cho thit b, trt phi gim sng
cho thit b
- Tt c cc led trn module cm bin nhp nhy 0.2s mt ln
Khi ESP8266 mqtt client c kt ni mng wifi :
- Led 1 trn module cm bin lun bt
- Trm phm 1 ln o trng thi thit b LIGHTx tng ng
- Trm phm 2 ln (khong thi gian gia 2 ln trm <400ms c tnh l double click ) iu
chnh mc sng cho thit b trt phi tang sng cho thit b, trt phi gim sng
cho thit b.
- Tt c led trn module cm bin s bt

void touch1_handle()
{
if ((counter_5ms - device.light1.cnt_snap) < DOUBLE_CLICK_TIME) { //400ms
device.btn_state = BUTTON1_DOUBLE_CLICK;
} else if (device.btn_state == BUTTON_IDLE) {
device.btn_state = BUTTON1_ONE_CLICK;
g_cnt_snap = counter_5ms;
}
device.light1.cnt_snap = counter_5ms;
return;
}
void touch2_handle()
{
if ((counter_5ms - device.light2.cnt_snap) < DOUBLE_CLICK_TIME) { //400ms
device.btn_state = BUTTON2_DOUBLE_CLICK;
} else if (device.btn_state == BUTTON_IDLE) {
device.btn_state = BUTTON2_ONE_CLICK;
g_cnt_snap = counter_5ms;
}
if ((counter_5ms - device.light1.cnt_snap) < SLIDER_TIME) { //500ms
device.slider = RIGHT_SLIDE;
}
if ((counter_5ms - device.light3.cnt_snap) < SLIDER_TIME) { //500ms
device.slider = LEFT_SLIDE;
}
device.light2.cnt_snap = counter_5ms;
return;
}

Trn Vn Tip D12DTMT Page 36


n tt nghip i hc Chng 4 Chng trnh hot ng ca client trong
m hnh smart home

void touch3_handle()
{
if ((counter_5ms - device.light3.cnt_snap) < DOUBLE_CLICK_TIME) { //400ms
device.btn_state = BUTTON3_DOUBLE_CLICK;
} else if (device.btn_state == BUTTON_IDLE) {
device.btn_state = BUTTON3_ONE_CLICK;
g_cnt_snap = counter_5ms;
}
device.light3.cnt_snap = counter_5ms;
return;
}

Hnh 4. 4 Code s dng ngt ngoi ESP8266 pht hin trm phm

- Sau khi pht hin trm phm sau mi 5ms thc hin vo hm kim tra xem phm trm l one
click hay double click da vo thc hin thao tc vi n tng ng:

void buttons_handler(void) {
static unsigned int click_timeout = 0, reset_timeout = 0;
static unsigned int prev_btn_state = BUTTON_IDLE;
char pin_data = 0;

pin_data = digitalRead(TOUCH1) + digitalRead(TOUCH3) - digitalRead(TOUCH2);


if (2 == pin_data)
{
reset_timeout++;
digitalWrite(LED1, HIGH);
ticker.attach(0.6, blink_led2);
digitalWrite(LED3, HIGH);
device.btn_state = BUTTON_RESET;
if (reset_timeout >= RESET_TIMEOUT) { // 5s
printf("Reset ESP");
ESP.reset();
}
} else {
reset_timeout = 0;
}
// check if the fist click, maybe it is double click
if (((counter_5ms - g_cnt_snap) < DOUBLE_CLICK_TIME) || ((counter_5ms - g_cnt_snap) <
SLIDER_TIME)) {

Trn Vn Tip D12DTMT Page 37


n tt nghip i hc Chng 4 Chng trnh hot ng ca client trong
m hnh smart home

return;
}
/*if ((state & STATE_DEVICEONLINE) && (state & STATE_SERVERONLINE)) {
if ((device.btn_state != BUTTON_IDLE) || (device.slider != BUTTON_IDLE)) {
is_send_click_buttons = 1;
}
return;
}*/
if (device.btn_state != prev_btn_state) {
click_timeout = 0;
}
switch (device.btn_state) {
case BUTTON1_ONE_CLICK:
// Make sure it is first click of double click.
printf("BUTTON1_ONE_CLICK\r\n");
ticker.detach();
if (device.light1.is_on) {
device.light1.is_on = false;
} else {
device.light1.is_on = true;
}
send_click_buttons(device.btn_state, device.slider, device.light1.target_strengh);
device.btn_state = BUTTON_IDLE;
break;
case BUTTON1_DOUBLE_CLICK:

if (device.btn_state != prev_btn_state) {
printf("BUTTON1_DOUBLE_CLICK\r\n");
ticker.attach(0.6, blink_led1);
}
if (device.slider == RIGHT_SLIDE) {
device.light1.target_strengh += SLIDER_STEP;
device.light1.target_strengh = (device.light1.target_strengh > MAX_STRENGH)
? MAX_STRENGH : device.light1.target_strengh;

send_click_buttons(device.btn_state, device.slider, device.light1.target_strengh);


device.slider = BUTTON_IDLE;
click_timeout = 0;
} else if (device.slider == LEFT_SLIDE) {
device.light1.target_strengh -= SLIDER_STEP;
device.light1.target_strengh = (device.light1.target_strengh > MAX_STRENGH)
? MIN_STRENGH : device.light1.target_strengh;
send_click_buttons(device.btn_state, device.slider, device.light1.target_strengh);
device.slider = BUTTON_IDLE;
click_timeout = 0;
}
click_timeout += 1;

Trn Vn Tip D12DTMT Page 38


n tt nghip i hc Chng 4 Chng trnh hot ng ca client trong
m hnh smart home

break;
case BUTTON2_ONE_CLICK:
printf("BUTTON2_ONE_CLICK\r\n");
ticker.detach();
if (device.light2.is_on) {
device.light2.is_on = false;
} else {
device.light2.is_on = true;
}
send_click_buttons(device.btn_state, device.slider, device.light2.target_strengh);
device.btn_state = BUTTON_IDLE;
break;
case BUTTON2_DOUBLE_CLICK:
if (device.btn_state != prev_btn_state) {
printf("BUTTON2_DOUBLE_CLICK\r\n");
ticker.attach(0.6, blink_led2);
}
if (device.slider == RIGHT_SLIDE) {
device.light2.target_strengh += SLIDER_STEP;
device.light2.target_strengh = (device.light2.target_strengh > MAX_STRENGH)
? MAX_STRENGH : device.light2.target_strengh;
send_click_buttons(device.btn_state, device.slider, device.light2.target_strengh);
device.slider = BUTTON_IDLE;
click_timeout = 0;
} else if (device.slider == LEFT_SLIDE) {
device.light2.target_strengh -= SLIDER_STEP;
device.light2.target_strengh = (device.light2.target_strengh > MAX_STRENGH)
? MIN_STRENGH : device.light2.target_strengh;
send_click_buttons(device.btn_state, device.slider, device.light2.target_strengh);
device.slider = BUTTON_IDLE;
click_timeout = 0;
}
click_timeout += 1;
break;
case BUTTON3_ONE_CLICK:
printf("BUTTON3_ONE_CLICK\r\n");
ticker.detach();
if (device.light3.is_on) {
device.light3.is_on = false;
} else {
device.light3.is_on = true;
}
send_click_buttons(device.btn_state, device.slider, device.light3.target_strengh);
device.btn_state = BUTTON_IDLE;
break;
case BUTTON3_DOUBLE_CLICK:

Trn Vn Tip D12DTMT Page 39


n tt nghip i hc Chng 4 Chng trnh hot ng ca client trong
m hnh smart home

if (device.btn_state != prev_btn_state) {
printf("BUTTON3_DOUBLE_CLICK\r\n");
ticker.attach(0.6, blink_led3);
}
if (device.slider == RIGHT_SLIDE) {
device.light3.target_strengh += SLIDER_STEP;
device.light3.target_strengh = (device.light3.target_strengh > MAX_STRENGH)
? MAX_STRENGH : device.light3.target_strengh;
send_click_buttons(device.btn_state, device.slider, device.light3.target_strengh);
device.slider = BUTTON_IDLE;
click_timeout = 0;
} else if (device.slider == LEFT_SLIDE) {
device.light3.target_strengh -= SLIDER_STEP;
device.light3.target_strengh = (device.light3.target_strengh > MAX_STRENGH)
? MIN_STRENGH : device.light3.target_strengh;
send_click_buttons(device.btn_state, device.slider, device.light3.target_strengh);
device.slider = BUTTON_IDLE;
click_timeout = 0;
}
click_timeout += 1;
break;
default:
break;
}
prev_btn_state = device.btn_state;
if (click_timeout > CLICK_TIMEOUT) {//CLICK_TIMEOUT =1000
ticker.detach();
device.btn_state = BUTTON_IDLE ;
}

Hnh 4. 5 Hm x l sau trm phm

Sau khi thc hin hm x l sau khi trm phm, ta thc hin gi trng thi n v sng n v
MQTT broker:
- Nu phm trm c xc nh one click v trng thi n bt ta s tin hnh gi gi tr phn
trm sng l 100% v cho MQTT broker qua knh (topic: ESPx/BTz trong x l ID ca
ESP8266 , cn z l s th t phm trm
- Nu Phm trm c xc nh l double click, kim tra xem n l trt sang tri hy trt sang
phi ( trt sang tri nu thi gian:cnt_5ms - device.light3.cnt_snap < 500 ms, trt sang phi
nu cnt_5ms - device.light3.cnt_snap < 500ms ). Nu trt sang trai tin hnh gim sng ca
n i 1 mc l 128 n v (mc sng ti a ca n l 1023), nu l trt phi th tin hnh tng
mc sng n tng ng ln 128 n v:

Tnh t l phn trm sng = ( sng hin ti +1):1024

Trn Vn Tip D12DTMT Page 40


n tt nghip i hc Chng 4 Chng trnh hot ng ca client trong
m hnh smart home

Ri tin hnh gi phn trm sng ny qua knh (topic ) tng ng n MQTT broker y
giao tip MQTT client v MQTT broker c thit lp ch QoS :0 nn mi 1 phin giao dch
MQTT client v MQTT broker ch gi duy nht 1 ln

void send_click_buttons(unsigned int button_state, unsigned int slider, unsigned int


target_strengh) {
int val_str[3];
int value = ((target_strengh + 1) * 100) / 1024;
val_str[2] = value / 100;
val_str[1] = (value % 100) / 10;
val_str[0] = value % 10;
sprintf(dimmer, "%d%d%d", val_str[2], val_str[1], val_str[0]);
printf("dimmer=%s\n", dimmer);
if ((button_state & BUTTON1_ONE_CLICK) && ((counter_5ms - device.light1.cnt_snap) >
DOUBLE_CLICK_TIME)) {
sprintf(topic, "/ESP%d/BT1", device.id);
printf("-----%s:%d (s)\n", topic, millis() / 1000);
//client.publish(topic, state_bt);
if (device.light1.is_on )
{
client.publish(topic, dimmer);

}
else
{
client.publish(topic, "0");

}
printf("topic= %s\n", topic);
printf("\n");

/*printf("-------:%d (s)\n",millis()/1000); */
}
if (button_state & BUTTON1_DOUBLE_CLICK) {
/*sprintf(topic, "/ESP%d/BTD1", device.id);
client.publish(topic, "100");
printf("topic= %s\n", topic);
printf("\n");*/
if (slider & LEFT_SLIDE) {
sprintf(topic, "/ESP%d/BT1", device.id);
client.publish(topic, dimmer);
printf("LIGHT1.Brighness: %d\n", value);
printf("\n");
}
if (slider & RIGHT_SLIDE) {
sprintf(topic, "/ESP%d/BT1", device.id);
client.publish(topic, dimmer);

Trn Vn Tip D12DTMT Page 41


n tt nghip i hc Chng 4 Chng trnh hot ng ca client trong
m hnh smart home

printf("LIGHT1.brighness: %d\n", value);


printf("\n");
}
}
if ((button_state & BUTTON2_ONE_CLICK) && (((counter_5ms - device.light2.cnt_snap) >
DOUBLE_CLICK_TIME) && \
((counter_5ms - device.light1.cnt_snap) > SLIDER_TIME) && \
((counter_5ms - device.light3.cnt_snap) > SLIDER_TIME))) {
sprintf(topic, "/ESP%d/BT2", device.id);
printf("-----%s:%d (s)\n", topic, millis() / 1000);
//client.publish(topic, "100");
if (device.light2.is_on )
{
client.publish(topic, dimmer);

}
else
{
client.publish(topic, "0");

/*printf("-------:%d (s)\n",millis()/1000); */
printf("topic= %s\n", topic);
}
if (button_state & BUTTON2_DOUBLE_CLICK) {
/* sprintf(topic, "/ESP%d/BTD2", device.id);
client.publish(topic, "100");
printf("topic= %s\n", topic);
printf("\n");
*/
if (slider & LEFT_SLIDE) {
sprintf(topic, "/ESP%d/BT2", device.id);
client.publish(topic, dimmer);
printf("LIGHT2.Brighness: %d\n", value);
printf("\n");
}
if (slider & RIGHT_SLIDE) {
sprintf(topic, "/ESP%d/BT2", device.id);
client.publish(topic, dimmer);
printf("LIGHT2.brighness: %d\n", value);
printf("\n");
}
}
if ((button_state & BUTTON3_ONE_CLICK) && ((counter_5ms - device.light3.cnt_snap) >
DOUBLE_CLICK_TIME)) {
sprintf(topic, "/ESP%d/BT3", device.id);

Trn Vn Tip D12DTMT Page 42


n tt nghip i hc Chng 4 Chng trnh hot ng ca client trong
m hnh smart home

printf("-----%s:%d (s)\n", topic, millis() / 1000);


//client.publish(topic, "100");
if (device.light3.is_on )
{
client.publish(topic, dimmer);

}
else
{
client.publish(topic, "0");

}
/* printf("-------:%d (s)\n",millis()/1000); */
printf("topic= %s\n", topic);
printf("\n");
}
if (button_state & BUTTON3_DOUBLE_CLICK) {
/* sprintf(topic, "/ESP%d/BTD3", device.id);
client.publish(topic, "100");
printf("topic= %s\n", topic);
printf("\n");
*/
if (slider & LEFT_SLIDE) {
sprintf(topic, "/ESP%d/BT3", device.id);
client.publish(topic, dimmer);
printf("LIGHT3.Brighness: %d\n", value);
printf("\n");
}
if (slider & RIGHT_SLIDE) {
sprintf(topic, "/ESP%d/BT3", device.id);
client.publish(topic, dimmer);
printf("LIGHT3.brighness: %d\n", value);
printf("\n");
}
}
/*if (slider & LEFT_SLIDE) {
sprintf(topic, "/ESP%d/LFTSL", device.id);
client.publish(topic,"100");
printf("topic= %s\n", topic);
printf("\n");
}
if (slider & RIGHT_SLIDE) {
sprintf(topic, "/ESP%d/RHTSL", device.id);
client.publish(topic,"100");
printf("topic= %s\n", topic);
printf("\n");
} */

Trn Vn Tip D12DTMT Page 43


n tt nghip i hc Chng 4 Chng trnh hot ng ca client trong
m hnh smart home

}
Hnh 4. 6 Chng trnh m t cho qu trnh trn

SP8266 ng thi lun thc hin lin tip ng k cc knh nhn d liu truyn v t MQTT
broker, qua phn tch gii m lnh xem MQTT broker gi lnh thc thi iu khin thit b g :

Trn Vn Tip D12DTMT Page 44


n tt nghip i hc Chng 4 Chng trnh hot ng ca client trong
m hnh smart home

Hnh 4. 7 Lu thut ton phn tch x l d liu t mqtt broker gi v

Trn Vn Tip D12DTMT Page 45


n tt nghip i hc Chng 4 Chng trnh hot ng ca client trong
m hnh smart home

void callback(char* topic, byte* payload, unsigned int length) {


String st_topic = topic;
st_topic.remove(0, 6); // 6 = lenght of "/ESP1/LIGHT1"
unsigned int msg_data = 0;
unsigned int pl[3] = {0};
Serial.print("Message arrived [");
Serial.print(topic);
Serial.print("] ");

for (int i = 0; i < length; i++) {


printf("%c", payload[i]);
char_to_int((payload + i), (pl + i));

switch (length) {
case 3:
msg_data = (100 * pl[0]) + (10 * pl[1]) + pl[2]; /* length of payload= 3 digit,ingore to null
character of payload */
break;
case 2:
msg_data = (10 * pl[0]) + pl[1]; /* length of payload= 3 digit,ingore to null character of
payload */
break;
case 1:
msg_data = pl[0];/* length of payload= 3 digit,ingore to null character of payload */
break;
}

msg_data = ((msg_data * 1024) / 100);


/*printf("\nmsg_data=%d\n",msg_data);*/
printf("\n");
if (st_topic.equals("LIGHT1")) {

teston_off_comandqtt(payload, &msg_data);
device.light1.is_on = (msg_data != 0) ? true : false;
if (device.light1.is_on)
{
device.light1.target_strengh = msg_data;
}
}
if (st_topic.equals("LIGHT2")) {

teston_off_comandqtt(payload, &msg_data);

Trn Vn Tip D12DTMT Page 46


n tt nghip i hc Chng 4 Chng trnh hot ng ca client trong
m hnh smart home

device.light2.is_on = (msg_data != 0) ? true : false;


if (device.light2.is_on)
{
device.light2.target_strengh = msg_data;
}
}
if (st_topic.equals("LIGHT3")) {

teston_off_comandqtt(payload, &msg_data);
device.light3.is_on = (msg_data != 0) ? true : false;
if (device.light3.is_on)
{
device.light3.target_strengh = msg_data;
}
}
if (st_topic.equals("LIGHT4")) {

teston_off_comandqtt(payload, &msg_data);
device.light4.is_on = (msg_data != 0) ? true : false;
if (device.light4.is_on)
{
device.light4.target_strengh = msg_data;
}
}
}

Hnh 4. 8 Chng trnh m t cho bc lng nghe v phn tch d liu t MQTT broker

4.3 Xy dng ESP8266 MQTT client cm bin nhit gi gi tr cm bin ln


MQTT broker
Trong h thng smart home, cm bin nhit ng vai tr kh quan trng, gip chng ta bit
c trng thi nng lnh ca ngi nh t c nhng thay i ph hp (t lm hoc t ng bi
h thng). V d h thng t ng tng nhit my lnh hoc tt qut nu tri qu lnh vo ban
m khi ta ang ng.

Trong bi ny, chng ta cng nhau xy dng 1 cm bin nhit nh gn dng Mini-Esp hoc
Wemos D1 mini, cm bin nhit Ds18B20 v giao thc MQTT truyn data v server

Trn Vn Tip D12DTMT Page 47


n tt nghip i hc Chng 4 Chng trnh hot ng ca client trong
m hnh smart home

Hnh 4. 9 M t phn cng cm bin nhit


linh hot, ta s cn module ny dng pin thay v cp ngun trc tip. V esp8266 dng wifi l
mt giao thc rt tn pin nn ta s cho module ny c nhit mi trng 20 pht mt ln (tn
sut cng cao th cng nhanh ht pin) v sau chuyn sang ch deep sleep (l ch tit
kim pin vi tt c cc kt ni wifi b tt). Sau 20 pht, esp8266 s t ng khi ng li, c
nhit v gi v server ri li tip tc sleep. c th thc dy sau mi ln ng, ta cn phi ni
chn D0 vi chn RST.
on code Arduino di y iu khin cho con esp8266 thit lp kt ni Wifi v giao thc
MQTT n MQTT server (hay gi l MQTT broker), sau c nhit thng qua Ds18b20 v
gi n mt topic (channel) trn MQTT broker, sau chuyn sang trng thi deep sleep 20 giy.

Hnh 4. 10 Lu thut ton hot ng ESP8266 cm bin nhit

Trn Vn Tip D12DTMT Page 48


n tt nghip i hc Chng 4 Chng trnh hot ng ca client trong
m hnh smart home

/*
Sketch which publishes temperature data from a DS1820 sensor to a MQTT topic.
This sketch goes in deep sleep mode once the temperature has been sent to the MQTT
topic and wakes up periodically (configure SLEEP_DELAY_IN_SECONDS accordingly).
Hookup guide:
- connect D0 pin to RST pin in order to enable the ESP8266 to wake up periodically
- DS18B20:
+ connect VCC (3.3V) to the appropriate DS18B20 pin (VDD)
+ connect GND to the appopriate DS18B20 pin (GND)
+ connect D4 to the DS18B20 data pin (DQ)
+ connect a 4.7K resistor between DATA and VCC.
*/
#include <ESP8266WiFi.h>
#include <PubSubClient.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define SLEEP_DELAY_IN_SECONDS 30
#define ONE_WIRE_BUS 2 // DS18B20 pin
const char* ssid = ".."; /* ID wifi esp8266 kt ni */
const char* password = ".";/* mt khu wifi */

const char* mqtt_server = "192.168.67.105";/*ghi a ch IP ca Orange pi */


const char* mqtt_username = "<MQTT_BROKER_USERNAME>";
const char* mqtt_password = "<MQTT_BROKER_PASSWORD>";
const char* mqtt_topic = "ESP3/TEMPLATE"; /* knh ng k truyn d liu ln mqtt broker
*/
WiFiClient espClient;
PubSubClient client(espClient);
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);
char temperatureString[6];
void setup() {
// setup serial port
Serial.begin(115200);
// setup WiFi
setup_wifi();
client.setServer(mqtt_server, 1883);
client.setCallback(callback);

// setup OneWire bus


DS18B20.begin();
}
void setup_wifi() {
delay(10);
// We start by connecting to a WiFi network
Serial.println();
Serial.print("Connecting to ");

Trn Vn Tip D12DTMT Page 49


n tt nghip i hc Chng 4 Chng trnh hot ng ca client trong
m hnh smart home

Serial.println(ssid);
WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {


delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void callback(char* topic, byte* payload, unsigned int length) {
Serial.print("Message arrived [");
Serial.print(topic);
Serial.print("] ");
for (int i = 0; i < length; i++) {
Serial.print((char)payload[i]);
}
Serial.println();
}
void reconnect() {
// Loop until we're reconnected
while (!client.connected()) {
Serial.print("Attempting MQTT connection...");
// Attempt to connect
if (client.connect("ESP8266Client", mqtt_username, mqtt_password)) {
Serial.println("connected");
} else {
Serial.print("failed, rc=");
Serial.print(client.state());
Serial.println(" try again in 5 seconds");
// Wait 5 seconds before retrying
delay(5000);
}
}
}

float getTemperature() {
Serial.println("Requesting DS18B20 temperature...");
float temp;
do {
DS18B20.requestTemperatures();
temp = DS18B20.getTempCByIndex(0);
delay(100);
} while (temp == 85.0 || temp == (-127.0));
return temp;

Trn Vn Tip D12DTMT Page 50


n tt nghip i hc Chng 4 Chng trnh hot ng ca client trong
m hnh smart home

void loop() {
if (!client.connected()) {
reconnect();
}
client.loop();
float temperature = getTemperature();
// convert temperature to a string with two digits before the comma and 2 digits for precision
dtostrf(temperature, 2, 2, temperatureString);
// send temperature to the serial console
Serial.print("Sending temperature: "); Serial.println(temperatureString);
// send temperature to the MQTT topic
client.publish(mqtt_topic, temperatureString);
delay(500);
Serial.print("Closing MQTT connection...");
client.disconnect();
Serial.print("Closing WiFi connection...");
WiFi.disconnect();
Serial.print("Entering deep sleep mode for "); Serial.print(SLEEP_DELAY_IN_SECONDS);
Serial.println(" seconds...");
ESP.deepSleep(SLEEP_DELAY_IN_SECONDS * 1000000, WAKE_RF_DEFAULT);
delay(500); // wait for deep sleep to happen
}

Trn Vn Tip D12DTMT Page 51


n tt nghip i hc Chng 4 Chng trnh hot ng ca client trong
m hnh smart home

4.4 Xy dng cm bin hng ngoi m s ngi trong phng


Module pht hin vt cn trong khong 2- 60 cm, gc pht hin 35. Khi pht hin vt cn tn
hiu u ra out mc thp v led xanh s sng. C th iu chnh khong cch bng cch vn
bin tr. Chnh trit p tng khong cch theo chiu kim ng h v ngc li gim khong
cch
- Cng ra chn Output c th iu khin trc tip 1 relay hoc 1 chn vi iu khin
- in p hot ng ca module l 3V 5V

Mt thu hng ngoi s pht ra nh sng trong vng c bc sng hng ngoi(bc sng ln hn
bc sng nh sng ) mt thu bnh thng c ni tr rt ln khi mt thu b tia hng ngoi
chiu vo ni tr s gim xung li dng nguyn l ny ch ra cm bin PIR m s ngi trong
phng
-Khai bo chn cm bin v n led.
Khai bo trong hm setup.
INPUT_PULLUP: Mc nh khi khng c kt ni vi mt mch ngoi hoc c kt ni vi
cc dng th pin s nhn gi tr l HIGH, khi pin c thng ti cc m xung t th nhn gi
tr l LOW tng ng vi 0 - 1

int infrared = 4;
int led = 2;

void setup()
{
pinMode(led,OUTPUT);
pinMode(infrared, INPUT_PULLUP);
}
void loop()
{
if(digitalRead(infrared) == 0)
{
digitalWrite(led,HIGH);
}
else
{
digitalWrite(led,LOW);
}
}

Trn Vn Tip D12DTMT Page 52


n tt nghip i hc Kt lun

KT LUN

Sau gn 3 thng thit k v thi cng mch iu khin thit b bng sng wifi em thc hin
thnh cng ti. Kt qu t c l to ra c mch hon chnh chy n nh, iu khin cc
thit b trong m hnh smart home . Qua c kt thu thp c nhiu kinh nghim v lnh va
iot, v kinh nghip v thit k gia cng mch in t .Cng c thm kinh nghim kin thc
hc

Bn cnh vn cn nhiu hn ch v s lng thit b iu khin demo trong n mch t ng


dng gy lng ph tnh nng ra lc thit k ca mch (lc thit k mi mch thc thi iu
khin 4 thit b nhng lc thi cng demo iu khin 2 thit b). S cm bit thit b lm so vi
lc demo cng b rt ngn li

Hng pht trin ca ti: iu khin c nhiu thit b hn m rng tnh nng giao in trn
trnh duyt v trn phn mm androi

Trn Vn Tip D12DTMT Page 51


n tt nghip i hc Ti liu tham kho

TI LIU THAM KHO

Ting Vit:

Ting Anh:

Danh mc cc Website tham kho:

1. http://www.easytech.vn/index.php/2016/03/31/cai-dat-openhab-tren-raspberry-pi/
2. http://bluetech.com.vn/..
3. http://hotrocntt.com/raspberry-ngoi-nha-thong-minh.html
4. http://www.breadboard.me/index.php/2016/04/08/cam-bien-nhiet-do-wifi-dung
5. http://www.easytech.vn/index.php/2016/06/21/o-cam-dien-thong-minh-smart-plug/
6. http://www.easytech.vn/index.php/2016/06/15/thiet-bi-da-cam-bien-phong/
7. http://www.easytech.vn/index.php/2016/06/18/remote-da-dung-cho-smart-home/

Trn Vn Tip D12DTMT Page 52

Das könnte Ihnen auch gefallen