Đề tài Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản theo mô hình IoT

MỤC LỤC

Tóm tắt.i

Nhiệm vụ đồ án .ii

Lời nói đầu và cảm ơn . iii

Lời cam đoan.iv

Mục lục .v

Danh sách các bảng biểu, hình vẽ và sơ đồ .vi

Danh sách các cụm từ viết tắt .vii

PHẦN 1. MỞ ĐẦU .1

1.1. Lý do chọn đề tài .1

1.2. Mục tiêu.1

1.3. Đối tượng nghiên cứu .2

1.4. Phạm vi nghiên cứu.2

1.5. Ý nghĩa khoa học và thực tiễn.2

1.6. Bố cục báo cáo.2

CHƯƠNG 1: TỔNG QUAN VỀ IOT.4

1.1. IoT (Internet of Things) là gì? .4

1.1.1. Định nghĩa.4

1.1.2. Khái niệm .4

1.2. Lịch sử phát triển của IoT .5

1.2.1. Lịch sử sự phát triển của IoT qua từng giai đoạn.5

1.2.2. IoT trong tương lai.6

1.3. Kiến trúc của IoT .7

1.3.1. Hệ thống cơ bản.71.3.2. Công nghệ không dây.7

1.3.3. Hệ thống điều khiển .7

1.3.4. Cổng Internet.8

1.3.5. Cảm biến thông minh. .8

1.4. Vấn đề bảo mật trong IoT .8

1.4.1. Giao diện web bảo mật kém .8

1.4.2. Cơ chế xác thực chưa đảm bảo an toàn.8

1.4.3. Các dịch vụ mạng không an toàn .9

1.4.4. Thiếu cơ chế mã hoá truyền tin .9

1.4.5. Nếu cấu hình an ninh không đủ.9

1.4.6. Bảo mật vật lý kém.9

1.4.7. Phần mềm không an toàn.9

1.5. Các lĩnh vực ứng dụng của IoT .10

1.5.1. Quản lý hạ tầng .10

1.5.2. Y tế .10

1.5.3. Xây dựng và tự động hóa nhà .10

1.5.4. Giao thông.10

1.5.5. Nông nghiệp.11

