Nắm bắt được điều này, vận dụng kiến thức đã học, nhóm em đã tiến hành thực hiện đề tài với tên “NGHIÊN CỨU SỰ RÀNG BUỘC CỦA CÁC GIAO THỨC ONEM2M VỚI LỚP VẬN CHUYỂN MQTT”, Lập trình điều
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC ĐÔNG Á
-******* -ĐỒ ÁN MÔN HỌC:
ĐỒ ÁN IOT
ĐỀ TÀI:
NGHIÊN CỨU SỰ RÀNG BUỘC CỦA CÁC GIAO THỨC ONEM2M VỚI LỚP VẬN CHUYỂN MQTT
GVHD : ĐẶNG VĂN NGHĨA TÊN NHÓM : NHÓM 71
LỚP : IT18A1.12 KHOA : CÔNG NGHỆ THÔNG TIN
ĐÀ NẴNG, THÁNG 03 NĂM 2022
Trang 2PHÂN CÔNG CÔNG VIỆC
Trang 3LỜI CẢM ƠN
Nhóm em chân thành cảm ơn các thầy, cô Trường Đại Học Đông Á đã tận tình chỉ dạy, giúp đỡ nhóm trong suốt quá trình học tập tích lũy kiến thức ở trường, đặt biệt là thầy cô của khoa Công nghệ thông tin
Đặt biệt, chúng em muốn cảm ơn Thầy Đặng Văn Nghĩa đã tận tình giúp đỡ cũng như hỗ trợ trong suốt quá trình thực hiện đề tài Trong suốt quá trình thực hiện, thầy đã tận tình góp ý, chỉ dẫn và đôn đốc sinh viên để hoàn thành đề tài hoàn chỉnh và đúng hạn Một lần nữa em xin cảm ơn thầy
Người thực hiện đề tài
Võ Viết Minh Khoa Bùi Lê Đức Phú
Đỗ Văn Phong
Trang 4MỤC LỤC
PHÂN CÔNG CÔNG VIỆC 2
LỜI CẢM ƠN 3
MỤC LỤC 4
LỜI NÓI ĐẦU 7
CHƯƠNG 1 TỔNG QUAN 8
1.1 IoT là gì? 8
1.1.1 Định nghĩa Internet vạn vật (IoT) 8
1.1.2 Ứng dụng IoT 8
1.2 Xu hướng phát triển 9
CHƯƠNG 2 ĐỐI TƯỢNG VÀ PHƯƠNG PHÁP THỰC HIỆN 10
2.1 Giới thiệu 10
2.2 Giải thích chức năng các khối 11
2.2.1 Montion Sensor 11
2.2.2 SBC Board 11
2.2.3 Đèn phòng 11
2.2.4 Đèn LED 11
2.2.5 Server 11
2.2.6 PC admin 11
2.3 Mục tiêu đề tài 11
CHƯƠNG 3 QUÁ TRÌNH THỰC HIỆN MÔ HÌNH TRÊN PACKET TRACER 12
3.1 Thiết lập mô hình 12
3.2 Lập trình khối Blockly 12
3.2.1 Kịch bản 12
3.2.2 Các bước thực hiện 13
3.3 Kết quả chạy mô hình 18
CHƯƠNG 4 ĐÁNH GIÁ VÀ KẾT LUẬN 20
4.1 Đánh giá 20
4.1.1 Ưu điểm 20
4.1.2 Hạn chế 20
Trang 54.2 Kết luận 20
4.2.1 Kết luận 20
4.2.2 Hướng phát triển 20
TÀI LIỆU THAM KHẢO 21
Trang 6DANH MỤC HÌNH ẢNH
Hình 2.1 Mô hình giám sát và điều khiển trên Packet Tracer 10
Hình 3.1 Lập trình Blockly trên Packet Tracer 13
Hình 3.2 Hàm SET đặt giá trị biến motion 13
Hình 3.3 Các Function có trong chương trình 14
Hình 3.4 Function motionSensor ghim số chỉ định cho các cổng 14
Hình 3.5 Function readFromSensor đọc giá trị biến motion 14
Hình 3.6 Chạy chương trình để biến giá trị biến motion 15
Hình 3.7 Function motionEntry điều khiển các đầu cuối 15
Hình 3.8 Thiết lập dịch vụ Email ở máy chủ 16
Hình 3.9 Cấu hình Mail cho user quản trị viên 16
Hình 3.10 Cấu hình Mail trên mạch SBC 16
Hình 3.11 Function email gửi mail cho quản trị viên khi có hành động mở cửa 17
Hình 3.12 Chạy chương trình để xem biến motion và in ra kết quả 17
Hình 3.13 Mô hình khi cửa ở trạng thái đóng 18
Hình 3.14 Mô hình khi cửa ở trạng thái mở 18
Hình 3.15 Quản trị viên nhận được mail khi cửa mở 19
DANH MUC BẢNG BIỂU Bảng 2.1 Danh sách thiết bị 12
Trang 7LỜI NÓI ĐẦU
“Internet Of Things” đang là một chủ đề ngày càng nhận được nhiều sự quan tâm Đây là một khái niệm tuy mới nhưng không chỉ có khả năng tác động đến cuộc sống của chúng ta
mà còn ảnh hưởng đến cách chúng ta làm việc IoT (hay Internet of Things) hay “Vạn vật kết nối internet” đã không còn trở nên quá xa lạ, ta có thể đôi lần bắt gặp cụm từ này ở bất
kỳ đâu, từ những bản tin thời sự - công nghệ trên tivi, trên các trang mạng điện tử, hoặc
cụ thể là những ứng dụng thiết thực trong đời sống Internet of Things là một sự đột phá của công nghệ, nó giúp mọi thứ có thể trở nên thông minh hơn với khả năng kết nối vô tận giúp cho con người ngày càng thoải mái hơn trong cuộc sống này và không phải đụng tay đụng chân mọi thứ nữa Tuy nhiên vấn đề bảo mật vẫn là vấn đề nhức nhối và cần được phải có những biện pháp hiệu quả hơn trong tương lai Với những lợi ích trông thấy, bạn cũng muốn sở hữu một ứng dụng IoT cho căn nhà của bạn phải không nào? Thực ra, trên thị trường đã có những thiết bị như thế này rồi, với độ chính xác cao, nhưng giá thành lại rất mắc, vả lại không thể giám sát được từ xa
Cùng với sự bùng nổ của IoT, có rất nhiều các công nghệ truyền thông không dây được đưa vào sử dụng như Bluetooth Low Energy, WiFi và ZigBee Mỗi chuẩn kết nối đều có những đặc điểm về bảo mật, độ trễ, tnh di động, khoảng cách truyền, năng lượng tiêu thụ, tuổi tho pin, tốc độ dữ liệu tối đa rất khác nhau Đi kèm theo đó là những giao thức mới phù hợp cho mạng cảm biến không dây hoạt động dưới điều kiện năng lượng khiêm tốn
và khoảng cách truyền thông xa trong khi lượng dữ liệu trao đổi không quá lớn như MQTT, COAP Tuy nhiên khi càng nhiều công nghệ và giao thức ra đời, sự đa dạng hóa dẫn đến phân mảnh hệ sinh thái IoT bởi mỗi doanh nghiệp, tổ chức đều muốn phát triển những giải pháp, nền tảng độc lập của riêng mình, từ đó chọn lựa chuẩn kết nối và giao thức riêng, thậm chí độc quyền Vi dụ như các mạng cảm biến công suất thấp sẽ sử dụng những tiêu chuẩn kết nối tiết kiệm năng lượng như ZigBee, 6LOWPAN và các giao thức như COAP, MQTT Mặt khác, các ứng dụng yêu cầu tốc độ cao lại thường sử dụng
Wi-Fi, 3GPP và các giao thức như HTTP Do đó, với nỗ lực thúc đẩy sự hội tụ của các công nghệ, phát triển một nền tảng có thể kết nối và tương thích diện rộng giúp các ứng dụng IoT có thể phát triển theo chiều ngang, oneM2M ra đời
Việc nghiên cứu nền tảng oneM2M đang là một đề tài vô cùng rộng mở , thu hút nhiều kỹ
sư cùng các chuyên gia trên toàn thế giới Tiêu chuẩn chung cho oneM2M vẫn đang được dần hoàn thiện theo thời gian , nhiều tính năng và công nghệ mới cần được phát triển Trên thực thể đó, nhóm em thực hiện báo cáo này nhằm tìm hiểu chi tiết về tiêu chuẩn oneM2M hiện có, thực hiện xây dựng mô hình thử nghiệm các tính năng nổi bật
Nắm bắt được điều này, vận dụng kiến thức đã học, nhóm em đã tiến hành thực hiện đề
tài với tên “NGHIÊN CỨU SỰ RÀNG BUỘC CỦA CÁC GIAO THỨC ONEM2M VỚI LỚP VẬN CHUYỂN MQTT”, Lập trình điều khiển các thiết bị thông quan mạng
-Internet/Wifi trên phần mềm Arduino IDE Với đề tài này, nhóm hy vọng sẽ làm cơ sở nghiên cứu để các nhóm sau có thể phát triển và cải tiến thêm nữa
Sau đây là bài báo cáo về quá trình làm Đồ án IoT:
Trang 8- Chương 1: Cơ sở lý thuyết
- Chương 2: Phân tích thiết kế hệ thống
- Chương 3: Triển khai hệ thống
- Chương 4: Kết luận và hướng phát triển
Trang 9CHƯƠNG 1 TỔNG QUAN 1.1 Giới thiệu về IoT?
1.1.1 Định nghĩa Internet vạn vật (IoT)
IoT (Internet of Things) nghĩa là Internet vạn vật Một hệ thống các thiết bị tính toán, máy móc cơ khí và kỹ thuật số hoặc con người có liên quan với nhau và khả năng truyền dữ liệu qua mạng mà không yêu cầu sự tương tác giữa con người với máy tính
Việc kết nối tất cả các đối tượng khác nhau này và bổ sung thêm các cảm biến sẽ tăng thêm mức độ thông minh kỹ thuật số cho các thiết bị truyền thống, cho phép chúng giao tiếp dữ liệu thời gian thực mà không cần đến con người IoT đang làm cho cấu trúc của thế giới xung quanh chúng ta trở nên thông minh hơn và phản ứng nhanh hơn, hợp nhất
vũ trụ vật lý và kỹ thuật số
"Lớn và ngày càng lớn hơn" là những gì phù hợp để mô tả cho IoT ở thời điểm này Theo công ty phân tích công nghệ IDC dự đoán, sẽ có 41,6 tỷ thiết bị IoT được kết nối vào năm 2025
Một nhà phân tích công nghệ khác là Gartner dự đoán rằng lĩnh vực doanh nghiệp và ô tô
sẽ chiếm 5,8 tỷ thiết bị trong năm nay Mảng dịch vụ tiện ích sẽ có nhiều đối tượng sử dụng thiết bị IoT nhất nhờ vào sự xuất hiện của các đồng hồ thông minh Các thiết bị an ninh như camera sẽ là thiết bị IoT được sử dụng nhiều thứ hai Nhà thông minh sẽ là lĩnh vực phát triển nhanh nhất, tiếp theo là ô tô và chăm sóc sức khỏe
1.1.2 Ứng dụng IoT
- Hỗ trợ con người trong việc quản lý chất thải, các cảm biến được sử dụng trong các nhà máy xử lý rác thải sẽ cung cấp một nguồn thông tin đáng giá về chất lượng nước thải, về các chỉ số môi trường,… Việc này đem lại kết quả chính xác và tránh được những ảnh hưởng tiêu cực lên sức khỏe của những người công nhân so với việc lấy mẫu trực tiếp từ khu xử lý rác
- Quản lý đô thị, tận dụng các cảm biến của tất cả các xe đang lưu thông trên đường phố, chúng ta có thể lọc ra những con đường đã, đang và chuẩn bị tắc nghẽn, từ đó đề xuất những giải pháp kịp thời để tránh hiện tượng kẹt xe
- Nhà thông minh, loa thông minh, thiết bị đeo thông minh, tủ lạnh thông minh, máy giặt thông minh, điều hòa thông minh, đèn thông minh, rèm cửa thông minh,… Tất cả đều trở nên thông minh hơn nhờ vào IoT Nếu bạn tận dụng tốt dữ liệu từ các thiết bị IoT này, các thiết bị IoT có thể hoạt động một cách tự động mà không cần đến sự điều khiển trực tiếp của con người
Ví dụ như bạn đang trên đường chuẩn bị về nhà, cửa thông minh lúc này nhận biết được bạn là chủ nhà (nhờ vào thiết bị đeo thông minh trên tay bạn) thì nó sẽ tự mở cửa ra Cùng lúc đó, điều hòa sẽ tự động được bật, rèm cửa tự mở ra để lấy ánh sáng,… Tất cả sẽ được
tự động hóa hoàn toàn
Trang 101.1.3 Xu hướng phát triển
Với sự phát triển của Internet, smartphone và đặc biệt là các thiết bị cảm biến, Internet of Things (IoT) đang trở thành xu hướng mới của thế giới IoT được định nghĩa là những vật dụng có khả năng kết nối Internet Bạn vào nhà, mở khóa cửa, đèn sẽ tự động sáng chỗ bạn đứng, điều hòa sẽ tự động điều chỉnh nhiệt độ, nhạc sẽ tự động bật để chào đón bạn… những điều chỉ có trong phim khoa học viễn tưởng, đang dần trở thành hiện thực với công nghệ IoT
Internet of Things là những vật dụng có khả năng kết nối với nhau thông qua Internet Các thiết bị IoT được vận hành nhờ những bộ vi xử lý SOC bên trong Không như những
bộ vi xử lý thông thường, SOC giống như một máy tính trọn vẹn được thu gọn trong diện tích của một con chip điện tử, có kết nối không dây và đảm bảo tiết kiệm điện Dù nhỏ gọn, sức mạnh của các vi xử lý SOC là không phải bàn cãi khi nó hoàn toàn có thể vận hành trơn tru những hệ điều hành nặng nề như Windows hay Linux SOC rất phổ biến trong bên trong các linh kiện điện thoại
Theo dự báo của IDC, thị trường IoT được dự báo sẽ tăng gấp 3 lần, đạt 1,2 nghìn tỉ USD vào năm 2022 Không ít các doanh nghiệp lớn đã nhìn thấy tiềm năng của IoT và mạnh dạn đầu tư vào đây.Tuy nhiên, cũng giống như bất kỳ một công nghệ mới nào, IoT sẽ cần một nền tảng để vận hành.Và các doanh nghiệp công nghệ hiểu rằng, ai tạo ra được nền tảng dẫn đầu, họ sẽ là người chiến thắng trong xu hướng mới này
1.2 Tổng quan về nhà thông minh
Nhà thông minh (tiếng Anh: home automation, domotics, smart home hoặc Intellihome)
là kiểu nhà được lắp đặt các thiết bị điện, điện tử có thể được điều khiển hoặc tự động hoá hoặc bán tự động Thay thế con người trong thực hiện một hoặc một số thao tác quản lý, điều khiển Hệ thống điện tử này giao tiếp với người dùng thông qua bảng điện tử đặt trong nhà, ứng dụng trên điện thoại di động, máy tính bảng hoặc một giao diện web Các chức năng của nhà thông minh:
- Tiết kiệm năng lượng: Nhà thông minh giúp tiết kiệm năng lượng vì bây giờ không cần phải đốt tiền bằng cách quên tắt máy lạnh khi bạn đi làm Bằng cách theo dõi hệ thống sưởi, nước và điện của bạn, sẽ có rất ít khả năng chi trả quá mức hóa đơn điện
- Ánh sáng thông minh cho toàn căn nhà: Hệ thống ánh sáng thông minh luôn là đểm nhấn đặc biệt và phổ biến nhất khi dùng Smart Home Ánh sáng thông minh sẽ giúp bạn rất nhiều trong cuộc sống
- Đảm bảo an ninh cho toàn căn nhà: Sử dụng các Camera thông minh và thiết bị an ninh
để bảo vệ căn nhà của bạn Những camera chất lượng cao thường kết nối trực tiếp với điện thoại của bạn Chúng tôi có cung cấp cho người cùng các sản phẩm camera chất lượng trên thị trường Giờ đây, các cảm biến cửa, cảm biến chuyển động thông minh có thể kết nối vào hệ sinh thái nhà thông minh của bạn để kiểm soát trạng thái và báo động khi có đột nhập
- Hệ thống rèm cửa tự động: Hệ thống điều khiển rèm cửa, cửa sổ, cửa ra vào cũng luôn được tích hợp trong một ngôi nhà thông minh Với hệ thống điều khiển này bạn chỉ cần ngồi tại chỗ mà vẫn có thể dễ dàng điều khiển hệ thống rèm rửa, cửa cuốn… thông qua
Trang 11một cái chạm tay Đồng thời bạn cũng có thể thiết lập kịch bản cho rèm cửa như hạ xuống vào lúc 21h và mở lên vào lúc 6h sáng hôm sau Hoặc điều khiển mở rèm bằng giọng nói với loa thông minh
- Điều khiển ngôi nhà bằng giọng nói: Nhà thông minh còn có chức năng vô cùng đặc biệt
đó là Điều khiển bằng giọng nói Đây là một chức năng rất đặc biệt được nhiều người yêu thích bởi chúng cho phép chủ nhà điều khiển, kiểm soát tất cả các thiết bị trong gia đình bằng giọng nói của chính mình
Chỉ với một thiết bị có trợ lý ảo bạn có thể điều khiển mọi thứ trong nhà của mình Cho
dù bạn ở bất cứ nơi đâu, dù đi công tác, du lịch nghỉ dưỡng,… Phổ biến nhất hiện nay đó
là trợ lý ảo Siri, Google Assistant, Amazon Alexa
- Tự động hóa điều khiển: Smarthome không chỉ là điều khiển tắt bật từ xa, nó còn phải thông minh, tự động phản ứng theo các tình huống như: mở cửa thì đèn phải tự bật, có người trong nhà thì mở máy lạnh, đi ra ngoài thì tắt đi, hoặc bật nhạc một phòng thì các phòng khác bật theo
1.3 Tổng quan về bo mạch vi điều khiển Arduino
1.3.1 Arduino là gì?
Arduino là một bo mạch vi điều khiển do một nhóm giáo sư và sinh viên nước Ý 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ụ 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 nhiên phiên bản thường được sử dụng nhiều nhất là Arduino Uno và Arduino Mega
Phần mềm để lập trình cho mạch Arduino là phần mềm IDE
1.3.2 Ứng dụng của Arduino
Arduino có nhiều ứng dụng trong đời sống, trong việc chế tạo các thiết bị điện tử chất lượng cao Một số ứng dụng có thể kể đến như:
- Lập trình robot: Arduino chính là một phần quan trọng trong trung tâm xử lí giúp điều khiển được hoạt động của robot
- Lập trình máy bay không người lái Có thể nói đây là ứng dụng có nhiều kì vọng trong tương lai
- Game tương tác: chúng ta có thể dùng Arduino để tương tác với Joystick, màn hình,…
để chơi các trò như Tetrix, phá gạch, Mario… và nhiều game rất sáng tạo nữa
- Arduino điều khiển thiết bị ánh sáng cảm biến tốt Là một trong những bộ phần quan trọng trong cây đèn giao thông, các hiệu ứng đèn nháy được cài đặt làm nổi bật các biển quảng cáo
Trang 12- Arduino cũng được ứng dụng trong máy in 3D và nhiều ứng dụng khác tùy thuộc vào khả năng sáng tạo của người sử dụng
1.3.3 Phầm mềm lập trình Arduino IDE
Arduino cung cấp đến môi trường lập trình tích hợp mã nguồn mở hỗ trợ người dùng viết code và tải nó lên bo mạch Arduino Đây là môi trường đa nền tảng, hỗ trợ một loạt các
bo mạch Arduino cùng rất nhiều tính năng độc đáo Ứng dụng lập trình này có giao diện được sắp xếp hợp lý, phù hợp với cả những người dùng chuyên nghiệp lẫn không chuyên Arduino có môi trường lập trình được viết bằng java, hiện đang được sử dụng cho các bo mạch Arduino và Genuido, được nhiều công ty trên thế giới sử dụng để lập trình cho các thiết bị của họ Java 2 Platform Standard Edition cũng là một IDE hỗ trợ Java Hiện Java
2 Platform Standard Edition được rất nhiều người sử dụng
Arduino là môi trường phát triển tích hợp đa nền tảng, hỗ trợ cho một loạt các bo mạch Arduino như Arduino Uno, Nano, Mega, Esplora, Ethernet, Fio, Pro hay Pro Mini cũng như LilyPad Arduino Phần mềm này cũng phù hợp cho những lập trình viên C và C ++ là thay thế hoàn hảo cho các IDE khác Với những ai muốn học lập trình PHP, thì PHP Designer 2007 Personal là lựa chọn tốt Phần mềm PHP Designer 2007 Personal cung cấp các giải pháp hiệu quả trong thiết kế website
Các tính năng của Arduino IDE:
- Viết code cho bo mạch Arduino
- Hỗ trợ nhiều loại bo mạch Arduino
- Giao diện được sắp xếp hợp lý
- Bộ sưu tập các ví dụ mẫu
- Mảng thư viện hỗ trợ phong phú
1.4 Giao thức oneM2M
OneM2M cung cấp một nền tảng dịch vụ M2M(Machine to Machine) ngang hàng để có thể phát triển các dịch vụ một cách độc lập với các hạ tầng mạng phía dưới thuận tiện cho việc triển khai đồng thời các ứng dụng đặc thù trên cùng một mạng cácthiết bị hỗn tạp như IoT Các dịch vụ được cung cấp thông qua kiến trúc RESTful cho phép các thiết bị IoT không đồngnhất có thể yêu cầu và truy cập các dịch vụ một các đơn giản và hiệu quả
1.5 Sự ràng buộc của các giao thức oneM2M với lớp vận chuyển MQTT