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
59 trang |
Chia sẻ: Thành Đồng | Ngày: 11/09/2024 | Lượt xem: 29 | Lượt tải: 0
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:
- de_tai_xay_dung_he_thong_ho_tro_nuoi_trong_thuy_san_theo_mo.pdf