Ngày nay với sự phát triển của Internet và công nghệ mạng cảm biến, vì vậy IoT là một lĩnh vực được nước ta quan tâm và có nhiều đầu tư để ứng dụng vào thực tiễn. Chính vì vậy, đề tài này sẽ có một ý nghĩa khoa học rất lớn, kết quả của đề tài sẽ góp phần xây dựng các hệ thống nuôi trồng thủy sản thông minh, mang lại nhiều lợi ích kinh tế.Nghiên cứu về Internet of ThingsNghiên cứu lập trình trên các thiết bị cảm biến, mạch điều khiển thu nhận và phát tín hiệu về trung tâm xử lý, điều khiển tự động hóaXây dựng ứng dụng quản lý thông tin về các thông số kỹ thuật của hồ nuôi thủy sản trên môi trường internet
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ………
Độc lập - Tự do - Hạnh phúc
TÓM TẮT
Mục tiêu của đề tài là xây dựng hệ thống cảm biến để:
Giám sát nhiệt độ trong hồ nuôi
Giám sát độ pH trong hồ nuôi
cảnh báo
Hệ thống cảm biến gửi dữ liệu về web server để người dùng có thể giám sátđược trạng thái của hồ nuôi ở bất kì nơi nào có internet
Trang 2Trước hết em xin bày tỏ lòng biết ơn chân thành đến Th.S Nguyễn VănNguyên người đã tận tình hướng dẫn, giúp đỡ và tạo điều kiện thuận lợi cho chúng
em trong thời gian thực hiện đề tài Xin gửi lời cảm ơn chân thành tới các thầy cô,
và các bạn trong khoa Công Nghệ Thông Tin - ĐH Bách Khoa Đà Nẵng đã tận tìnhgiúp đỡ, động viên và tạo điều kiện để em thực hiện tốt đề tài này
Mặc dù đã hết sức cố gắng xong chắc chắn không tránh khỏi những thiếu sót.Chúng em rất mong nhận được sự thông cảm và chỉ bảo tận tình của quý thầy cô,các anh chị và tất cả các bạn
Đà Nẵng, ngày tháng năm 2018
Trang 3Tôi xin cam đoan:
Những nội dung trong Khóa Luận Tốt Nghiệp này là do chúng tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy giáo Th.S Nguyễn Văn Nguyên.
Mọi tham khảo dùng trong khóa luận tốt nghiệp này đều được trích dẫn rõ ràng và trung thực tên tác giả, tên công trình, thời gian, địa điểm công bố.
Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm.
Đà Nẵng, ngày tháng năm 2018
Sinh viên thực hiện
Nguyễn Công Được
Trang 4Tó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
Trang 51.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
CHƯƠNG 2: LẬP TRÌNH VỚI BOARD MẠCH ARDUINO ĐỂ XÂY DỰNG HỆ THỐNG IOT. 12
2.1 Giới thiệu về Arduino 12
2.1.1 Giới thiệu 12
2.1.2 Các loại board mạch Arduino 12
2.1.3 Môi trường lập trình board mạch Arduino 12
2.1.4 Các ứng dụng của board mạch Arduino 13
Trang 62.4 Lập trình với mạch Arduino cho dự án IoT 18
2.4.1 Cấu trúc của một chương trình trên Arduino 19
2.4.2 Lập trình với mạch Arduino 20
CHƯƠNG 3: XÂY DỰNG VÀ TRIỂN KHAI HỆ THỐNG GIÁM SÁT CÁC THÔNG SỐ KỸ THUẬT TRONG HỒ NUÔI THỦY SẢN DỰA TRÊN IOT
31 3.1 Phân tích và thiết kế hệ thống 31
3.1.1 Yêu cầu của đề tài 31
3.1.2 Phân tích đề tài 31
3.2 Triển khai hệ thống 32
3.2.1 Thiết kế hệ thống 32
3.2.2 Thông số kỹ thuật của các cảm biến trong mạch 34
3.3 Thử nghiệm và đánh giá kết quả của hệ thống 38
3.3.1 Thử nghiệm hệ thống 38
3.3.2 Đánh giá kết quả của hệ thống 42
KẾT LUẬN 43
1 Những vấn đề đạt được qua đề tài: 43
2 Hạn chế trong đề tài 43
3 Hướng phát triển 43
TÀI LIỆU THAM KHẢO 44
Trang 7Hình 1.3 Kiến trúc của IoT 7
Hình 1.4 IoT trong nông nghiệp 11
Hình 2.1 Kiến trúc mạch Arduino 14
Hình 2.2 Mạch Arduino Uno 14
Hình 2.3 Các chân vào ra của Arduino Uno 17
Bảng 1.1 Một số thông số của Arduino Uno R3 17
Hình 2.4 Ví dụ về 1 void setup 19
Hình 2.5 Ví dụ về 1 void loop 19
Hình 2.6 Sơ đồ minh họa cấu trúc chương trình trên arduino 20
Hình 2.7 Trang chủ của Arduino 22
Hình 2.8 Màn hình của phần download 22
Hình 2.9 File chạy phần mềm sau khi download về 23
Hình 2.10 Thông báo về điều khoản phần mềm 23
Hình 2.11 Các lựa chọn khi cài đặt 24
Hình 2.12 Chọn đường dẫn cho phần mềm 24
Hình 2.13 Quá trình cài đặt đang được thực hiện 25
Hình 2.14 Cài đặt driver USB cho IDE 25
Hình 2.15 Phần mềm đã được cài đặt xong 26
Hình 2.16 Kết nối arduino uno r3 với máy tính 26
Hình 2.17 Tìm cổng COM kết nối với arduino uno r3 27
Hình 2.18 Arduino uno r3 được kết nối với COM3 27
Hình 2.19 Chọn đúng board ardunio mình sử dụng 28
Hình 2.20 Chọn cổng COM cho arduino IDE 28
Trang 8Hình 2.24 Cửa sổ chương trình "Blink" hiện ra 30
Hình 2.25 Đúp chuột vào chổ chỉ của dấu mũi tên 30
Hình 3.1 Sơ đồ thiết kế của hệ thống IoT 33
Hình 3.2 Cấu tạo của cảm biến nhiệt độ nước DS18B20 34
Hình 3.3 Bộ cảm biến đo pH của nước 35
Hình 3.4 Cảm biến độ hòa tan oxy trong nước 36
Hình 3.5 Cảm biến độ đục của nước 36
Hình 3.6 Giao diện đăng nhập 38
Hình 3.7 Trang chủ 39
Hình 3.8 Giao diện xem nhật ký theo dõi 39
Hình 3.9 Bản đồ thể hiện sự thay đổi của nhiệt độ 40
Hình 3.10 Bản đồ thể hiện sự thay đổi trạng thái của các thiết bị 40
Hình 3.11 Điều khiển bật/tắt đèn led 411
Y Bảng 1.1 Một số thông số của Arduino Uno R3 17
Trang 9IoT Internet of Things Kết nối vạn vật
SNMP Simple Network
Management Protocol
tập hợp các giao thức
Environment
Môi trường phát triển tích hợp
PWM Pulse Width Modulation
Trang 10PHẦN 1 MỞ ĐẦU
1.1 Lý do chọn đề tài
Trước kia khi khoa học kỹ thuật chưa phát triển, chưa được ứng dụng vào nuôitrồng thủy sản, người nuôi phải giám sát các điều kiện như nhiệt độ, độ PH, hòa tanoxy của hồ bằng thủ công như dùng nhiệt kế, bút đo PH đã làm mất thời gian,sức lực và kinh phí của người nuôi Cùng với đó là diện tích nuôi trồng thủy sản ở
ta ngày càng lớn và phát triển đi kèm với nó là công nghệ kĩ thuật cần phát triểntheo để đáp ứng được nhu cầu của người nông dân, người nông dân thường ít tiếpxúc được với các công nghệ mới Là sinh viên năm cuối với những kiến thức đãđược học em mong muốn tạo ra một hệ thống tự động áp dụng trong nuôi trồng
thủy sản nên em chọn đề tài “Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản theo mô hình IoT” để người nông dân có thể dễ dàng quản lí khu vực nuôi thủy sản của mình
một cách dễ dàng nhất, đạt hiệu quả đáng kể, giúp cho người nuôi biết được cáctrạng thái của môi trường ao hồ nuôi để kịp thời xử lý, giảm thiểu rủi ro và tăngnăng suất nuôi thủy sản
1.2 Mục tiêu
Mục tiêu của đề tài là xây dựng hệ thống IoT để:
- Giám sát nhiệt độ trong hồ nuôi
- Giám sát độ PH trong hồ nuôi
- Giám sát độ Oxy hòa tan trong hồ
- Giám sát độ đục của nước trong hồ
- Đưa ra cảnh báo và hướng xử lý khi các điều kiện môi trường vượt quá mứccảnh báo
Trang 11các yếu tố và điều kiện cảnh báo phù hợp với loại thủy sản.
- Điều khiển các thiết bị như máy bơm, máy sục thông qua smartphone tại bất
kì đâu có kết nối mạng
1.3 Đối tượng nghiên cứu
Áp dụng IoT vào mô hình nuôi trồng thủy sản
1.4 Phạm vi nghiên cứu
Phạm vi đề tài:
- Nghiên cứu về Internet of Things
- Nghiên cứu lập trình trên các thiết bị cảm biến, mạch điều khiển thu nhận vàphát tín hiệu về trung tâm xử lý, điều khiển tự động hóa
- Xây dựng ứng dụng quản lý thông tin về các thông số kỹ thuật của hồ nuôithủy sản trên môi trường internet
Giới hạn của đề tài:
Đề tài chỉ xây dựng một hệ thống IoT để thu tập các thông tin của hồ để đưa racác cảnh báo và điều khiển một số thiết bị tự động qua môi trường Internet, đề tàikhông tính đến độ bền của các thiết bị cảm biến, vì giới hạn về kinh phí nên đề tàichỉ sử dụng các thiết bị cảm biến và các board điều khiển rẻ tiền nên dễ hỏng
1.5 Ý nghĩa khoa học và thực tiễn
Ngày nay với sự phát triển của Internet và công nghệ mạng cảm biến, vì vậyIoT là một lĩnh vực được nước ta quan tâm và có nhiều đầu tư để ứng dụng vào thựctiễn Chính vì vậy, đề tài này sẽ có một ý nghĩa khoa học rất lớn, kết quả của đề tài
sẽ góp phần xây dựng các hệ thống nuôi trồng thủy sản thông minh, mang lại nhiềulợi ích kinh tế
Trang 121.6 Bố cục báo cáo
Đề tài gồm 3 chương:
Chương 1: Tổng quan về IoT.
Trong chương này trình bày về định nghĩa, khái niệm và lịch sử phát triển củaIoT Bên cạnh đó, trình bày về kiến trúc của IoT, các vấn đề bảo mật của IoT và cáclĩnh vực ứng dụng của IoT tại Việt Nam
Chương 2: Lập trình với Board mạch Arduino để xây dựng hệ thống IoT
Trong chương này trình bày và giới thiệu về mạch Arduino: kiến trúc, ưunhược điểm của mạch và cách lập trình với mạch
Chương 3: Xây dựng và triển khai hệ thống giám sát các thông số kỹ thuật trong hồ
nuôi thủy sản dựa trên IoT
Trong chương này trình bày về việc phân tích, thiết kế hệ thống và triển khai
hệ thống IoT hỗ trợ trong nuôi trồng thủy sản
Trang 14CHƯƠNG 1: TỔNG QUAN VỀ IOT
1.1 IoT (Internet of Things) là gì?
1.1.1 Định nghĩa
Thiết bị (device): Đối với Internet of Things, đây là một phần của cả hệ thốngvới chức năng bắt buộc là truyền thông và chức năng không bắt buộc là: cảm biến,thực thi, thu thập dữ liệu, lưu trữ và xử lý dữ liệu
Internet of Things: Là một cơ sở hạ tầng mang tính toàn cầu cho xã hội thôngtin, mang đến những dịch vụ tiên tiến bằng cách kết nối các “Things” (cả physicallẫn virtual) dựa trên sự tồn tại của thông tin, dựa trên khả năng tương tác của cácthông tin đó và dựa trên các công nghệ truyền thông
Things: Đối với Internet of Things, “Things” là đối tượng của thế giới vậtchất (physical things) hay thế giới thông tin ảo (virtual things) “Things” có khảnăng được nhận diện, và “Things” có thể được tích hợp vào trong mạng lưới thôngtin liên lạc
1.1.2 Khái niệm
IoTlà một kịch bản của thế giới, khi mà mỗi đồ vật, con ngườiđược cung cấpmột định danh của riêng mình, và tất cả có khả năng truyền tải, trao đổi thôngtin, dữ liệu qua một mạng duy nhất mà không cần đến sự tương tác trực tiếp giữangười với người, hay người với máy tính IoT đã phát triển từ sự hội tụ của côngnghệ không dây, công nghệ vi cơ điện tử và Internet Nói đơn giản là một tậphợpcác thiết bị có khả năng kết nối với nhau, với internet và với thế giới bên ngoài
để thực hiện một công việc nào đó
Trang 15Hình 1.1 Khái niệm IoT
Hay hiểu một cách đơn giản IoT là tất cả các thiết bị có thể kết nối với nhau.Việc kết nối thì có thể thực hiện qua Wi-Fi, mạng viễn thông băng rộng (3G, 4G),Bluetooth, ZigBee, hồng ngoại… Các thiết bị có thể là điện thoại thông minh, máypha cafe, máy giặt, tai nghe, bóng đèn, và nhiều thiết bị khác
1.2 Lịch sử phát triển của IoT
1.2.1 Lịch sử sự phát triển của IoT qua từng giai đoạn.
Thời kì trước, khái niệm nhà thông minh với khả năng điều khiển từ xa, điềukhiển bằng nút bấm chỉ xuất hiện trong phim ảnh Ngày nay, với sự vững mạnh củakhoa học kỹ thuật và các ứng dụng côn nghệ, nhà thông minh không còn xa vời.Chúng ta hãy đi tìm hiểu lịch sử của IoT qua từng giai đoạn
Năm 1990, John Romkey đã tạo ra một máy nướng bánh mì có thể được bật vàtắt trên Internet cho hội nghị INTEROP tháng 10 năm 1989 và đây cũng được coi làthiết bị IoT đầu tiên Dan Lynch, Chủ tịch Interop đã hứa với Romkey rằng, nếuRomkey có thể "nướng bánh mỳ của mình trên mạng", máy sẽ được đặt trong cácnhà triển lãm tại hội nghị Máy nướng bánh mỳ được kết nối với một máy tính cókết nối mạng TCP / IP Sau đó sử dụng một cơ sở thông tin (SNMP MIB) để bậtnguồn
Năm 1993, Quentin Stafford-Fraser và Paul Jardetzky đã tạo ra một phòngCây trồng được đặt trong “Phòng Trojan” trong Phòng Thí nghiệm Máy tính củaĐại học Cambridge và được sử dụng để theo dõi nối với một hình ảnh được cậpnhật khoảng 3 phút Và gửi đến các máy chủ của tòa nhà Sau đó nó gửi lên trình
Trang 16duyệt để có thể hiển thị hình ảnh.
Năm 1999 là một năm quan trọng của IoT, trong năm này khái niệm IoT(Internet of Things) đã được đặt ra bởi Kevin Ashton (một trong những người sánglập của Trung tâm Auto ID ban đầu) xem như là điều kiện tiên quyết cho IoT thờiđiểm đó
Năm 2011, Khởi động công khai IPV6- Giao thức mới cho phép 2128(khoảng
340 undecillion hoặc 340,282,366,920,938,463,463,374,607,431,768,211,456) địachỉ.
Vào năm 2013, Internet of Things đã phát triển thành một hệ thống sử dụngnhiều công nghệ, từ Internet đến truyền thông không dây và từ các hệ thống cơ điện
vi mô (MEMS) sang các hệ thống nhúng.Các lĩnh vực truyền thống của tự độnghóa (bao gồm tự động hóa các tòa nhà và gia đình), các mạng cảm biến không dây,GPS, các hệ thống điều khiển, và các thiết bị khác đều hỗ trợ IoT
Trang 171.2.2 IoT trong tương lai
Những con số khẳng định IoT là xu hướng của tương lai:
Internet of Things đến năm 2020:
4 tỷ người kết nối với nhau
4 ngàn tỷ USD doanh thu
Hơn 25 triệu ứng dụng
Hơn 25 tỷ hệ thống nhúng và hệ thống thông minh
50 ngàn tỷ Gigabytes dữ liệu
Vì thế, Internet of Things đang là chìa khóa của thành công trong tương lai
1.3 Kiến trúc của IoT
Hình 1.3 Kiến trúc của IoT
Một kiến trúc IoT điển hình bao gồm các yếu tố sau đây:
1.3.1 Hệ thống cơ bản
Nó đề cập đến các thiết bị cổ điển, thực hiện nhiệm vụ được xác định của nónhư đồ gia dụng, điện chiếu sáng, đo năng lượng, truyền hình v.v.v
Trang 181.3.2 Công nghệ không dây
Công nghệ không dây kết nối hệ thống cơ sở để các thiết bị khác, mạng nội bộhoặc đám mây Nó cho phép giám sát và kiểm soát các hệ thống cơ bản từ xa Côngnghệ không dây khác nhau phổ biến là Bluetooth, Bluetooth Smart, Zigbee, subGhz,Wi-Fi, v.v
1.3.3 Hệ thống điều khiển
Thiết bị hệ thống điều khiển được sử dụng để giám sát các hệ thống cơ bảnbằ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êndụ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ạithô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ôngnghệ 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 đốivới sự phát triển của hệ thống IoT Cảm biến đã làm cho nó có thể để theo dõichuyể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 đổicuộ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áchmạng trong việc giao tiếp giữa con người - đồ vật và giữa các đồ vật với nhau Tuynhiên, để có thể khai thác được những tiềm năng lớn mà IoT mang lại, còn nhiềuvấ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
Trang 19IoT 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ộidung, 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ấncô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émbả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 chitiế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ếnngườ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ệclà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ấncô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ủathiế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ôngdâ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
Trang 201.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ợidụ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ảmhoặc làm cho các cuộc tấn công nhiều hơn.
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ámsá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ự antoàn và sự nguy hiểm đến hạ tầng Nó cũng có thể được sử dụng để lập kế hoạchhoạ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ịptim 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ư
Trang 21má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ể đượctrang 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ềukhiể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ôngtin 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ểmsoá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 giaothô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ề
Trang 22nhiệt độ, độ ẩm không khí, độ ẩm đất, áp suất, ánh sáng, gió, mưa và độ ẩm của đấttrồ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
Trang 23nhiê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ạiboard mạch chính có chip Atmega và loại mở rộng thêm chức năng cho board mạchchí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ớ, haykí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ạchchí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ềulợ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ựatrê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ấthiện nay là Windows, Macintosh OSX và Linux Do có tính chất nguồn mở nên môitrườ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 đếnphứ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ủaArduino 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ể đếnnhư
Thiết bị in 3D
Trang 24 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ểnAtmega328 có 32kb bộ nhớ flash, 2kb SRAM 1kb của EPROM và hoạt động vớitố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
Trang 25Hì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áytí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ủamá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ổngUSB trên bo Arduino, đầu 1b dùng để cắm vào cổng USB trên máy tính
Trang 262.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 giaotiế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 (SerialPeripheral 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 để ICAtmega 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ảmbiế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),
Trang 27dụ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 đángchú ý 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ếtboard đã được cấp nguồn), 2 led Tx và Rx, 1 led L Các led Tx và Rx sẽ nhấp nháykhi 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 ledtrê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ầndù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ốitiế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ềukhiể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 1và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
Trang 28Bảng 1.1 Một số thông số của Arduino Uno R3
Trang 292.3 Ưu điểm của Arduino
- Đối với người mới bắt đầu, nó rất đơn giản được sử dụng
2.4 Lập trình với mạch Arduino cho dự án IoT
Ưu điểm chính của công nghệ Arduino là có thể trực tiếp tải các chương trìnhvào thiết bị mà không cần một lập trình phần cứng để ghi lại chương trình Điều nàyđược thực hiện vì sự hiện diện của bộ nạp khởi động 0.5KB, cho phép chương trìnhđược đổ vào mạch điện Cửa sổ công cụ Arduino chứa một thanh công cụ với mộtnút khác nhau như mới, mở, xác minh, tải lên và theo dõi nối tiếp Và thêm nó baogồm một trình soạn thảo văn bản (được sử dụng để viết mã), không gian thông điệp(hiển thị thông tin phản hồi) như hiển thị các lỗi, bảng điều khiển văn bản, hiển thị o/ p và một loạt các menu giống như tệp tin, công cụ trình đơn và chỉnh sửa
Lập trình vào bảng Arduino được gọi là phác thảo Mỗi phác thảo chứa baphần như Declaration Variables, Initialization và Control code Ở đâu,Khởi tạo được viết bằng hàm thiết lập và Mã kiểm soát được viết bằngchức năng vòng lặp
Bản phác thảo được lưu với định dạng ino và bất kỳ thao tác nào như mởmột phác thảo, xác minh và lưu lại có thể được thực hiện bằng trình đơncông cụ
Bản phác thảo phải được lưu trữ trong thư mục phác thảo