Đề tài trình bày về mô hình một hệ thống cảnh báo cháy rừng ứng dụng công nghệLoRa để truyền nhận dữ liệu của các cảm biến khắc phụ nhược điểm về khả năng kếtnối và mở rộng của các hệ th
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐIỆN ĐIỆN TỬ
BỘ MÔN KỸ THUẬT MÁY TÍNH - VIỄN THÔNG
ĐỒ ÁN TỐT NGHIỆP
HỆ THỐNG CẢNH BÁO CHÁY RỪNG ỨNG
DỤNG CÔNG NGHỆ LORA
NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH
Sinh viên: NGÔ TẤN LỢI
MSSV: 11119026
TRỊNH ĐÌNH HIỆP
MSSV: 11119118
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
KHOA ĐIỆN ĐIỆN TỬ
BỘ MÔN KỸ THUẬT MÁY TÍNH - VIỄN THÔNG
ĐỒ ÁN TỐT NGHIỆP
HỆ THỐNG CẢNH BÁO CHÁY RỪNG ỨNG
DỤNG CÔNG NGHỆ LORA
NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH
Sinh viên: NGÔ TẤN LỢI
Trang 3Nhóm thực hiện đề tài cũng xin chân thành cảm ơn các thầy cô giáo trong trường
ĐH Sư Phạm Kỹ Thuật TP.HCM nói chung, các thầy cô trong Bộ môn Kỹ Thuật MáyTính – Viễn Thông nói riêng đã giảng dạy, cung cấp kiến thức về các môn đại cươngcũng như các môn chuyên ngành, giúp cho nhóm có được cơ sở lý thuyết vững vàng
và tạo điều kiện giúp đỡ nhóm trong suốt quá trình học tập
Nhóm thực hiện đề tài xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo điềukiện, quan tâm, giúp đỡ, động viên em trong suốt quá trình học tập và hoàn thành khoáluận tốt nghiệp
Đề 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ómthự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ácbạn
Nhóm thực hiện đề tàiNgô Tấn Lợi – Trịnh Đình Hiệp
Trang 4TÓM TẮT
Các vụ cháy rừng xảy ra mỗi năm gây thiệt hại lớn về nguồn tài nguyên thiênnhiên ngoài ra nó còn gây ra nhiều thiên tai khác như: sạt lở, lũ quét, lũ ống,… Vì tínhchất rộng lớn và địa hình hiểm trở, nên những vụ cháy rừng xảy ra do không phát hiệnkịp thời gây nên thiệt hại to lớn về tài nguyên và kinh tế Thấy được những mối nguyhiểm như vậy nên nhóm thực hiện đề tài này, nhằm cảnh báo kịp thời các nguy cơ cháyrừng một cách nhanh chóng
Đề tài trình bày về mô hình một hệ thống cảnh báo cháy rừng ứng dụng công nghệLoRa để truyền nhận dữ liệu của các cảm biến khắc phụ nhược điểm về khả năng kếtnối và mở rộng của các hệ thống đã có
Hệ thống xử lý trung tâm sẽ do Arduino Mega đảm nhận, với khả năng kết nối đadạng với nhiều thiết bị cùng lúc Arduino Mega thật thích hợp cho một dự án IoT vớikhả năng mở rộng lớn
Hệ thống còn khai thác các dịch có sẵn như: IoT platform, App Android, mạng xãhội, mạng viên thông để cảnh báo cháy nhanh nhất đến người dùng
Kết nối giữa các khối trong hệ thống sử dụng công nghệ LoRa thông qua module
RF LoRa SX1278 (E32-TTL-100) để tận dụng ưu thế về khả năng truyền xa và tiếtkiệm năng lượng của module này Khối cảm biến sẽ sử dụng hệ thống sac pin bằngnăng lượng mặt trời như một giải pháp năng lượng cho thiết bị IoT
Trang 5MỤC LỤC
Trang 6DANH MỤC HÌNH
DANH MỤC BẢNG
CÁC TỪ VIẾT TẮT
STT Các từ viết tắt Viết tắt của từ tiếng anh
2 SPI Serial Peripheral Interface
8 UART Universal Asynchronous Receiver – Transmitter
10 I2C Inter-Integrated Circuit
Trang 715 IP Internet Protocol
Trang 8CHƯƠNG 1
GIỚI THIỆU
1.1 TỔNG QUAN VỀ HỆ THỐNG BÁO CHÁY
Trong thực tế, cuộc sống xung quanh chúng ta luôn tiền ẩn hiểm họa và nguy
cơ về cháy nổ đe dọa đến tính mạng và tài sản con người Với sự phát triển củakhoa học kỹ thuật ngày nay, ứng dụng các công nghệ hiện đại vào hệ thống báocháy giúp con người chủ động hơn trong việc phòng và chữa cháy Tuy nhiên, đốivới lĩnh vực báo cháy rừng vẫn chưa nhân được sự quan tâm đúng mức Khi hệthống báo cháy vẫn dựa nhiều vào sự phát giác và thông báo của người dân.Thấy được thực trạng trên, nhóm thực hiện đề tài sẽ giới thiệu và trình bày hệthống báo cháy rừng sử dụng công nghệ Long Range(LoRa) trong truyền nhận dữliệu Trong thực tế, có rất nhiều công nghệ truyền dẫn không dây như: hồngngoại, bluetooth, RF tuy nhiên hầu hết điều truyền trong khoản cách ngắn Trongkhi đó, LoRa cung cấp khả năng vượt trội về tầm xa Do đó, đề tài này được thựchiện nhằm đóng góp giải pháp cho việc phát hiện cháy rừng với tầm kiểm soát xahơn, rộng hơn
1.2 CÁC THIẾT KẾ CHO HỆ THỐNG BÁO CHÁY
1.2.1 HỆ THỐNG BÁO CHÁY BẰNG CÔNG NGHỆ ZIGBEE
Sản phẩm quản lý và cảnh báo sớm cháy rừng của hãng Libelium bao gồmWaspmote Plug & Sense và Meshlium được đóng gói sẵn, với cách lắp đặt dễdàng, an toàn và hiệu quả
Waspmote Plug & Sense được tích hợp các tính năng đo nhiệt độ, độ ẩmkhông khí, khí CO và khí CO2 Ngoài ra nó còn hỗ trợ sử dụng năng lượng mặt
Trang 9trời, chống thấm nước, hỗ trợ các chuẩn kết nối internet như zigbee, lora, wifi,3G/GPRS,…
Meshlium là thiết bị định tuyến cổng (Gateway) được thiết kế đặt biệt để kếtnối mạng cảm biến Waspmote đến Internet thông qua các giao tiếp Ethernet, Wifi
và 3G
Hình 1.1: Mô hình Waspmote Plug & SenseError: Reference source not
found
Các bộ Waspmote Plug & Sense sẽ được bố trí theo hình cây hoặc hình sao
để thu thập dữ liệu sau đó gửi về gửi lên Cloud thông qua thiết bị Meshlium trung gian với tần suất 5 – 10 phút một lần[1]
1.2.2 HỆ THỐNG BÁO CHÁY QUA VỆ TINH
Thông thường, cháy rừng thường xảy ra trên diện rộng tại những vùng có địahình phức tạp nên việc phát hiện rất khó khăn, gây thiệt hại lớn về kinh tế cũngnhư hệ sinh thái, hệ thống báo cháy qua vệ tinh MODIS ra đời nhằm giải quyết
Trang 10vấn đề này giúp chúng ta phát hiện các đám cháy lớn nhanh chóng thông qua vệtinh.
Hình 1.2: Hệ thống báo cháy MODISError: Reference source not found
MODIS là bộ cảm đặt trên vệ tinh TERRA nó có các ứng dụng tiêu biểu là:nghiên cứu khí quyển, mây, thời tiết, cháy rừng, nhiệt độ nước biển,… MODIS cóthể thu được 2 ảnh vào ban ngày và 2 ảnh vào ban đêm, các ảnh này sẽ được xử
lý và chiết xuất các điểm cháy kèm với tọa độ địa lý và đưa trực tiếp lên web chỉsau 1 giờ từ khi thu nhận ảnh[2]
1.3 MỤC TIÊU ĐỀ TÀI
Xây dựng hệ thống cảnh báo cháy rừng kết nối mạng internet bao gồm: khốiđiều khiển trung tâm, module cảm biến có sử dụng năng lượng pin trong thời giandài Xây dựng trang web hiển thị và tổng hợp dữ liệu Giao tiếp với người dùngqua thiết bị di động Gửi tín hiệu cảnh báo khi phát hiện cháy rừng
1.4 PHẠM VI NGHIÊN CỨU
Trình bày hệ thống cảnh báo cháy rừng với các cảm biến và module có sẳntrên thị trường với độ chính xác không cao
Trang 11Sử dụng hệ thống sac pin bằng năng lượng mặt trời như một giải pháp nănglượng cho thiết bị IoT Chưa đi sâu vào tính toán chi tiết điện năng nhận đươc từnăng lượng mặt trời.
Tập trung vào truyền nhận giữa các khối Không nghiên cứu về thiết đặt môhình mạng với nhiều module cảm biến hoạt động cùng lúc
1.5 BỐ CỤC
Nội dung báo cáo được chia thành 5 chương bao gồm nội dung như sau:
Chương 1 – Giới thiệu: giới thiệu sơ lược về một hệ thống báo cháy vàmột số hệ thống báo cháy đã có trên thị trường từ đó định hướng mục tiêu vàphạm vi nghiên cứu cho đề tài
Chương 2 – Cơ sở lý thuyết: giới thiệu về các phần cứng, phần mềm, lýthuyết liên quan đến việc tính toán năng lượng cho hệ thống được sử dụng trong
đề tài
Chương 3 – Thiết kế hệ thống: phân tích mục tiêu đề tài từ đó lựa chọnlinh kiện thích hợp để thiết kế và gia công mạch Đưa ra các sơ đồ khối, lưu đồgiải thuật, giải thích nguyên lý làm việc và sử dụng phần mềm để điều khiểncùng với lập trình
Chương 4 – Thực nghiệm: chạy thử mạch thiết kế sau đó kiểm tra cácthông số từ đó đưa ra ưu và nhược điểm của hệ thống báo cháy trong đề tài
Chương 5 – Kết quả và hướng phát triển: đưa ra kết luận về những mụctiêu đạt được và chưa đạt được, các hạn chế của đề tài từ đó trình bày hướngphát triển cho đề tài
Trang 12CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
2.1 TỔNG QUAN VỀ PHẦN CỨNG
2.1.1 Tổng quan về công nghệ LoRa
2.1.1.1 Giới thiệu các công nghệ truyền không dây
Các công nghệ không dây được sử dụng phổ biến hiện nay bao gồm:Bluetooth, Wi-Fi, Zigbee, Lora,…[3]Error: Reference source not found
Bluetooth được dùng để kết nối tai nghe với điện thoại, truyền dữ liệu giữacác thiết bị di động, máy ảnh số, laptop, PC và đầu máy chơi game ChipBluetooth sử dụng tín hiệu sóng radio để truyền dữ liệu trong phạm vi khoảng 30mét
Wi-Fi là công nghệ kết nối Internet không dâ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 Cácthiết bị có thể kết nối Wi-Fi trong phạm vi khoảng 70m
Zigbee được ứng dụng trong hệ thống tự động tại các hộ gia đình như chiếusáng, sưởi ấm, báo cháy,…Zigbee cho phép truyền thông tin tới nhiều thiết bịcùng lúc thay vì chỉ có 2 thiết bị tương tác với nhau như Bluetooth và hồng ngoại.Phạm vi hoạt động của Zigbee từ 75 mét lên đến vài trăm mét
LoRa (Long Range) là công nghệ truyền không dây cho phép truyền thông tintới nhiều thiết bị với tốc độ cao, các thiết bị có thể kết nối với nhau ở phạm vi rấtrộng và đặc biệt các thiết bị LoRa có thể duy trì kết nối và chia sẻ dữ liệu trongthời gian dài chỉ với năng lượng pin[4]
Trang 132.1.1.2 Module RF LoRa Sx1278
Đáp ứng yêu cầu nghiên cứu về công nghệ truyền không dây mới với ưuđiểm truyền xa, tiêu hao ít năng lượng, nhóm thực hiện đồ án đã chọn Module RFLoRa Sx1278 Bắt đầu từ đây khi nhóm sử dùng “Module LoRa” tức là ám chỉModule RF LoRa Sx1278
Hình 2.3 Module RF LoRa Sx1278[5]
Module LoRasử dụng chip SX1278 của nhà sản xuất SEMTECH chuẩn giaotiếp LORA (Long Range), nó mang hai yếu tố quan trọng là thu phát xa và tiếtkiệm năng lượng Ngoài ra nó còn có khả năng cấu hình để tạo thành mạng nênhiện tại được phát triển và sử dụng rất nhiều trong các nghiên cứu về IoT
Bảng 2.1: Thông số kỹ thuật Module LoRa [6]
Độ dài chuỗi khi nhậ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
Trang 14Tốc độ truyền 0.3 -19.2 Kbps ( mặc định 2.4
Kbps)Nhiệt độ hoạt động bình
Ký hiệu Tên Chức năng
1 M0 Ghép với M1 và quyết định bốn chế độ hoạt động
2 M1 Ghép với M0 và quyết định bốn chế độ hoạt động
3 RDX Đầu vào TTL UART, kết nối với đầu ra TXD bên
Trang 15Bảng 2.3: Các chế độ hoạt động của Module RF LoRa Sx1278
0 hoặc mode 1
1(Wake-up) 0 1 Thiết bị truyền được
đặt ở mode 1
Thiết bị nhận cóthể làm việc ởmode 0, mode 1,mode 2
2 (Power-saving) 1 0 Thiết bị nhận được
đặt ở mode 2
Thiết bị truyềnkhông được phépđặt ở mode này
3 (Sleep) 1 1 Cấu hình thông số
Module LoRacó ba cách để truyền dữ liệu giữa các module với nhau:
• Truyền điểm – điểm: các module phải được cấu hình cùng kênh và cùngđịa chỉ
Trang 16Hình 2.5: Mô tả truyền điểm – điểm
• Truyền cố định: các module khác kênh, khác địa chỉ có thể truyền nhận dữliệu với nhau với điều kiện thiết bị truyền phải gửi kèm kênh + địa chỉ củathiết bị nhận khi gửi dữ liệu
Hình 2.6: Mô tả truyền cố định
Trang 17Hình 2.7: Mô tả truyền broadcast
• Truyền broadcast: 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
Cấu hình Module LoRa:
Cấu hình Module LoRa 8 chính là cài đặt địa chỉ, số kênh, tốc độ truyền vàcác cài đặt cần thiết để có thể truyền nhận dữ liệu giữa các module Lora với nhau.Trước tiên, chúng ta cần phải có mạch chuyển USB-UART để giao tiếp giữaModule LoRa và máy tính qua cổng USB, giúp cấu hình với Software hoặctruyền nhận dữ liệu trực tiếp với máy tính dễ dàng
Hình 2.8: Mạch chuyển giao tiếp USB UART SX1278[7]
Ngoài ra chúng ta cũng cần phải có phần mềm cấu hình RF_Setting_EN_V2.7
Trang 18Hình 2.9: Giao diện khi khởi động phần mềm RF_Setting_EN_V2.7
Hình 2.10: Giao diện phần mềm RF_Setting_EN_V2.7
Trước khi cấu hình, Module LoRa phải chuyển qua chế độ sleep, ta cần
gỡ 2 jump kết nối trên mạch chuyển USB-UART như hình để chân M0, M1 lênmức 1 Khi Module LoRa sẽ chuyển chế độ hoạt động là “sleep”
Hình 2.11: Chuyển sang chế độ sleep cho Module LoRa
Module LoRa có 65536 (0-65535) địa chỉ Địa chỉ cuối 65535 được mặcđịnh là địa chỉ host( Server) Có tổng cộng 32 kênh (0-31)
Sau đây là cách cấu hình cho từng hình thức truyền:
• Cấu hình truyền điểm điểm: ở cách truyền này, cả 2 LoRa được đặt cùngđịa chỉ và cùng kênh
• Cấu hình truyền cố định: ở cách này thì phải chọn chế độ Target trong
Trang 19mục Transmit mode.
Hình 2.12: Chọn chế độ Target
Ở hình thức truyền cố định, khi gửi dữ liệu thì phải kèm theo địa chỉ và kênhmodule LoRa cần gửi đến 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à kênh của module B là:00 02 02 < data>
• Cấu hình truyền broadcast: khi chọn chế độ này thì phải chọn
Transparent trong mục Transmit mode
Hình 2.13: Chọn chế độ Transparent
Đây cũng chính là chế độ mà nhóm thực hiện đồ án chọn, một Module LoRasẽ được cấu hình địa chỉ host(65535) và đặt ở khối điều khiển trung tâm, module còn lại sẽ được cấu hình cùng kênh nhưng khác địa chỉ
2.1.2 ARDUINO
Arduino là một bo mạch vi xử lý được dùng để lập trình tương tác với cácthiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác Đặc điểm
Trang 20nổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, vớimột ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít amhiểu về điện tử và lập trình Và điều làm nên hiện tượng Arduino chính là mức giárất thấp và tính chất nguồn mở từ phần cứng tới phần mềm
Hình 2.14: Logo Arduino[8]
Bo mạch Arduino sử dụng dòng vi xử lý 8-bit megaAVR của Atmel với haichip phổ biến nhất là ATmega328 và ATmega2560 Các dòng vi xử lý này chophép lập trình các ứng dụng điều khiển phức tạp do được trang bị cấu hình mạnhvới các loại bộ nhớ ROM, RAM và Flash, các ngõ vào ra digital I/O trong đó cónhiều ngõ có khả năng xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và cácchuẩn giao tiếp đa dạng như UART, SPI, I2C[9]
Đọc tín hiệu cảm biến ngõ vào:
• Digital:
Các bo mạch Arduino đều có các cổng digital có thể cấu hình làm ngõvào hoặc ngõ ra bằng phần mềm Do đó người dùng có thể linh hoạt quyếtđịnh số lượng ngõ vào và ngõ ra Tổng số lượng cổng digital trên cácmạch dùng Atmega328 là 14, và trên Atmega2560 là 54
• Analog:
Các bo mạch Arduino đều có trang bị các ngõ vào analog Số lượngcổng vào analog là 6 đối với Atmega328, và 16 đối với Atmega2560 Với
Trang 21tính năng đọc analog, người dùng có thể đọc nhiều loại cảm biến nhưnhiệt độ, áp suất, độ ẩm, ánh sáng, gyro, accelerometer…
Xuất tín hiệu điều khiển ngõ ra:
• Digital output:
Tương tự như các cổng vào digital, người dùng có thể cấu hình trênphần mềm để quyết định dùng ngõ digital nào là ngõ ra Tổng số lượngcổng digital trên các mạch dùng Atmega328 là 14, và trên Atmega2560 là54
• PWM output:
Trong số các cổng digital, người dùng có thể chọn một số cổng dùng
để xuất tín hiệu điều chế xung PWM Độ phân giải của các tín hiệu PWMnày là 8-bit Số lượng cổng PWM đối với các bo dùng Atmega328 là 6,
và đối với các bo dùng Atmega2560 là 14 PWM có nhiều ứng dụng trongviễn thông, xử lý âm thanh hoặc điều khiển động cơ mà phổ biến nhất làđộng cơ servos trong các máy bay mô hình
Chuẩn Giao tiếp:
• USB:
Các bo Arduino tiêu chuẩn đều có trang bị một cổng USB để thực hiệnkết nối với máy tính dùng cho việc tải chương trình Tuy nhiên các chipAVR không có cổng USB, do đó các bo Ardunino phải trang bị thêm phần
Trang 22chuyển đổi từ USB thành tín hiệu UART Do đó máy tính nhận diện cổngUSB này là cổng COM chứ không phải là cổng USB tiêu chuẩn.
• SPI:
Đây là một chuẩn giao tiếp nối tiếp đồng bộ có bus gồm có 4 dây Vớitính năng này các bo Arduino có thể kết nối với các thiết bị như LCD, bộđiều khiển video game, bộ điều khiển cảm biến các loại, đọc thẻ nhớ SD
và MMC…
• I2C:
Đây là một chuẩn giao tiếp đồng bộ khác nhưng bus chỉ có hai dây.Với tính năng này, các bo Arduino có thể giao tiếp với một số loại cảmbiến như thermostat(bộ điều chỉnh nhiệt độ) của CPU, tốc độ quạt, một sốmàn hình OLED/LCD, đọc real-time clock, chỉnh âm lượng cho một sốloại loa…
2.1.2.1 Arduino Nano
Arduino nano có kích thước rất nhỏ sử dụng chip xử lý ATmega328P, nó cóthể được lập trình trực tiếp bằng máy tính thông qua cổng giap tiếp mini USB.Ngoài ra, nó cũng được thay đổi IC giao tiếp hỗ trợ nạp code(IC chuyển đổi từUSB sang UART), cụ thể Arduino nano phiên bản chính hãng sử dụng TT232RLcòn các phiên bản sản xuất tại Trung Quốc sử dụng CH340G hoặc CP2102
Hình 2.15: Arduino nano[10]
Bảng 2.4: Thông số kỹ thuật Arduino nano[11]
Trang 23Vi điều khiển ATmega328 (họ 8bit)
Điện áp vào khuyên dùng 7-12V – DC
Điện áp vào giới hạn 6-20V – DC
Trang 24Arduino Mega2560 khác với tất cả các vi xử lý trước giờ vì không sử dụngFTDI chip điều khiển chuyển tín hiệu từ USB để xử lý Thay vào đó, nó sử dụngATmega16U2 lập trình như là một công cụ chuyển đổi tín hiệu từ USB.
Bảng 2.5: Thông số kỹ thuật Arduino Mega2560
Điện áp vào đề nghị 7-9V – DC
Điện áp vào giới hạn 6-20V – DC
Số chân Digital I/O 54
dữ liệu truyền đi nhanh
Trang 25Hình 2.17: Ethernet shield ngoài thực tế[13]
Ethernet shield sử dụng chip W5100 cho tốc độ và khả năng kết nối ổn định,
bộ thư viện đi kèm và phần cứng với cách kết nối dễ dàng khiến cho việc kết vốiArduino với Ethernet đơn giản Ngoài ra nó còn tích hợp khe cắm thẻ micro SD,
có thể được sử dụng để lưu trữ các tập tin phục vụ qua mạng
Bảng 2.6: Thông số kỹ thuật Ethernet shield[13]
Điện áp hoạt động 5VTốc độ kết nối 10/100Mb
2.1.2.4 Arduino IDE
Để lập trình cho Arduino, nhóm đã sử dụng phần mềm Arduino IDE
(Intergrated Development Environment) được phát triển bởi đội ngũ kĩ sư của
Arduino Arduino IDE rất dễ sử dụng, sử dụng ngôn ngữ lập trình Wiring dễ hiểu
và dựa trên nền tảng C/C++ rất quen thuộc với người làm kỹ thuật Và quan trọng
là số lượng thư viện code được viết sẵn và chia sẻ bởi cộng đồng nguồn mở làcực kỳ lớn[9]
Trang 26Hình 2.18: Giao diện Arduino IDE
Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là
Windows, Macintosh OSX và Linux Do có tính chất nguồn mở nên môi trường lập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có kinh nghiệm
2.1.3 Các loại cảm biến
2.1.3.1 Cảm biến khói, khí gas
Một số loại cảm biến khói phổ biến trên thị trường: MQ-135, MQ-2, MQ-7,
Trang 27• Lớp cảm biến của MQ-7 đượ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àngcao
• Đơn vị đo của cảm biến là ppm (10-4%) – mật độ tương đối của 1 chấttrong hỗn hợp cụ thể, trường hợp này là không khí Trong hướng dẫncủ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[15]
Bảng 2.8: Chức năng chân của MQ-7
Trang 28MQ-7 đó nồng độ CO trong không khí và chuyển ra chân Aout.
Biến trở trên Module có chức năng điều chỉnh điện áp tham chiếu (ngưỡng),khi MQ-7 phát hiện CO đại đến ngưỡng thì chân CO đảo trạng thái
Bảng 2.9: Điểm làm việc của MQ-7
0C -
800C ± 0.50C
-40 ~ 123.8℃ ± 0.4℃
Dựa vào bảng so sánh trên nhóm thực hiện đồ án đã chọn cảm biến DHT21
vì DHT21 đáp ứng các yêu cầu: dòng tiêu thụ thấp, sai số tương đối, giá thànhhợp lý
Trang 29Hình 2.20: Cảm biến DHT21 ngoài thực tế
Họ cảm biến DHT bao gồm: một cảm biến độ ẩm điện dung và một điện trởnhiệt[17]
• Cảm biến độ ẩm điện dung: bộ cảm biến là một tụ điện được cấu tạo từ
2 cực kim loại với chất điện môi có nhiều lỗ rỗng ở giữa Hơi nước cóthể đi qua lớp điện môi này và làm thay đổi tổng dung
• Điện trở nhiệt hay Thermistor có trở kháng thay đổi một cách rõ rệtdưới tác dụng của nhiệt, hơn hẳn các loại điện trở thông thường
Nguyên lý hoạt động: Giá trị cảm biến đo được, được xuất ra chân SDA gồm
40 bits(5 bytes) lần lượt là: humidity high, humidity low, temperature high,temperature low, Parity bit
Trong đó:
• Humidity high, humidity low: là giá trị độ ẩm
• temperature high, temperature low: là giá trị nhiệt độ
• Parity bit: kiểm tra tính đúng đắn của giá trị nhận được
High temp Lowtemp Parity bit
Cách tính
0000 0010+1001 0010 +0000 0001+0000 1101= 1010 0010(Parity bit(
Dữ liệu được xác nhận là chính xác
Trang 302.1.4 Tấm pin năng lượng mặt trời
Nguồn năng lượng tái tạo đang ứng dụng rất nhiều trong cuộc sống hiện nay,
Ưu điểm của nguồn năng lượng này là sạch, có sẵn trong thiên nhiên, không gây
ô nhiễm, không bị cạn kiệt và là giải pháp tốt nhất nhằm tiết kiệm năng lượng.Chúng ta có thể kể đến một số nguồn năng lượng tái tạo phổ biến như: Nănglượng mặt trời, năng lượng từ đại dương, năng lượng gió, năng lượng địa nhiệt,…Nguồn năng lượng mặt trời hiện nay đang được sử dụng rất phổ biến, chúng
ta có thể tạo ra điện năng ở bất cứ nơi nào có ánh sáng mặt trời chỉ với một tấmpin năng lượng mặt trời cỡ nhỏ Với ưu điểm này, nhóm thực hiện đồ án đã chọn
sử dụng năng lượng mặt trời làm nguồn cung cấp điện năng cho khối cảm biến
Hình 2.21: Tấm pin năng lượng mặt trời[18]
Tế bào quang điện (Solar cell): Là thiết bị chuyển đổi năng lượng ánh sáng thành năng lượng điện nhờ hiệu ứng quang điện Được xem như một thiết bị điện
có các thông số về dòng, áp, điện trở thay đổi khi tiếp xúc với ánh sáng
Tấm pin mặt trời(Solar panel): nhiều tế bào quang điện ghép lại với nhau thành mãng được gọi là module quang điện, tùy vào mức điện áp và dòng điện
Trang 31yêu cầu mà các module quang điện được ghép song song hoặc nối tiếp tạo thành tấm pin năng lương mặt trời.
Hình 2.22: Cách kết nối của hệ thống quang điện[19]
Ba thành phần chính cấu thành nên một hệ thống IoT plaform là:
- Cloud-based: một ứng dụng IoT platform sống trong đám mây, có nghĩa là nó tồntại ở đâu đó trên internet Điều này cho phép, ứng dụng IoT platform phát triểnmạnh mẽ khi được quản lý, duy trì và truy cập được ở hầu hết mọi nơi
- Kết nối: IoT platform đóng vai trò là một trung tâm kết nối Khi có quá nhiềuphương thức để thiết bị kết nối với internet và các thiết bị khác, thì IoT platformcung cấp khả năng một liên kết chung giữa các thiết bị và dữ liệu của chúng Nhờ
đó mỗi thiết bị có thể gửi hoặc nhận dữ liệu từ thiết bị khác một cách dễ dàng
- Ứng dụng và phân tích dữ liệu: IoT platform khai thác sức mạnh của kết nối đámmây để lấy các điểm dữ liệu của thiết bị, từ nó dữ liệu được phân tích thành thông
Trang 32tin có nghĩa Sử dụng thông tin đó, người dùng có thể đưa ra quyết định phù hợpcho dự án của họ[20].
Hình 2.23: Mô hình IoT platform[20]
Trang 33Hiện tại có rất nhiều sản phẩm IoT platform trên thị trường, cung cấp tùy chọncho việc triển khai dự án IoT Tuy nhiên, không phải IoT platform nào cũnggiống nhau Trong khuôn khổ luận văn tốt nghiệp, nhóm thực hiện đề tài xindẫn qua một số IoT platform mà nhóm đã nghiên cứu: Microsoft Azure IoT,Amazone web services(AWS) IoT, ThingSpeak.
2.2.2.1 Microsoft Azure IoT
Với ý tưởng tạo ra một IoT platform kết hợp với đám mây Microsoft Azure.Microsoft đã cho ra đời gói sản phẩm Azure IoT Suite Nền tảng này có các tínhnăng: Chặn thiết bị, giám sát thông tin, đăng ký nhận dạng(Identity registry)
Hình 2.24: Mô hình ứng dụng Microsoft Azure[21]
Để xử lý lượng lớn dữ liệu nhận được từ cảm biến, Azure IoT Suite được tíchhợp Azure Stream Analytics để xử lý lượng thông tin lớn trong thời gian thực
2.2.2.2 Amazone Web Services(AWS) IoT
Các tính năng chính trong nền tảng này là: đăng ký nhận dạng thiết bị, bộcông cụ phát triển phần mềm cho thiết bị, chặn thiết bị, bảo mật cổng thiếtbị(Secure Device Gateway)
Trang 34Hình 2.25: Mô hình ứng dụng Amazone Web Services[21]
Theo Amazon, nền tảng IoT của họ sẽ giúp các nhà phát triển dễ dàng hơntrong việc kết nối cảm biến cho nhiều ứng dụng khác nhau, từ ô tô đến tua bincho đến bóng đèn nhà thông minh
2.2.2.3 ThingSpeak
ThingSpeak là một IoT analytics platform cho phép tổng hợp, hình dung vàphân tích luồng dữ liệu trực tiếp trong đám mây Với khả năng thực thi Matlabcode trong ThingSpeak, người dùng có thiể thực hiện phân tích dữ liệu trực tuyến
và xử lý dữ liệu khi nó được đưa vào Một số tính năng của ThingSpeak:
- Dễ dàng cấu hình các thiết bị để gửi dữ liệu đến ThingSpeak sử dụng cácgiao thức IoT phổ biến
- Hình dung dữ liệu cảm biến của bạn trong thời gian thực
- Tổng hợp dữ liệu theo yêu cầu từ các nguồn của bên thứ ba
- Sử dụng sức mạnh của MATLAB để xử lý dữ liệu IoT
- Chạy phân tích IoT của bạn tự động dựa trên lịch biểu hoặc sự kiện
- Xây dựng các hệ thống IoT mà không cần thiết lập máy chủ hoặc pháttriển phần mềm web
- Giao tiếp bằng các dịch vụ của bên thứ ba như Twilio hoặc Twitter
Trang 352.2.3 Virtuino
Virtuino là một ứng dụng Android cho phép giám sát cảm biến, hoặc điềukhiển thiết bị điện tử thông qua Bluetooth, wifi hoặc internet
Hình 2.26: Logo Virtuino[22]
Các tính năng chính của Viruino:
- Điều khiển Arduino thông qua Bluetooth
- Điều khiển Arduino thông qua Intenet(Enthenet shield hoặc ESP8266)
- Điều khiển Arduino thông qua wifi(ESP8266)
- Điều khiển qua internet of thing server – giám sát dữ liệu trên ThingSpeak
2.3 MÔ HÌNH NĂNG LƯỢNG CHO HỆ THỐNG IOT
Để module cảm biến hoạt động ổn định và liên tục trong thời gian dài cầnthiết phải có hệ thống năng lượng bền vững Nhóm thực hiện đề tài đã chọn giảipháp sử dụng năng lương mặt trời như Hình 2.26 Hệ thống thu năng lượng từmôi trường, lưu trữ năng lượng trong energy buffer và cung cấp năng lượng chokhối cảm biến thực hiện nhiệm vụ
Hình 2.27: Mô hình hệ thống[23]
Trong mô hình trên, năng lượng trung bình thu được từ môi trường phải lớnhơn năng lượng mà thiết bị yêu cầu trong suốt thời gian hoạt động Tức là:
Trang 36Trong đó:
: công suất tức thời thu được từ pin năng lượng mặt trời
: công suất tiêu thụ năng lượng tức thời của thiết bị và được tính theo côngthức:
- Truyền dữ liệu (networking)
Hình 2.28: Biểu đồ sử dụng năng lương theo thời gian của thiết bị
Với mô hình này, nhóm thực hiện sẽ phân tích chi tiết từng khối Tính toánnăng lương tiêu thụ trung bình trong quá trình thực hiện nhiệm vụ tương ứng
2.3.1 Năng lượng cho truyền dữ liệu
Công nghệ LoRa sử dụng các spreading factor (SF) khác nhau để điềuchỉnh phạm vi cũng như năng lương tiêu thụ của việc truyền dẫn Để tăng phạm
vi truyền, LoRa cho phép cấu hình SF từ SF6 đến SF12 (64-4096 bits/symbol).Việc thay đổi SF này gián tiếp làm giảm tốc độ bit, ảnh hưởng đến thời giantruyền tải một gói tin Do đó, làm thay đổi công suất tiêu thụ
Trang 37Hình 2.29: Mức tiêu thu năng lượng của LoRa với 2 mức spreading factor
Trong đó:
: Điện tích trung bình của khối network
: Điện tích trung bình để truyền một gói tin
TMSG: là thời gian truyền gói tin
: Dòng của khối network khi hoạt động ở chết độ standby
Trang 382.3.2 Năng lượng thu thập dữ liệu
Dòng điện cần cung cấp cho quá trình nhận giá trị từ cảm biến được tính theocông thức:
Trong đó:
: Dòng điện cho khối cảm biến
: Điện tích cần thiết cho một mẫu, để thực hiện quá trình nhận và chuyển vào
bộ nhớ chuyển bị cho quá trình xử lý
TRCD : Thời gian giữa hai phiên thu nhận dữ liệu liên tiếp (được lên kế hoạch
từ trước)
NS : Số mẫu lấy được trong thời gian TRCD
B : Dòng điện ở chế độ stand-by của cảm biến
Trong đề tài này, nhóm sử dụng 2 cảm biến: DHT21 và MQ-7 Dòng điện choArduino Nano thực hiện quá trình nhận và lưu dữ liệu xem như không đổi Do đócông thức (5) được chuyển đổi như sau:
2.3.3 Năng lượng xử lý dữ liệu
Để xác định năng lượng cho quá trình xử lý dữ liệu cần thiết phải biết cáctham số tham gia vào hành vi thuật toán Đối với các thuật toán đã biết, độ phức
tạp của thuật toán được xác định bởi hàm T(n)(Tính theo trường hợp xấu nhất).
Mặt khác, nếu thuật toán được thiết kế tùy chỉnh, độ phức tạp không rõ ràng độphức tạp của thuật toán nên được suy ra từ dữ liệu thực nghiệm hay giả lặp[24]
Độ phức tạp của thuật toán phức tạp được tính dựa vào thuật tóan FastFourier Transform (FFT) Theo FFT độ phức tạp T(n) = O(f(n)) = N.log(N).Theo
đó, thời gian để xử lý sẽ tỷ lệ thuận với hệ số này Như vậy ta có công thức tínhnăng lượng sử lý với độ chính xác hợp lý:
(8)
Với:
k: Hằng số đại diện cho số lượng phép toán thực hiện trên mỗi điểm FFT