1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế và thi công mô hình nhà thông minh

88 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 88
Dung lượng 2,18 MB

Nội dung

TĨM TẮT “Thiết kế v thi cơng mơ hình nh thơng minh” l hệ thống bao gồm có sáu khối chính: khối nguồn, khối server, khối giao tiếp wifi, khối điều khiển, khối cảm biến, khối ngƣời dùng Các khối đƣợc liên kết th nh hệ thống mạng, để điều khiển thiết bị nh qua mạng Internet với giao diện web chạy phiên hệ điều h nh Tiện ích có đƣợc từ hệ thống l điều khiển nh từ xa, giao diện điều khiển thân thiện với ngƣời dùng Khối sever đóng vai trò lƣu trữ giao diện điều khiển v sở liệu nhƣ máy tính Khối ngƣời dùng kết nối v truy cập v o khối server, tải giao diện v lệnh điều khiển thiết bị Khối giao tiếp wifi gửi yêu cầu v nhận liệu từ sở liệu khối server, sau xử lý liệu truyền qua cho khối điều khiển Khối điều khiển nhận liệu từ khối giao tiếp wifi v khối cảm biến lệnh bật/tắt thiết bị Riêng khối nguồn đóng vai trị vô quan trọng l cung cấp lƣợng cho năm khối lại hoạt động, thực nhiệm vụ khối v ABSTRACT Project "Design and construction of model smart home" is a system, which includes five core block: power, servers block, sensors block, control equipment module, security alarm block The blocks are linked into a network, to control devices in the home through the internet with web interface runs on all versions of the OS Utilities have been from the control system, managing your home remotely, console user friendly Block Storage Server role Web interface and database as a PC Sensor function block is read sensors and send the value read on the block Server Then block Server sends signals to block off or turn on a fan control device to adjust the appropriate environment for the house Security alarm block manipulate working principles of light sensors, as there is an obstruction between the transmitter and led revenue led the alarm will be enabled sounded Private sector role source is extremely important, as the power supply for operating four remaining blocks, performing the tasks of each block vi MỤC LỤC Nhiệm vụ đồ án tốt nghiệp i Phiếu nhận xét giáo viên hƣớng dẫn ii Phiếu nhận xét giáo viên phản biện iii Lời cảm ơn iv Mục lục vii Danh mục bảng xi Chƣơng 1: TỔNG QUAN 1.1 Giới thiệu tình hình nghiên cứu 1.2 Tính cấp thiết đề t i .1 1.3 Mục tiêu nghiên cứu 1.4 Nhiệm vụ nghiên cứu 1.5 Đối tƣợng v phạm vi nghiên cứu .2 1.6 Phƣơng pháp nghiên cứu 1.7 Bố cục đồ án Chƣơng 2: CƠ SỞ LÝ THUYẾT 2.1 Kit Raspberry Pi 2.1.1 Kit Raspberry Pi B+ 2.1.2 Web Server .11 2.1.3 SQL Server .12 2.2 Module Wifi ESP8266 12 2.2.1 Đặc điểm 13 2.2.2 Dòng module 13 vii 2.2.3 Chức chân 15 2.2.4 Firmware AT commands 17 2.2.5 Phần mềm ESPlorer 20 2.2.6 Ứng dụng 21 2.3 Module Arduino 22 2.3.1 Giới thiệu Arduino Uno R3 22 2.3.2 Sơ đồ chân Arduino Uno R3 24 2.3.3 Các chuẩn giao tiếp Arduino Uno R3 .26 2.3.4 Giới thiệu phần mềm Arduino IDE 27 2.4 Cảm biến 29 2.4.1 DHT 11 .29 2.4.2 Quang trở 33 2.5 Opto triac 33 2.5.1 Opto 33 2.5.2 Triac 35 2.6 Mạng Wifi v Internet .36 2.6.1 Mạng Wifi .36 2.6.2 Internet 37 2.7 PHP & SQL .37 2.7.1 PHP 37 2.7.2 SQL 40 Chƣơng 3: THIẾT KẾ HỆ THỐNG 41 3.1 Mơ hình hệ thống .41 3.2 Tính tốn, thiết kế phần cứng hệ thống 41 viii 3.2.1 Sơ đồ khối 42 3.2.2 Sơ đồ mạch nguyên lý 42 3.2.3 Tính tốn thiết kế v chọn linh kiện 44 3.2.4 Chất liệu l m mơ hình 50 3.3 Thiết kế phần mềm 50 3.3.1 Lƣu đồ giải thuật .50 3.3.2 C i đặt Web Server v SQL Server Raspberry Pi .54 3.3.3 Kết nối Wifi v Internet 58 3.3.4 Thiết kế giao diện ngƣời dùng 59 Chƣơng 4: KẾT QUẢ - SO SÁNH - THỰC NGHIỆM 61 4.1 Kết .61 4.2 So sánh .61 4.3 Thực nghiệm 61 Chƣơng 5: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 63 5.1 Kết luận 63 5.2 Hƣớng phát triển 63 TÀI LIỆU THAM KHẢO 65 PHỤ LỤC 1: CÀI HỆ ĐIỀU HÀNH CHO RASPBERRY PI 67 PHỤ LỤC 2: CẤU HÌNH CƠ BẢN CHO RASPBERRY PI 68 PHỤ LỤC : CHƢƠNG TRÌNH 73 ix DANH MỤC CÁC TỪ VIẾT TẮT GVHD: Giảng viên hƣớng dẫn TP HCM: Th nh phố Hồ Chí Minh RPiB: Raspberry Pi B PHP: Hypertext Preprocessor HTML: HyperText Markup Language SQL: Structured Query Language SPI: Serial Peripheral Interface CSDL: Cơ sở liệu x DANH MỤC BẢNG Bảng 2.1 Các lệnh AT 14 xi DANH MỤC BIỂU ĐỒ VÀ HÌNH Hình 2.1 Board Raspberry pi B+ Hình 2.2 Những thơng số Raspberry pi B Hình 2.3 Cấu hình RPi B+ Hình 2.4 Sơ đồ chân GPIO Board RPi B+ Hình 2.5 RPi B v thiết bị kết nối với 10 Hình 2.6 Giao diện hệ điều h nh Raspbian .11 Hình 2.7 Module ESP-01 14 Hình 2.8 Module ESP-03 14 Hình 2.9 Module ESP8266MOD 15 Hình 2.10 Module ESP-12 15 Hình 2.11 Sơ đồ chân ESP8266-01 16 Hình 2.12 Sơ đồ chân ESP8266-12 16 Hình 2.13 Mạch nạp USB – TTL 20 Hình 2.14 Giao diện l m việc ESPlorer 21 Hình 2.15 Ứng dụng ESP8266 22 Hình 2.16 Kit Arduino Uno R3 .22 Hình 2.17 Các linh kiện kit Arduino Uno R3 24 Hình 2.18 Sơ đồ chân Arduino Uno R3 24 Hình 2.19 Giao diện công cụ Arduino IDE 27 Hình 2.20 Mơ hình hoạt động chƣơng trình Arduino IDE 28 Hình 2.21 Kết nối cảm biến DHT11 .29 Hình 2.22 Gửi tín hiệu Start (DHT11) 30 xii Hình 2.23 Cách đọc Bit (DHT11) 31 Hình 2.24 Cách đọc Bit (DHT11) 32 Hình 2.25 Quang trở 33 Hình 2.26 Cấu tạo Opto điều khiển dịng xoay chiều .34 Hình 2.27 Triac BTA12 36 Hình 3.1 Sơ đồ khối 39 Hình 3.2 Sơ đồ nguyên lý số khối .41 Hình 3.3 Module nguồn xung 220VAC sang 24VDC 42 Hình 3.4 Module hạ áp 24V sang 5V 43 Hình 3.5 Module hạ áp 5V sang 3.3V 43 Hình 3.6 Các chƣơng trình cần c i Server .44 Hình 3.7 Kết nối cảm biến DHT11 với Arduino v ESP8266 45 Hình 3.8 Báo trộm quang trở 45 Hình 3.9 ESP-12 điều khiển đèn thông qua mạch cách ly .46 Hình 3.10 Mica suốt 47 Hình 3.11 Lƣu đồ giải thuật Server (Raspberry pi) 48 Hình 3.12 Lƣu đồ giải thuật module Wifi ESP8266 49 Hình 3.13 Lƣu đồ giải thuật Arduino 50 Hình 3.14 Cấu hình Port modem .56 Hình 3.15 Kiểm tra IP public cho Board Raspberry pi 56 Hình 3.16 Giao diện điều khiển thiết bị hệ thống 57 xiii Chƣơng 1: TỔNG QUAN 1.1 Giới thiệu tình hình nghiên cứu Với phát triển vƣợt bậc mặt, đời sống ngƣời khơng cịn gói gọn ăn no, mặc ấm m l ăn ngon mặc đẹp, thiết bị công nghệ, dịch vụ tiện nghi phục vụ mục đích sống Trong đó, trội l hệ thống cơng nghệ nhà thông minh Hệ thống nh thông minh l hệ thống kết nối thiết bị nh bạn th nh hệ thống mạng, để điều khiển chúng theo kịch ngƣời lập trình: hệ thống chiếu sáng, hệ thống môi trƣờng (cảm biến), hệ thống an ninh Và sản phẩm h ng đầu lĩnh vực n y phải kể đến: SmartHome BKAV, SmartThings Hub Smart Home Monitor SAMSUNG số sản phẩm doanh nghiệp khác 1.2 Tính cấp thiết củ ề tài Khi đa số hệ thống nh thông minh thị trƣờng viết ứng dụng quản lý cho thiết bị hệ điều h nh android v ios, nhƣng hạn chế phiên hệ điều h nh, nhóm thực đề tài thiết nghĩ nghiên cứu thiết kế giao diện quản lý chạy tất phiên hệ điều h nh, thiết bị cần truy cập Internet sử dụng đƣợc l điều cần thiết Đối với doanh nghiệp ng nh sản xuất, phân phối hệ thống nh thông minh đƣợc mở rộng đối tƣợng khách h ng Còn khách h ng sở hữu hệ thống tiết kiệm chi phí mua thiết bị phiên phù hợp chạy đƣợc ứng dụng phần mềm quản lý 1.3 Mục ti u nghi n cứu Mục tiêu đề t i l thiết kế hệ thống quản lý thiết bị điện tử nhà qua mạng Internet với giao diện web Hệ thống n y điều khiển thiết bị điện, đọc liệu từ cảm biến v báo động (chống trộm) TÀI LIỆU THAM KHẢO Tiếng Việt [1] Trần Đức Quang (Biên dịch & Chú giải)(2004), “THỰC HÀNH LẬP TRÌNH SQL”, Nh xuất ĐHQG, Tp HCM, Việt Nam [2] Nguyễn Xuân Nguyệt (Chủ biên) & Nguyễn Thế Hùng (2001), “ Thiết kế trang Web bắng ngôn ngữ HTML”, Nh xuất thống kê , Tp HCM, Việt Nam [3] Các trang web tham khảo : Bản demo led nhấp nháy với ESP8266 (Blink demo): http://esp8266.co.uk/recipes/blink-demo/ Cách nhận liệu từ Ras ngôn ngữ HTML: http://html.net/tutorials/asp/lesson19.asp Mã màu: https://www.google.com/design/spec/style/color.html#colorcolor-palette Các lệnh linux (command lines): http://semiconvn.com/home/hoc-thiet-ke-vi-mach/bai-hc-vi-mch/9141-caclenh-co-ban-trong-linux.html Tìm địa IP Raspberry pi: http://raspberrypi.vn/setupraspberrypi/tim-dia-chi-ip-cua-raspberry-pi-920.pi Hƣớng dẫn NAT port: http://camerahadong.net/huong-dan-nat-port-cameramodem-gpon-fptelecom/ Hƣớng dẫn sử dụng ngôn ngữ PHP Raspberry v i ví dụ điển hình: http://www.raspberry-pi-geek.com/Archive/2014/07/PHP-on-Raspberry-Pi ESP8266 đọc cảm biến nhiệt độ DHT11: https://github.com/ok1cdj/ESP8266-LUA/blob/master/ThermometerDHT11-Thingspeak/dht11.lua 65 Hƣớng dẫn đọc v ghi liệu ESP8266: http://afterhoursengineering.net/blog/blog/2015/04/11/esp8266-read-andwrite-data-to-a-database/ 10 Trang tra cứu code HTML: http://www.w3schools.com/tags/tag_p.asp 11 Thiết lập IP tĩnh cho Raspberry Pi: http://raspberrypi.vn/thu-thuatraspberry-pi/thiet-lap-dia-chi-ip-tinh-cho-raspberry-147.pi 12 Cấu hình v c i đặt PHP: http://www.qhonline.info/php-can-ban/13/bai-1-gioi-thieu cau-hinh-va-cai-dat-php.html 13 Các bƣớc đâu tiên tạo nên web Server Raspberry Pi: http://www.instructables.com/id/Raspberry-Pi-Web-Server-Nginx-PHPMySql/ 14 Các trang tìm hiểu MYSQL : http://www.tutorialspoint.com/mysql/mysql-php-syntax.htm http://php.net/manual/en/mysql.examples-basic.php 15 Ví dụ điển hình MyAdmin: http://demo.phpmyadmin.net/masterconfig/index.php?reload=1&lang=vi&collation_connection=utf8mb4_unicode_ ci&token=99e9295e571ebdce2a40f36adad187f3&phpMyAdmin=t980pinboi8ni 6baqijbsfb383ve2b5q 16 Arduino gửi liệu đến IoT Thingspeak : http://microcontrollerkits.blogspot.com/2015/05/arduino-esp8266-sensor-IoTThingspeak.html 66 PHỤ LỤC 1: CÀI HỆ ĐIỀU HÀNH CHO RASPBERRY PI Chuẩn bị - Một máy tính Windows ( win 7) - Thẻ nhớ SD có dung lƣợng lƣu trữ lớn 4GB - Phần mềm Format thẻ : SDFormatterv4 - File img hệ điều h nh: win32diskimager-v0.9-binary.zip Có thể tải theo đƣờng dẫn sau: http://downloads.raspberrypi.org/images/raspbian/2012-12-16wheezy-raspbian/2012-12-16-wheezy-raspbian.zip - Phần mềm Win32DiskImage: Ghi hệ diều h nh v o thẻ Có thể tải theo đƣờng dẫn sau: https://launchpad.net/win32-image-writer/+download Cài ặt - Bƣớc 1: Cho thẻ SD v o máy tính, dùng phần mềm SDFormatterv4 format thẻ - Bƣớc 2: Giải nén file 012-12-16-wheezy-raspbian.zip v thu đƣợc file có img - Bƣớc 3: Mở phần mềm Win32DiskImage trỏ tới file img bƣớc Nhấn Wirte để ghi v o thẻ Quá trình n y v i phút - Bƣớc 4: Cho thẻ v o kit Raspberry Pi, sau cấp nguồn cho 67 PHỤ LỤC 2: CẤU HÌNH CƠ BẢN CHO RASPBERRY PI C c thiết lập Thiết lập cho lần khởi ộng ầu ti n Kết nối kit với m n hình HDMI , b n phím Ở lần khởi động đầu tiên, m n hình Raspi-config đƣợc hiển thị + info: cung cấp thông tin công cụ config n y + expand_rootfs: Giúp mở rộng nhớ thẻ, c i hệ điều h nh, nhớ thẻ hiển thị khoảng 500MB, muốn sử dụng hết phần lại cần chọn đến mục n y sau nhấn OK + Overscan: Chức tự chỉnh m n hình hiển thị, cắm v o m n hình có độ phân giải khác Raspberry tự động chỉnh cho phù hợp + configure_keyboard: Chọn b n phím + change_pass: Thay đổi mật cho cho raspberry pi + change_locale: Thiết lập ngôn ngữ v ký tự + change_timezone: thiết lập múi + memory_split: nhớ Raspberry Pi đƣợc chia sẻ cho CPU v GPU Một số chƣơng trình địi hỏi nhớ cho GPU cao hơn, ví dụ nhƣ Game, tuỳ chọn n y giúp phân chia lại nhớ cho CPU v GPU + Overclock: Tuỳ chọn cho phép ép xung cho kit + Ssh: Tuỳ chọn bật tắc tính cho phép điều khiển kit thơng qua ssh + boot_behaviour: thiết lập cho phép v o giao diện đồ hoạ cho lần khởi động sau + update: Nâng cấp phiên hệ điều h nh, để dùng đƣợc thiết lập n y, kit cần có kết nối Internet 68 Kết thúc thiết lập nhấn Finish, kit khởi động lại, nhập tên đăng nhập v mật khẩu, gõ lệnh startx để v o giao diện dồ hoạ b Cấu hình mạng l n kết nối Internet - Kết nối kit với m n hình HDMI , b n phím v chuột Gõ lệnh startx để v o giao diện đồ hoạ - Bật chƣơng trình LXTerminal lên gõ lệnh sau để sửa nội dung file interfaces: sudo nano /etc/network/interfaces - Sau sửa nhấn Ctrl+ X => Nhấn Y để lƣu - Sửa lại nội dung file n y nhƣ sau: 69 Hình PL2.1 Nội dung file interfaces - Sửa tiếp nội dung file wpa_supplicant.conf - Dùng lệnh sau để sửa file:  sudo nano /etc/wpa_supplicant/wpa_supplicant.conf - Sau sửa nhấn Ctrl+ X => Nhấn Y để lƣu - Nội dung file cần sửa lại nhƣ sau: 70 Hình PL2.2 Nội dung file wpa_supplicant.conf c Thiết lập ssh ể iều khiển kit thông qu m y tính Trƣớc hết phải enable ssh file config (nhƣ trên) Trong kit cần c i thêm phần mềm: sudo apt-get install xrdp Trong windows bật tính remote desktop: nhấp phải v o Computer => Properties => Remote setting => tít chọn Allow remote Assistance connections to this computer Nếu windows khơng cho cấu hình IP tĩnh khắc phục nhƣ sau:  Nhấn v o nút Star t => cmd => chuột phải chọn Run as Administrator  Netsh winsock reset catalog  Netsh int ipv4 reset reset.log  Netsh int ipv4 reset reset.log 71  Khởi động lại máy tính Khởi động lại kit báo lỗi: “WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!” Kít khắc phục nhƣ sau:  Cắm m n hình, chuột, b n phím v o kit  Mở tiếp LXTerminal gõ lệnh sau:  ssh-keygen –R pi (pi l tên ngƣời dùng)  ssh-keygen –R 192.168.1.230 (192.168.1.230 l IP lúc thiết lập l m IP tĩnh) d Cài ặt thƣ viện GPIO  Có thể dùng ssh kết nối với kit l m trực tiếp kit  Mở LXTerminal lênh gõ lệnh sau:  sudo apt-get install python-rpi.gpio  sudo easy_install -U RPIO e Cài ặt modul sql cho Python Tƣơng tự nhƣ c i thƣ viện GIPO, nhƣng gõ lệnh sau: sudo apt-get install python-mysqldb 72 PHỤ LỤC : CHƢƠNG TRÌNH  Gi o diện iều khiển ƣợc thiết kế PHP HTML NTM DO AN TOT NGHIEP MO HINH NGOI NHA THONG MINH

