Đồ án Thiết kế và thi công hệ thống báo cháy sử dụng công nghệ truyền thông LoRa (Phần 1)
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Thiết kế và thi công hệ thống báo cháy sử dụng công nghệ truyền thông LoRa (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
do_an_thiet_ke_va_thi_cong_he_thong_bao_chay_su_dung_cong_ng.pdf
Nội dung text: Đồ án Thiết kế và thi công hệ thống báo cháy sử dụng công nghệ truyền thông LoRa (Phần 1)
- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG THIẾT KẾ VÀ THI CÔNG HỆ THỐNG BÁO CHÁY SỬ DỤNG CÔNG NGHỆ TRUYỀN THÔNG LORA GVHD: ThS. TRƯƠNG NGỌC ANH SVTH: HUỲNH TRI ÂN MSSV: 11119107 S K L 0 0 4 4 9 5 Tp. Hồ Chí Minh, tháng 2 năm 2017
- TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO BỘ MÔN KỸ THUẬT ĐIỆN TỬ - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ VÀ THI CÔNG HỆ THỐNG BÁO CHÁY SỬ DỤNG CÔNG NGHỆ TRUYỀN THÔNG LORA SVTH: HUỲNH TRI ÂN MSSV: 11119107 Khóa: 2011 Ngành: CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG GVHD: ThS. TRƯƠNG NGỌC ANH TP. HỒ CHÍ MINH – 02/2017
- TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO BỘ MÔN KỸ THUẬT ĐIỆN TỬ - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ VÀ THI CÔNG HỆ THỐNG BÁO CHÁY SỬ DỤNG CÔNG NGHỆ TRUYỀN THÔNG LORA SVTH: HUỲNH TRI ÂN MSSV: 11119107 Khóa: 2011 Ngành: CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG GVHD: ThS. TRƯƠNG NGỌC ANH TP. HỒ CHÍ MINH – 2/2017
- PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1. Thông tin sinh viên - Họ và tên sinh viên : Huỳnh Tri Ân MSSV: 11119107 Email: trian448@gmail.com Điện thoại: 0938657448 - Họ và tên sinh viên : MSSV: Email: Điện thoại: 2. Thông tin đề tài - Tên của đề tài: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG BÁO CHÁY SỬ DỤNG CÔNG NGHỆ TRUYỀN THÔNG LORA. - Mục đích của đề tài: XÂY DỰNG HỆ THỐNG BÁO CHÁY, THIÊN TAI , CẢNH BÁO SỰ CỐ, TRUYỀN THÔNG Ở NHỮNG KHU VỰC RỘNG LỚN - Thời gian thực hiện: Từ ngày / 9/2016 đến /2 /2017 - Đồ án tốt nghiệp được thực hiện tại: Bộ môn Điện Tử Viễn Thông, Khoa Điện - Điện Tử, Trường Đại Học Sư Phạm Kỹ Thuật Tp. Hồ Chí Minh. 3. Các nhiệm vụ cụ thể của đề tài - Nhiệm vụ 1: Giao tiếp giữa các Client-Client-Server - Nhiệm vụ 2: Hiển thị thông tin trên Web và xuất ngõ ra báo động khi có sự cố 4. Lời cam đoan của sinh viên Tôi – Huỳnh Tri Ân cam đoan ĐATN là công trình nghiên cứu của bản thân tôi (chúng tôi) dưới sự hướng dẫn của thạc sỹ Trương Ngọc Anh. Kết quả công bố trong ĐATN là trung thực và không sao chép từ bất kỳ công trình nào khác. Tp.HCM, ngày tháng năm 201 SV thực hiện đồ án (Ký và ghi rõ họ tên) Huỳnh Tri Ân Giáo viên hướng dẫn xác nhận bản báo cáo đã hoàn thành việc chỉnh sửa theo đề nghị của Hội đồng đánh giá đồ án tốt nghiệp: Tp.HCM, ngày tháng năm 201 Xác nhận của Bộ Môn Giáo viên hướng dẫn (Ký, ghi rõ họ tên và học hàm - học vị)
- ` LỜI CẢM ƠN Trong thời gian làm đồ án tốt nghiệp, nhóm thực hiện đề tài đã nhận được nhiều sự giúp đỡ, đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô, gia đình và bạn bè. Nhóm thực hiện đề tài xin gửi lời cảm ơn đến toàn thể quý thầy cô trong trường Đại học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh, đặt biệt là quý thầy cô khoa Điện-Điện tử, những người đã trao dồi vốn kiến thức quý báo của mình cho nhóm thực hiện đề tài, giúp cho nhóm có được kiến thức cơ sở và chuyên môn vững vàng, cũng như tạo điều kiện giúp đỡ nhóm trong quá trình học tập. Nhóm thực hiện đề tài xin gửi lời cảm ơn chân thành đến thầy TRƯƠNG NGỌC ANH, người đã hướng dẫn tận tình, cung cấp tài liệu, giải pháp trong suốt quá trình nhóm thực hiện đề tài này. Nhóm thực hiện đề tài cũng xin cảm ơn các anh chị đi trước, những người bạn, người em, cũng như gia đình đã ủng hộ, giúp đỡ, động viên nhóm thực hiện đề tài. Đề tài này tuy đã hoàn thành nhưng cũng không tránh được những thiếu sót, nhóm thực hiện đề tài rất mong nhận được sự góp ý, phê bình, chỉ dẫn của quý thầy cô và các bạn. Người thực hiện đề tài Huỳnh Tri Ân. i
- ` MỤC LỤC DANH MỤC HÌNH V DANH MỤC BẢNG VIII CÁC TỪ VIẾT TẮT IX CHƯƠNG 1 GIỚI THIỆU 1 1.1 TỔNG QUAN VỀ CÔNG NGHỆ TRUYỀN THÔNG KHÔNG DÂY 1 1.2 PHẠM VI ÁP DỤNG 3 1.2.1 Internet of Things và thế giới 3 1.2.2 Mục tiêu đề tài 4 1.2.3 Nhiệm vụ đề tài 4 1.2.4 Bố cục đồ án 5 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 6 2.1 TỔNG QUAN VỀ CÔNG NGHỆ TRUYỀN THÔNG LORA 6 2.1.1 Giới thiệu công nghệ truyền thông RF LoRa(LoRa) 6 2.1.2 Giới thiệu module thu phát RF LoRa 7 2.1.3 Chế độ hoạt động của module LoRa. 8 2.1.4 Giới thiệu về chân AUX 10 2.1.5 Các chế độ truyền của LoRa 11 2.1.6 Giới thiệu về IC SX1278 được dùng trong module LoRa 15 2.2 GIỚI THIỆU VỀ ARDUINO 16 2.2.1 Arduino MEGA 2560 17 2.2.2 Arduino Nano 20 2.2.3 Arduino Ethernet Shield 20 ii
- ` 2.3 CÁC LOẠI CẢM BIẾN 21 2.3.1 Cảm biến nhiệt độ, độ ẩm DHT21 21 2.3.2 Cảm biến khí CO 24 2.4 MÀN HÌNH LCD 20X4 26 2.5 CÁC CHUẨN GIAO TIẾP ĐƯỢC SỬ DỤNG TRONG HỆ THỐNG 27 2.5.1 Chuẩn giao tiếp UART 27 2.5.2 Chuẩn giao tiếp SPI 29 2.6 PHẦN MỀM 30 2.6.1 Phần mềm lập trình 30 2.6.2 Phần mềm thiết kế mạch, mô phỏng 30 2.6.3 Phần mềm hỗ trợ giao tiếp. 31 CHƯƠNG 3 THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 33 3.1 PHÂN TÍCH HỆ THỐNG 33 3.1.1 Yêu cầu thiết kế 33 3.1.2 Sơ đồ khối của hệ thống 33 3.2 THIẾT KẾ PHẦN CỨNG 34 3.2.1 Khối cảnh báo ( client) 35 3.2.2 Trạm xử lý trung tâm (Server) 38 3.2.3 Nguồn cung cấp 43 3.3 PHẦN MỀM 43 CHƯƠNG 4 THI CÔNG VÀ KẾT QUẢ 46 4.1 THI CÔNG 46 4.1.1 Thi công trạm cảnh báo 46 4.1.2 Thi công trạm xử lý trung tâm 48 4.2 KẾT QUẢ 53 iii
- ` 4.2.1 Trạm cảnh báo 53 4.2.2 Trạm xử lý trung tâm 54 CHƯƠNG 5 KẾT QUẢ VÀ THỰC NGHIỆM 56 5.1 KẾT QUẢ 56 5.1.1 Những vấn đề nghiên cứu 56 5.1.2 Những vấn đề hoàn thành 56 5.2 THỰC NGHIỆM 56 5.2.1 Kiểm tra khoảng cách thực tế của module LoRa 56 5.2.2 Vận hành hệ thống thực tế 57 CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 59 6.1 KẾT LUẬN 59 6.1.1 Ưu điểm của đề tài 59 6.1.2 Hạn chế của đề tài. 59 6.1.3 Kết luận 59 6.2 HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 60 iv
- ` DANH MỤC HÌNH Hình 1.1: Nghe nhạc qua tai nghe Bluetooth 1 Hình 1.2: Truyền không dây qua Zigbee 2 Hình 1.3 Truyền NFC giữa 2 thiết bị di động 2 Hình 1.4: Các thiết bị kết nối qua Wifi 2 Hình 1.5: Mô hình mạng Lora 3 Hình 1.6: Hệ thống thu phát LoRaWan 4 Hình 2.1: Phạm vi ứng dụng của công nghệ truyền thông RF LoRa 6 Hình 2.2: Hình ảnh thực tế Module LoRa 7 Hình 2.3: Kích thước và số chân thực tế của LoRa 8 Hình 2.4: Mô tả hoạt động của chân AUX trong việc truyền dữ liệu 10 Hình 2.5: Mô tả hoạt động của chân AUX khi cấu hình 10 Hình 2.6: Chế độ truyền điểm-điểm 11 Hình 2.7: Chế độ truyền cố định 11 Hình 2.8: Chọn chế độ truyền Target để truyền 12 Hình 2.9: Cấu hình 2 module LoRa ở chế độ Target 13 Hình 2.10: Truyền dữ liệu theo chuỗi Hex 13 Hình 2.11: Truyền theo chuỗi được chuyển từ mã Hex theo bảng mã ASCII 13 Hình 2.12: Bảng mã ASCII 14 Hình 2.13:Mô tả hình thức truyền Broadcast 14 Hình 2.14:Chọn chế độ truyền trong Transmit Mode 15 Hình 2.15:Sơ đồ khối IC SX 1278 15 Hình 2.16:Số chân của IC SX 1278 16 Hình 2.17:Logo Arduino 16 Hình 2.18: Board Arduino Mega2560 17 Hình 2.19: Board Arduino Nano 20 Hình 2.20: Arduino Ethernet Shield và cách kết nối với Arduino 20 Hình 2.21: Sơ đồ khối của chip W5100 21 Hình 2.22: Một số loại cảm biến nhiệt độ LM35,DS18B20,DHT11 21 Hình 2.23: Hình ảnh thực tế của DHT 21 22 Hình 2.24: Sơ đồ kết nối DHT 21 với vi điều khiển(MCU) 23 Hình 2.25: DHT 21 truyền dữ liệu lên MCU 24 Hình 2.26: Ảnh thực tế của cảm biến MQ-7 24 Hình 2.27: Sơ đồ cấu tạo MQ-7 25 Hình 2.28: LCD 20x4 26 Hình 2.29: Mạch giao tiếp I2C 27 v
- ` Hình 2.30: Kết nối vi điều khiển với vi điều khiển 27 Hình 2.31:Kết nối giữa Vi điều khiển và máy tính 28 Hình 2.32:Cách thức truyền UART 28 Hình 2.33: Thông số cấu hình trong truyền nhận UART của LoRa 29 Hình 2.34: Sơ đồ chân giao tiếp SPI của Arduino Mega 29 Hình 2.35: Giao diện IDE để lập trình Arduino 30 Hình 2.36: Giới thiệu sơ lược về giao diện bằng phần mềm Proteus 31 Hình 2.37: Logo phần mềm Hercules 31 Hình 2.38: Giao diện giao tiếp Hercules qua cổng nối tiếp (Serial port ) 32 Hình 3.1: Sơ đồ khối của hệ thống 33 Hình 3.2: Sơ đồ khối của trạm cảnh báo 35 Hình 3.3: Vị trí chân DO của cảm biến và biến trở điều chỉnh ngưỡng ngõ ra 35 Hình 3.4: Sơ đồ khối của khối cảnh báo 36 Hình 3.5 : Sơ đồ nguyên lý của khối cảnh báo 37 Hình 3.6: Sơ đồ mạch in và 3D của khối cảnh báo 37 Hình 3.7: Khối cảnh báo sau khi thi công 38 Hình 3.8: Sơ đồ khối của khối xử lý trung tâm 39 Hình 3.9 : Lưu đồ thuật toán của trạm xử lý trung tâm 40 Hình 3.10: Sơ đồ nguyên lý khối Server 41 Hình 3.11: Sơ đồ mạch in và mô phỏng 3D của mạch 41 Hình 3.12: Trạm xử lý trung tâm sau khi thi công 42 Hình 3.13: Mạch hạ áp LM2596 43 Hình 3.14: Sơ đồ nguyên lý mạch hạ áp LM2596 43 Hình 3.15: Mạch chuyển đổi UART sang USB 43 Hình 3.16: Logo Phần mềm RF_Setting_EN_V2.7 44 Hình 3.17: Giao diện khi khởi động phần mềm 44 Hình 3.18 : Giao diện phần mềm cấu hình. 44 Hình 3.19: Gỡ 2 Jump kết nối để cấu hình LoRa 45 Hình 4.1. Kiểm tra hoạt động khối cảnh báo. 46 Hình 4.2: Khối cảnh báo hoàn chỉnh 47 Hình 4.3: Khối cảnh báo hoạt động 47 Hình 4.4: Mô phỏng đọc cảm biến và chuỗi dữ liệu sẽ truyền đi 48 Hình 4.5: Kiểm tra khối trung tâm hoạt động 49 Hình 4.6: Module để kết nối thành khối xử lý trung tâm 50 Hình 4.7: Đóng gói trạm xử lý trung tâm 50 Hình 4.8: Chạy thử hệ thống 51 Hình 4.9: Hệ thống chạy thử và hiển thị lên Web Sever 51 vi
- ` Hình 4.10: Kiểm tra hệ thống khi bị mất kết nối với các trạm 52 Hình 4.11: Kiểm tra sự chính xác của hệ thống 52 Hình 4.12: Giao diện bảng theo dõi trạng thái khi hoạt động mà chưa kết nối các trạm 53 Hình 4.13: Vận hành trạm cảnh báo 53 Hình 4.14: Khối xử lý trung tâm hoạt động 54 Hình 4.15: Giao diện WebServer 55 Hình 5.1: Khoảng cách thực tế khi truyền 57 Hình 5.2: Kiểm tra khoảng cách thực tế 57 vii
- ` DANH MỤC BẢNG Bảng 2.1: Mô tả chức năng các chân của module 8 Bảng 2.2 Các chế độ hoạt động của LoRa 8 Bảng 2.3 : Theo dõi dòng điện khi ở chế độ tiết kiệm pin của nhà sản xuất 9 Bảng 2.4: Các phiên bản của IC SX 1276/77/78/79 15 Bảng 2.5: Bảng thông số kỹ thuật của Board Arduino 19 Bảng 2.6 : Bảng danh sách các cảm biến dòng DHT 21 Bảng 2.7: Danh sách các cảm biến khí của Hanwei 25 viii
- ` CÁC TỪ VIẾT TẮT Từ viết tắt Tên đầy đủ LORA LONG RANGE IOT Internet of Things IC Integrated Circuit UART Universal Asynchronous Receiver/Transmitter SPI Serial Peripheral Interface TX Transmitter RX Receive MCU Microcontroller CSS Chirp Spread Spectrum I2C Inter-Integrated Circuit SCK Serial Clock MISO Master Input Slave Output MOSI Master Ouput Slave Input SS Slave Select IDE Intergrated Development Environment ix
- ` CHƯƠNG 1 GIỚI THIỆU 1.1 TỔNG QUAN VỀ CÔNG NGHỆ TRUYỀN THÔNG KHÔNG DÂY Dù cáp và dây điện vẫn đóng vai trò chính trong truyền và nhận thông tin, việc sử dụng tai nghe không dây, lướt web tại điểm truy cập Wi-Fi hoặc truyền dữ liệu giữa các thiết bị qua các giao tiếp không dây đang trở nên quen thuộc và tác động lớn đến đời sống hàng ngày. 1.1.1 Các công nghệ truyền không dây phổ biến a. Bluetooth Bluetooth không chỉ được dùng để truyền dữ liệu giữa các thiết bị di động, kết nối phụ kiện với điện thoại mà còn có trong một loạt thiết bị khác nhau như máy ảnh số, laptop, PC và đầu máy chơi game. Chip Bluetooth sử dụng tín hiệu sóng radio để truyền dữ liệu trong phạm vi hẹp, thường là khoảng 30 mét. Hình 1.1: Nghe nhạc qua tai nghe Bluetooth Bluetooth 2.0, phiên bản được tích hợp nhiều nhất trong các thiết bị hiện nay, có thể trao đổi những gói thông tin đòi hỏi băng thông thấp hoặc trung bình với tốc độ 3 Mb/giây. Công nghệ này sử dụng lượng điện năng tương đối thấp. b. Zigbee Zigbee cho phép truyền thông tin tới nhiều thiết bị cùng lúc (mesh network). Phạm vi hoạt động của Zigbee đang được cải tiến từ 75 mét lên đến vài trăm mét. 1
- ` Hình 1.2: Truyền không dây qua Zigbee Công nghệ này đòi hỏi năng lượng thấp hơn Bluetooth, nhưng tốc độ chỉ đạt 256 Kb/giây. Nó sẽ được ứng dụng trong hệ thống tự động tại các hộ gia đình như chiếu sáng và sưởi ấm. c. NFC Thiết bị NFC chỉ có thể truyền không dây vài kilobit dữ liệu trong phạm vi vài cm, do đó nó đảm bảo an toàn khi người sử dụng muốn trao đổi thông tin riêng tư, cần bảo mật. Hình 1.3 Truyền NFC giữa 2 thiết bị di động Các hãng sản xuất di động có vẻ hứng thú với công nghệ này và cho rằng điện thoại NFC sẽ được dùng để thanh toán hóa đơn khi người sử dụng uống cafe hay mua báo Nó cũng sẽ xuất hiện trong khóa điện tử, vé và các tài liệu du lịch. d. WiFi Hình 1.4: Các thiết bị kết nối qua Wifi 2
- ` Công nghệ kết nối Internet không dây này đã rất phổ biến trong gia đình, văn phòng, quán cafe và một số trung tâm thành phố lớn. Ngoài ra, Wi-Fi còn được dùng để nối những thiết bị gia dụng như TV, đầu DVD với máy tính. e. LORA Hình 1.5: Mô hình mạng Lora Công nghệ truyền không dây LoRa cũng tương tự như truyền Zigbee và cho phép giao tiếp với nhiều thiết bị cùng lúc với khoảng cách xa ( khoảng 3000m- 5000m) với tốc độ nhanh hơn những thiết bị thu phát RF khác. 1.2 PHẠM VI ÁP DỤNG 1.2.1 Internet of Things và thế giới LoRa™ là một kỹ thuật điều chế dựa trên kỹ thuật Spread-Spectrum và một biến thể của Chirp Spread Spectrum nó cho một khoảng cách xa hơn đáng kể cách kỹ thuật khác. Kỹ thuật không dây LoRa được phát triển bởi Cycleo SAS (sau này được mua lại bởi Semtech). 3
- ` Hình 1.6: Hệ thống thu phát LoRaWan Cách đây một vài năm mọi người đang nói về Internet of Things sẽ thay đổi thế giới .Nhưng tầm nhìn về việc kết nối hàng tỷ thiết bị có những thử thách nhất định. Các mạng không dây hiện tại như Bluetooth, Bluetooth Low Energy, WiFi và ZigBee đều không thích hợp cho những ứng dụng tầm xa. Mạng di động (cellular) càng không thể dùng để các giao tiếp từ xa machine-to-machine vì quá tốn năng lượng. Nhìn chung, tất cả các loại mạng đều rất đắt đỏ về phần cứng và dịch vụ. Điểm quan trọng của ứng dụng IoT yêu cầu chỉ truyền rất ít bit dữ liệu để theo dõi (monitor) các thiết bị tầm xa. Hệ thống mạng di động thì không phù hợp với vấn đề năng lượng pin và hiệu quả kinh tế khi gửi ít dữ liệu đi. Vì vậy, Low Power Wide Area Network (LPWAN) được đưa ra cho những ứng dụng này. LPWAN thích hợp cho việc gửi một lượng nhỏ dữ liệu với khoảng cách xa, trong khi thời lượng pin dài. 1.2.2 Mục tiêu đề tài - Xây dựng mô hình hệ thống báo cháy bao gồm: trung tâm điểu khiển, thiết bị ngoại vi, module cảm biến nhiệt, cảm biến khí gas được kết nối với nhau bằng mạng LoRa Xây dựng trang web hiển thị thông số cảm biến, - Xây dựng hệ thống báo cháy dùng LoRa với khoảng cách xa và thông báo tới người sử dụng - Phát triển ứng dụng cảnh báo trên điện thoại - Xây dựng hệ thống cảnh báo thiên tai cho khu vực rộng lớn, hẻo lánh như cảnh báo lũ tại các đầu nguồn các sông. Cảnh báo cháy ở những khu rừng lớn. 1.2.3 Nhiệm vụ đề tài Đề tài trình bày một mô hình mẫu hệ thống báo cháy với các cảm biến có sẵn trên thị trường với độ nhạy không cao. Thời gian chạy liên tục và dùng pin của hệ thống chỉ mang tính định tính dựa vào các số liệu có sẵn. 4
- ` Cấu hình của các module truyền nhận dữ liệu LoRa chỉ đươc tối ưu mang tính chất nghiên cứu. Đề tài tập trung nghiên cứu về các tính năng tiết kiệm của module LoRa và hệ thống để cảnh cáo cháy. Không tập trung nghiên cứu vào việc truyền qua mạng GSM. - Cấu hình mô-đun LoRa - Giao tiếp Mô-đun LoRa với vi điều khiển - Đọc cảm biến, so sánh chuỗi để xuất tín hiệu ngõ ra - Giao diện giao tiếp với người dùng - Làm mô hình thực tế 1.2.4 Bố cục đồ án Chương 1: Tổng quan Trong chương này giới thiêu chung về các công nghệ truyền không dây hiện nay và cơ sở lý thuyết để chọn công nghệ truyền thông RF LoRa. Từ đó đề ra mục tiêu nghiên cứu của đề tài. Chương 2: Cơ sở lý thuyết Trong chương này trình bày cơ sở lý thuyết của các phần cứng, phần mềm và các giao tiếp được sử dụng trong hệ thống. Chương 3: Thiết kế và xây dựng hệ thống Chương này nêu ra các yêu cầu về phần cứng và phần mềm từ đó hình thành sơ đồ khối của hệ thống. Thiết kế phần cứng: trình bày về các thiết kế mà nhóm đã thực hiện trên các phần cứng có sẵn hay phần cứng tự làm dựa theo sơ đồ khối hệ thống. Thiết kế phần mềm: trình bày về các lưu đồ giải thuật để giải quyết cách yêu cầu về phần mềm và cấu hình cho các module trong đề tài. Chương 4: Thi công và kết quả Thi công hệ thống và kết quả Chương 5: Kết quả và thực nghiệm Đưa ra các kết quả về và vận hành hệ thống. Chương 6: Kết luận và hướng phát triển. Trình bày về hướng phát triển. 5
- ` CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ CÔNG NGHỆ TRUYỀN THÔNG LORA 2.1.1 Giới thiệu công nghệ truyền thông RF LoRa(LoRa) LoRa là một modul thu phát sóng RF với khoảng cách xa khoảng vài trăm mét đến vài ngàn mét trong môi trường lý tưởng. Với băng tần hoạt động là 433Mhz. Hình 2.1: Phạm vi ứng dụng của công nghệ truyền thông RF LoRa Trước đây LoRa được dùng trong quân sự và không gian do khoảng cách truyền xa hơn các thiết bị thu phát RF khác. Ngày nay LoRa được dùng trong thương mại do giá thành rẻ và dễ sử dụng Ưu điểm của LoRa là truyền tín hiệu ở 1 khoảng cách xa. 1 trạm thu phát sử dụng LoRa có thể bao gồm 1 vùng rộng lớn tùy vào môi trường hoặc địa hình xung quanh. Mạch thu phát LoRa được sử dụng trong hệ thống là RF UART LoRa SX 1278 E32-TTL-100 433 Mhz có khoảng cách truyền tối đa là 3000m trong môi trường lý tưởng 6
- ` 2.1.2 Giới thiệu module thu phát RF LoRa Hình 2.2: Hình ảnh thực tế Module LoRa Mạch thu phát RF UART LoRa SX 1278 433 Mhz 3000m sử dụng chip SX 1278 của nhà sản xuất SENTECH chuẩn giao tiếp LORA. Chuẩn LoRa mang đến 2 yếu tố quan trọng là tiết kiệm năng lượng và khoảng cách siêu xa và có thể cấu hình thành mạng. Mạch thu phát RF UART LoRa SX 1278 433 Mhz 3000m được tích hợp phần chuyển đổi giao tiếp SPI qua UART giúp việc giao tiếp và sử dụng dễ dàng hơn. Với kích thước nhỏ gọn 5 x 21 x 36 mm, LoRa dễ dang đáp ứng hầu hết các yêu cầu về không gian trong các thiết bị người dùng, ví dụ như các trạm thu phát tín hiệu, trong các thiết bị điều khiển từ xa . Phần mềm đi kèm từ nhà sản xuất giúp việc cấu hình LoRa trở nên dễ dàng hơn. Cấu hình trực tiếp lên LoRa qua Adapter LoRa Thông số kỹ thuật: - Model: E32-TTL-100 RF - IC chính: SX1278 từ SEMTECH. - Điện áp hoạt đông: 2.3 - 5.5 VDC - Điện áp giao tiếp: TTL - Tần số hoạt động : 410 -441Mhz - Công suất: 20dbm (100mW) - Dòng điện ở chế độ ngủ (M1=1 M0=1): 1,7uA - Chuẩn giao tiếp: UART - Độ dài chuỗi khi nhận :gói dữ liệu 256 bytes - Độ dài chuỗi khi truyền :gói dữ liệu 256 bytes - Khoảng cách truyền tối đa trong điều kiện lý tưởng: 3000m - Tốc độ truyền: 0.3 -19.2 Kbps ( mặc định 2.4 Kbps) - Hỗ trợ 65536 địa chỉ cấu hình. 7
- ` - Nhiệt độ hoạt động bình thường: -30oC ~ +85 oC - Độ ẩm hoạt động bình thường : 10% ~ 90% - Nhiệt độ bảo quản :-40oC~125oC - Kích cỡ: 21x36mm. Hình 2.3: Kích thước và số chân thực tế của LoRa Module có tổng cộng 7 chân được ký hiệu trực tiếp lên module Bảng 2.1: Mô tả chức năng các chân của module Số chân Kí hiệu Ứng dụng 1 M0 Kết hợp với M1 để cài đặt 4 chế độ hoạt động của LoRa 2 M1 Kết hợp với M0 để cài đặt 4 chế độ hoạt động của LoRa 3 RXD Nối với chân TX của Vi điều khiển 4 TXD Nối với chân RX của Vi điều khiển 5 AUX Chỉ các trạng thái của LoRa 6 VCC Kết nối với nguồn 5V 7 GND Kết nối với Mass (0V) 2.1.3 Chế độ hoạt động của module LoRa. Trong module LoRa có 2 chân điều khiển M0, M1. Giúp người sử dụng có thể dễ dàng chuyển chế độ hoạt động của module Bảng 2.2 Các chế độ hoạt động của LoRa Chế độ Trạng thái M1 M0 Mô tả Chú ý Chế độ 0 Bình thường 0 0 Giao tiếp Serial sẽ Thiết bị nhận sẽ nhận mở. Module truyền được dữ liệu khi hoạt liên tục động ở chế độ 0,1 Chế độ 1 Báo thức 0 1 Giao tiếp Serial mở. Thiết bị nhận chỉ nhận Khi gửi dữ liệu được dữ liệu khi ở chế LoRa sẽ tự động gửi độ 0,1,2 kèm theo mã để kích 8
- ` hoạt chế độ 2 Chế độ 2 Tiết kiệm 1 0 Các giao tiếp Serial Thiết bị nhận chỉ nhận pin đóng. Đợi mã kích được dữ liệu khi thiết hoạt từ chế độ 1 bị truyền ở chế độ 1 ( thiết bị truyền không được ở chế này) Chế độ 3 Ngủ 1 1 Dùng để cấu hình LoRa Lựa chọn chế độ hoạt động của LoRa qua việc thay đổi điện áp hoạt động vào 2 chân M0, M1 với 2 mức điện áp là (0V,3.3V~5V) Thời gian để LoRa chuyển chế độ hoạt động là 1ms Chế độ hoạt động bình thường (M1=0,M1=0) Truyền: LoRa nhận dữ liệu người dùng từ cổng Serial. Khi LoRa nhận được dữ liệu đầu tiên đầu ra AUX ở mức thấp thấp, khi LoRa là đặt tất cả các dữ liệu vào IC RF và khởi động bắt đầu, chân TX ở mức cao. Tại thời điểm này, gói dữ liệu không dây đã bắt đầu truyền, bạn có thể truyền lên đến 256 byte dữ liệu. Các gói dữ liệu được gửi thông qua chế độ 0, nó chỉ có thể được nhận bởi các LoRa ở chế độ 0,1. Nhận: LoRa mở cổng nhận dữ liệu không dây, Chân AUX sẽ ở mức cao khi nhận xong gói dữ liệu. Chế độ hoạt động báo thức (M0=1, M1=0) Truyền: LoRa truyền dữ liệu giống chế độ 0. Khi ở chế độ này thì khi truyền thì LoRa sẽ tự động gửi kèm 1 mã dùng để kích hoạt chế độ wake-up trong mỗi gói dữ liệu. Nhận: LoRa hoạt động giống chế độ Nomal Chế độ hoạt động tiết kiệm pin (M0=0, M1=1) Truyền: LoRa sẽ không truyền được dữ liệu. Nhận: LoRa sẽ nhận dữ liệu khi nhận thì LoRa sẽ nhận mã đánh thức ở chế độ 1, chân AUX sẽ lên lại mức cao khi nhận xong gói dữ liệu Bảng 2.3: Theo dõi dòng điện khi ở chế độ tiết kiệm pin của nhà sản xuất Rate\ 250 500 750 1000 1250 1500 1750 2000 Delay(ms) 1KBPS 1,16 0,58 0,39 0,29 0,23 0,19 0,17 0,15 mA mA mA mA mA mA mA mA 10KBPS 179u 92uA 63uA 48uA 39uA 34uA 30uA 27uA A 20KBPS 121u 63uA 43uA 34uA 27uA 24uA 21uA 19uA A 25KBPS 121u 63uA 43uA 34uA 27uA 24uA 21uA 19uA A 9
- ` Chế độ hoạt động ngủ (M0=1, M1=1) Truyền: LoRa sẽ không thế truyền tải dữ liệu Nhận: LoRa sẽ không nhận được dữ liệu Chế độ “ngủ” này dùng để cấu hình LoRa. Thay đổi thông số cài đặt. 2.1.4 Giới thiệu về chân AUX Chân AUX là 1 chân ngõ ra dùng để báo hiệu LoRa có truyền nhận được hay không. Chân AUX sẽ ở mức thấp khi LoRa không có tín hiệu truyền đi hoặc nhận vào. Truyền theo kiếu nối tiếp (Serial ) Hình 2.4: Mô tả hoạt động của chân AUX trong việc truyền dữ liệu Chân AUX sẽ ở mức 1 và sẽ xuống mức 0 khi TX RX bắt đầu truyền nhận trong khoảng 1-2ms và khi kết thúc việc truyền hoặc nhận gói dữ liệu đó thì chân AUX sẽ lên mức 1 Cấu hình (khi LoRa ở chế độ ngủ) Hình 2.5: Mô tả hoạt động của chân AUX khi cấu hình Chân AUX sẽ ở mức 1 khi LoRa còn trong quá trình cấu hình các thông số hoạt động và sẽ lên mức 1 khi cấu hình xong Chú ý: - Chân AUX ở mức 0 nếu LoRa đang hoạt động có nghĩa là LoRa ko truyền nhận được - Khi LoRa truyền nhận, AUX sẽ chuyển mức hoạt động trong 2ms - Khi chuyển chế độ từ ngủ qua bình thường chân AUX sẽ ở hoạt động mức 0 10
- ` 2.1.5 Các chế độ truyền của LoRa Chế độ truyền điểm- điểm (Point to Point) Hình 2.6: Chế độ truyền điểm-điểm Ở hình thức truyền này, cả 2 LoRa được đặt cùng địa chỉ và cùng kênh. Ở hình thức truyền này không phân biệt LoRa nào là địa chỉ Host hay địa chỉ thường. Chế độ truyền xác định ( Target) Hình 2.7: Chế độ truyền cố định Ở hình thức này, một module có thể giao tiếp với một module khác cả khi khác kênh và khác địa chỉ. Ở chế độ này thì phải chọn chế độ chỉ định (Target) trong mục chế độ truyền (Transmit mode) 11
- ` Hình 2.8: Chọn chế độ truyền Target để truyền Khi ở chế độ này thì khi gửi mã thì phải kèm theo địa chỉ và số kênh module LoRa cần kết nối . Ví dụ module LoRa A có địa chỉ 01 kênh 01 muốn kết nối với module LoRa B có địa chỉ 02, kênh 02, thì khi module A gửi dữ liệu phải kèm theo địa chỉ và số kênh của module B là. 02 02 C0 Hình 2.9: Cấu hình 2 module LoRa ở chế độ Target 12
- ` Hình 2.10: Truyền dữ liệu theo chuỗi Hex Hình 2.11: Truyền theo chuỗi được chuyển từ mã Hex theo bảng mã ASCII 13
- ` Hình 2.12: : Bảng mã ASCII Truyền theo chế độ Broadcast Hình 2.13: Mô tả hình thức truyền Broadcast Ở hình thức này, một module được cấu hình với địa chỉ là FF FF, module này có thể phát dữ liệu đến tất cả các module có cùng kênh. Để chuyển tới một địa chỉ mong muốn thì phải chuyển module sang chế độ Target. Khi chọn chế độ này thì phải chọn chế độ truyền liên tục (Transparent) trong mục chế độ truyền (Transmit mode) 14
- ` Hình 2.14: Chọn chế độ truyền trong Transmit Mode Chế độ truyền được được sử dụng trong đề tài này bao gồm 2 khối cảnh báo (client) với 1 khối xử lý trung tâm (Server). Các khối cảnh báo sẽ gửi dữ liệu về khối xử lý trung tâm và 2 khối cảnh báo không giao tiếp được với nhau. 2.1.6 Giới thiệu về IC SX1278 được dùng trong module LoRa Giới thiệu IC SX 1278 a. Sơ đồ khối Hình 2.15: Sơ đồ khối IC SX 1278 Phiên bản sản phẩm Các phiên bản sản phẩm được thể hiện qua bảng dưới đây. Bảng 2.4: Các phiên bản của IC SX 1276/77/78/79 Phiên Dải tần số Số Băng tần Tốc độ Độ nhạy bản kênh truyền SX1276 137 – 1020 6 - 12 7.8 - 500 .018 - 37.5 -111 to -148 MHz kHz kbps dBm 15
- ` SX1277 137 - 1020 6 - 9 7.8 - 500 0.11 - 37.5 -111 to -139 MHz kHz kbps dBm SX1278 137 - 525 6- 12 7.8 - 500 .018 - 37.5 -111 to -148 MHz kHz . kbps dBm SX1279 137 - 6- 12 7.8 - 500 .018 - 37.5 -111 to -148 960MHz kHz kbps dBm b. Sơ đồ chân IC SX 1278 Hình 2.16: Số chân của IC SX 1278 2.2 GIỚI THIỆU VỀ ARDUINO Arduino là một nền tảng điện tử mã nguồn mở, với phần cứng và phần mềm linh hoạt, dễ dàng sử dụng. Nó dành cho nghệ sĩ, nhà thiết kế, người có sở thích và bất cứ ai quan tâm đến việc tạo các đối tượng tương tác với nhau hoặc với môi trường. Hình 2.17: Logo Arduino Arduino thường gồm một board mạch điện tử có vi xử lý, có thể kết nối với máy tính thông qua cổng USB. Bằng phần mềm Arduino trên máy tính, người dùng có thể viết và nạp chương trình xuống board, để thực hiện các tác vụ như mong muốn. Người dùng có thể ứng dụng Arduino để lập trình tương tác với đèn, động cơ, cảm biến hoặc các thiết bị khác. 16
- ` 2.2.1 Arduino MEGA 2560 Arduino Mega 2560 là board mạch điều khiển dựa trên vi điều khiển ATmega2560 được sản xuất bởi Atmel. Nó có tất cả 54 chân I/O digital (trong đó có 15 chân có thể được sử dụng như chân PWM), 16 ngõ vào analog, 4 cổng UART, được trang bị một thạch anh 16Mhz, 1 cổng USB để giao tiếp với máy tính, 1 jack nguồn DC. Arduino Mega2560 có thể tương thích với các shield được thiết kế cho Arduino UNO hay các trước đây như Duemilanove hay Diecimila với cách sắp xếp và nối chân tương tự như Arduino UNO. Arduino Mega 2560 khác với tất cả các board điều khiển trước đây vì không sử dụng chip FTDI để chuyển đổi tín hiệu từ USB. Ngoài ra còn có những phiên bản khác như Arduino Mega ADK, hay Arduino DUE với những tín năng cao cấp hơn Hình 2.18: Board Arduino Mega 2560 Hình trên board Arduino Mega. Đối với chúng ta lập trình cho Arduino thì trước tiên quan tâm những thành phần sau: Arduino Uno là 1 bo mạch thiết kế với bộ xử lý trung tâm là vi điều khiển AVRAtmega2560. Cấu tạo chính của Arduino Mega 2560 bao gồm các phần sau: Nguồn cung cấp: 17
- ` + Arduino Mega có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng USB. Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, bạn sẽ làm hỏng Arduino UNO. - Các chân nguồn: + GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau. + 5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA. + 3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA. + Vin (Voltage Input): để cấp nguồn ngoài cho Arduino Mega, bạn nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND. + IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân này. Và dĩ nhiên nó luôn là 5V. Mặc dù vậy bạn không được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn. + RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ. - Các cổng vào/ra: Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối). - Một số chân Digital có các chức năng đặc biệt như sau: + Chân Serial (6 chân): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này. Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây. Nếu không cần giao tiếp Serial, bạn không nên sử dụng 6 chân này nếu không cần thiết + Chân PWM: cho phép bạn xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite(). Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác. + Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác. 18
- ` + LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13. Khi chân này được người dùng sử dụng, LED sẽ sáng. + Arduino Mega có 16 chân analog (A0 → A15) cung cấp độ phân giải tín hiệu 10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit. + Đặc biệt, Arduino Mega 2560 có 2 chân SDA và SCL hỗ trợ giao tiếp I2C/TWI với các thiết bị khác. Cổng USB (type B): đây là loại cổng giao tiếp để nạp chương trình từ PC lên vi điều khiển. Đồng thời nó cũng là giao tiếp Serial để truyền dữ liệu giữa vi điều khiển và máy tính. + Jack nguồn: để chạy Arduino thỉ có thể lấy nguồn từ cổng USB ở trên, nhưng không phải lúc nào cũng có thể cắm với máy tính được . Lúc đó ta cần một nguồn từ 9V đến 12V. + Có 54 chân vào/ra số đánh số thứ tự từ 0 đến 52, ngoài ra có một chân nối đất (GND) và một chân điện áp tham chiếu (AREF). + Vi điều khiển AVR : đây là bộ xử lí trung tâm của toàn bo mạch. Với mỗi mẫu Arduino khác nhau thì con chip là khác nhau. Ở Arduino Mega này thì sử dụng ATMega2560. Một số thông số kỹ thuật như sau : Bảng 2.5: Bảng thông số kỹ thuật của Board Arduino Chip Atmega2560 Điện áp cấp nguồn 5V Điện áp đầu vào (Vin) 7 – 12V Điện áp đầu vào 6-20V Số chân Digital I/O 54 (có 15 chân điều chế độ rộng xung PWM) Số chân Analog (Input) 16 chân DC Current per I/O Pin 40mA DC Current for 3.3V Pin 50mA Flash Memory 32KB (ATmega2560) với 0.5KB sử dụng bootloader SRAM 2K EEPROM 1K Xung nhịp 16Mhz 19
- ` 2.2.2 Arduino Nano Hình 2.19: Board Arduino Nano Arduino Nano là phiên bản nhỏ gọn của Arduino Uno với cùng vi điều khiển ATmega328P có thể lập trình trực tiếp bằng máy tính (như Arduino UNO R3) và đặc biệt hơn cả đó là kích thước của nó. Kích thước của Arduino Nano cực kì nhỏ (1.85cm x 4.3cm), vì giá rẻ hơn Arduino Uno nhưng dùng được tất cả các thư viện của IDE. Cáp kết nối được dùng để nạp Arduino là cáp mini USB 2.2.3 Arduino Ethernet Shield Hình 2.20: Arduino Ethernet Shield và cách kết nối với Arduino Arduino Ethernet Shield là một trong mạch mở rộng giúp cho Arduino có thể kết nối được với Internet, board này giúp việc truyền nhận thông tin, dữ liệu giữa board Arduino với các thiết bị bên ngoài sử dụng Internet. Ethernet Shield sử dụng chip W5100 kết nối với Arduino theo chuẩn SPI. Ngoài ra Ethernet Shield còn có một khe cắm micro SD trên Shield dùng để sử dụng chứa dữ liệu cho các ứng dụng mạng. 20
- ` Hình 2.21: Sơ đồ khối của chip W5100 2.3 CÁC LOẠI CẢM BIẾN 2.3.1 Cảm biến nhiệt độ, độ ẩm DHT21 Trong nhiều loại cảm biến nhiệt độ có trên thị trường như LM35, DS 18B20, DHT Hình 2.22: Một số loại cảm biến nhiệt độ LM35, DS18B20, DHT11 DHT21 là cảm biến nhiệt độ, độ ẩm có độ chính xác cao được sản xuất bởi AOSONG với chuẩn thang đo nhiệt độ là Celcius và được đóng gói sẵn không cần qua mạch chuyển đổi như LM 35 Bảng 2.6 : Bảng danh sách các cảm biến dòng DHT Mã sản phẩm Thang đo DHT11 Nhiệt độ: 00C-500C ±20C Độ ẩm : 20%-95% ±5% 21
- ` DHT21 Nhiệt độ:-400C-800C ±0,50C Độ ẩm:0-99% ± 3% DHT22 Nhiệt độ : -400C-800C ± 0,50C Độ ẩm: 0-100% ± 2% DHT21 là module tích hợp cảm biến độ ẩm điện dung và nhiệt độ với độ chính xác cao. Module có ưu điểm: kích thước nhỏ, tiêu thụ điện năng thấp, chống nhiễu mạnh giao tiếp 1 dây, khoảng cách truyền dẫn lên đến 20m Hình 2.23: Hình ảnh thực tế của DHT21 Cảm biến DHT21 có 3 dây ra với 3 dây màu đen, đỏ, vàng lần lượt có chức năng sau: - Dây màu đen : GND (0V) - Dây màu đỏ: cấp nguồn 3,3V~5V - Dây màu vàng: dây truyền dữ liệu (DATA) Thông số kỹ thuật - Điện áp hoạt động: 3.3V~ 5V - Dòng tiêu thụ: 300uA - Dải đo nhiệt độ: -40oC~80oC - Sai số nhiệt độ : ±0.5oC - Dải đo độ ẩm: 0~99% - Sai số độ ẩm : ±3% - Chuẩn giao tiếp 1 dây - Kích thước 14x58 x 27 mm 22
- ` Hình 2.24: Sơ đồ kết nối DHT21 với vi điều khiển Nguồn cấp Nguồn cấp nên từ 3,3-5,5V DC. Khi nguồn được cấp cho cảm biến thì trong 1s đầu cảm biến sẽ ổn định lại điện áp rồi mới truyền dữ liệu. Giao tiếp Giao tiếp giữa MCU và DHT21 chỉ có 1 dây để truyền dữ liệu DATA=16 bits độ ẩm +16 bits nhiệt độ +8 bits check-sum Ví dụ: MCU nhận 40 bit từ DHT 21 0000 0010 1000 1100 0000 0001 0101 1111 1110 1110 16 bits độ ẩm 16 bit nhiêt độ 8 bit check sum Có 16 bits độ ẩm 0000 0010 1000 1100 652 Độ ẩm (RH)= 625/10=62.2%(RH) 16 bits nhiệt độ 0000 0001 0101 1111 315 Nhiệt độ(t)= 315/10=31.5oC Mã check-sum Sum = 0000 0010 + 1000 1100 + 0000 0001 + 0101 1111 = 1110 1110 Check-sum 8bits cuối= 1110 1110 Khi MCU gởi tín hiệu bắt đầu, DHT thay đổi trạng thái từ trạng thái chờ sang trạng thái hoạt động.DHT 21 sẽ gửi dữ liệu 40bit độ ẩm và nhiệt độ lúc đó về MCU. Nếu không có tín hiệu bắt đầu từ MCU, DHT 21 sẽ không gửi dữ liệu về MCU. 23
- ` Hình 2.25: DHT 21 truyền dữ liệu lên MCU Tín hiệu của MCU Tín hiệu của DHT 21 2.3.2 Cảm biến khí CO Cảm biến MQ-7 có thế phát hiện khí C0 tập trung tại những nơi khác nhau từ 10-1000ppm Cảm biến này với độ nhạy cao thời gian đáp ứng nhanh tín hiệu ngõ ra dạng analog và digital. Cảm biến có thế hoạt động từ khoảng -10oC đến 50oC và tiêu thụ dòng khoảng 150mA tại 5V. Hình 2.26: Ảnh thực tế của cảm biến MQ-7 MQ7 là cảm biến khí, dùng để phát hiện các khí có thể gây cháy. Nó được cấu tạo từ chất bán dẫn SnO2. Chất này có độ nhạy cảm thấp với không khí sạch. Nhưng khi trong môi trường có chất gây cháy, độ dẫn điện của nó thay đổi. Khi môi trường sạch điện áp đầu ra của cảm biến thấp, giá trị điện áp đầu ra càng tăng khi nồng độ khí gây cháy xung quang MQ-7 càng cao. Đơn vị đo của cảm biến là ppm (10-4%) – mật độ tương đối của 1 chất trong hỗn hợp cụ thể hợp này là không khí. Trong hướng dẫn của nhà sản xuất không đề cập đến việc quy đổi giá trị nồng độ này ra điện áp ngõ ra. Thông số kỹ thuật 24
- ` - Điện áp cung cấp: 3~5V - Sử dụng chip so sánh LM 393 và MQ-7 - Hai tín hiệu đầu ra ( digital và analog) - Tín hiệu analog từ (0~5V) - Dải phát hiện từ 10-1000ppm - Công suất tiêu thụ khoảng 350mW - Nhiệt độ hoạt động: -10 đến 50oC - Kích thước 33x20x16mm Hình 2.27: Sơ đồ cấu tạo MQ-7 Trên hình cho thấy MQ-7 cấu tạo từ rất nhiều thành phần và tạo nên một lớp bán dẫn đặc biệt khi có các chất cháy ở nồng độ cao thì chất bán dẫn này sẽ dẫn điện mạnh cho phép ngắn mạch 2 điểm lại với nhau. Bảng 2.7 Danh sách các cảm biến khí của Hanwei 25
- ` 2.4 MÀN HÌNH LCD 20X4 Mạch điều khiển màn hình LCD được sử dụng trong hệ thống giao tiếp với Arduino qua I2C, chỉ sử dụng 2 dây để điều khiển màn hình, thay vì 8 dây như cách thông thường. Hai chân SDA và SCL là 2 chân tín hiệu dùng cho giao tiếp I2C. Hình 2.28: LCD 20x4 26
- ` Hình 2.29: Mạch giao tiếp I2C 2.5 CÁC CHUẨN GIAO TIẾP ĐƯỢC SỬ DỤNG TRONG HỆ THỐNG 2.5.1 Chuẩn giao tiếp UART UART là một mạch tích hợp được sử dụng trong việc truyền dẫn dữ liệu nối tiếp giữa máy tính và các thiết bị ngoại vi. Rất nhiều vi điều khiển hiện nay đã được tích hợp UART, vì vấn đề tốc độ và độ điện dụng của UART không thể so sánh với các giao tiếp mới hiện nay nên các dòng PC & Laptop đời mới không còn tích hợp cổng UART. Hình 2.30: Kết nối vi điều khiển với vi điều khiển 27
- ` Hình 2.31: Kết nối vi điều khiển và máy tính Giao tiếp SPI và I2C có 1 dây truyền dữ liệu và 1 dây được sử dụng để truyền xung clock (SCL) để đồng bộ trong giao tiếp. Với UART thì không có dây SCL, vấn đề được giải quyết khi mà việc truyền UART được dùng giữa 2 vi xử lý với nhau, đồng nghĩa với việc mỗi vi xử lý có thể tự tạo ra xung clock cho chính nó sử dụng Hình 2.32: Cách thức truyền UART START bit sẻ chuyển từ 1 xuống 0 để báo hiệu cho bộ nhận là quá trình truyền dữ liệu sắp xảy ra. Sau START bit là đến các bit dữ liệu D0-D7 (Theo hình vẽ các bit này có thể ở mức High or Low tùy theo dữ liệu). Sau khi truyền hết dữ liệu thì đến Bit Parity để bộ nhận kiểm tra tính đúng đắn của dữ liệu truyền (vấn đề này mình sẽ giải thích rõ hơn trong tài liệu CRC trong thời gian tới). Cuối cùng là STOP bit là 1 báo cho thiết bị rằng các bit đã được gửi xong. Thiết bị nhận sẽ tiến hành kiểm tra khung truyền nhằm đảm báo tính đúng đắn của dữ liệu. Các thông số cơ bản trong truyền nhận UART: • Baund rate (tốc độ baund ): Khoảng thời gian dành cho 1 bit được truyền. Phải được cài đặt giống nhau ở gửi và nhận. • Frame (khung truyền ): Khung truyền quy định về số bit trong mỗi lần truyền. • Start bit: là bit đầu tiên được truyền trong 1 Frame. Báo hiệu cho thiết bị nhận có một gói dữ liệu sắp đc truyền đến. Bit bắt buộc. • Data: dữ liệu cần truyền. Bit có trọng số nhỏ nhất LSB được truyền trước sau đó đến bit MSB. • Parity bit: kiểm tra dữ liệu truyền có đúng không. 28
- ` • Stop bit: là 1 hoặc các bit báo cho thiết bị rằng các bit đã được gửi xong. Thiết bị nhận sẽ tiến hành kiểm tra khung truyền nhằm đảm bảo tính đúng đắn của dữ liệu. Bit bắt buộc Các thông số cơ bản trong việc truyền nhận UART của LoRa Tốc độ Baund Khung truyền Tốc độ truyền Địa chỉ Kênh truyền Thông số sau khi cấu hình Hình 2.33: Thông số cấu hình trong truyền nhận UART của LoRa 2.5.2 Chuẩn giao tiếp SPI SPI là một chuẩn truyền thông nối tiếp tốc độ cao do hãng Motorola đề xuất. Đây là kiểu truyền thông Master-Slave, trong đó có 1 chip Master điều phối quá trình tuyền thông và các chip Slaves được điều khiển bởi Master vì thế truyền thông chỉ xảy ra giữa Master và Slave. SPI là một cách truyền song công (full duplex) nghĩa là tại cùng một thời điểm quá trình truyền và nhận có thể xảy ra đồng thời. SPI đôi khi được gọi là chuẩn truyền thông “4 dây” vì có 4 đường giao tiếp trong chuẩn này đó là SCK, MISO, MOSI và SS . Trong hệ thống này thì giao tiếp SPI được sử dụng trong giao tiếp giữa Arduino UNO R3 với Arduino Ethernet Shield Hình 2.34: Sơ đồ chân giao tiếp SPI của Arduino Mega 29
- ` 2.6 PHẦN MỀM 2.6.1 Phần mềm lập trình Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn riêng. Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng nó. Và Wiring lại là một biến thể của C/C++. Một số người gọi nó là Wiring, một số khác thì gọi là C hay C/C++. Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm phát triển dự án này đã cũng cấp đến cho người dùng một môi trường lập trình Arduino được gọi là Arduino IDE như hình dưới đây. Arduino IDE dùng ngôn ngữ lập trình tương tự như C/C++. Với nguồn thư viện được nhà phát hành hỗ trợ liên tục cập nhật giúp việc lập trình trên IDE được dễ dàng hơn so với những chương trình khác. Bên cạnh đó. IDE còn có một số ví dụ cơ bản thuộc nhiều đề tài khác nhau để hỗ trợ những người mới bắt đầu, giúp việc lập trình phát triển đề tài dễ dàng hơn. Hình 2.35: Giao diện IDE để lập trình Arduino 2.6.2 Phần mềm thiết kế mạch, mô phỏng Hiện nay có rất nhiều phần mềm hỗ trợ cho việc cho việc mô phỏng thiết kế mạch như Orcad, Eagle, Proteus Phần mềm Proteus (ISIS- intelligent schematic input system) là một phần mềm mô phỏng thông minh sơ đồ nguyên lý mạch điện tử , ngoài khả năng vẽ mạch nguyên lý và mạch in, Proteus cung cấp khả năng mô phỏng các mạch điện tử số, nhanh chóng chuyển từ khái niệm sang hoạt động ảo trên phần mềm để kiểm tra hoạt động của mạch điện, cung cấp một kho thư viện linh kiện lớn được cập nhật liên tục từ cộng đồng, dễ dàng tạo linh kiện mới và viết code mô phỏng hoạt động cho linh kiện, được hỗ trợ liên tục từ hãng, người dùng có thể dễ dàng yêu cầu được hỗ trợ tạo một linh kiện mới khi cần. Điểm yếu của phần mềm là không chuyên về mạch in như các phần mềm chuyên dụng như Eagle, Orcad. Chọn phần mềm Proteus vì mạch của đề tài chỉ có thiết kế và sử dụng mạch in, và không chuyên sâu vào phần mô phỏng trên máy tính khi thiết kế. 30
- ` Hình 2.36: Giới thiệu sơ lược về giao diện bằng phần mềm Proteus 2.6.3 Phần mềm hỗ trợ giao tiếp. Hercules là một trong những phần mềm được thiết kế rất gọn nhẹ và trực quan cho phép quản lý các kết nối đến máy tính. Có thể sử dụng phần mềm này như 1 công cụ hiển thị thông báo từ Vi điều Khiển lên máy tính,giúp công việc kiểm tra và sửa lỗi được thuận lợi hơn. Hình 2.37: Logo phần mềm Hercules Đầu tiên các bạn cần biết là cổng USB của máy tính thực chất là quá trình đánh địa chỉ và tạo cổng COM ảo cho các thiết bị giao tiếp USB,tất cả các thiết bị sẽ sử dụng chung giao tiếp USB nhưng sau đó sẽ được giải mã ra đúng giao tiếp thực của thiết bị. Do vậy các thiết bị cắm vảo cổng USB sẽ được cấp phát 1 địa chỉ cổng COM ảo nhất định, nên khi sử dụng UART lần đầu chúng ta cần tìm địa chỉ của nó,các lần sau địa chỉ sẽ không thay đổi. 31
- ` Hình 2.38: Giao diện giao tiếp Hercules qua cổng nối tiếp (Serial port ) Khi cắm thiết bị giao tiếp qua UART thì sẽ có 1 cổng COM riêng biệt cho thiết bị đó và qua đó giúp ta mô phỏng, theo dõi thiết bị đó qua những dữ liệu mà Hercules truyền nhận với thiết bị đó. 32
- ` CHƯƠNG 3 THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 3.1 PHÂN TÍCH HỆ THỐNG 3.1.1 Yêu cầu thiết kế - Khi có cháy hay nguy cơ xảy ra cháy hệ thống sẽ gửi báo động cho người dùng. - Có hệ thống hiển thị dữ liệu bằng màn hình LCD 20x4 tại chỗ. - Loa kêu khi có báo động - Trang web hiển thị dữ liệu từng cảm biến. - Khoảng cách để lắp đặt các trạm với nhau khoảng 200-1000m tùy vào môi trường xung quanh. - Module cảm biến nhiệt độ hoạt động bằng pin với tuổi thọ pin càng lâu càng tốt. - Có thể lắp đặt thực tế. 3.1.2 Sơ đồ khối của hệ thống 5V Khối cảnh báo Khối báo (trạm 2) động 5V 5V 5V LORA Sóng RF Khối xử lý Khối hiển thị LORA trung tâm ( led, Lcd) (Arduino)(trạm 1) LORA Sóng RF 5V Khối cảnh báo Khối 5V (trạm 3) giao tiếp Web Internet Khối nguồn 5V Hình 3.1: Sơ đồ khối của hệ thống Sơ đồ khối bao gồm các khối chính. - Khối cảnh báo. - Khối xử lý trung tâm. - Khối hiển thị. - Khối báo động. 33
- ` - Khối hỗ trợ giao tiếp. - Giao diện người dùng. - Khối nguồn. Chức năng các khối a. Khối cảnh báo (client) Khối cảnh báo có các cảm biến để phát hiện cháy và đưa dữ liệu về khối xử lý trung tâm qua sóng RF. Các cảm biến được sử dụng trong khối cảnh báo để phát hiện cháy là cảm biến khí gas, cảm biến nhiệt độ và độ ẩm (DHT21), Dữ liệu từ các cảm biến sẽ được bộ vi xử lý tổng hợp và truyền dữ liệu về khối xử lý trung tâm theo chu kỳ. Nếu có sự cố hay mất kết nối với cảm biến thì khối cảnh báo sẽ gửi tín hiệu về khối xử lý để người dùng khắc phục sự cố đó Bộ vi xử lý còn có nhiệm vụ xác lập chế độ hoạt động của mạch thu phát RF như hoạt động bình thường, báo thức, tiết kiệm pin, ngủ. b. Khối xử lý trung tâm (Server) Khối xử lý trung tâm sử dụng mạch Arduino Mega để xử lý các dữ liệu từ các khối cảnh báo gửi về qua mạch thu phát RF LoRa. Khi có sự cố xảy ra ( cháy) thì khối xử lý trung tâm sẽ tổng hợp dữ liệu ( khu vực nào) và phát tín hiệu báo cháy cho người sử dụng. Truyền dữ liệu và hiển thị thông số của các khối cảnh báo lên Web Server. c. Khối hiển thị. Hiển thị các dữ liệu lên web,lcd Cảnh báo khi có sự cố (led,loa). d. Khối báo động. Báo tín hiệu khi có sự cố như chuông. Đèn báo sự cố e. Giao diện người dùng. Trong khối này có khối giao tiếp Internet. Khối giao tiếp Internet người sử dụng có thể truy cập để xem thông tin của các khối cảnh báo. f. Khối nguồn Cung cấp nguồn cho hệ thống. 3.2 THIẾT KẾ PHẦN CỨNG Trong phần thiết kế phần cứng của đề tài chú trọng vào việc thiết kế phần cứng đơn giản, giảm tối đa số linh kiện trong thiết kế và lựa chọn linh kiện phù hợp để tăng tuổi thọ pin trong các thiết kế dùng pin hay sử dụng hai nguồn chính phụ cho các thiết kế tiêu tốn nhiều năng lượng để đảm bảo các thiết kế hoạt động được cho nhiều điều kiện khác nhau. 34
- ` 3.2.1 Khối cảnh báo ( Client) Khối cảnh báo có nhiệm vụ thu thập dữ liệu nhiệt độ, độ ẩm và nồng độ khí CO, gas của môi trường xung quanh và truyền về trạm xử lý trung tâm. Khối cảnh báo được lắp đặt tại những nơi cần theo dõi, cách xa khu dân cư nên vấn đề nguồn cung cấp được quan tâm. Các nguồn cung cấp mà trạm cảnh báo có thể sử dụng là Pin, Pin mặt trời nên vấn đề nguồn nuôi là 1 trong những vấn đề được quan tâm. a) Sơ đồ khối của khối cảnh báo Cảm biến nhiệt độ, độ ẩm (DHT21) Khối Khối xử lý dữ liệu Sóng RF nguồn cảm biến( tổng hợp Khối RF (5V) và truyền ) Cảm biến nồng độ Trạm 2 khí gas, CO Hình 3.2: Sơ đồ khối của khối cảnh báo Khối xử lý của khối cảnh báo sẽ tổng hợp các dữ liệu từ các cảm biến DHT21 và MQ7 để tổng hợp và xử lý dữ liệu, cho phép truyền dữ liệu theo chu kỳ định sẵn. Khi có sự cố xảy ra, khối xử lý sẽ truyền dữ liệu ngay lập tức. Ngoài ra, cảm biến MQ7 có chân DO là chân ngõ ra dạng Digital có 2 mức tín hiệu 0 và 1. Khi nồng độ khí vượt ngưỡng cho phép thì chân DO sẽ lên mức 1 và kích hoạt vào chân ngắt ngoài của Arduino ( chân 2) để cảnh báo. Hình 3.3: Vị trí chân DO của cảm biến và biến trở điều chỉnh ngưỡng ngõ ra. 35
- ` b) Lưu dồ thuật toán của khối cảnh báo. Bắt đầu Các cảm biến bắt đầu hoạt động Đ Có sự cố Delay 1s S Delay(5 phút) Xử lý dữ liệu từ các cảm biến và cho phép khối truyền hoạt động Truyền dữ liệu Hình 3.4: Lưu đồ thuật toán của khối cảnh báo. c) Phần cứng Mỗi trạm cảnh báo dùng 1 board điểu khiển Arduino Nano, 1 cảm biến DHT21, 1 cảm biến MQ7 và 1 module thu phát sóng RF. Ưu điểm khi dùng Arduino Nano là kích thước nhỏ làm cho mạch của trạm cảm biến nhỏ gọn, dễ lắm đặt. Do khối cảnh báo dùng đa số là module nên mạch in chỉ là mạch kết nối các module lại với nhau. 36
- ` Hình 3.5 : Sơ đồ nguyên lý của khối cảnh báo N A I R T H N Y U H 7 0 1 9 1 1 1 1 Hình 3.6: Sơ đồ mạch in và 3D của khối cảnh báo Trên board mạch in có thêm chỗ kết nối module nguồn 5V (LM 2596) được lấy từ Jack cắm DC với nguồn DC giới hạn dưới 40V. Ngoài ra nếu dùng Pin thì ta có thế cấp cho mạch qua chân Vin của Arduino để hoạt động với mức giới hạn điện áp từ (7-12V) 37
- ` Hình 3.7: Khối cảnh báo sau khi thi công 3.2.2 Trạm xử lý trung tâm (Server) Khối Server có nhiệm vụ tổng hợp những dữ liệu từ những trạm cảnh báo truyền về, xử lý những dữ liệu đó và hiển thị cho người sử dụng biết những dữ liệu đó từ trạm nào giúp cho việc theo dõi dễ dàng hơn. 38
- ` a) Sơ đồ khối Khối Ethernet Web Server Sóng RF Khối xử lý trung Khối RF tâm (Trạm 1) Khổi hiển thị, cảnh báo sự cố Hình 3.8: Sơ đồ khối của khối xử lý trung tâm Khối Server xử lý các dữ liệu của các cảm biến từ các khối cảnh báo qua khối RF. Khối xử lý trung tâm sẽ so sánh với điều kiện ban đầu và xuất ngõ ra báo hiệu cho người dùng khi có sự cố đồng thời hiển thị lên Web Server những thông số cảm biến của các khối cảnh báo. Do khối Server được kết hợp nhiều module xếp chồng lên nhau bao gồm module xử lý Arduino Mega2560, module Arduino Ethernet Shield để giao tiếp với Internet, và các jack cắm để kết nối với module RF LoRa, LCD, led cảnh báo, 39
- ` b) Lưu đồ thuật toán của Khối Server Bắt đầu Nhận dữ liệu từ trạm cảnh báo Xử lý dữ liệu nhận được Hiển thị lên Web Sever So sánh với điều kiện S cài đặt sẵn (T>50oC và G >170ppm) Đ Xuất tín hiệu ngõ ra, cảnh báo sự cố Kết thúc Hình 3.9 : Lưu đồ thuật toán của trạm xử lý trung tâm c) Phần cứng Khối Server sử dụng Board điều khiển Arduino Mega để điều khiển, 1 Ethernet Shield để kết nối Internet, 1 module RF để truyền nhận dữ liệu, LCD 20x4 để hiển thị trực tiếp và 1 mạch thi công để kết nối các module lại với nhau. Vì khối Server được kết hợp từ nhiều module với nhau nên cần nguồn ổn định trong thời gian dài nên trong mạch thi công có 1 module chuyển đổi hạ áp (LM2596) với đầu vào DC giới hạn dưới 40V và đầu ra có mức điện áp là 5V để cung cấp cho khối Server. 40
- ` Hình 3.10: Sơ đồ nguyên lý khối Server 41
- ` Hình 3.11: Sơ đồ mạch in và mô phỏng 3D của mạch Hình 3.12: Trạm xử lý trung tâm sau khi thi công 42
- ` Trong mạch thi công có gắn loa, led và 1 relay giúp ra khởi động khối báo động bên ngoài (loa AC) giúp báo hiệu cho người sử dụng. 3.2.3 Nguồn cung cấp Do hệ thống được kết nối nhiều module với nhau nên cần nguồn ổn định để cung cấp cho hệ thống. Mạch hạ áp dùng IC LM2596 được dùng cho hệ thống có khả năng giảm áp từ 35V xuống 5V với dòng ra tối đa là 3A. Hình 3.13: Mạch hạ áp LM2596 Hình 3.14: Sơ đồ nguyên lý mạch hạ áp LM2596 3.3 PHẦN MỀM Cấu hình Module RF LoRa. 43
- ` Khi cấu hình mạch thu phát LoRa cần mạch chuyển đổi UART sang USB để có thể giao tiếp giữa mạch và máy tính thông qua cổng USB, giúp cấu hình với phần mềm hoặc truyền nhận dữ liệu trực tiếp với máy tính được dễ dàng. Hình 3.15: Mạch chuyển đổi UART sang USB Cấu hình mạch thu phát LoRa dùng để cài đặt địa chỉ, số kênh, tốc độ truyền và các cài đặt cần thiết của LoRa. Phần mềm được sử dụng để cấu hình là RF_Setting_EN_V2.7.exe Hình 3.16: Logo Phần mềm RF_Setting_EN_V2.7 Mở cổng kết nối Cổng kết nối Cấu hình Hình 3.17: Giao diện khi khởi động phần mềm 44
- ` cổng kết nối tốc độ baud bit kiểm tra tốc độ địa chỉ kênh chế độ truyền Hình 3.18 : Giao diện phần mềm cấu hình. Lưu ý: khi cấu hình mạch thu phát LoRa phải chuyển qua chế độ ngủ, gỡ 2 Jump kết nối như hình để chân M0, M1 lên mức 1. Để LoRa chuyển chế độ hoạt động là “ngủ”. Hình 3.19: Gỡ 2 Jump kết nối để cấu hình LoRa LoRa có 65536 (0-65535) địa chỉ. Địa chỉ 65535 (0xFF) được mặc định là địa chỉ host. Số kênh có tổng cộng 32 kênh (0-31). Chế độ truyền được dùng trong đề tài này là chế độ truyền Broadcast dùng 1 module host và 2 module vệ tinh được cấu hình cùng số kênh như khác địa chỉ. Trong đề tài này các module LoRa được cấu hình kênh 31 và 2 trạm cảnh báo được cấu hình địa chỉ lần lượt là 01, 02 và trạm xử lý trung tâm được cấu hình là 65535 (mã hex là FF FF). 45
- ` CHƯƠNG 4 THI CÔNG VÀ KẾT QUẢ 4.1 THI CÔNG 4.1.1 Thi công trạm cảnh báo Có 2 trạm cảnh báo với sơ đồ nguyên lý giống nhau nhưng khác nhau địa chỉ khi lập trình. Trạm cảnh báo có 2 loại cảm biến để thu thập dữ liệu môi trường xung quanh và báo về cho người dùng. Module RF dùng để truyền dữ liệu. Arduino Nano dùng để tổng hợp và truyền dữ liệu qua module RF Mạch hạ áp LM2596 dùng để biến đổi điện áp xuống 5V để cung cấp cho khối cảnh báo nếu có nguồn ổn định hoặc nguồn từ năng lượng mặt trời. Khối cảnh báo có Jack nguồn Vin để khối cảnh báo có thể dùng nguồn pin từ 4.5V- 12V Hình 4.1. Kiểm tra hoạt động khối cảnh báo. 46
- ` Hình 4.2: Khối cảnh báo hoàn chỉnh. Hình 4.3: Khối cảnh báo hoạt động. 47
- ` Hình 4.4: Mô phỏng đọc cảm biến và chuỗi dữ liệu sẽ truyền đi Chuỗi dữ liệu trên A01g10071t29.30h72.40{0A}. được bắt đầu bằng chữ A01 có nghĩa là dữ liệu này được truyền từ trạm 2 ( client 1) về khối xử lý trung tâm(trạm 1). Tiếp theo là chuỗi dữ liệu từ các cảm biến. Ký tự cuối cùng của chuỗi là hex {0x0A} và trong lập trình C là ký tự “ \n” (new line) được hiểu là ký tự để kết thúc chuỗi . 4.1.2 Thi công trạm xử lý trung tâm Trạm xử lý trung tâm có chức năng tổng hợp dữ liệu xử lý, so sánh từ các trạm cảnh báo với điều kiện ban đầu lập trình sau đó hiển thị lên Web Server và LCD. Xuất ngõ ra báo hiệu khi có sự cố. Trạm xử lý trung tâm dùng mạch Arduino Mega2560 vì có kết nối với Ethernet Shield để hiển thị Web Server. Trong trạm xử lý trung tâm có LCD 20x4 để hiển thị dữ liệu trực tiếp. Khối xử lý trung tâm được gắn kết từ các module với nhau với nguồn hoạt động từ 5V-12V 48
- ` Hình 4.5: Kiểm tra hoạt động khối trung tâm 49
- ` Hình 4.6: Khối xử lý trung tâm hoàn chỉnh. Hình 4.7: Hộp điều khiển trung tâm. 50
- ` Trong các điều kiện cho phép nên đã cho vận hành thử hệ thống để đánh giá và kiểm tra sự ổn định của hệ thống. Hình 4.8. Vận hành thử hệ thống Hệ thống chạy thử bằng cách cắm dây kết nối các cảm biến, Arduino Mega, module RF mới nhau qua testBoard để kiểm tra lỗi và xem sự chính xác, ổn định của hệ thống. Chế độ hoạt động của Lora trong hệ thống ở chế độ “ bình thường” và chế độ truyền broadcast. 2 trạm cảnh báo sẽ gửi dữ liệu liên tục về trạm xử lý trung tâm theo chu kỳ định sẵn. Trong hệ thống, trạm xử lý trung tâm sẽ cập nhật nhiệt độ. Độ ẩm với chu kỳ là 5 phút. Nếu trong khoảng chu kỳ đó mà trạm cảnh báo phát hiện có sự cố xảy ra như cháy thì trạm cảnh báo sẽ gửi dữ liệu về trạm xử lý trung tâm liên tục với chu kỳ 1s và phát ra cảnh báo. Hình 4.9. Hệ thống chạy thử và hiển thị lên Web Server 51
- ` Khi hệ thống hoạt động không tránh khỏi các sự cố như mất kết nối giữa Client và Server, hoặc các cảm biến bị hư hỏng. Hình 4.10. Kiểm tra hệ thống khi bị mất kết nối với các trạm Khi trạm cảnh báo mất kết nối với trạm xử lý trung tâm sẽ hiển thị thông tin dữ liệu trên màn hình hiển thị là 0, 0 và 0. Hình 4.11. Kiểm tra sự chính xác của hệ thống Qua phần mềm mô phỏng Heculer thi thấy rằng dữ liệu của trạm cảnh báo truyền về trạm xử lý trung tâm với thời gian đáp ứng và truyền giữa 2 khối khá nhanh và chính xác. 52
- ` Hình 4.12. Giao diện bảng theo dõi trạng thái khi hoạt động mà chưa kết nối các trạm cảnh báo 4.2 KẾT QUẢ 4.2.1 Trạm cảnh báo Hình 4.13: Vận hành trạm cảnh báo Trạm cảnh báo được kết nối 2 cảm biến qua các jack domino để dễ tháo ráp. Khi cấp nguồn cho trạm thì sẽ có 2 led sáng màu xanh và màu vàng, led màu xanh là báo hiệu chân nguồn và led màu vàng chân (AUX) báo hiệu Lora sẵn sàng hoạt động. 53
- ` Sau khoảng 5s khởi động hệ thống thì led vàng sẽ nháy báo hiệu cho việc truyền dữ liệu về trạm xử lý trung tâm và mỗi lần dữ liệu được gửi về trạm xử lý thì led AUX sẽ nháy. 4.2.2 Trạm xử lý trung tâm Hình 4.14: Khối xử lý trung tâm hoạt động 54
- ` Khối xử lý trung tâm có màn hình LCD 20x4 để hiển thị dữ liệu trực tiếp, Led AUX màu vàng sẽ nháy 1 lần khi có dữ liệu truyền về khối xử lý . Loa, led và relay để cảnh báo cho người sử dụng khi có sự cố 4.2.3 Giao diện theo dõi Hình 4.15: Giao diện WebServer Giao diện WebServer có địa chỉ IP là 192.168.1.177 và port kết nối là 80. WebServer sau khoảng 2s thì sẽ cập nhật 1 lần. 55
- ` CHƯƠNG 5 KẾT QUẢ VÀ THỰC NGHIỆM 5.1 KẾT QUẢ 5.1.1 Những vấn đề nghiên cứu Nghiên cứu về module RF LoRa Nghiên cứu về các board Arduino Nghiên cứu về các hệ thống cảnh báo nguy cơ cháy và báo cháy. Nghiên cứu về ngôn ngữ HTML. Nghiên cứu về kết nối giữa trang web HTML và Arduino thông qua Ethernet Shield Nghiên cứu xây dựng hệ thống báo cháy thông minh phù hợp với thực tế 5.1.2 Những vấn đề hoàn thành Xây dựng thành công hệ thống báo cháy sử dụng công nghệ truyền thông LoRa. Hoàn thành WebServer Thiết kế và tối ưu tới mức có thể được tuổi thọ pin bằng việc kết hợp phần cứng và phần mềm trên một số thiết kế. 5.2 THỰC NGHIỆM 5.2.1 Kiểm tra khoảng cách thực tế của module LoRa Trên lý thuyết của nhà sản xuất thì module LoRa SX 1278 E32-TTL-100 thì có thể truyền được với khoảng cách 3000m. Nhưng trong thực nghiệm trong khu dân cư thì kết quả chỉ được khoảng 200m-300m 56
- ` Hình 5.1: Khoảng cách thực tế khi truyền Hình 5.2: Mạch kiểm tra khoảng cách Khi thực nghiệm kiểm tra khoảng cách truyền bằng cách bộ phát cho đếm số lên với chu kỳ 1s và bộ thu sẽ cho hiển thị dữ liệu đã nhận. Khi mất sóng thì bộ thu sẽ ngưng tại số khi mà bắt đầu mất sóng. 5.2.2 Vận hành hệ thống thực tế a) Thời lượng pin 57
- ` Trong khoảng thời gian thực hiện đề tài thì có thực nghiệm thời gian sử dụng nguồn Pin của trạm cảnh báo. Do trạm cảnh báo có 2 cảm biến nên tiêu thụ dòng khá lớn 70mA đối với MQ7 và 1.2mA đối với DHT21( theo tài liệu nhà sản xuất). b) Hệ thống hoạt động Trên thực tế, hệ thống truyền ổn định ở khoảng cách từ 0-300m trong khu dân cư. Phát hiện nồng độ khí gas, khí gây cháy trong thời gian ngắn (3s) và tín hiệu được truyền về Server để cảnh báo cho người sử dụng. Hệ thống nhỏ gọn, dễ lắp đặt và sử dụng có thể thêm nhiều cảm biến khác nhau để cảnh báo. 58
- ` CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN 6.1.1 Ưu điểm của đề tài - Hệ thống góp phần cho việc truyền thông tin giữa các vùng rộng lớn, hiểm trở, . được dễ dàng hơn. - Phạm vi áp dụng rộng lớn. Làm trạm cảnh báo lũ ở đầu nguồn sông, cảnh báo cháy rừng. Truyền dữ liệu từ các trạm thu thập dữ liệu ở biển - Hệ thống cho phép người quản lý dễ dàng theo dõi các trạm cảnh báo thông qua Web Server. - Hệ thống tự động cập nhật thông tin trên trang web. - Có thể mở rộng giao tiếp với mạng LoRa khác. Làm cho mạng lưới giao tiếp được mở rộng. 6.1.2 Hạn chế của đề tài. - Module RF LORA E32-TTL-100 truyền được 3000m (lý thuyết) nhưng trong thực thế có thể truyền được khoảng 200-1000m. - Do khối cảnh báo có sử dụng cảm biến nồng độ không khí có dòng tiêu thụ hơi lớn (70mA) nên khối cảnh báo vẫn chưa tối ưu hóa việc tiết kiệm pin cho hệ thống - Trong các thiết kế còn sử dụng nhiều module mua ngoài. Vẫn còn sử dụng nguồn ngoài trên các mạch chưa có bộ chuyển AC – DC. - Tiết kiệm pin cho trạm cảnh báo vẫn chưa tối ưu. - Hệ thống mang tính mô hình chưa thể ứng dụng trong thực tế. 6.1.3 Kết luận - Thành công trong việc thiết kế và thi công một sản phẩm với kích thước nhỏ gọn theo yêu cầu đặt ra. - Sản phẩm có khả năng ứng dụng vào thực tế có thể lắp đặt ở những vùng rộng lớn, giúp ích cho cộng đồng, xã hội. - Giá thành để duy trì hệ thống thấp. - Ứng dụng được những kiến thức được học để thực hiện tốt đề tài và hoàn thành đúng yêu cầu đề ra. - Nghiên cứu, học hỏi được nhiều kinh nghiệm và kiến thức bổ ích, trau dồi kỹ năng hoạt động độc lập và giải quyết vấn đề, khám phá thêm những vấn đề mới. 59
- ` 6.2 HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI Từ các vấn đề đã hoàn thành và các hạn chế em nhận thấy cần nhiều cải tiến để đi được vào thực tế. Hệ thống được xây dựng theo mô hình IoT nên khả năng phát triển là rất lớn. Gia tăng số cảm biến trong mạng cảm biến cho các dự án lớn. Tối ưu thời gian pin của các mạch cảm biến từ khoảng vài ngày đến một tháng lên tới từ vài tháng đến vài năm. Thêm vào các tính năng cảnh báo mới như nhắn tin gọi điện, Thiết kế lại các website và các ứng dụng di động thân thiện hơn với người dùng. Tạo bảo mật cho hệ thống. 60
- ` Tài liệu tham khảo. Tiếng Việt [1] Phạm Quang Huy – Lê Cảnh Trung , “Lập trình điều khiển với Arduino ”, Nhà xuất bản KHOA HỌC VÀ KỸ THUẬT, Việt Nam. [2] Nguyễn Đình Phú, “Giáo trình Vi xử lý – Vi điều khiển”, 2013, trường Đại Học Sư Phạm Kỹ Thuật thành phố Hồ Chí Minh, Việt Nam. Tiếng Anh [1] Brian Evans, “Arduino Programming Notebook”, 2012. Website [1] [2] [3] [4] [5] lora/ [6] 61
- ` Hướng dẫn sử dụng và kết nối hệ thống a) Trạm xử lý trung tâm. - Cấp nguồn cho hệ thống. - Cắm cáp internet vào trạm xử lý trung tâm qua cổng J45 với máy tính để kết nối internet. b) Trạm cảnh báo. - Kết nối các cảm biến theo thứ tự đã ghi chú. - Cấp nguồn cho hệ thống để trạm hoạt động. c) Giao diện người dùng - WebServer có địa chỉ IP là 192.168.1.177 - Port kết nối là 80 - IP : 62
- S K L 0 0 2 1 5 4