pdf59 trang | Chia sẻ: Thành Đồng | Ngày: 11/09/2024 | Lượt xem: 29 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản theo mô hình IoT, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ệ thống cơ bản bằng cách sử dụng công nghệ không dây. Nó hoặc có thể là một thiết bị chuyên dụng như điều khiển từ xa hoặc điện thoại thông minh và máy tính bảng. Điện thoại thông minh và máy tính bảng rất dễ dàng để tích hợp các thiết bị IoT. 1.3.4. Cổng Internet Gateway là cửa sổ của hệ thống IoT nội bộ với thế giới bên ngoài. Nó hoặc có thể là một cửa ngõ nhà chuyên dụng hoặc một điện thoại thông minh. Các công nghệ khác nhau được sử dụng như là cửa ngõ là GSM, GPRS, cáp quang hoặc đường dây internet khác. 1.3.5. Cảm biến thông minh. Cảm biến thông minh đã nổi lên như là một trình điều khiển rất quan trọng đối với sự phát triển của hệ thống IoT. Cảm biến đã làm cho nó có thể để theo dõi chuyển động, môi trường và các thông số khác từ xa và chuyển giao cho các hệ thống điều khiển hoặc cổng thông qua công nghệ không dây. Nó đã làm thay đổi cuộc sống của con người và thực hiện các thiết bị hiện có thông minh hơn. 1.4. Vấn đề bảo mật trong IoT IoT được coi là giai đoạn phát triển kế tiếp của Internet, mở ra một cuộc cách mạng trong việc giao tiếp giữa con người - đồ vật và giữa các đồ vật với nhau. Tuy nhiên, để có thể khai thác được những tiềm năng lớn mà IoT mang lại, còn nhiều vấn đề cần phải giải quyết, trong đó có vấn đề bảo mật cho các thiết bị và hệ thống Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản dựa trên mô hình IoT Sinh viên thực hiện: Nguyễn Công Được GV Hướng dẫn: Th.S Nguyễn Văn Nguyên 10 IoT. Sau đây là các vấn đề bảo mật phổ biến nhất. 1.4.1. Giao diện web bảo mật kém Giao diện web bảo mật kém có thể dẫn tới việc dữ liệu bị mất, bị sửa đổi nội dung, hoặc có thể gây ra tình trạng từ chối truy nhập dịch vụ hay thậm chí là thiết bị bị chiếm quyền điều khiển hoàn toàn. 1.4.2. Cơ chế xác thực chưa đảm bảo an toàn Nếu cơ chế xác thực là không đủ an toàn, kẻ tấn công có thể khai thác đó để truy cập trái phép các tài khoản người dùng và ăn cắp dữ liệu nhạy cảm. Kẻ tấn công có thể sử dụng các mật khẩu kém bảo mật hoặc cơ chế phục hồi mật khẩu kém bảo mật, các chứng thư bảo vệ yếu hoặc việc thiếu quyền điều khiển truy nhập chi tiết để truy nhập vào giao diện cụ thể. Lỗ hổng này có thể làm mất, sai lệch dữ liệu, hoặc từ chối truy nhập dịch vụ và thậm chí có thể dẫn tới việc chiếm quyền thiết bị hoàn toàn. 1.4.3. Các dịch vụ mạng không an toàn Kẻ tấn công sử dụng các dịch vụ mạng dễ bị tấn công để tấn công vào thiết bị. Lỗ hổng này có thể làm tràn bộ nhớ đệm, gây ra tình trạng từ chối dịch vụ, khiến người dùng không thể truy cập vào thiết bị. Dạng tấn công này có thể dẫn tới việc làm mất dữ liệu, thay đổi nội dung dữ liệu hoặc tạo điều kiện thuận lợi cho việc tấn công vào các thiết bị khác. 1.4.4. Thiếu cơ chế mã hoá truyền tin Nếu dữ liệu trong quá cảnh không được mã hóa đúng cách, kẻ tấn công có thể tận dụng lợi thế đó để ăn cắp dữ liệu nhạy cảm.Thông thường, lưu lượng mạng của thiết bị IoT không được tiếp xúc với bên ngoài mạng. Nhưng, nếu các mạng không dây không được cấu hình đúng cách, nó có thể làm cho người trên mạng internet có thể nhìn thấy bất cứ ai trong phạm vi của mạng không dây. Và, có thể dẫn đến sự thỏa hiệp hoàn thành của các thiết bị hoặc tài khoản người dùng. Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản dựa trên mô hình IoT Sinh viên thực hiện: Nguyễn Công Được GV Hướng dẫn: Th.S Nguyễn Văn Nguyên 11 1.4.5. Nếu cấu hình an ninh không đủ Lỗ hổng này tồn tại nếu các thiết bị hạn chế hoặc không có khả năng làm thay đổi kiểm soát an ninh hoặc các giao diện web không có tùy chọn để tạo quyền sử dụng và không thể thực thi sử dụng mật khẩu mạnh. Những kẻ tấn công có thể lợi dụng điều này để khai thác các lỗ hổng trong các thiết bị để ăn cắp dữ liệu nhạy cảm hoặc làm cho các cuộc tấn công nhiều hơn. 1.4.6. Bảo mật vật lý kém Những kẻ tấn công có thể khai thác truy cập vật lý của hệ thống cũng làm phát sinh bạo tấn công. Họ có thể sử dụng cổng USB, thẻ SD hoặc lưu trữ khác có nghĩa là để truy cập vào hệ điều hành và dữ liệu được lưu trữ trong các thiết bị và khai thác đó cho mục đích xấu. 1.4.7. Phần mềm không an toàn Thiết bị IoT nên có khả năng sẽ được cập nhật khi lỗ hổng được phát hiện. Nhưng, nếu các tập tin cập nhật không được bảo vệ, nó có thể bị bắt bởi những kẻ tấn công và khai thác cho mục đích xấu. Những kẻ tấn công có thể chụp các tập tin cập nhật không được mã hóa hoặc có thể thực hiện cập nhật độc hại của riêng mình. 1.5. Các lĩnh vực ứng dụng của IoT 1.5.1. Quản lý hạ tầng Ứng dụng quang trọng của IoT là quản lý cơ sở hạ tầng, với IoT có thể giám sát và kiểm soát các hoạt động của cơ sở hạ tầng đô thị và nông thôn như cầu, đường ray tàu hỏa và trang trại, IoT có thể được sử dụng để theo dõi bất kỳ sự kiện hoặc những thay đổi trong điều kiện cơ cấu mà có thể ảnh hưởng đến sự an toàn và sự nguy hiểm đến hạ tầng. Nó cũng có thể được sử dụng để lập kế hoạch hoạt động sửa chữa và bảo trì một cách hiệu quả 1.5.2. Y tế Thiết bị IoT có thể được sử dụng để cho phép theo dõi sức khỏe từ xa và hệ thống thông báo khẩn cấp. Các thiết bị theo dõi sức khỏe có thể đo huyết áp và nhịp tim với các thiết bị tiên tiến có khả năng giám sát cấy ghép đặc biệt, chẳng hạn như Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản dựa trên mô hình IoT Sinh viên thực hiện: Nguyễn Công Được GV Hướng dẫn: Th.S Nguyễn Văn Nguyên 12 máy điều hòa nhịp hoặc trợ thính tiên tiến. Cảm biến đặc biệt cũng có thể được trang bị trong không gian sống để theo dõi sức khỏe của người già. 1.5.3. Xây dựng và tự động hóa nhà Với các thiết bị IoT có thể được sử dụng để giám sát và kiểm soát các hệ thống cơ khí, điện và điện tử được sử dụng trong nhiều loại hình tòa nhà. Hệ thống tự động hóa, như các tòa nhà tự động hóa hệ thống, thường được sử dụng để điều khiển chiếu sáng, sưởi ấm, thông gió, điều hòa không khí, thiết bị, hệ thống thông tin liên lạc, giải trí và các thiết bị an ninh gia đình để nâng cao sự tiện lợi, thoải mái, hiệu quả năng lượng và an ninh. 1.5.4. Giao thông Các sản phẩm IoT có thể hỗ trợ trong việc tích hợp các thông tin liên lạc, kiểm soát và xử lý thông tin qua nhiều hệ thống giao thông vận tải. Ứng dụng của IoT mở rộng đến tất cả các khía cạnh của hệ thống giao thông, tức là xe, cơ sở hạ tầng, và người lái xe hoặc sử dụng. Tương tác giữa các thành phần của một hệ thống giao thông vận tải cho phép điều khiển giao thông thông minh, bãi đậu xe thông minh, hệ thống thu phí điện tử, quản lý đội xe, điều khiển xe, an toàn và hỗ trợ đường bộ. 1.5.5. Nông nghiệp Hình 1.4. IoT trong nông nghiệp Với các thiết bị của IoT có thể hỗ trợ người nông dân giám sát thông số về Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản dựa trên mô hình IoT Sinh viên thực hiện: Nguyễn Công Được GV Hướng dẫn: Th.S Nguyễn Văn Nguyên 13 nhiệt độ, độ ẩm không khí, độ ẩm đất, áp suất, ánh sáng, gió, mưa và độ ẩm của đất trồng v.v. giúp người nông dân giảm thời gian lao động, tăng năng suất cây trồng CHƯƠNG 2: LẬP TRÌNH VỚI BOARD MẠCH ARDUINO ĐỂ XÂY DỰNG HỆ THỐNG IOT. 2.1. Giới thiệu về Arduino 2.1.1. Giới thiệu Arduino là một board mạch vi điều khiển do một nhóm giáo sư và sinh viên Ý thiết kế và đưa ra đầu tiên vào năm 2005. Mạch Arduino được sử dụng để cảm nhận và điều khiển nhiều đối tượng khác nhau. Nó có thể thực hiện nhiều nhiệm vụ từ lấy tín hiệu từ cảm biến đến điều khiển đèn, động cơ, và nhiều đối tượng khác. Ngoài ra mạch còn có khả năng liên kết với nhiều module khác nhau như module đọc thẻ từ, Ethernet Shield, SIM900A, để tăng khả ứng dụng của mạch. Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM, Atmel 32-bit Hiện phần cứng của Arduino có tất cả 6 phiên bản, Tuy Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản dựa trên mô hình IoT Sinh viên thực hiện: Nguyễn Công Được GV Hướng dẫn: Th.S Nguyễn Văn Nguyên 14 nhiên phiên bản thường được sử dụng nhiều nhất là Arduino Uno và Arduino Mega. Arduino Uno được sử dụng rất rộng rãi trên thế giới. 2.1.2. Các loại board mạch Arduino Về mặt chức năng, các board mạch Arduino được chia thành hai loại: loại board mạch chính có chip Atmega và loại mở rộng thêm chức năng cho board mạch chính (thường được gọi là shield). Các bo mạch chính về cơ bản là giống nhau về chức năng, tuy nhiên về mặt cấu hình như số lượng I/O, dung lượng bộ nhớ, hay kích thước có sự khác nhau. Một số bo có trang bị thêm các tính năng kết nối như Ethernet và Bluetooth. Các bo mở rộng chủ yếu mở rộng thêm một số tính năng cho board mạch chính ví dụ như tính năng kết nối Ethernet, Wireless, điều khiển động cơ v.v. 2.1.3. Môi trường lập trình board mạch Arduino Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiều lợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần mềm. Môi trường lập trình đơn giản dễ 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. Môi trường lập trình 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. 2.1.4. Các ứng dụng của board mạch Arduino Arduino được chọn làm bộ não xử lý của rất nhiều thiết bị từ đơn giản đến phức tạp. Trong số đó có một vài ứng dụng thực sự chứng tỏ khả năng vượt trội của Arduino do chúng có khả năng thực hiện nhiều nhiệm vụ rất phức tạp, có thể kể đến như  Thiết bị in 3D Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản dựa trên mô hình IoT Sinh viên thực hiện: Nguyễn Công Được GV Hướng dẫn: Th.S Nguyễn Văn Nguyên 15  Robot  Các thiết bị bay không người lái 2.2. Kiến trúc của Arduino Về cơ bản, bộ xử lý của board Arduino sử dụng kiến trúc Harvard, nơi mã chương trình và dữ liệu chương trình có bộ nhớ riêng biệt. Nó bao gồm hai bộ nhớ: bộ nhớ chương trình và bộ nhớ dữ liệu. Trong đó dữ liệu được lưu trữ trong bộ nhớ dữ liệu và mã được lưu trữ trong bộ nhớ chương trình flash. Vi điều khiển Atmega328 có 32kb bộ nhớ flash, 2kb SRAM 1kb của EPROM và hoạt động với tốc độ đồng hồ 16MHz. Hình 2.1. Kiến trúc mạch Arduino. 2.2.1. Phần cứng của Arduino Uno R3 Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản dựa trên mô hình IoT Sinh viên thực hiện: Nguyễn Công Được GV Hướng dẫn: Th.S Nguyễn Văn Nguyên 16 Hình 2.2. Mạch Arduino Uno 2.2.1.1. Cáp USB Đây là dây cáp thường được bán kèm theo bo, dây cáp dùng để cắm vào máy tính để nạp chương trình cho bo và dây đồng thời cũng lấy nguồn từ nguồn usb của máy tính để cho bo hoạt động. Ngoài ra cáp USB còn được dùng để truyền dữ liệu từ bo Arduino lên máy tính. Dây cáp có 2 đầu, đầu 1a được dùng để cắm vào cổng USB trên bo Arduino, đầu 1b dùng để cắm vào cổng USB trên máy tính 2.2.1.2. IC Atmega 16U2 IC này được lập trình như một bộ chuyển đổi USB –to-Serial dùng để giao tiếp với máy tính thông qua giao thức Serial (dùng cổng COM). 2.2.1.3. Cổng nguồn ngoài Cổng nguồn ngoài nhằm sử dụng nguồn điện bên ngoài như pin, bình acquy hay các adapter cho bo Arduino hoạt động. Nguồn điện cấp vào cổng này là nguồn DC có hiệu điện thế từ 6V đến 20V, tuy nhiên hiệu điện thế tốt nhất mà nhà sản xuất khuyên dùng là từ 7 đến 12V. Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản dựa trên mô hình IoT Sinh viên thực hiện: Nguyễn Công Được GV Hướng dẫn: Th.S Nguyễn Văn Nguyên 17 2.2.1.4. Cổng USB Cổng USB trên bo Arduino dùng để kết nối với cáp USB. 2.2.1.5. Nút reset Nút reset được sử dụng để reset lại chương trình đang chạy. Đôi khi chương trình chạy gặp lỗi, người dùng có thể reset lại chương trình. 2.2.1.6. ICSP của ATmega 16U2 ICSP là chữ viết tắt của In-Circuit Serial Programming. Đây là các chân giao tiếp SPI của chip Atmega 16U2. Các chân này thường ít được sử trong các dự án về Arduino. 2.2.1.7. Chân xuất tín hiệu ra Có tất cả 14 chân xuất tín hiệu ra trong Arduino Uno, những chân có dấu ~ là những chân có thể băm xung (PWM), tức có thể điều khiển tốc độ động cơ hoặc độ sáng của đèn. Hình 2 thể hiện rất rõ những chân để băm xung này. 2.2.1.8. IC ATmega 328 IC này được sử dụng trong việc thu thập dữ liệu từ cảm biến, xử lý dữ liệu, xuất tín hiệu ra. 2.2.1.9. Chân ICSP của ATmega 328 Các chân ICSP của ATmega 328 được sử dụng cho các giao tiếp SPI (Serial Peripheral Interface), một số ứng dụng của Arduino có sử dụng chân này, ví dụ như sử dụng module RFID RC522 với Arduino hay Ethernet Shield với Arduino. 2.2.1.10. Chân lấy tín hiệu Analog Các chân này lấy tín hiệu Analog (tín hiệu tương tự) từ cảm biến để IC Atmega 328 xử lý. Có tất cả 6 chân lấy tín hiệu Analog, từ A0 đến A5. 2.2.1.11. Chân cấp nguồn cho cảm biến Các chân này dùng để cấp nguồn cho các thiết bị bên ngoài như role, cảm biến, RC servo trên khu vực này có sẵn các chân GND (chân nối đất, chân âm), Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản dựa trên mô hình IoT Sinh viên thực hiện: Nguyễn Công Được GV Hướng dẫn: Th.S Nguyễn Văn Nguyên 18 chân 5V, chân 3.3V như được thể hiện ở hình 2. Nhờ những chân này mà người sử dụng không cần thiết bị biến đổi điện khi cấp nguồn cho cảm biến, role, rc servo Ngoài ra trên khu vực này còn có chân Vin và chân reset, chân IOREF. 2.2.1.12. Các linh kiện khác trên board Arduino Uno Ngoài các linh kiện đã liệt kê bên trên, Arduino Uno còn 1 số linh kiện đáng chú ý khác. Trên bo có tất cả 4 đèn led, bao gồm 1 led nguồn (led ON nhằm cho biết board đã được cấp nguồn), 2 led Tx và Rx, 1 led L. Các led Tx và Rx sẽ nhấp nháy khi có dữ liệu truyền từ board lên máy tính hoặc ngược lại thông qua cổng USB. Led L được được kết nối với chân số 13. Led này được gọi là led on board (tức led trên bo), led này giúp người dùng có thể thực hành các bài đơn giản mà không cần dùng thêm led ngoài. Trong 14 chân ra của bo còn có 2 chân 0 và 1 có thể truyền nhận dữ liệu nối tiếp TTL. Có một số ứng dụng cần dùng đến tính năng này, ví dụ như ứng dụng điều khiển mạch Arduino Uno qua điện thoại sử dụng bluetooth HC05. Thêm vào đó, chân 2 và chân 3 cũng được sử dụng cho lập trình ngắt (interrupt), đồng thời còn 1 vài chân khác có thể được sử dụng cho các chức năng khác, như được thể hiện ở hình 3. Bảng 1 thể hiện thêm các thông số cho bo Arduino Uno R3. Hình 2.3. Các chân vào ra của Arduino Uno Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản dựa trên mô hình IoT Sinh viên thực hiện: Nguyễn Công Được GV Hướng dẫn: Th.S Nguyễn Văn Nguyên 19 Bảng 1.1. Một số thông số của Arduino Uno R3 Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản dựa trên mô hình IoT Sinh viên thực hiện: Nguyễn Công Được GV Hướng dẫn: Th.S Nguyễn Văn Nguyên 20 2.3. Ưu điểm của Arduino - Mạch Arduino rẻ. - Nó đi kèm với một tính năng phần cứng cung cấp mở cho phép người dùng phát triển bộ riêng của mình. - P

Các file đính kèm theo tài liệu này:

  • pdfde_tai_xay_dung_he_thong_ho_tro_nuoi_trong_thuy_san_theo_mo.pdf