Thiết kế nút mạng cảm biến kết nối internet ứng dụng trong ngôi nhà thông minh

67 449 1
Thiết kế nút mạng cảm biến kết nối internet ứng dụng trong ngôi nhà thông minh

Đ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

MỤC LỤC MỤC LỤC LỜI NÓI ĐẦU .5 CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Tổng quan Arduino 1.1.1.Giới thiệu chung Arduino 1.1.2.Cấu trúc phần cứng 1.1.3.Lập trình Arduino 10 1.1.4.Ứng dụng Arduino 18 1.2 Tổng quan Xbee 802.15.4 21 1.2.1 Giới thiệu Xbee 802.15.4 21 1.2.2 Truyền thông Xbee 22 1.3 Kết nối internet .27 1.3.1 Webserver .27 1.3.2.Kết nối Arduino với Internet 33 CHƯƠNG .41 THIẾT KẾ HỆ THỐNG 41 2.1 Phân tích hệ thống .41 2.1.1 Tìm hiểu ngơi nhà thông minh 41 2.1.2 Yêu cầu giải vấn đề 44 2.2 Thiết kế phần cứng .45 2.2.1 Mô hình hệ thống 45 2.2.2 Sơ đồ khối nút cảm biến kết nối internet 46 2.2.2 Sơ đồ nguyên lý nút cảm biến kết nối internet 46 2.3 Thiết kế phần mềm .48 2.3.1 Lưu đồ xử lý liệu webserver 48 2.3.2 Thiết kế sở liệu .49 2.3.3 Lưu đồ thuật toán nút kết nối internet 50 CHƯƠNG 53 KẾT QUẢ ĐẠT ĐƯỢC 53 3.1 Sản phẩm 53 3.1.1 Sản phầm đồ án .53 3.1.2 Hướng dẫn sử dụng sản phẩm .55 3.1.3 Xây dựng testbed truyền thông 56 3.2 KẾT LUẬN 59 TÀI LIỆU THAM KHẢO 60 MỤC LỤC HÌNH ẢNH Hình1.1 Board Arduino Uno Hình 1.2 Hình mặt Arduino Uno Hình 1.3 Sơ đồ nguyên lý Arduino .9 Hình 1.4 Link download phần mềm Arduino 11 Hình 1.5 Hình ảnh bật giao diện arduino 11 Hình 1.6 Giao diện lập trình Arduino .11 Hình 1.7 Sử dụng giao diện lập trình 12 Hình 1.8 Ví dụ có sẵn Arduino .13 Hình 1.9 Ví dụ điều khiển led 14 Hình 1.10 Gửi liệu cổng truyền thơng nối tiếp .15 Hình 1.11 Kết truyền thơng máy tính 16 Hình 1.12 Kết nối cảm biến PIR với Arduino 16 Hình 1.13 Đo nhiệt độ bằng cảm biến nhiệt LM35 17 Hình 1.14 Máy in 3D 18 Hình 1.15 Robot 19 Hình 1.16 Máy bay không người lái 19 Hình 1.17 Lập tình game tương tác 20 Hình 1.18 Điều khiển hiệu ứng ánh sáng 20 Hình 1.19 Hình ảnh Xbee 802.15.4 21 Hình 1.20 Hoạt động truyền thơng RF .23 Hình 1.21 Khung truyền UART .23 Hình 1.22 Cấu trúc khung API chế độ 24 Hình 1.23 Khung API chế độ .24 Hình 1.24 Cấu trúc cụ thể khung API 25 Hình 1.25 API truyền 64 bít địa 25 Hình 1.26 API truyền 16 bít địa 26 Hình 1.27 Khung trạng thái truyền 26 Hình 1.28 Khung nhận 64 bít địa .27 Hình 1.29 Khung nhận 16 bít địa .27 Hình 1.30 Mơ hình client-server .29 Hình 1.31 Quá trình truyền nhận client-server 30 Hình 1.32 Xử lý web tĩnh đơn giản 30 Hình 1.33 Hình ảnh Sheidl arduino ethenet .33 Hình 1.34 Các chân Arduino Uno kết nối shield internet 33 Hình 1.35 Arduino Mega với chân kết nối internet 34 Hình 2.1 Ngơi nhà thơng minh 41 Hình 2.2 Mơ hình hệ thống .45 Hình 2.3 Sơ đồ khối nút cảm biến .46 Hình 2.4 Mạch nguyên lý Xbee 47 Hình 2.5 Mạch nguyên lý Arduino 47 Hình 2.6 Lưu đồ thuật tốn xử lý liệu web 48 Hình 2.7 Bảng CSDL User .49 Hình 2.8 Bảng CSDL quản trị thiết bị 49 Hình 2.9 Lưu đồ thuật tốn kết nối server 50 Hình 2.10 Lưu đồ đọc liệu từ Server 51 Hình 2.11 Lưu đồ thuật tốn xử lý thiết bị .52 Hình 3.1 Nút cảm biết kết nối internet 53 Hình 3.2 Tổng quan hệ thống chưa ghép nối .54 Hình 3.3 Giao diện quản lý thiết bị Webside 54 Hình 3.4 Nút Sink .56 Hình 3.5 Nút cấu chấp hành 57 Hình 3.6 Nút thu thập liệu 57 Hình 3.7 Cảm biến chuyển động .58 Hình 3.8 Kết hiển thị giao diện 59 LỜI NÓI ĐẦU Ngày khoa học kĩ thuật phát triển mạnh mẽ ứng dụng tất lĩnh vực sống Việc ứng dụng khoa học kỹ thuật để tăng suất lao động, tiết kiệm chi phí, lượng đáp ứng yêu cầu ngày cao người cần thiết Hiện có nhiều ứng dụng ứng dụng mang tính thực tiễn cao kiểu Ngôi nhà thông minh, ổn định nhiệt độ trang trại…Vì em chọn đề tài cho Đồ án tốt nghiệp em “Thiết kế nút mạng cảm biến kết nối internet ứng dụng nhà thông minh”, đề tài gồm chương: Chương 1: Cơ sở lý thuyết Chương : Thiết kế hệ thống Chương : Kết đạt Mặc dù có nhiều cố gắng q trình thực Đồ án khơng tránh khỏi thiếu sót Rất mong góp ý, đóng góp thầy bạn để đồ án áp dụng rộng rãi vào thực tế cách thiết thực Thái Nguyên ngày 30 tháng năm 2013 Sinh Viên thực Bùi Duy Tiến CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Tổng quan Arduino 1.1.1 Giới thiệu chung Arduino Môi trường Arduino thiết kế đơn giản cho người bắt đầu sử dụng Không phải phần mềm hay thiết bị điện tử thực nghiệm, với Arduino bạn xây dựng dự án đáp ứng yêu cầu điều khiển ánh sáng, âm thanh, chuyển động cách thông minh tự động… Arduino sử dụng để tạo ta nhiều thứ tuyệt vời nhạc cụ, robot, điêu khắc ánh sáng, trò chơi, đồ nội thất tương tác chí quần áo thơng minh có khả tương tác với thể Arduino sử dụng nhiều chương trình giáo dục toàn giới, đặc biệt nhà thiết kế nghệ sĩ người muốn tạo độc đáo mà không cần am hiểu sâu vấn đề kỹ thuật Bởi Arduino thiết kế sử dụng cho người khơng am hiểu kỹ thuật, phần mềm Arduino có nhiều ví dụ cung cấp nhà phát triển nên dễ dàng để tiếp cận sử dụng Mặc dù dễ dàng sử dụng Arduino có phần cứng thiết kế tinh tế nên kỹ sư dễ dàng nhúng vào ứng dụng nhúng Những người sử dụng phát triển ứng dụng nhúng vi điều khiển bị thu hút Arduino khả phần cứng tốt và phần mềm tiện dụng dễ dàng cho việc giải ý tưởng Arduino biết đến nhiều phần cứng nó, phải có phần mềm để lập trình phần cứng Cả phần cứng phần mềm gọi chung “Arduino’’ Sự kết hợp cho phép bạn tạo dự án có ý nghĩa kiểm sốt giới vật chất Các phần mềm tự do, mã nguồn mở thông qua tảng Các board bạn mua với giá rẻ bạn tự thiết kế với mã nguồn schematic mở Ngồi ra, có số hoạt động liên quan tới Arduino giải đáp diễn đàn Arduino toàn giới Wikimedia gọi chung sân chơi Arduino Phần mềm Arduino: gọi sketches, tạo máy tính có tích hợp mơi trường phát triển(IDE) IDE cho phép bạn viết, chỉnh sửa code chuyển đổi cho phần cứng hiểu IDE dùng để biên dịch nạp vào Arduino ( trình sử lý gọi UPLOAD) Phần cứng Arduino: board Arduino nơi thực thi chương trình lập trình Các board điều khiển đáp trả tín hiệu điện, thành phần ghép trực tiếp vào để tương tác với giới thực để cảm nhận truyền thơng Ví dụ cảm biến bao gồm thiết bị chuyển mạch, cảm biến siêu âm, gia tốc Các thiết bị truyền động bao gồm đèn , motor, loa thiết bị hiển thị Hầu hết board Arduino sử dụng kết nối kiểu USB dùng để cấp nguồn upload liệu cho board Arduino Hình1.1 Board Arduino Uno Arduino Uno sử dụng vi điều khiển board để xử lý tất kết nối USB Chíp dán nhỏ (ATmega8U2) nằm gần cổng cắm dây kết nối kiểu USB Cho phép nạp chương trình quản lý thiết bị USB khác cắm vào Chíp ATMega328 chứa chương trình nạp để thực thi chương trình lập trình Trên hầu hết board Arduino sử dụng chip FTDI cung cấp giải pháp cho vấn đề kết nối với cổng nối tiếp máy tính Ngồi Arduino Uno nhà sản xuất cung cấp nhiều board khác như: Arduino Fio, Arduino Nano, Arduino Mega 2560 Với tùy vào ứng dụng chọn loại board nhỏ board hỗ trợ nhiều chân TX RX Arduino 2560 1.1.2 Cấu trúc phần cứng a Thông số kỹ thuật Hình 1.2 Hình mặt Arduino Uno Trên board có cổng USB connector để cắm vào máy tính, đèn báo nguồn màu xanh Có cơng tắc Reset, pin giao tiếp, LED chân 13 led báo truyền nhận nối tiếp Ngồi cịn có cổng đọc tín hiệu số tín hiệu tương tự chân chức PWM truyền nhận liệu nối tiếp Các chân giao tiếp I2C phục vụ giao tiếp hai dây SDA SCL, thơng số kỹ thuật Arduino: - Vi điều khiển ATMega328 Điện áp hoạt động 5V Đầu vào diện áp 7-12V Điện áp đầu vào tới hạn 6-20V Chân vào số 14 chân( có chân băm xung PWM) Chân đầu vào tương tự có chân Dịng DC vào chân 40mA Dòng đầu chân 3.3V 50mA Bộ nhớ Flash 32KB(ATMega328) 0.5KB sử dụng cho - bootloader SRAM 2KB(ATMega328) EEPROM 1KB(ATMega328) Tần số 16MHz Hình 1.3 Sơ đồ nguyên lý Arduino Trong mạch sử dụng chíp vi điều khiển ATMega328 ATMega16U2 với chức sau: ATMega16U2 kết nối với cổng USB chứa chương trình bootloader để nạp chương trình, ATMega 328 chứa chương trình lập trình để thực thi ứng dụng b Nguồn ni Arduino hỗ trợ thông qua kết nối USB với nguồn cung cấp điện bên Các nguồn lượng lựa chọn tự động, hệ thống vi điều khiển hoạt động nguồn cung cấp bên từ 6V đến 20V nên cung cấp lớn 7V Tuy nhiên thể cung cấp 5V hệ thống vi điều khiển khơng ổn định Nếu sử dụng nhiều 12V chuyển đổi điện áp nóng mạnh, phạm vi khuyến nghị 7V đến 12V  Chân Vin: Điện áp đầu vào Arduino dùng nguồn điện bên (khác với nguồn 5V lấy từ USB nguồn thơng qua jack cắm nguồn riêng) Chúng ta cung cấp nguồn thông qua chân  Chân 5V: Cung cấp nguồn vi điều khiển phận khác bo mạch cung cấp nguồn cho thiết bị ngoại vi kết nối tới bo mạch  Chân 3V3: Cung cấp nguồn cho thiết bị cảm biến  Chân GND : Chân nối đất c Chân giao tiếp đầu vào đầu Trong số 14 chân tín hiêu số cấu hình để làm chân nhận liệu vào từ thiết bị ngoại vi làm chân để truyền tín hiêu thiết bị ngoại vi Bằng cách sử dụng chức pinMode(), digitalWrite() digitalRead() hoạt động điện áp 5V Mỗi chân cung cấp nhận dòng điện tối đa 50mA có điện trở kéo nội (ngắt kết nối theo mặc định) 20-50 kOhms Ngồi có số chân có chức khác  Chân (Rx) : Chân dùng để nhận liệu nối tiếp  Chân (Tx) : Chân dùng để truyền liệu nối tiếp  Chân 3: Chân ngắt  Chân 3, 5, 6, 9, 10 11: Chân để điều chế độ rộng xung PWM  Chuẩn giao tiếp SPI: Sử dụng chân 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)  Chuẩn giao tiếp I2C: Sử dụng chân đầu vào tương tự A4 (SDA) A5 (SCL)  Chân Aref : Tham chiếu điện áp đầu vào analog 1.1.3 Lập trình Arduino a Giới thiệu mơi trường lập trình Để có mơi trường lập trình Arduino bước bạn phải có file.rar nhà sản xuất Arduino cung cấp download trang chủ theo link sau http://arduino.cc/en/Main/Software 10 CHƯƠNG KẾT QUẢ ĐẠT ĐƯỢC 3.1 Sản phẩm 3.1.1 Sản phầm đồ án Trong sản phẩm đồ án em có sản phầm phần cứng sản phầm phần mềm: Hình 3.1 Nút cảm biết kết nối internet Nút cảm biến kết nối internet cắm shield xbee để thu thập liệu truyền lên server 53 Hình 3.2 Tổng quan hệ thống chưa ghép nối Trong hệ thống nút cảm biến kết nối internet cịn có nút thu thập nhiệt độ, nút cấu chấp hành với Relay từ Hình 3.3 Giao diện quản lý thiết bị Webside 54 Hình giao diện quản lý thiết bị webserver, với nút ứng với phịng Các phịng có chức cảm biến chuyển động, nhiệt độ, độ ẩm, ánh sáng Và hai chức điều khiển quạt đèn 3.1.2 Hướng dẫn sử dụng sản phẩm Hướng dẫn quản lý điều khiển WEB Biểu tượng Ý nghĩa Hiển thị giá trị đọc từ cảm biến ánh sáng, nút khác khác Hiển thị trạng thái cảm biến chuyển động Có người đỏ khơng có người màu xanh Hiển thị giá trị nhiệt độ thu thập từ cảm biến nhiệt độ Hiển thị giá trị độ ẩm thu thập Điều khiển thiết bị, có thiết bị Hiển thị giá trị cảm biến Gas dòng điện 55 3.1.3 Xây dựng testbed truyền thông a Các bước chuẩn bị: - Bước 1: Cấu hình cho Xbee phụ lục 1.1 - Bước : Chuẩn bị nút Hình 3.4 Nút Sink Đây nút thu thập liệu từ Xbee đồng thời kết nối tới internet 56 Hình 3.5 Nút cấu chấp hành Nút có chứa cảm biến nhiệt độ, độ ẩm, ánh sáng, chuyển động khí ga nối với Relay từ điều khiển thiết bị 220V Trong Testbed sử dụng nút cấu chấp hành Hình 3.6 Nút thu thập liệu Trong sử dụng nút, nút sử dụng Arduino Fio cảm biến nhiệt độ, cảm biến độ ẩm 57 Bước 3: Chuẩn bị nguồn 12V, dây kết nối internet PIN ( kèm theo) a Xây dựng kịch TEST Kịch test sau: Trong không gian phịng, bố trí đặt nút cho phù hợp, cảm biến nhiệt độ lắp vị trí cửa vào: Hình 3.7 Cảm biến chuyển động Cắm nguồn cho thiết bị, sau triển khai đặt vị trí nút Khởi động giao diện web kiểm tra kết 58 Hình 3.8 Kết hiển thị giao diện Trên giao diện điều khiển xem liệu từ nút gửi 3.2 KẾT LUẬN Điều khiển thiết bị qua mạng internet quan trọng, đâu, chỗ Nó tiền đề cách thức cho phép ta trao đổi 59 thông tin cách hiệu Các công nghệ điện tốn đám mây dần trở nên thơng dụng Vì xu hướng điều khiển thiết bị mạng internet tất yếu Tuy nhiên việc nghiên cứu đưa vào sử dụng vấn đề, chi phi sản xuất áp dụng giá thành cao cản trở điều Trong đồ án tốt nghiệp đại học em nghiên cứu phần giải vấn đề điều khiển thiết bị qua nút mạng kết nối internet Nhưng để phát triển hệ thống có hiệu suất cao cần server mạnh, thêm nhiều phần cứng tốt để đáp ứng nhanh yêu cầu thông minh đặt Hệ thống hồn tồn đáp ứng triển khai thực tế TÀI LIỆU THAM KHẢO [1] Arduino Cookbook written by Michael Margolis with Nick Weldin, Oreilly Publishing 2011 [2] System Architecture for Wireless Sensor Networks written David E Culler, University of California, Berkeley 60 [3] Mạng cảm biến không dây kiến trúc IP, Vũ Chiến Thắng, NXB KHKT [4] Arduino.cc [5] Googe.com.vn [6] digi.com PHỤ LỤC 1.1 Hướng dẫn cấu hình Xbee 1.1.1 Các bứớc chuẩn bị - Phần mềm X-CTU down http://www.digi.com/support/productdetail? pid=3352, để thực thiết lập cấu hình cho Xbee 802.15.4 61  Board XBIB-R-DEV REV.4 Board XBIB-U-DEV ReV R3: nạp Firmware cho Xbee 802.15.4 (Xbee thuờng)  Driver dây USB to COM HL-340 cho nạp XBIB-R-DEV REV.4 down http://www.mediafire.com/?kt389mvkn8111uk (Cách nạp qua dây USB to COM)  Driver cho nạp XBIB-U-DEV ReV R3 download http://www.digi.com/support/productdetail?pid=3352 1.1.2 Cấu hình thu phát cho Xbee Board XBIB-R-DEV REV.4( USB to COM) Buớc 1: Gắn Xbee vào Board Buớc 2: Cài đặt phần mềm X-CTU - Chạy X-CTU.exe 62 - Bấm Next chọn I Agree - Bấm Next chờ tới cài xong bấm Close - Kết nối Board vào máy tính dây USB to COM để cài đặt Drivers cho Board Máy tính yêu cầu cài drivers cho Board - Cài đặt Drivers cho Board XBIB-R-DEV REV.4 + Chạy file CH341SER.EXE + Nhấn Install để cài, hệ thống tự động cài drivers vào máy tính 63 +Kiểm tra cài đặt thành công Drivers Board vào máy tính Bước 3: Thực cấu hình thu phát Xbee thông qua phần mềm XCTU sau: - Khởi động phần mềm X-CTU hình: Trong Tab :  PC Setings : Thiết lập thông số cổng COM, tham khảo trang file Config xbee.pdf  Range Test : Để test khoảng cách truyền nhận module Xbee, tham khảo trang file Config xbee.pdf 64  Terminal : Giao diện để Test truyền thông, tham khảo trang file Config xbee.pdf  Modem Configuration: dùng để chọn thiết bị nạp cấu hình, tham khảo trang file Config xbee.pdf - Vào tab PC Setings chọn cổng kết nối, mặc định thơng số hình: - Chọn tab Modem Configuration đề chọn thiết bị cấu hình: - Chọn thiết bị XB24 mục Modem: XBEE Danh sách tham số cần cấu hình hình: - Chọn thơng số ID- PAN ID để xác định địa lớp mạng( nút có địa lớp mạng truyền thông với nhau) 65 - Chọn thông số DH DL để xác định phuơng thức truyền Point to Point, Point to MultiPoint  P-t-P: Từ nút truyền tới nút xác định có địa đựơc đặt DH DL  P-t-M: Nút truyền quảng bá tới nút xung quanh Giá trị đặt vào DH 0, DL FFFF  Chú ý: Để lấy địa node ta bấm Show Defaults -> Write>Read Địa node SH SL hình: - Thay đổi tốc độ truyền thông Module Xbee: Chọn Serial Interfacing/Interface Data Rate hình: - Sau thiết lập thơng số ta bấm Write để nạp thơng số vào Module Xbee hình: 66 Bước 4: Test truyền thơng Point to Multipoint - Cấu hình module Xbee có tốc độ ID PAN, địa kiểu P-tM(DH=0,DL=FFFF) - Mở tab Terminal, có chế độ hiển thị liệu truyền thông: Dạng Hex( Show Hex) ký tự (Hide Hex) hình: - Thực truyền liệu node(Testcase cho module Xbee) hình: 67

Ngày đăng: 07/07/2016, 08:41

Từ khóa liên quan

Tài liệu cùng người dùng

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

Tài liệu liên quan