Den

Den

Quat

Alarm

ON 73 OFF

ON OFF

ON OFF

ON OFF

 Mã nguồn chƣơng trình truyền nhận liệu tr n ESP8266 Cai dat ket noi mang LAN wifi.setmode(wifi.STATION) wifi.sta.config("NHA_THONG_MINH","12345678") print(wifi.sta.getip()) function getData(TB) 74 conn=net.createConnection(net.TCP,false); conn:on("receive", function(conn, payload) var = string.find(payload,"DK:"); s = string.sub(payload,var+4,var+6); print(TB "_" s); if((TB "_" s)=="DEN1_OFF") then print("1"); elseif((TB "_" s)=="DEN2_OFF") then print("2"); elseif((TB "_" s)=="QUAT_OFF") then print("3"); elseif((TB "_" s)=="ALARM_OFF") then print("4"); elseif((TB "_" s)=="DEN1_ON_") then print("5"); elseif((TB "_" s)=="DEN2_ON_") then print("6"); elseif((TB "_" s)=="QUAT_ON_") then print("7"); elseif((TB "_" s)=="ALARM_ON_") then print("8"); end end) conn:connect(80,"192.168.1.100") conn:send("GET /getdata.php?TEN=" TB " HTTP/1.1\r\nHost: 192.168.1.100\r\n" "Connection: close\nAccept: */*\r\n\r\n") end tmr.alarm(0, 900, 1, function() getData("DEN1"); getData("DEN2"); getData("QUAT"); getData("ALARM") end)  Mã nguồn chƣơng trình iều khiển thiết bị tr n Arduino #include #define DHT11_PIN 75 #define DEN #define ALARM #define LED #define DEBUG true SoftwareSerial esp8266(2,3);// This means that you need to connect the TX line from the esp to the Arduino's pin // and void setup() { Serial.begin(9600); esp8266.begin(9600); pinMode(DHT11_PIN,INPUT); digitalRead(DHT11_PIN); pinMode(DEN,OUTPUT); digitalWrite(DEN,0); pinMode(ALARM,OUTPUT); digitalWrite(ALARM,1); pinMode(LED,OUTPUT); digitalWrite(LED,1); } void loop() { //sendData("getData(\"DEN1\")\n",2000,DEBUG); 76 if (esp8266.available()) switch (esp8266.read()) { case '1': Serial.print("1\n"); digitalWrite(DEN,0); break; case '2': Serial.print("2\n"); digitalWrite(LED,1); break; case '3': Serial.print("3\n"); break; case '4': Serial.print("4\n"); digitalWrite(ALARM,1); break; case '5': Serial.print("5\n"); digitalWrite(DEN,1); break; case '6': 77 Serial.print("6\n"); digitalWrite(LED,0); break; case '7': Serial.print("7\n"); break; case '8': Serial.print("8\n"); digitalWrite(ALARM,0); break; }; } String sendData(String command, const int timeout, boolean debug) { String response = ""; esp8266.print(command); // send the read character to the esp8266 long int time = millis(); while( (time+timeout) > millis()) { while(esp8266.available()) { // The esp has data so display its output to the serial window char c = esp8266.read(); // read the next character 78 response+=c; } } if(debug) { Serial.print(response); } return response; } 79 ... l ăn ngon mặc đẹp, thi? ??t bị công nghệ, dịch vụ tiện nghi phục vụ mục đích sống Trong đó, trội l hệ thống công nghệ nhà thông minh Hệ thống nh thông minh l hệ thống kết nối thi? ??t bị nh bạn th... VÀ HÌNH Hình 2.1 Board Raspberry pi B+ Hình 2.2 Những thông số Raspberry pi B Hình 2.3 Cấu hình RPi B+ Hình 2.4 Sơ đồ chân GPIO Board RPi B+ Hình 2.5 RPi B v thi? ??t. .. đồ chi tiết khối sơ đồ khối tổng quát  Thi? ??t kê phần cứng hệ thống: dựa yêu cầu đặt v sơ đồ, nhóm thi? ??t kế phần cứng hệ thống, tính tốn thi? ??t kế  Thi? ??t kế phần mềm hệ thống: nhƣ phần trên, nhóm

Ngày đăng: 31/10/2022, 17:15

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w