Một trong những ứng dụng quan trọng nhất cảu điện tử là wifi ứng dụng vào trong mô hình smart home , wifi được ứng dụng vào nhiều trong công công nghiệp và trong cuộc sống với nhiều các
Trang 1ĐẠI HỌC CÔNG NGHỆ SÀI GÒN
2016-2018
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
MÔ HÌNH NGÔI NHÀ THÔNG MINH
GVHD: Thầy TỐNG VĂN ON
SVTH: VÕ TIẾN TÀI
VÕ TRÍ TUỆ
Tp Hồ Chí Minh Tháng 07/2018
Trang 2NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
GIÁO VIÊN HƯỚNG DẪN
(ký và ghi rõ họ tên)
Trang 3NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
GIÁO VIÊN CHẤM
(ký và ghi rõ họ tên)
Trang 4LỜI CẢM ƠN
Trong suốt thời gian học tập tại trường Đại Học Công Nghệ Sài Gòn, em nhận
được sự giảng dạy cũng như sự chỉ dẫn một cách tận tình của quý thầy cô về những kiến thức trong học tập cũng như trong cuộc sống
Đặc biệt, em xin được gửi lời cám ơn trân trọng và sâu sắc nhất thầy Tống Văn
On – người đã hết sức tạo điều kiện và tận tình hướng dẫn, động viên chúng em trong suốt quá trình nghiên cứu thực hiện đồ án này
Em xin chân thành cảm ơn quí thầy cô trong khoa Điện – Điện Tử đã giảng dạy cho chúng em những kiến thức chuyên môn và tạo điều kiện cho chúng em hoàn thành tốt khóa học, qua đó giúp chúng em định hướng được trong việc lựa chọn và thực hiện
đề tài này trong khả năng của mình
Trang 5TÓM TẮT ĐỀ TÀI
Điện tử đang là ngành khoa học đa nhiệm điện tử đã đáp ứng được những đòi hỏi không ngừng của các ngành và lĩnh vực khác nhau cho đến nhu cầu thiết yếu của con người trong cuộc sống hằng ngày Một trong những ứng dụng quan trọng nhất cảu điện tử là wifi ứng dụng vào trong mô hình smart home , wifi được ứng dụng vào nhiều trong công công nghiệp và trong cuộc sống với nhiều các ứng dụng khác nhau với những thiết bị điều khiển từ xa rất tinh vi và đạt được năng suất kinh tế thật cao Xuất phát từ ứng dụng đó em thiết kế mô hình smart home sử dụng module wifi ESP8266
Thiết kế mudule thực thi: mạch điều khiển thiết bị theo kích thước nhỏ gọn để ứng dụng đưa vào ngôi nhà xây dựng thực tế kết hợp với nhiều cảm biến như : cảm biến hồng ngoại, cảm biến khói, cảm biến ánh sáng, cảm biến nhiệt độ độ ẩm, kết hợp với nhau tạo ra một khối thống nhất chung, được điều hành với bộ sử lý trung tâm, nếu có
sự cố thì bộ sử lý trung tâm báo lổi gửi tin nhắn về máy (điện thoại ) thông qua MẠCH GSM GPRS Sim800A
Nội dung bao gồm 5 chương:
Chương 1: Giới thiệu
Chương 2: Tổng quan kiến thức, tài liệu liên quan đến luận văn tốt nghiệp Chương 3: Phương pháp và cách tiến hành
Chương 4: Kết quả và biện luận
Chương 5: Kết luận và đề nghị
Em đã cố gắng nỗ lực hết mình trong suốt thời gian thực hiện đề tài Em mong nhận được nhiều nhận xét và ý kiến đóng góp của quý thầy cô và các bạn về đề tài này cũng như phương hướng phát triển mở rộng để đề tài được hoàn thiện hơn
Trang 6MỤC LỤC
CHƯƠNG 1 1
GIỚI THIỆU 1
1.1 Đặt vấn đề: 1
1.2 Mục tiêu của luận văn tốt nghiệp 1
1.3 Phạm vi nghiên cứu 2
CHƯƠNG 2 3
TỔNG QUAN VỀ ĐỀ TÀI 3
2.1 PIC 16F877A: 3
2.1.1 PIC là gì: 3
2.1.2 Đặc điểm phần cứng: 3
2.1.3 Chức năng: 3
2.2 ARDUINO UNO R3: 4
2.2.1 Thông số: 4
2.3 AT89S52: 5
2.3.1 AT89S52 là gì: 5
2.3.2 Đặc điểm phần cứng: 5
2.4 Pin Năng Lượng Mặt Trời: 5
2.4.1 Thông số kỉ thuật: 5
2.5 Bộ điều khiển sạc năng lượng mặt trời 10A: 6
2.5.1 Mô Tả: 6
2.5.2 Thông số kỹ thuật: 7
2.6 Mạch chuyển đổi điện áp 12VDC – 220VAC: 7
2.6.1 Mô Tả: 7
2.6.2 Thông Số Kỹ Thuật: 7
2.7 Kit thu phát wifi ESP8266 NODEMCU LUA CP2102: 8
2.7.1 Mô Tả : 8
2.7.2 Thông số kỹ thuật : 8
2.8 Cảm biến cường độ ánh sáng (LUX) BH1750: 9
2.8.1 Mô tả: 9
2.8.2 Thông số kỹ thuật: 10
2.9 Bàn phím ma trận KEYPAD 4X4: 10
2.9.1 Mô tả: 10
2.9.2 Thông số kỹ thuật : 10
2.10 Cảm biến khí gas MQ-135: 11
2.10.1 Mô tả: 11
2.10.2 Thông số kỹ thuật : 11
2.11 Cảm biến nhiệt độ, độ ẩm DHT11: 11
2.11.1 Mô Tả : 11
2.11.2 Thông số kỹ thuật : 12
2.12 Bộ cảm biến quang (PZ-M15): 12
Trang 72.12.1 Mô tả: 12
2.12.2 Thông số kỹ thuật : 12
2.13 MẠCH GSM GPRS Sim800A (SIM900A Update) 14
2.13.1 Mô Tả : 14
2.13.2 Thông số kỹ thuật : 14
CHƯƠNG 3 15
PHƯƠNG PHÁP VÀ CÁCH TIẾN HÀNH 15
3.1 Lời mở đầu: 15
3.2 ESP8266 WIFI: 15
3.3 MQTT: 16
3.4 Giao diện trên myDevices.com: 17
3.5 Tổng quan về SMS: 20
3.6 Tập lệnh AT COMAND: 21
3.6.1 Các lệnh điều khiển cuộc gọi: 21
3.6.2 Các lệnh điều khiển tin nhắn 22
3.7 Sơ đồ nối dây Arduino với Module SIM 800A: 22
3.8 Chương trình code Arduino giao tiếp với Module SIM 800A: 23
3.9 Khối điều khiển cho các thiết bị: 27
3.10 KEYPAD 4X4 và hiển thị LCD: 30
3.11 Hệ thống năng lượng mặt trời: 36
3.11.1 Charge Controller: 36
3.11.2 Bộ inverter: 37
CHƯƠNG 4 39
KẾT QUẢ VÀ BIỆN LUẬN 39
4.1 KẾT QUẢ THI CÔNG 39
4.2 ƯU ĐIỂM VÀ KHUYẾT ĐIỂM 45
4.2.1 Ưu điểm: 45
4.2.2 Nhược điểm : 45
CHƯƠNG 5 46
KẾT LUẬN VÀ ĐỀ NGHỊ 46
5.1 Kết luận: 46
5.2 ĐỀ NGHỊ: 46
Trang 8CHƯƠNG 1 GIỚI THIỆU
1.1 Đặt vấn đề:
Nhà thông minh đang và sẽ là một xu hướng công nghệ tất yếu trên thế giới, trở thành tiêu chuẩn của nhà ở hiện đại trong kỷ nguyên Internet of Things – kết nối vạn vật qua internet Bên cạnh đó, sự tiện nghi và tiết kiệm năng lượng cũng dần trở thành một tiêu chuẩn cần thiết nhằm nâng cao chất lượng sống của chúng ta Vậy nên hãy bắt đầu cho một "kỷ nguyên công nghệ" mới.Công nghệ và thiết bị cho ngôi nhà thông minh đang được các công
ty trong ngành xây dựng quan tâm nhiều Tại châu Âu, ngày càng có nhiều điều luật bắt buộc các ngôi nhà mới xây phải có chứng chỉ thân thiện môi trường, như cách nhiệt tốt, giảm tiêu thụ điện, nước và khí đốt, Dưới đây là 5 cách mà một ngôi nhà thông minh giúp bạn có một cuộc sống tiện nghi và thoải mái hơn:
Hình 1.1: Ngôi nhà thông minh
1.2 Mục tiêu của luận văn tốt nghiệp.
- Thiết kế mô hình nhà thông minh gọn nhẹ và hoạt động ổn định
- Viết chương trình điều khiển cho các loại cảm biến
- Viết chương trình cho điều khiển Pic 16F877A
- Thiết kế giao diện trên myDevices.com
- Giao diện phần mềm đơn giản, dễ sử dụng, hỗ trợ nhiều dòng điện thoại thông minh chạy bằng hệ điều hành Android
Trang 91.3 Phạm vi nghiên cứu
Đối tượng nghiên cứu của đề tài là thiết kế mô hình nhà thông minh điều khiển bằng điện thoại thông minh qua wifi và gửi tin nhắn báo sự cố thông qua điện thoại
Phạm vi nghiên cứu của đề tài gồm có:
- Tìm hiểu lý thuyết động về năng lượng mặt trời
- Tìm hiểu lý thuyết về các loại cảm biến
- Thiết kế mô ngôi nhà bằng mô hình
Thiết kế giao diện trên myDevices.com
- Lập trình PIC 16F877A, ESP8266 wifi
- Lập trình module Sim 800A
- Lập trình ma trận phím keypad 4x4 và màng hình hiển thị LCD
Trang 10CHƯƠNG 2 TỔNG QUAN VỀ ĐỀ TÀI
2.1 PIC 16F877A:
2.1.1 PIC là gì:
Hình 2.1: PIC 16F877A
PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là “máy tính
thông minh khả trình” do hãng Genenral Instrument đặt tên chovi điều khiển đầu tiên của
họ: PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi điều khiển CP1600 Vi điều khiển này sau đó được nghiên cứu phát triển thêm và từ đó hình thành dòng vi điều
khiển PIC ngày nay
2.1.2 Đặc điểm phần cứng:
368 bytes bộ nhớ dữ liệu RAM 8K Words bộ nhớ chương trình FLASH (trong đó mỗi word của dòng mid-range là 14 bit), 256 bytes EEPROM
Có 3 bộ định thời Timer0, Timer1, Timer2
Có khả năng xử lý ngắt từ nhiều nguồn ngắt khác nhau như ngắt ngoài, ngắt tràn Timer, ngắt ngoại vi như ngắt ADC…
2.1.3 Chức năng:
Chức năng chính của PIC 16F877A:
- Chức năng CCP gồm Comparator (Bộ so sánh), Capture và PWM (Điều biến độ rộng xung)
- Chức năng giao tiếp đồng bộ nối tiếp SSP (Synchnorous Serial Port) bao gồm 2 giao tiếp SPI và giao tiếp I2C
- Chức năng bộ truyền/phát không đồng bộ đa năng nối tiếp USART (Universal Serial Asynchnorous Receiver/Tranmitter) ở dạng mô đun phần cứng phục vụ cho giao tiếp theo chuẩn RS-232, do đó ta không cần quan tâm đến các thao tác cáp thấp sử dụng RS-232 Đây là chức năng hữu ích cho việc tiếp với PC của MC
- Bộ chuyển đổi ADC 10 bit chuyển đổi tín hiệu tương tụ thành tín hiệu số 10 bit Nguồn điệp áp tham chiếu có thể cọn từ nguồn ngoài hoặc từ nguồn Vdd và Vss cấp cho PIC
Trang 11- Chức năng giao tiếp song song PSP (Parralel Slave Port)
- Chức năng Watchdog Timer
Giao tiếp không đồng bộ với máy tính qua chuẩn RS-232 bằng USAR.T
Các giao tiếp nối tiếp đồng bộ SPI và I2C
2.2 ARDUINO UNO R3:
2.2.1 Thông số:
Hình 2.2: ARDUINO UNO R3 Bảng 2.1: Thông số kỹ thuật Arduino Uno Rev3
Vi điều khiển ATmega328 họ 8bit
Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Tần số hoạt động 16 MHz
Điện áp vào khuyên dùng 7-12V DC
Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 30 mA
Trang 122.3 AT89S52:
2.3.1 AT89S52 là gì:
AT89S52 là họ IC vi điều khiển do hãng Atmel sản xuất Các sản phẩm AT89S52 thích hợp cho những ứng dụng điều khiển Việc xử lý trên byte và các toán số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuất dữ liệu nhanh trên RAM nội Tập lệnh cung cấp một bảng tiện dụng của những lệnh số học 8 bit gồm cả lệnh nhân và lệnh chia Nó cung cấp những hổ trợ mở r ộ n g t r ê n c h i p
- 128 Byte RAM nội
- Port xuất /nhập I/O 8 bit
- Giao tiếp nối tiếp
- 64 KB vùng nhớ mã ngoài
- KB vùng nhớ dữ liệu ngoại
- 4µs cho hoạt động nhân hoặc chia
2.4 Pin Năng Lượng Mặt Trời:
2.4.1 Thông số kỉ thuật:
Hình 2.3: Pin Năng Lượng Mặt Trời
- Công suất tối đa tại STC(Pmax): 50W
- Điện áp hoạt động tối ưu(Vmp): 18.2V
- Dòng vận hành tối ưu(Imp): 2.74A
- Điện áp mạch hở(Voc): 23.27V
- Dòng điện ngắn mạch(Isc): 2.94A
Trang 13- Hệ số nhiệt độ dòng ngắn mạch: (0,065 ± 0,015) % / ℃
- Hệ số nhiệt độ điện áp mạch hở: -(80 ± 10) mV / ℃
- Hệ số nhiệt độ công suất đỉnh: -(0,5 ± 0,05) % / ℃
- Nhiệt độ hoạt động: -40 ℃ đến 85 ℃
- Hệ thống điện áp tối đa: 1000V DC
- Dung sai điện: ± 3%
Bảng 2.2: Thông số của pin mặt trời 50W
2.5 Bộ điều khiển sạc năng lượng mặt trời 10A:
2.5.1 Mô Tả:
Hình 2.4: Bộ Điều Khiển Sạc Pin Năng Lượng Mặt Trời
Bộ điều khiển sạc Năng lượng mặt trời 10A được sử dụng để điều khiển tối ưu quá trình sạc Ắc Quy từ pin Năng lượng mặt trời, giúp quá trình sạc luôn đạt hiệu suất cao nhất cũng như bảo Ắc Quy bằng quy trình sạc thông minh PWM 4 trạng thái + ngắt khi đầy
Bộ điều khiển sạc Năng lượng mặt trời 10A có công suất tải tối đa lên đến 240W, thiết
kế vỏ hộp nhỏ gọn, chắc chắn, bền bỉ, là sự lựa chọn tối ưu khi sử dụng với các pin Năng lượng mặt trời cỡ nhỏ
Lưu ý:
- Nên để Ắc Quy ở gần bộ sạc tối đa, dây nối nên chọn loại tốt, tránh để Ắc Quy
và bộ sạc trực tiếp dưới ánh nắng mặt trời, nên lắp đặt ở chỗ thoáng khí vì bộ sạc
sẽ tỏa nhiệt khi hoạt động
- Bộ sạc tự động nhận dạng Pin hoặc Ắc Quy là 12V hay 24V, lần lắp đặt đầu tiên cần chắc chắn là Ắc Quy đủ đầy để việc nhận dạng này là chính xác
- Bộ xạc chỉ sử dụng với Ắc Quy Chì 12/24V OPEN,AGM, GEL, tuyệt đối không
sử dụng với các loại pin Lithium và các loại pin khác
Số lượng ô và kết nối 36 (4x9)
Kích thước cửa mô-đun 530mm x670mm x30mm
Trang 14- Bộ xạc chỉ sử dụng với pin năng lượng mặt trời, lưu ý không dùng các nguồn vào
DC khác và sử dụng như bộ xạc pin vì sẽ bị cháy mạch
2.5.2 Thông số kỹ thuật:
- Bộ điều khiển sạc Năng lượng mặt trời 10A
- Chỉ sử dụng với pin Năng lượng mặt trời
- Sử dụng với Ắc Quy Chì 12/24V OPEN,AGM, GEL, tuyệt đối không sử dụng với các loại pin Lithium và các loại pin khác
- Công suất tải tối đa: 240W
- Sử dụng bộ xử lý trung tâm chẩn công nghiệp
Hình 2.5: Mạch Chuyển Điện Áp DC-AC
Mạch chuyển điện áp DC-AC Inverter 12VDC 500W được thiết kế nhỏ gọn, dễ sử dụng, có chức năng chuyển từ điện 12VDC sang điện AC 18/220/160/380VAC với công suất ngõ ra 500W Mạch có thể cấp điện áp đầu vào từ Pin hoặc bình acquy để có thể thắp sáng bóng đèn, sạc điện thoại, , lưu ý mạch ra dạng sóng vuông nên sẽ không chạy được động cơ, hoặc các thiết bị chạy dạng sóng Sin chuẩn AC
2.6.2 Thông Số Kỹ Thuật:
- Điện áp đầu vào: 12VDC
- Điện áp ngõ ra: 18/160/220/380VAC
- Công suất ngõ ra: 500W
- Dòng nghỉ: 0.35A
- Dạng xung ngõ ra: vuông
- Tần số: 20Khz
Trang 152.7 Kit thu phát wifi ESP8266 NODEMCU LUA CP2102:
2.7.1 Mô Tả :
Hình 2.6: Kit Wifi ESP8266 NodeMCU Lua
Kit RF thu phát Wifi ESP8266 NodeMCU Lua là kit phát triển dựa trên nền chip Wifi SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực tiếp trình biên dịch của Arduino để lập trình và nạp code, điều này khiến việc sử dụng và lập trình các ứng dụng trên ESP8266 trở nên rất đơn giản
Kit RF thu phát Wifi ESP8266 NodeMCU Lua được dùng cho các ứng dụng cần kết nối, thu thập dữ liệu và điều khiển qua sóng Wifi, đặc biệt là các ứng dụng liên quan đến IoT
Kit RF thu phát Wifi ESP8266 NodeMCU Lua sử dụng chip nạp và giao tiếp UART mới và ổn định nhất là CP2102 có khả năng tự nhận Driver trên tất cả các hệ điều hành Window và Linux, đây là phiên bản nâng cấp từ các phiên bản sử dụng IC nạp giá rẻ CH340
2.7.2 Thông số kỹ thuật :
- IC chính: ESP8266 Wifi SoC
- Phiên bản firmware: NodeMCU Lua
- Chip nạp và giao tiếp UART: CP2102
- GPIO tương thích hoàn toàn với firmware Node MCU
- Cấp nguồn: 5VDC MicroUSB hoặc Vin
- GIPO giao tiếp mức 3.3VDC
- Tích hợp Led báo trạng thái, nút Reset, Flash
- Tương thích hoàn toàn với trình biên dịch Arduino
- Kích thước: 25 x 50 mm
- GIPO giao tiếp mức 3.3VDC
- Tích hợp Led báo trạng thái, nút Reset, Flash
- Tương thích hoàn toàn với trình biên dịch Arduino
- Kích thước: 25 x 50 mm
- Kích thước: 80 x 75 x 39mm
Trang 16Hình 2.7: Sơ Đồ Chân Kit Wifi ESP8266 NodeMCU Lua
2.8 Cảm biến cường độ ánh sáng (LUX) BH1750:
2.8.1 Mô tả:
Hình 2.8: Mạch cảm biến cường độ ánh sáng
Cảm biến cường độ ánh sáng BH1750 được sử dụng để đo cường độ ánh sáng theo đơn vị lux, càm biến có ADC nội và bộ tiền xử lý nên giá trị được trả ra là giá trị trực tiếp cường độ ánh sáng lux mà không phải qua bất kỳ xử lý hay tính toán nào thông qua giao tiếp I2C
Trang 17• Trời nhiều mây ngoài trời : 50 - 500 lux
• Trời nắng trong nhà : 100 - 1000 lux
• Ánh sáng cần thiết để đọc sách: 50 - 60 lux
2.8.2 Thông số kỹ thuật:
- Nguồn: 3~5VDC
- Giao tiếp: I2C
- Khoảng đo: 1 -> 65535 lux
- Nhiệt độ hoạt động 0 ~ 70oC
- Đầu nối ra 8 chân
- Kích thước bàn phím 77 x 69 mm
Trang 182.10 Cảm biến khí gas MQ-135:
2.10.1 Mô tả:
Thường được dùng trong các thiết bị kiểm tra chất lượng không khí bên trong cao ốc, văn phòng, thích hợp để phát hiện NH3, NOx, Ancol, Benzen, khói, CO2,…Giao diện (4 dây)
- VCC Hoạt động điện áp 5V
- GND để kết nối GND
- D0 đầu ra giao diện chuyển đổi kỹ thuật số (0 và 1)
- A0 đầu ra giao diện tương tự
- Có 2 dạng tín hiệu đầu ra dạng Analog và TTL
- Tín hiệu đầu ra TTL có giá trị thấp (đầu ra tín hiệu mức thấp có thể được kết nối trực tiếp với vi điều khiển)
- Đầu ra tương tự 0 ~ 5V, nồng độ cồn càng cao điện áp càng cao
- Độ nhạy cao và chọn lọc tốt với hơi ethanol
Trang 19Cảm biến độ ẩm và nhiệt độ DHT11 là cảm biến rất thông dụng hiện nay vì chi phí rẻ
và rất dễ lấy dữ liệu thông qua giao tiếp 1 wire (giao tiếp digital 1 dây truyền dữ liệu duy nhất) Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào So với cảm biến đời mới hơn là DHT22 thì DHT11 cho khoảng đo và độ chính xác kém hơn rất nhiều
Xin lưu ý : chỉ sử dụng cảm biến trong môi trường độ ẩm thuần là hơi nước, các môi trường đặc biệt ủ kín như ủ tỏi đen, ủ yếm khí sẽ sinh ra nấm và vi khuẩn bám lên bề mặt cảm biến làm hư hỏng cảm biến
2.11.2 Thông số kỹ thuật :
- Nguồn: 3 -> 5 VDC
- Dòng sử dụng: 2.5mA max (khi truyền dữ liệu)
- Đo tốt ở độ ẩm 2080%RH với sai số 5%
- Đo tốt ở nhiệt độ 0 to 50°C sai số ±2°C
- Tần số lấy mẫu tối đa 1Hz (1 giây 1 lần)
Trang 20Bảng 2.3: Thông số kỹ thuật của PZ-M15
(24 V), điện áp dư: Tối đa 1 V
Dòng điện tiêu thụ cho Bộ
g xung quanh
-20 đến +55 °C (Không đóng băng)
Độ ẩm môi trường xung quanh
35 đến 85 % RH (Không ngưng tụ)
Y, Z tương ứng, 2 giờ
Trang 212.13 MẠCH GSM GPRS Sim800A (SIM900A Update)
2.13.2 Thông số kỹ thuật :
- Sử dụng module GSM GPRS Sim800A
- Nguồn cấp đầu vào: 5 - 18VDC, lớn hơn 1A
- Mức tín hiệu giao tiếp: TTL (3.3-5VDC) hoặc RS232
- Tích hợp IC chuyển mức tín hiệu RS232 MAX232
- Tích hợp nguồn xung với dòng cao cung cấp cho Sim800A
- Sử dụng khe Micro Sim
- Thiết kế mạch nhỏ gọn, bền bỉ, chống nhiễu
Trang 22CHƯƠNG 3 PHƯƠNG PHÁP VÀ CÁCH TIẾN HÀNH
3.1 Lời mở đầu:
Internet Of Things (IoT) – Internet vạn vật: dường như đang đứng trước một bước
ngoặt để đi đến giai đoạn tiếp theo cho một thế giới hiện đại, văn minh Đó la viễn cảnh mà mọi vật đều có thể kết nối với nhau thông qua Internet không dây Các doanh nghiệp đang
có xu hướng ứng dụng sản phẩm công nghệ IoT vao sản xuất ngày càng nhiều bởi thị trường sáng tạo tiềm năng va chi phí sản xuất ngay càng thấp
INTERNET OF THING là gì :
Internet of Things (IoT) - Mạng lưới vạn vật kết nối Internet là một kịch bản của thế giới, khi mà mỗi đồ vật, con người được cung cấp một định danh của riêng mình, và tất cả
có khả năng truyền tải, trao đổi thông tin, dữ liệu qua một mạng duy nhất ma không cần đến
sự tương tác trực tiếp giữa người với người, hay người với máy tính IoT đã phát triển từ sự hội tụ của công nghệ không dây, công nghệ vi cơ điện tử và Internet Nói đơn giản là một tập hợp các thiết bị có khả năng kết nối với nhau, với Internet và với thế giới bên ngoài để thực hiện một công việc nào đó
3.2 ESP8266 WIFI:
Kết nối WiFi chính điểm mạnh nhất của chip ESP8266, nó có thể kết nối đến cá c Router sẵn có tronggia đình, các Access Point với các tiêu chuẩn kết nối thông dụng hiện nay ở tần số 2.4GHz - ở chế độ STA Ngoài ra, ESP8266 con hỗ trợ chế độ AP (Access Point), tức la no co thể khởi động một (hoặc nhiều) Access Point và cho phép các client khác có thể kết nối vào, hoặc chạy đồng thời cả chế độ STA va AP
Hình 3.1 Mô phỏng về esp8266 wifi
Trong thiết kế mô hình này chúng ta dùng chế độ Standard(STA) là chủ yếu dùng ESP8266 để kết nối với wifi có sẵn
Khi muốn kết nối vao mạng WiFi cục bộ thi ESP8266 cần phải hoạt động ở chế độ Station (STA), đồng thời no phải được cung cấp ten (SSID) va mật khẩu mạng WiFi (Password)
Trang 23Việc làm của chúng ta bây giờ là gữi và nhận dữ liệu từ Websever đến cho ESP8266 thông qua giao thức truyền nhận gọi là MQTT (Message Queuing Telemetry Transport)
3.3 MQTT:
MQTT là gì:
- MQTT (Message Queuing Telemetry Transport) la một giao thức gởi dạng publish/subscribe sử dụng cho các thiết bị Internet of Things với băng thông thấp,
độ tin cậy cao và khả năng được sử dụng trong mạng lưới không ổn định
- Bởi vi giao thức này sử dụng băng thông thấp trong môi trường có độ trễ cao nên
nó là một giao thức
- Lý tưởng
- MQTT cũng là giao thức sử dụng trong Facebook Messager
- Ở đây chúng ta chỉ nói ngắn gọn đủ để hiểu giao thức MQTT, bao gồm các định
nghĩa "subscribe", "publish", "qos", "retain", "last will and testament
(lwt)"
Publish, subscribe :
- Trong một hệ thống sử dụng giao thức MQTT, nhiều trạm (gọi là mqtt client - gọi tắt là client) kết nối tới một MQTT server (gọi là broker) Mỗi client sẽ đăng ký một vài kênh (topic), ví dụ như "/client1/channel1", "/client1/channel2" Quá trình đăng ký này gọi là "subscribe", giống như chúng ta đăng ký nhận tin trên một kênh Youtube vậy Mỗi client sẽ nhận được dữ liệu khi bất kỳ trạm nào khác gởi
dữ liệu và kênh đã đăng ký Khi một client gởi dữ liệu tới kênh đó, gọi
là "publish"
QoS:
- Ở đay co 3 tuỳ chọn QoS (Qualities of service) khi "publish" va "subscribe":
• QoS0 Broker/Client sẽ gởi dữ liệu đúng 1 lần, quá trình gởi được xác nhận
bởi chỉ giao thức TCP/IP, giống kiểu đem con bỏ chợ
• QoS1 Broker/Client sẽ gởi dữ liệu với ít nhất 1 lần xác nhận từ đầu kia, nghĩa
là có thể có nhiều hơn 1 lần xác nhận đã nhận được dữ liệu
• QoS2 Broker/Client đảm bảm khi gởi dữ liệu thì phía nhận chỉ nhận được
đúng 1 lần, quá trình này phải trải qua 4 bước bắt tay
Một gởi tin có thể được gởi ở bất kỳ QoS nào, và các Client cũng có thể subscribe với bất kỳ yêu cầu QoS nào Có nghĩa là Client sẽ lựa chọn QoS tối đa mà nó có để nhận tin Vi
dụ, nếu 1 gói dữ liệu được publish với QoS2, và Client subscribe với QoS0, thì gói dữ liệu được nhận về Client nay sẽ được broker gởi với QoS0, và 1 Client khác đăng ký cùng kênh này với QoS 2, thi nó sẽ được Broker gởi dữ liệu với QoS2
Một ví dụ khác, nếu 1 Client subscribe với QoS2 và gởi dữ liệu gởi vào kênh đó publish với QoS0 thì Client đo sẽ được Broker gởi dữ liệu với QoS0 QoS càng cao thi càng đáng tin cậy, đồng thời độ trễ và băng thông đoi hỏi cũng cao hơn
ESP8266 MQTT CLIENT:
Thực tế có khá nhiều thư viện MQTT cho ESP8266 trên Arudino, ở đây chúng ta chỉ
đề cập đến thư viện Cayenne-MQTT-ESP-master
Trang 24Tóm tắt về “myDevices”: myDevices là một công ty giải pháp Internet of Things
chuyển đẩy nhanh quá trình phát triển các dự án về IoT dễ dàng thiết kế, thử nghiệm Trong
đó Cayene là công cụ xây dựng dự án IoT Cayenne cho phép các kỹ sư, nhà sản xuất, nhà điều hành mạng phát triển và triển khai nhanh chóng và dễ dàng các giải pháp IoT trên nhiều loại ngành khác nhau bằng các phương tiện truyền thông khác nhau như Wifi, Enthernet,Lora…
3.4 Giao diện trên myDevices.com:
Hình 3.2: Giao diện myDevices.com
Đây là giao diện khi vào web ta bắt đầu đăng ký và đăng nhập tài khoản:
Hình 3.3: Giao diện bắt đầu đăng nhập tài khoản
Trang 25Sau khi đăng nhập tài khoản ta sẽ vào phần dashboard để thiết kế các Project:
char Cayenneusername[] = "e37f6420-8288-11e8-93c0-fdc45fb2189d";
char Cayennepassword[] = "a322866560bff49038129c870fc1717798aa6a60"; char CayenneclientID[] = "eb01ffa0-8288-11e8-890a-c1153a0b021e";
Trang 26void loop()
{
Cayenne.loop();
float Temp = dht2.readTemperature(); /// Do C (Celsius)////
// float Temp = dht.readTemperature(true);/// Do F (Fahrenheit)///
float Hum = dht2.readHumidity();
Cayenne.virtualWrite(5,Temp,TYPE_TEMPERATURE,UNIT_CELSIUS);
Cayenne.virtualWrite(6,Hum,TYPE_RELATIVE_HUMIDITY,UNIT_PERCENT); // Cayenne.virtualWrite(3,analogRead(SensorMQ5));
Điều khiển 1 trong 4 thiết bị có trên là đèn D0 Có sẳn trên KIT NodeMCU:
Chọn Kênh có tên là ThietBi
Hình 3.5: Chọn kênh có tên ThietBi