Cuộc cách mạng công nghiệp lần thứ tư (I4.0) đang diễn ra sôi động trên thế giới với sự hội tụ của thế giới vật lý và thế giới ảo (kỹ thuật số), trong đó động lực cơ bản thúc đẩy cuộc cách mạng này nó là Internet vạn vật (Internet of Things - IoT) đang phát triển với tốc độ đang kinh ngạc. Chúng ta có thể đôi lần bắt gặp cụm từ IoT 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. Đúng như tên gọi, đây là một hệ thống các thiết bị công nghệ có liên quan đến nhau, mọi vật được kết nối với nhau dựa trên giao thức chung, đó là mạng truyền thông – hay Internet. Chỉ cần một thiết bị có kết nối mạng, là bạn có thể hoàn toàn kiểm tra, điều khiển các thiết bị, bất kể bạn đang ở đâu. Với những tiện ích do IoT mang lại, việc ứng dụng công nghệ này vào đời sống là thật sự cần thiết. Vậy cụ thể ứng dụng vào đâu, ngoài việc chỉ điều khiển các thiết bị điện từ xa ?. Vậy có bao giờ bạn phải đau đầu tự hỏi tại sao tháng này hóa đơn tiền điện lại tăng lên chóng mặt trong khi bạn nghĩ là đã sử dụng chúng một cách hợp lý và tiết kiệm. Có rất nhiều nguyên nhân dẫn đến tình trạng này ví dụ như chủ quan và quên không tắt các thiết bị điện, do độ sai sót của công tơ điện, hoặc cũng có thể do nhân viên ghi nhầm số điện…vv. Vậy làm thế nào để giải quyết các vấn đề nói trên? Xuất phát từ câu hỏi đó, được sự tận tình hướng dẫn của TS Nguyễn Duy Huy – (Khoa Công nghệ thông tin – Trường ĐH Mỏ Địa chất), em đã mạnh dạn đăng ký và thực hiện đề tài: “Xây dựng hệ thống giám sát chỉ số tiêu thụ điện sinh hoạt ứng dụng công nghệ IoT” giúp thực hiện công việc đo và giám sát, hiển thị và cập nhật lên màn hình thiết bị và trên các nền tảng Mobile app và Web app, giúp cho người sử dụng có thể dễ dàng quan sát cũng như thống kê, kiểm soát được lượng điện đã và đang sử dụng. Mặc dù có nhiều cố gắng nhưng do thời gian và trình độ còn hạn chế nên không thể tránh khỏi những thiết sót. Rất mong được sự góp ý của các thầy cô cùng các bạn để báo cáo được hoàn thiện hơn.
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN KHOA HỌC MÁY TÍNH
ĐỒ ÁN TỐT NGHIỆP
ĐỀ TÀI XÂY DỰNG HỆ THỐNG GIÁM SÁT CHỈ SỐ TIÊU THỤ ĐIỆN
SINH HOẠT ỨNG DỤNG CÔNG NGHỆ IOT
SINH VIÊN THỰC HIỆN
ĐỖ ĐÌNH QUỲNH - 1621050461
LỚP KHMTUD K61
CÁN BỘ HƯỚNG DẪNGV.TS NGUYỄN DUY HUY
BỘ MÔN KHOA HỌC MÁY TÍNH
Trang 2HÀ NỘI – 06/ 2021
MỤC LỤC
LỜI CẢM ƠN 1
DANH MỤC HÌNH VẼ, BẢNG BIỂU 2
MỞ ĐẦU 5
CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI 6
I.1 Tính cấp thiết 6
I.2 Mục tiêu 6
I.3 Phạm vi 7
I.4 Nội dung nghiên cứu 7
I.5 Phương pháp 7
I.6 Khảo sát bài toán thực tế 7
CHƯƠNG II: TỔNG QUAN VỀ CÔNG NGHỆ IOT 9
II.1 Định nghĩa 9
II.2 Lịch sử hình thành và phát triển của IOT 10
II.3 Đặc trưng của IoT 12
II.4 Kiến trúc tổng quát của ứng dụng IoT 13
II.5 Phần cứng trong IoT 16
II.5.1 Tổng quan thiết bị phần cứng IoT 17
II.5.2 Các nền tảng phần cứng phổ biến 19
II.6 Truyền nhận dữ liệu trong IoT 26
II.7 Ứng dụng của IoT 33
CHƯƠNG III: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 36
III.1 Phân tích thiết kế hệ thống về xử lý 36
III.2 Phân tích thiết kế hệ thống về dữ liệu 38
CHƯƠNG IV: XÂY DỰNG HỆ THỐNG 39
IV.1 Xây dựng hệ thống phần cứng 39
IV.1.1 Lựa chọn phần cứng 39
IV.1.2 Kết nối phần cứng 45
Trang 3IV.2 Xây dựng hệ thống phần mềm và công cụ hỗ trợ 47
IV.2.1 Xây dựng chức năng cho mainboard 47
IV.2.2 Xây dựng cơ sở dữ liệu thời gian thực từ Google Firebase 54
IV.2.3 Xây dựng ứng dụng trên thiết bị di động 56
IV.2.4 Xây dựng Web App 60
CHƯƠNG V: KẾT QUẢ VÀ ĐÁNH GIÁ 62
V.1 Kết quả đạt được 62
V.1.1 Kết quả lý thuyết 62
V.1.2 Kết quả chạy hệ thống 62
V.2 Đánh giá, nhận xét 66
KẾT LUẬN 67
TÀI LIỆU THAM KHẢO 68
PHỤ LỤC 69
Trang 4LỜI CẢM ƠN
Đối với sinh viên trường đại học Mỏ - Địa chất Hà Nội, đồ án tốt nghiệp làmột minh chứng cho những kiến thức đã có được sau năm năm học tập Trong quátrình hoàn thành đồ án tốt nghiệp, ngoài những cố gắng của bản thân, em sẽ khôngthể hoàn thành tốt được công việc của mình nếu không có sự chỉ bảo và hướng dẫntận tình của TS Nguyễn Duy Huy Em xin được gửi lời cảm ơn chân thành nhấttới thầy, nhờ có thầy mà em đã có thể xây dựng và hoàn thành báo cáo của mìnhmột cách xuất sắc nhất
Ngoài ra trong suốt quá trình nghiên cứu em cũng nhận được được những sựgiúp đỡ, hỗ trợ tận tình của toàn thể quý thầy cô trong BGH trường Đại học Mỏ -Địa chất, các thầy cô trong bộ môn Khoa Học Máy Tính Em xin được gửi lời cảm
ơn tới ban chủ nhiệm bộ môn, tập thể cán bộ giảng dạy bộ môn Khoa Học MáyTính, khoa Công nghệ thông tin, trường đại học Mỏ - Địa chất Hà Nội, đã truyềndạy kiến thức cho em trong suốt 5 năm vừa qua và hết sức tạo điều kiện để em cóthể thực hiện tốt Đồ án tốt nghiệp này
Cuối cùng, em xin gửi lời cảm ơn tới gia đình, bạn bè đã giúp đỡ, chia sẻcùng em trong quá trình học tập và hoàn thành đồ án của mình
Bước đầu đi vào thực tế, tìm hiểu về lĩnh vực còn khá mới, kiến thức của emcòn hạn chế và còn nhiều bỡ ngỡ Do vậy, không tránh khỏi những thiếu sót, em rấtmong nhận được những ý kiến đóng góp quý báu của quý thầy cô để kiến thức của
em trong lĩnh vực này được hoàn thiện hơn
Em xin chân thành cảm ơn!
Hà Nội, Ngày 31 tháng 05 năm2021
Sinh viên
Đỗ Đình Quỳnh
Trang 5DANH MỤC HÌNH VẼ,
Hình 1 1: Công việc đo số điện hiện nay 8
YHình 2 1: Tổng quan về IoT 9
Hình 2 2: Sơ đồ kiến trúc IoT 13
Hình 2 3: Kiến trúc phần cứng IoT 17
Hình 2 4: Một số loại vi điều khiển dòng AVR của hãng Atmel 17
Hình 2 5: Các phiên bản Board Arduino 20
Hình 2 6: Các board mạch dựa trên ESP8266 21
Hình 2 7: Các model Raspberry Pi 23
Hình 2 8: Phần cứng Particle 24
Hình 2 9: Bo mạch của BeagleBone 25
Hình 2 10: Cấu tạo của MQTT 26
Hình 2 11: Dạng yêu cầu/phản hồi của HTTP 28
Hình 2 12: Các lớp của CoAP 30
Hình 2 13: Giao thức DDS 31
Hình 2 14: Mô hình AMQP 32
YHình 3 1: Mô hình hệ thống 36
Hình 3 2: Sơ đồ hệ thống 37
Hình 3 3: Nguyên lý hoạt động 37
Hình 3 4 : Lưu đồ giải thuật đo điện AC 38
YHình 4 1: Module PZEM-004T 39
Hình 4 2: Sơ đồ giao tiếp của Module AC PZEM-004T cổng PZCT-02 100A 40
Hình 4 3: Module Node MCU ESP8266 41
Hình 4 4: Sơ đồ Pin I/O ESP8266 41
Trang 6Hình 4 5: Sơ đồ chân của LCD 16x2 42
Hình 4 6: Module giao tiếp LCD I2C 44
Hình 4 7: Bộ nguồn 5V 45
Hình 4 8: Sơ đồ kết nối khối thiết bị đo điện năng 46
Hình 4 9: Kết nối khối hiển thị 46
Hình 4 10: Phần mềm Arduino IDE 47
Hình 4 11: Giao diện chính Arduino IDE 48
Hình 4 12: Cài đặt thư viện cho NodeMCU 49
Hình 4 13: Cài đặt Firmware ESP8266 50
Hình 4 14: Chọn phần cứng để lập trình 50
Hình 4 15: Chọn Port kết nối 51
Hình 4 16: Cài đặt thư viện cho Arduino IDE 51
Hình 4 17: Hiển thị thông số lên mobile app 52
Hình 4 18: Truyền dữ liệu lên Firebase database 53
Hình 4 19: Hiển thị thông số lên LCD 53
Hình 4 20: Google Firebase và các dịch vụ 54
Hình 4 21: Cách thức hoạt động của Firebase Realtime Database 55
Hình 4 22: Cơ sở dữ liệu thời gian thực của hệ thống 56
Hình 4 23: Giao diện app Blynk 56
Hình 4 24: Nguyên lý hoạt động của Blynk 57
Hình 4 25: Tạo project trong Blynk 58
Hình 4 26: Thêm widget vào project 58
Hình 4 27: Cấu hình cho widget 59
Hình 4 28: Giao diện sau khi cấu hình widget 60
Trang 7Hình 4 29: Giao diện Sublime Text 3 61
YHình 5 1: Hệ thống phần cứng đo điện năng 62
Hình 5 2: Giao diện Mobile app 63
Hình 5 3: Giao diện login hệ thống 63
Hình 5 4: Giao diện quản lý giám sát của user 64
Hình 5 5: Giao diện thống kê theo ngày của user 64
Hình 5 6: Giao diện quản lý giám sát của admin 65
Hình 5 7: Giao diện xuất hóa đơn 65
DANH MỤC BẢNG BIỂUY Bảng 4 1: Kết nối PZEM-004T với ESP8266 45
Bảng 4 2: Kết nối ESP8266 với I2C LCD 46
Bảng 4 3: Các chức năng của thanh công cụ 48
MỞ ĐẦU
Cuộc cách mạng công nghiệp lần thứ tư (I4.0) đang diễn ra sôi động trên thế giới với sự hội tụ của thế giới vật lý và thế giới ảo (kỹ thuật số), trong đó động lực
Trang 8cơ bản thúc đẩy cuộc cách mạng này nó là Internet vạn vật (Internet of Things IoT) đang phát triển với tốc độ đang kinh ngạc Chúng ta có thể đôi lần bắt gặp cụm
-từ IoT này ở bất kỳ đâu, -từ những bản tin thời sự - công nghệ trên tivi, trên cáctrang mạng điện tử, hoặc cụ thể là những ứng dụng thiết thực trong đời sống Đúngnhư tên gọi, đây là một hệ thống các thiết bị công nghệ có liên quan đến nhau, mọivật được kết nối với nhau dựa trên giao thức chung, đó là mạng truyền thông – hayInternet Chỉ cần một thiết bị có kết nối mạng, là bạn có thể hoàn toàn kiểm tra, điềukhiển các thiết bị, bất kể bạn đang ở đâu
Với những tiện ích do IoT mang lại, việc ứng dụng công nghệ này vào đờisống là thật sự cần thiết Vậy cụ thể ứng dụng vào đâu, ngoài việc chỉ điều khiểncác thiết bị điện từ xa ? Vậy có bao giờ bạn phải đau đầu tự hỏi tại sao tháng nàyhóa đơn tiền điện lại tăng lên chóng mặt trong khi bạn nghĩ là đã sử dụng chúng mộtcách hợp lý và tiết kiệm Có rất nhiều nguyên nhân dẫn đến tình trạng này ví dụ nhưchủ quan và quên không tắt các thiết bị điện, do độ sai sót của công tơ điện, hoặccũng có thể do nhân viên ghi nhầm số điện…vv Vậy làm thế nào để giải quyết cácvấn đề nói trên?
Xuất phát từ câu hỏi đó, được sự tận tình hướng dẫn của TS Nguyễn DuyHuy – (Khoa Công nghệ thông tin – Trường ĐH Mỏ Địa chất), em đã mạnh dạn
đăng ký và thực hiện đề tài: “Xây dựng hệ thống giám sát chỉ số tiêu thụ điện sinh
hoạt ứng dụng công nghệ IoT” giúp thực hiện công việc đo và giám sát, hiển thị
và cập nhật lên màn hình thiết bị và trên các nền tảng Mobile app và Web app, giúpcho người sử dụng có thể dễ dàng quan sát cũng như thống kê, kiểm soát đượclượng điện đã và đang sử dụng
Mặc dù có nhiều cố gắng nhưng do thời gian và trình độ còn hạn chế nên không thể tránh khỏi những thiết sót Rất mong được sự góp ý của các thầy cô cùng các bạn để báo cáo được hoàn thiện hơn
CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀII.1 Tính cấp thiết
Trong cuộc sống con người luôn luôn đặt ra những câu hỏi, luôn có sự tò mòvới những điều mới mẻ Và chính sự tò mò ấy đôi khi lại đem lại những ý tưởngkhông ngờ Ai trong số chúng ta từng nghĩ tới một cuộc sống nơi mà các thiết bị và
Trang 9máy móc điện tử có thể trở thành người bạn tốt nhất với con người Giờ đây, điều
đó đã dần trở thành hiện thực khi công nghệ IoT xuất hiện, dần ‘xâm chiếm” toàn
bộ thế giới Ứng dụng của IoT gắn liền với cuộc sống của mỗi chúng ta nhất phải kểđến những mô hình nhà thông minh Ở đó chúng ta có thể điều khiển, kiểm soátngôi nhà một cách tối ưu nhất mà không tốn quá nhiều công sức và thời gian, nhất
là việc giám sát điện năng tiêu thụ của ngôi nhà
Hiện tại, việc giám sát lượng điện tiêu thụ 100% được thực hiện nhờ công tơđiện do công ty điện lực lắp đặt, sau đó hàng tháng sẽ có nhân viên tới ghi số điệnthủ công Tuy thế cuối tháng chúng ta cũng chỉ được xem hóa đơn tiền điện và sốđiện mà không thể kiểm soát việc sử dụng điện năng một cách tiện dụng, thống kêtrực quan nhất có thể Đi kèm với việc chỉ sử dụng công tơ điện cơ được sử dụng đa
số ở hiện tại là những rủi ro kèm theo, điển hình như theo phóng sự VTV24 tháng12/2019, nhiều công tơ điện hết "đát", kém chất lượng được tân trang thành hàngmới và bán cho người tiêu dùng khiến xảy ra tình trạng sai số lớn Ngoài ra, với hệthống công tơ điện ghi số thủ công này rất dễ xảy ra nhầm lẫn làm nảy ra tranh cãikhiến người dùng không biết do sai số hay do chính bản thân họ đã quên không tắtcác thiết bị khiến tình trạng này xảy ra
Đứng trước thực trạng đó, yêu cầu cấp thiết đặt ra là cần kết hợp ứng dụngcông nghệ để có thể giám sát thông số điện mà chúng ta sử dụng hàng ngày Để từ
đó có thể kiểm soát và đề ra phương án sử dụng một cách hiệu quả và tiết kiệm hơn.Ngoài ra, hệ thống còn có thể hỗ trợ cho các đơn vị trong việc giám sát, xuất hóađơn và thu phí tiền điện sinh hoạt của những hộ mà đơn vị đó quản lý Đó là lý do
em quyết định lựa chọn và thực hiện đề tài “Xây dựng hệ thống giám sát chỉ số
tiêu thụ điện sinh hoạt ứng dụng công nghệ IoT”.
I.2 Mục tiêu
Tìm hiểu tổng quan về IoT
Thiết kế một hệ thống tiến hành đo lượng điện tiêu thụ và đều đặn cậpnhật các thông số lên Web app và Mobile app để thuận tiện cho việc giámsát
Thiết kế một hệ thống quản lý, nơi mà đơn vị quản lý có thể trích xuấthóa đơn để thu phí điện tiêu thụ của các hộ
Hoàn chỉnh sản phẩm đúng kế hoạch và đưa vào thử nghiệm
I.3 Phạm vi
Các đơn vị quản lý việc giám sát, thu phí điện
Trang 10 Các hộ gia đình
Các vấn đề xoay quanh việc tiêu thụ điện năng trong đời sống
I.4 Nội dung nghiên cứu
Tìm hiểu và lựa chọn các giải pháp thiết kế
Thu thập tài liệu về module wifi, bộ vi xử lý và các thiết bị liên quan
Tìm hiểu và thiết kế giao diện Web app và Mobile app
Thiết kế, lập trình cho hệ thống điều khiển, chạy thử nghiệm
Thiết kế mô hình, chỉnh sửa và cải tiến từ những phương án đã chọn
Đánh giá kết quả thực hiện
I.5 Phương pháp
Nghiên cứu tài liệu qua internet và các giáo trình, bài báo về lĩnh vực IoT
Tìm hiểu các ứng dụng, appmobile, IoT platform hỗ trợ được các chức năngcần thiết cho dự án
Thực nghiệm: Cài đặt, cấu hình ứng dụng đáp ứng yêu cầu đặt ra
I.6 Khảo sát bài toán thực tế
Qua quá trình tìm hiểu, hiện nay Tập đoàn Điện lực Việt Nam đang quản lýkhoảng 28,5 triệu công tơ của khách hàng cả nước, trong đó khoảng 54% là công tơđiện tử (đo xa và không đo xa), còn lại là công tơ cơ Trong đó, số lượng công tơ cơ
đã hết hạn sử dụng và phải thay thế bằng công tơ điện tử theo chủ trương chiếm đa
số Song, con số thực tế mới chỉ khoảng 72.000 khách hàng thuộc đối tượng ápdụng 3 giá đã được lắp đặt công tơ điện tử Một số ít các hộ khách hàng gia đìnhtiêu thụ điện 1 pha cũng đã được lắp đặt thí điểm, nhưng do các khách hàng đã quenvới tốc độ “rùa” của các công tơ cơ già cỗi, có cấp chính xác 2 (tức là nếu tải tiêuthụ 100 kWh, trên thực tế công tơ chỉ có khả năng đo từ 98 đến 102 kWh), nên khithay bằng công tơ điện tử hiện đại với cấp chính xác 1 (có khả năng đạt cấp 0,5,thậm chí cao hơn), thì khách hàng lại không đồng tình và cho rằng công tơ điện tửchạy với tốc độ “phi mã”
Trang 11Hình 1 1: Công việc đo số điện hiện nay
Song song với nỗi lo tính minh bạch của công tơ điện, việc muốn tự mình cóthể giám sát, kiểm soát lượng điện tiêu thụ là ước mơ và mong muốn bấy lâu naycủa từng người chúng ta
Với thực trạng đang diễn ra, để đáp ứng mong muốn của người sử dụng điệnnhằm kiểm soát năng lượng tiêu thụ một cách dễ dàng, tiện lợi và minh bạch em xin
đề xuất giải pháp tối ưu đó là ứng dụng công nghệ IoT trong việc giám sát điệnnăng, ngoài việc đo số lượng tiêu thụ diện cùng các thông số khác, còn giúp việcquản lý dễ dàng bất cứ nơi đâu qua đó có thể kiểm soát tốt nhất lượng điện năngtiêu thụ mà không phải lo lắng về các vấn đề rủi ro xung quanh Và giúp cho đơn vịquản lý dễ dàng trích xuất hóa đơn mà không phải đi đo số điện một cách thủ côngtốn nhiều thời gian và công sức như trước nữa
Trang 12CHƯƠNG II: TỔNG QUAN VỀ CÔNG NGHỆ IOT
II.1 Định nghĩa
Mạng lưới vạn vật kết nối Internet hoặc Mạng lưới thiết bị kết nối Internetviết tắt là IoT (Internet of Things)[ CITATION Wik21 \l 1033 ] là một kịch bản củathế giới, khi mà mỗi đồ vật, con người được cung cấp một định danh của riêngmình, và tất cả có khả năng truyền tải, trao đổi thông tin, dữ liệu qua một mạng duynhất mà không cần đến sự tương tác trực tiếp giữa người với người hay người vớimáy tính IoT đã phát triển từ sự hội tụ của công nghệ không dây, công nghệ vi cơđiện tử và Internet
Cụm từ IoT được đưa ra bởi Kevin Ashton vào năm 1999 – Nhà khoa học đãsáng lập ra Trung tâm Auto-ID ở đại học MIT, nơi thiết lập các quy chuẩn toàn cầucho RFID (- một phương thức giao tiếp không dây dùng sóng radio)
Hình 2 1: Tổng quan về IoT
Hay hiểu một cách đơn giản nhất IoT là tất cả các thiết bị có thể kết nối vớinhau 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áy pha cafe, máy giặt, tai nghe, bóng đèn, và nhiều thiết bị khác
Internet vạn vật lan tỏa lợi ích của mạng internet tới mọi đồ vật được kết nối,chứ không chỉ dừng lại ở phạm vi một chiếc máy tính Khi một đồ vật được kết nốivới internet, nó sẽ trở nên thông minh hơn nhờ khả năng gửi và/hoặc nhận thông tin
và tự động hoạt động dựa trên các thông tin đó
Trang 13II.2 Lịch sử hình thành và phát triển của IOT
Hình thái sơ khai
Internet of Things – IoT được đưa ra bởi các nhà sáng lập của MIT Auto-IDCenter đầu tiên, năm 1999 Kevin Ashton đã đưa ra cụm từ Internet of Things nhằm
để chỉ các đối tượng có thể được nhận biết cũng như sự tồn tại của chúng Thuậtngữ Auto-ID chỉ tới bất kỳ một lớp rộng của các kỹ thuật xác minh sử dụng trongcông nghiệp để tự động hóa, giảm các lỗi và tăng hiệu năng Các kỹ thuật đó baogồm các mã vạch, thẻ thông minh, cảm biến, nhận dạng tiếng nói, và sinh trắc học
Từ năm 2003 Kỹ thuật Auto-ID trong các hoạt động chính là Radio FrequencyIdentification – RFID
Đỉnh cao của Auto-ID Center là vào tháng 9/2003, khi hội nghị chuyên đềEPC (Electronic Product Code) tổ chức tại Chicago (Illinois, Mỹ) đánh dấu sự xuấthiện chính thức của hệ thống mạng EPC – một cơ sở hạ tầng kỹ thuật mở cho phépcác máy tính tự động xác định các vật thể nhân tạo và theo dõi chúng khi chúng đi
từ nhà máy tới trung tâm phân phối để lưu trữ trên các giá Hội nghị được hỗ trợ bởinhiều công ty lớn trên thế giới – đại diện cho thực phẩm, hàng hóa tiêu dùng, côngnghiệp bán lẻ, vận tải và dược phẩm, trong số nhiều đại diện khác – sự nổi bật củaRFID cho thấy nó sẽ trở thành chìa khóa cho phép các kỹ thuật để phát triển kinh tếtrong 55 năm tới Xem xét hội nghị trong các giai đoạn lịch sử, Kevin Ashton đã dựđoán sự thay đổi từ máy tính xử lý thông tin sang máy tính có cảm nhận
Mục đích của phòng Lab Auto-ID là phát triển một mạng lưới kết nối cácmáy tính với các vật thể – không chỉ phần cứng hay phần mềm để vận hành mạng,
mà là mọi thứ cần thiết để tạo ra Internet of Things, bao gồm phần cứng phù hợp,phần mềm mạng, các giao thức, và các ngôn ngữ mô tả các đối tượng theo các cáchmáy tính có thể hiểu được Lưu ý rằng Auto-ID Labs không tìm cách tạo ra mạngtoàn cầu khác mà xây dựng các thành phần xây dựng đỉnh cao của Internet
Từ ý tưởng đến thực tiễn
IoT được xem xét khi RFID được mở rộng giới hạn Nhưng cụm từ Internet
of Things lúc này mới chỉ đưa ra tầm nhìn về máy móc trong tương lai: thế kỷ 19,các máy móc học để làm, trong thế kỷ 20, chúng học để nghĩ và trong thế kỷ 21,chúng có thể cảm giác và phản ứng lại
Khái niệm Internet of Things trở nên rõ ràng vào năm 2005 khi InternationalTelecommunications Union – ITU công bố bản báo cáo đầu tiên về chủ đề này Báo
Trang 14cáo nêu: IoT sẽ kết nối các vật thể theo cả 2 cách thông minh và có cảm nhận thôngqua sự phát triển kỹ thuật liên kết trong nhận biết thông tin (theo các vật thể), cáccảm biến và mạng cảm biến không dây (cảm nhận vật thể), các hệ thống nhúng (suynghĩ về vật thể) và công nghệ nano (thu nhỏ vật thể) Trong báo cáo ITU cũng xácđịnh các thử thách quan trọng cần giải quyết để khai thác hết tiềm năng của IoT –tiêu chuẩn hóa và sự kết hợp, bảo mật, và các vấn đề đạo đức – xã hội.
Những dấu mốc cải tiến quan trọng khác
1983: Ethernet được tiêu chuẩn hóa
1989: Tim Berners-Lee tạo ra giao thức giao tiếp chung và không trạng thái
Hypertext Transfer Protocol (HTTP)
1992: TCP/IP cho phép PLCs kết nối với máy tính
2002: Amazon Web Services phát hành, và điện toán đám mây bắt đầu được
đưa vào sử dụng;
2006: OPC Unified Architecture (UA) thúc đẩy các kết nối an toàn giữa các
thiết bị, nguồn dữ liệu và các ứng dụng;
2006: Các thiết bị chuyên dụng dần dần trở nên phổ biến và có giá trị kinh tế
hơn Các thiết bị cũng được thiết kế và sản xuất với kích thước nhỏ hơn, sửdụng năng lượng pin hoặc năng lượng mặt trời;
Từ 2010-nay: Các cảm biến có giá cả phải chăng hơn, thúc đẩy việc sử dụng
rộng rãi các thiết bị này trong mọi mặt của đời sống
Trang 15II.3 Đặc trưng của IoT
Khả năng định danh
Các đối tượng tham gia vào IoT, bao gồm cả thiết bị, phương tiện và conngười, đều sẽ được định danh và mọi hoạt động đều được tiến hành thông qua cáchthức định danh này Việc định danh được thực hiện giúp phân biệt và phân loại cácnhóm đối tượng nhờ đó mà quy trình thu thập, xử lý và chia sẻ dữ liệu được tiếnhành chính xác và hiệu quả hơn
Cách thức định danh của IoT khá đa dạng, ví dụ như dùng mã QR, mã vạch,NFC, địa chỉ IP,… Tuy nhiên, các thông tin định danh này cần đảm bảo yếu tố độcnhất, tránh sự nhầm lẫn giữa các đối tượng hoặc thiết bị
Thông minh
Các yếu tố của trí tuệ nhân đạo đã và đang được cân nhắc để ứng dụng pháttriển các thiết bị trong mạng lưới IoT Mục tiêu là để tạo ra các thiết bị thông minh,được bổ sung đầy đủ các thiết bị thu thập, xử lý thông tin và có thể tự động thựchiện các nhiệm vụ nhất định, dựa trên tình huống và môi trường thực tế Đồng thời,các dữ liệu, thông tin cũng sẽ được chia sẻ chung cho nhiều loại thiết bị khác nhau
để sử dụng theo các tính năng riêng
Phức tạp
Trên thực tế, hệ thống kết nối của IoT vô cùng phức tạp Hệ thống này baogồm mọi đường liên kết, kết nối giữa các thiết bị với nhau, giữa các thiết bị cũ vàcác công nghệ, yếu tố mới, giữa các thiết bị thực tế và những dữ liệu được lưu trữtrên nền tảng Internet Cũng chính vì đặc trưng này, việc vận hành và ứng dụng IoTkhông hề đơn giản, tốn nhiều thời gian và công sức thực hiện
Kích thước của IoT
Tính sơ bộ, một hệ thống IoT có thể liên kết 50 đến 100 nghìn tỉ đối tượngkhác nhau, từng đối tượng đều giữ một vai trò nhất định trong việc chia sẻ và sửdụng dữ liệu Trên thực tế, hiện nay chúng ta vẫn chưa khai thác được nhiều tàinguyên của hệ thống này
Theo Công ty nghiên cứu và tư vấn công nghệ Gartner, Inc., trên thế giới sẽ
có khoảng 26 tỷ thiết bị tham gia vào hệ thống IoT trong năm 2020 Con số này hứahẹn sẽ tiếp tục gia tăng nhanh chóng trong những năm tiếp theo
Trang 16II.4 Kiến trúc tổng quát của ứng dụng IoT
Cách tiếp cận của kiến trúc IoT được phản ánh trong sơ đồ kiến trúc IoT dướicho thấy các khối xây dựng của hệ thống và cách chúng được kết nối để thu thập,lưu trữ và xử lý dữ liệu.[ CITATION pha21 \l 1033 ]
Hình 2 2: Sơ đồ kiến trúc IoT
Cổng giao tiếp (Gateway):
Dữ liệu đi từ vật lên cloud và ngược lại thông qua các cổng Cổng cung cấpkhả năng kết nối giữa mọi thứ và phần cloud của giải pháp IoT, cho phép xử lý
Trang 17và lọc dữ liệu trước khi chuyển nó sang cloud (để giảm khối lượng dữ liệu để xử
lý và lưu trữ chi tiết) và truyền các lệnh điều khiển từ cloud sang mọi thứ
Gateways dùng trong hệ thống IoT được phân chia làm ba loại:
o Multifunction Gateway: có thể hoạt động trong môi trường sản xuấtkhắc nghiệt với dải nhiệt độ hoạt động rộng Cho phép mở rộng cácgiao thức I/O và linh hoạt trong việc kết nối tới nhiều loại máy móc
và trang thiết bị nhà xưởng Ví dụ các Gateway của các hãng:Siemens, Advantech,…
o Energy Saving Gateway: được thiết kế để làm việc với các tiêu chuẩnthông thường như Waspmote (hãng Libelium), Zigbee, Z-Wave, Beg,
…
o Application Gateway: được thiết kế cho thị trường chuyên biệt nhưnhà thông minh/cảnh báo sớm: yêu cầu các yếu tố đặc biệt để đảm bảo
hệ thống hoạt động tốt và ổn định: Daikin, Broadlink,…
Cổng cloud (Cloud Gateway):
Tạo điều kiện nén dữ liệu và truyền dữ liệu an toàn giữa các cổng trường vàmáy chủ IoT trên cloud Nó cũng đảm bảo khả năng tương thích với các giaothức khác nhau và giao tiếp với các cổng trường sử dụng các giao thức khácnhau tùy thuộc vào giao thức nào được hỗ trợ bởi các cổng
Bộ xử lý dữ liệu trực tuyến:
Đảm bảo chuyển đổi hiệu quả dữ liệu đầu vào sang hồ dữ liệu và các ứngdụng điều khiển Không có dữ liệu đôi khi có thể bị mất hoặc bị hỏng
Hồ dữ liệu (Data Lake):
Hồ dữ liệu được sử dụng để lưu trữ dữ liệu được tạo bởi các thiết bị được kếtnối ở định dạng tự nhiên Dữ liệu lớn xuất hiện theo “đợt” hoặc trong luồng –Stream Khi dữ liệu là cần thiết cho những hiểu biết có ý nghĩa, nó được tríchxuất từ một hồ dữ liệu và được tải vào một kho dữ liệu lớn
Kho dữ liệu lớn (BigData warehouse):
Dữ liệu được lọc và xử lý trước cần thiết cho thông tin chi tiết có ý nghĩađược trích xuất từ hồ dữ liệu vào kho dữ liệu lớn Kho dữ liệu lớn chỉ chứa dữliệu được làm sạch, có cấu trúc và khớp (so với hồ dữ liệu (Data Lake) chứa tất
Trang 18cả các loại dữ liệu được tạo bởi cảm biến) Ngoài ra, kho dữ liệu lưu trữ thôngtin ngữ cảnh về sự vật và cảm biến (ví dụ: nơi cài đặt cảm biến) và các ứng dụngđiều khiển lệnh gửi đến mọi thứ.
Phân tích dữ liệu (Data Analytics):
Các nhà phân tích dữ liệu có thể sử dụng dữ liệu từ kho dữ liệu lớn để tìm xuhướng và đạt được những hiểu biết có thể hành động Ví dụ, khi được phân tích(và trong nhiều trường hợp – được hiển thị trong sơ đồ, sơ đồ, infographics),hiệu suất của các thiết bị, giúp xác định sự thiếu hiệu quả và tìm ra cách cảithiện hệ thống IoT (làm cho nó đáng tin cậy hơn, nhiều khách hàng hơn- địnhhướng) Ngoài ra, các mối tương quan và các mẫu được tìm thấy bằng tay có thểgóp phần hơn nữa vào việc tạo ra các thuật toán cho các ứng dụng điều khiển
Machine Learning và các mô hình Machine Learning tạo ra:
Với Machine Learning, có một cơ hội để tạo ra các mô hình chính xác vàhiệu quả hơn cho các ứng dụng điều khiển Các mô hình được cập nhật thườngxuyên (ví dụ, một lần trong một tuần hoặc một lần trong tháng) dựa trên dữ liệulịch sử được tích lũy trong một kho dữ liệu lớn Khi khả năng ứng dụng và hiệuquả của các mô hình mới được các nhà phân tích dữ liệu kiểm tra và phê duyệt,các mô hình mới được sử dụng bởi các ứng dụng điều khiển
Các ứng dụng điều khiển:
Gửi lệnh tự động và cảnh báo đến các bộ truyền động, ví dụ:
o Cửa sổ của một ngôi nhà thông minh có thể nhận được lệnh tự động
mở hoặc đóng tùy thuộc vào dự báo được lấy từ dịch vụ thời tiết
o Khi các cảm biến cho thấy đất khô, hệ thống tưới nước nhận lệnh tựđộng để tưới cây
o Các cảm biến giúp theo dõi trạng thái của thiết bị công nghiệp vàtrong trường hợp xảy ra sự cố trước, hệ thống IoT sẽ tạo và gửi thôngbáo tự động cho các kỹ sư
Các lệnh được gửi bởi các ứng dụng điều khiển đến các bộ truyền động cũng
có thể được lưu trữ bổ sung trong một kho dữ liệu lớn Điều này có thể giúp điềutra các trường hợp có vấn đề (ví dụ: ứng dụng điều khiển gửi lệnh, nhưng chúngkhông được thực hiện bởi các bộ truyền động – sau đó cần phải kiểm tra kết nối,cổng và bộ truyền động)
Trang 19Mặt khác, việc lưu trữ các lệnh từ các ứng dụng điều khiển có thể góp phầnbảo mật, vì một hệ thống IoT có thể xác định rằng một số lệnh quá lạ hoặc có sốlượng quá lớn có thể chứng minh các vi phạm bảo mật (cũng như các vấn đềkhác cần điều tra và biện pháp khắc phục).
Các ứng dụng điều khiển có thể dựa trên quy tắc hoặc dựa trên MachineLearning Trong trường hợp đầu tiên, các ứng dụng điều khiển hoạt động theocác quy tắc được các chuyên gia nêu Trong trường hợp thứ hai, các ứng dụngđiều khiển đang sử dụng các mô hình được cập nhật thường xuyên (một lần mộttuần, một lần một tháng tùy thuộc vào đặc thù của hệ thống IoT) với dữ liệu lịch
sử được lưu trữ trong kho dữ liệu lớn
Ứng dụng người dùng:
Là một thành phần phần mềm của hệ thống IoT cho phép kết nối người dùngvới hệ thống và cung cấp các tùy chọn để giám sát và kiểm soát những thứ thôngminh của họ (trong khi chúng được kết nối với mạng của những thứ tương tự, ví
dụ như nhà hoặc ô tô và kiểm soát bởi một hệ thống trung tâm) Với ứng dụng diđộng hoặc web, người dùng có thể theo dõi trạng thái của đồ vật, gửi lệnh đểđiều khiển ứng dụng, đặt tùy chọn hành vi tự động (thông báo và hành động tựđộng khi dữ liệu nhất định đến từ cảm biến)
II.5 Phần cứng trong IoT
Các thiết bị phần cứng kết nối đóng vai trò cực kỳ quan trọng trong một hệthống IoT Chúng thực hiện việc theo dõi và điều khiển các thiết bị trong thực tếnhư hệ thống công nghiệp, nhà thông minh hay cả con người (thiết bị đeo-werabledevices).[ CITATION Blo19 \l 1033 ]
Trang 20II.5.1 Tổng quan thiết bị phần cứng IoT
Hình 2 3: Kiến trúc phần cứng IoT
Microcontroller (Vi Điều Khiển)
Là một mạch tích hợp trên một bộ chip có thể lập trình được dùng để điềukhiển hoạt động của hệ thống Bộ vi điều khiển tiến hành đọc , lưu trữ thông tin,
xử lý thông tin, đo lường thời gian và tiến hành đọc mở một cơ cấu nào đó.Người lập trình có thể sử dụng nhiều ngôn ngữ để lập trình cho vi điều khiển.Nhưng ngôn ngữ thường được sử dụng là C và Assembly
Hình 2 4: Một số loại vi điều khiển dòng AVR của hãng Atmel
Trang 21Vi điều khiển được coi là bộ não trong một thiết bị phần cứng IoT Nó đượcnạp code (firmware hay phần mềm nhúng) để điều khiển các thiết bị cảm biếnhay đóng ngắt theo yêu cầu của chúng ta.
Vi điều khiển thường chỉ chạy một chương trình Chương trình này có thể rấtđơn giản (chỉ có vài dòng code) hoặc phức tạp tùy thuộc vào yêu cầu của chúngta
Có rất nhiều loại vi điều khiển được lập trình theo nhiều dạng khác nhau, chủyếu chúng được phân loại và lập trình chuyên sâu theo một số thông số cơ bản,bao gồm Bits, kích thước Flash, kích thước bộ nhớ RAM, số lượng các dòng đầuvào / đầu ra, loại bao bì, cung cấp điện áp và tốc độ Người sử dụng có khả năngtinh chỉnh các thông số kỹ thuật cần thiết trong bộ lọc tham số để vi điều khiển
có thể cung cấp đúng loại dữ liệu mình cần Các vi điều khiển đều có thiết kếchung gồm chân đầu vào / đầu ra Số lượng các chân khác nhau tùy thuộc vào viđiều khiển)
Sensor (Cảm Biến)
Sensor dich theo từ điển Anh – Việt có nghĩa là bộ cảm biến Bộ cảm biếndùng để chuyển đổi tín hiệu vật thể bên ngoài môi trường cần khảo sát thành cáccấp điện áp, sau đó truyền về thiết bị điều khiển để đưa ra nhưng công dụng nhưmong muốn
Cấu tạo cảm biến gồm 5 phần chính: Bộ phận vi mạch xử lý, cảm biến sensi,con quay, biến áp quay và cảm biến tốc độ
o Bộ phân vi mạch xử lý: Gồm hệ thống các mạch điện, đùng để chuyểndổi tín hiệu
o Cảm biến Sensi chính là phần phần do lường trong hệ bám sát các gõquay sau đó thì truyền các lệnh cho các góc quay ở cự ly xa mà khôngthể thực hiện được bằng cơ khí
o Con quay: Dùng để đo và xác định mức độ sai lệch góc, giúp ổn định
hệ thống truyền tín hiệu
o Biến áp quay: Có tác dụng chính là chuyển đổi điện áp từ những cuộn
sơ cấp sang thành tín hiệu điện thứ cấp tương ứng
o Cảm biến tốc độ: Chịu tác động của nguồn sáng
Các loại cảm biến thông dụng hiện nay như: cảm biến nhiệt độ, độ ẩm, khígas, chuyển động, siêu âm, vân tay…
Trang 22 Actuator (Điều Khiển)
Thiết bị điều khiển dùng để điều khiển các thiết bị khác khi được yêu cầunhư đóng ngắt dòng điện (bật tắt tự động), động cơ, phát ra âm thanh
Display (Hiển Thị)
Đây là một thành phần khá phổ biến trong các thiết bị điện tử để thể hiệnthông tin cho người dùng Các thiết bị hiển thị phổ biến là màn hình LCD Có rấtnhiều loại màn hình LCD như LCD TFT, OLED,eInk LCD
II.5.2 Các nền tảng phần cứng phổ biến
Thế giới phần cứng cho IoT là cực kỳ đa dạng Ở đây chúng ta cùng nhauđiểm qua một số nền tảng phần cứng được sử dụng tương đối phổ biến trong cáccộng đồng IoT do giá thành rẻ và dễ sử dụng
Arduino
Arduino sẽ là một trong những phần cứng IoT đầu tiên được nghĩ đến khinghĩ về việc xây dựng một thiết bị được kết nối đơn giản Bộ vi điều khiểnArduino là phần cứng mã nguồn mở, có nghĩa là về cơ bản bất kỳ ai cũng có thểxây dựng nó Có một loạt các phiên bản Arduino bao gồm Arduino Uno phổbiến nhất, Arduino YUN với kết nối WiFi được kích hoạt và dòng Arduino MKRcung cấp nhiều tùy chọn kết nối không dây như WiFi, Bluetooth, LoRa, SigFox
và Narrowband IoT
Ngoài phần cứng, Arduino cung cấp IDE (môi trường phát triển tích hợp) vàPro IDE được phát hành gần đây để mã hóa nhanh hơn và dễ dàng hơn Nềntảng này có một cộng đồng được thiết lập tốt, các công cụ phần mềm trực tuyến,các bộ công cụ phát triển khác nhau, Đám mây Arduino IoT và các tài nguyênkhác để xây dựng các thiết bị được kết nối
Trang 23Hình 2 5: Các phiên bản Board Arduino
Phần cứng Arduino là một tùy chọn giá cả phải chăng và dễ thiết lập để xâydựng một thiết bị IoT cơ bản được cho là thực hiện một hành động, chẳng hạnnhư đọc dữ liệu cảm biến độ ẩm Cộng đồng Arduino là một trong những cộngđồng lâu đời nhất trong lĩnh vực này, vì vậy sẽ không thiếu sự hỗ trợ hoặc tàinguyên Trên hết, chức năng của Arduino có thể dễ dàng mở rộng với các tấmchắn trên đầu và nhiều chân đầu vào / đầu ra có mục đích chung kỹ thuật số vàtương tự
Các board Arduino phổ biến:
Espressif: ESP8266, ESP32, ESP8285
Espressif có thể không phải là nền tảng đầu tiên trong danh sách nền tảngIoT, nhưng có thể là lựa chọn đầu tiên cho sự phát triển IoT công nghiệp Vấn đề
là, một trong những tính năng hấp dẫn nhất của phần cứng của Espressif là tuổithọ và sự mạnh mẽ, đây là một lợi ích tuyệt vời cho các thiết bị IoT cần phải
Trang 24chịu đựng các điều kiện khắc nghiệt hoặc được đặt ở các vị trí xa Ví dụ, loạt bomạch phổ biến nhất - ESP8266 và ESP32 có bảo đảm tuổi thọ 12 năm.
Ngoài phần cứng đáng tin cậy và bộ công cụ phát triển đa năng, nền tảngEspressif IoT cung cấp hệ sinh thái phát triển phần mềm IoT, không gian hỗ trợ
và giao tiếp dành cho nhà phát triển cũng như nhiều công cụ và ứng dụng để xâydựng nguyên mẫu IoT
Hình 2 6: Các board mạch dựa trên ESP8266
ESP8266 là một wifi SOC (system on a chip) được phát triển bởi EspressifSystems – một công ty thiết kế chip nổi tiếng của Trung Quốc Board majhcESP8266 được tích hợp với đầy đủ các tính năng về internet Điểm mạnh củasản phẩm này là chúng có kích thước rất nhỏ gọn với mức giá khiêm tốn (tầm2$) Tuy rằng các chân điều khiển của ESP8266 khá hạn chế hơn so với cácboard Arduino khác nhưng với bộ nhớ lớn, tốc độ xử lý cao và đặc biệt là tíchhợp 1 kết nối không thể thiếu trong giải pháp IoT là kết nối WiFi so với Arduinothì đây là sự lựa chọn tuyệt vời cho những ai triển khai dự án IoT Chính vì vậykhi vừa ra đời, Esp8266 đã nhanh chóng trở nên phổ biến và được nhiều ngườitin dùng
ESP32 là một module với nhiều tính năng cải tiến hơn các module dòngESP8266 khi hỗ trợ thêm các tính năng Bluetooth và Bluetooth Low Energy(BLE) bên cạnh tính năng WiFi Sản phẩm sử dụng chip ESP32-D0WDQ6 với 2CPU có thể được điều khiển độc lập với tần số xung clock lên đến 240 MHz.Module hỗ trợ các chuẩn giao tiếp SPI, UART, I2C và I2S và có khả năng kết
Trang 25nối với nhiều ngoại vi như các cảm biến, các bộ khuếch đại, thẻ nhớ (SD card),
…
ESP8285 là module phát triển từ ESP8266 ESP8285 không có IC flashngoài mà tích hợp sẵn bộ nhớ flash 1MB nhờ đó giúp cho module có kích thướcnhỏ gọn như một đồng xu Với khả năng kết nối Wifi hoàn chỉnh, ESP8285 cóthể xây dựng một ứng dụng độc lập hoặc làm việc như một Station khi kết nốivới một bộ vi điều khiển thông qua giao tiếp SPI/SDIO hay I2C/UART Hoạtđộng ở điện áp 3.3V và không có chân EN nên sẽ đơn giản hóa việc sử dụngmodule
Raspberry Pi
Raspberry Pi là một câu chuyện khác Pis ban đầu là những chiếc máy tínhnhỏ hoàn chỉnh với nhiều tùy chọn kết nối, bộ xử lý và bộ nhớ lưu trữ lên đến8GB Nó mạnh mẽ và nhanh hơn nhiều so với các bo mạch IoT khác và có thể
xử lý các chức năng phức tạp bao gồm phát trực tuyến âm thanh và video nặng
dữ liệu
Cũng giống như Arduino, Raspberry Pi có cộng đồng riêng, bộ phụ kiện,hướng dẫn thiết lập và khắc phục sự cố và nhiều tài nguyên dành cho các nhàphát triển Tuy nhiên, Raspberry Pi là phần cứng mã nguồn đóng, vì vậy để xâydựng một ứng dụng dựa trên Pi, bạn sẽ cần sử dụng các bo mạch, phụ kiện và bộdụng cụ do nhà sản xuất cung cấp
Một trong những câu hỏi đầu tiên được đưa ra là Raspberry Pi có điểm khácbiệt gì với các bảng mạch nhúng khác như Arduino, Atmel MCU hay Tessel.Raspberry Pi là một máy tính đơn đầy đủ chức năng với một bộ xử lýBroadcom, trong khi hệ thống khác có nền tảng là máy tính vật lý dựa trên viđiều khiển Trên Raspberry Pi, bạn có thể chạy hệ điều hành như Linux,FreeBSD, và thậm chí là Windows 10 từ thẻ nhớ microSD Kết nối Pi với thiết
bị ngoại vi: bàn phím,chuột, và màn hình, ta xây dựng được giao diện ngườidùng với đồ họa đầy đủ trên nền tảng hệ điều hành cài đặt Chúng ta có thể coiRaspberry Pi là một máy tính chi phí thấp với các chân vào ra I/O có thể lậptrình, qua đó bằng việc kết nối với các thiết bị ngoại vi như cảm biến, linh kiệnđiều khiển, chúng ta có thể xây dựng một concept về hệ thống IoT như một ngôinhà thông minh với chi phí chấp nhận được
Trang 26Hình 2 7: Các model Raspberry Pi
Raspberry Pi là lựa chọn tốt nhất cho các thiết bị được kết nối nhiều dữ liệunhư trung tâm, cổng, bộ thu thập dữ liệu hoặc máy chủ đám mây cá nhân, tuynhiên, nó cũng sẽ phù hợp với các ứng dụng IoT đơn giản hơn
Có một số thế hệ và nhiều mẫu khác nhau của Pis với các thành phần vàphạm vi giá khác nhau bắt đầu từ $ 5 Các mô hình ban đầu đã có các tùy chọnkết nối, đầu vào và đầu ra trên bo mạch, vì vậy không cần mô-đun trên đầu hoặchàn để thiết lập chức năng cơ bản Theo quy định, các giải pháp dựa trên Pi cócông suất thấp, tuy nhiên, chúng yêu cầu nhiều năng lượng hơn so với Arduinokhi xét đến khả năng xử lý cao hơn
Particle
Trang 27Particle có lẽ là nền tảng phần cứng IoT hoàn chỉnh nhất cung cấp phần cứngInternet vạn vật, kết nối, đám mây và trình tạo ứng dụng IoT kéo và thả Ngoài
ra, Particle có một cộng đồng nhà phát triển nghiêm túc, IDE của riêng mình,các công cụ dành cho nhà phát triển, SDK và nhiều bộ công cụ cho các mục đíchkhác nhau và các dự án IoT
Về phần cứng, Particle cung cấp các bo mạch với nhiều kiểu kết nối khácnhau, chẳng hạn như Boron với cellular và mesh, Photon với WiFi hoặc Xenonchỉ với mesh Ngoài ra, có một loạt các phụ kiện, cảm biến và các tiện ích bổsung khác với thông số kỹ thuật và hướng dẫn chi tiết
Hình 2 8: Phần cứng Particle
Particle là một nền tảng toàn diện bao gồm tất cả các cơ sở không chỉ để tạomẫu IoT mà còn để xây dựng đội ngũ các thiết bị IoT sẵn sàng hoạt động Về cơbản, bạn có mọi thứ bạn cần ở một nơi - phần cứng, môi trường phát triển vàcông cụ, đám mây và sự hỗ trợ mạnh mẽ từ cộng đồng Một lợi ích khác của nềntảng Particle là phần cứng và kết nối sẵn sàng lưới ngày càng trở nên phổ biếnhơn trong số các tùy chọn kết nối IoT
BeagleBone
BeagleBone là một nền tảng phần cứng IoT với phần cứng mã nguồn mở,nhiều bảng con hoặc mũ khác nhau để bổ sung chức năng cho các bảng pháttriển IoT chính, cộng đồng Beagle mạnh mẽ gồm các nhà phát triển và nhữngngười đam mê quảng bá phần mềm và phần cứng mở trong điện toán nhúng
Trang 28Các bo mạch dựa trên BeagleBone Linux rất đa dạng Chúng có nhiều kíchthước và bộ tính năng khác nhau, từ PocketBeagle cơ bản nhất đến BeagleBone
AI hỗ trợ AI với RAM 1GB và bộ nhớ flash 16GB, công cụ thị giác nhúng vàcác tùy chọn kết nối phổ biến - WiFi, Bluetooth và gigabit Ethernet
Hình 2 9: Bo mạch của BeagleBone
Nền tảng BeagleBone nổi bật với bo mạch khá mạnh mẽ nhưng không phứctạp và các tùy chọn kết nối và khả năng tương thích tuyệt vời Ví dụ,BeagleBone Green có 2 bộ 46 đầu cắm pin Đây là rất nhiều chân I / O để kếtnối, vì vậy bạn có thể thêm nhiều cảm biến và mô-đun vào bo mạch ban đầu củamình Không giống như Arduino hoặc Particle, BeagleBone không cung cấpIDE nhưng hoạt động với nền tảng lập trình Cloud9 mã nguồn mở
Adafruit
Adafruit là một nền tảng phần cứng và thị trường có một cộng đồng lớn và
có thể trở thành nơi tốt nhất cho những người mới trong lĩnh vực điện tử và máytính nhúng Nền tảng này vừa cung cấp phần cứng và phụ kiện của riêng mình,vừa bán bo mạch của các nhà cung cấp khác như Raspberry Pi và Arduino
Adafruit có thể không có nền tảng phần mềm IDE hoặc IoT của riêng mình,nhưng có một trong những cộng đồng mạnh nhất, hỗ trợ và cơ sở kiến thức đểxây dựng dự án IoT và kết nối các đối tượng vật lý với Internet
II.6 Truyền nhận dữ liệu trong IoT
Message Queuing Telemetry Transport (MQTT)
Trang 29MQTT (Message Queue Telemetry Transport) là một giao thức truyền thông điệp (message) theo mô hình publish/subscribe (xuất bản – theo dõi), sử dụng băng thông thấp, độ tin cậy cao và có khả năng hoạt động trong điều kiện đường truyền không ổn định Do đó MQTT cực kỳ thích hợp cho các hệ thống IoT.[ CITATION Dav18 \l 1033 ]
Hình 2 10: Cấu tạo của MQTT
MQTT gồm 2 phần chính là Broker và Clients, trong đó broker được coi nhưtrung tâm, nó là điểm giao của tất cả các kết nối đến từ client Nhiệm vụ chính của broker là nhận mesage từ publisher, xếp các message theo hàng đợi rồi chuyển chúng tới một địa chỉ cụ thể Nhiệm vụ phụ của broker là nó có thể đảm nhận thêm một vài tính năng liên quan tới quá trình truyền thông như: bảo mật message, lưu trữ message, logs,
Client thì được chia thành 2 nhóm là publisher và subscriber Client là các software components hoạt động tại thiết bị đầu cuối nên chúng được thiết kế để
có thể hoạt động một cách linh hoạt và gọn nhẹ (lightweight) Client chỉ làm ít nhất một trong 2 việc là publish các message lên một topic cụ thể hoặc subscribemột topic nào đó để nhận message từ topic này
MQTT Clients tương thích với hầu hết các nền tảng hệ điều hành hiện có: MAC OS, Windows, LInux, Androids, iOS
Ưu điểm
Trang 30 Truyền dữ liệu hiệu quả và thực hiện nhanh chóng do nó là một giao thức nhẹ
Sử dụng mạng có băng thông thấp, do gói dữ liệu được giảm thiểu
Phân phối dữ liệu hiệu quả
Gửi bản tin nhanh chóng và hiệu quả
Sử dụng lượng điện năng nhỏ, tốt cho các thiết bị sử dụng pin
Giảm băng thông mạng, giảm chi phí mạng
Nhược điểm
MQTT có chu kỳ truyền chậm hơn so với CoAP
Tài nguyên hệ thống dành cho MQTT nó thay đổi theo số lượng Topic, trong khi CoAP thì sử dụng tài nguyên ổn định
MQTT không được mã hóa Thay vào đó, nó sử dụng TLS (Transport Layer Security) / SSL (Secure Sockets Layer) để mã hóa bảo mật
Rất khó để tạo một mạng MQTT có thể mở rộng toàn cầu
HyperText Transfer Protocol (HTTP)
HTTP là viết tắt của HyperText Transfer Protocol, một giao thức ứng ápdụng cho các hệ thống thông tin siêu phương tiện phân tán, cộng tác, cho phépngười dùng giao tiếp dữ liệu trên World Wide Web
Ví dụ: http: // www …… : URL bắt đầu bằng đoạn HTTP
Cụ thể hơn, HTTP là một giao thức yêu cầu/phản hồi không trạng thái, nơicác Client yêu cầu thông tin từ Server và Server sẽ phản hồi các yêu cầu nàytheo đó (mỗi yêu cầu độc lập với yêu cầu khác) Nó cho phép tìm nạp các tàinguyên, chẳng hạn như tài liệu HTML
HTTP cung cấp một phương tiện vận chuyển, nhưng không xác định việctrình bày dữ liệu Như vậy, các yêu cầu HTTP có thể chứa HTML, JavaScript,
Ký hiệu đối tượng JavaScript (JSON), XML, v.v Trong hầu hết các trường hợp,IoT đang chuẩn hóa xung quanh JSON qua HTTP JSON tương tự như XMLXML mà không cần tất cả các xác thực lược đồ và lược đồ làm cho nó nhẹ hơn
và linh hoạt hơn JSON cũng được hỗ trợ bởi hầu hết các công cụ và ngôn ngữlập trình
Trang 31Hình 2 11: Dạng yêu cầu/phản hồi của HTTP
Ưu điểm
Khả năng tìm kiếm: Mặc dù HTTP là một giao thức nhắn tin đơn giản, nóbao gồm khả năng tìm kiếm cơ sở dữ liệu với một yêu cầu duy nhất Điềunày cho phép giao thức được sử dụng để thực hiện các tìm kiếm SQL vàtrả về kết quả được định dạng thuận tiện trong tài liệu HTML
Dễ lập trình: HTTP được mã hóa dưới dạng văn bản thuần túy và do đó
dễ theo dõi và triển khai hơn các giao thức sử dụng mã yêu cầu tra cứu
Dữ liệu được định dạng dưới dạng dòng văn bản chứ không phải dướidạng chuỗi biến hoặc trường
Bảo mật: HTTP 1.0 tải xuống từng tệp qua một kết nối độc lập và sau đóđóng kết nối Vì vậy, điều này làm giảm đáng kể nguy cơ bị đánh chặntrong quá trình truyền
Nhược điểm
Không phù hợp với các thiết bị nhỏ: Vì các thiết bị nhỏ, chẳng hạn nhưcảm biến, không yêu cầu nhiều tương tác và chúng tiêu thụ rất ít nănglượng, HTTP quá nặng nên không phù hợp cho các thiết bị này Một yêucầu HTTP yêu cầu tối thiểu chín gói TCP, thậm chí nhiều hơn khi bạnxem xét mất gói do kết nối kém và tiêu đề văn bản thuần túy có thể rấtdài dòng
Không được thiết kế cho giao tiếp dựa trên sự kiện: Hầu hết các ứng dụngIoT đều dựa trên sự kiện Các thiết bị cảm biến đo một số biến như nhiệt
độ, chất lượng không khí và có thể cần đưa ra các quyết định theo hướng
sự kiện như tắt công tắc HTTP được thiết kế cho giao tiếp dựa trên phảnhồi yêu cầu thay vì giao tiếp theo hướng sự kiện Ngoài ra, việc lập trìnhcác hệ thống dựa trên sự kiện này sử dụng giao thức HTTP trở thành một
Trang 32thách thức lớn, đặc biệt là do tài nguyên máy tính trên các thiết bị cảmbiến có hạn
Vấn đề thời gian thực: Sau khi yêu cầu một tài nguyên đến máy chủ,Client phải đợi Server phản hồi, dẫn đến việc truyền dữ liệu chậm Cảmbiến IoT là các thiết bị nhỏ với tài nguyên máy tính rất hạn chế và do đókhông thể hoạt động đồng bộ một cách hiệu quả Tất cả các giao thức IoTđược sử dụng rộng rãi đều dựa trên mô hình không đồng bộ
Constrained Application Protocol (CoAP)
Giao thức ứng dụng ràng buộc (CoAP) được tạo bởi Lực lượng kỹ thuậtInternet (IETF) để cung cấp khả năng tương tác của HTTP với chi phí tối thiểu.CoAP tương tự như HTTP, nhưng sử dụng UDP / multicast thay vì TCP Nócũng đơn giản hóa tiêu đề HTTP và giảm kích thước của từng yêu cầu CoAPđược sử dụng trong các thiết bị dựa trên cạnh trong đó HTTP sẽ quá tốn tàinguyên và thường là giao thức thứ ba được hỗ trợ bởi các Platform IoT sauHTTP và MQTT Tương tự như HTTPS, CoAP sử dụng Datagram TransportLayer Security (DTLS) để bảo mật liên lạc.CoAP có các tính năng chính sau:
o Giao thức web nhỏ gọn được sử dụng trong M2M
o Bảo mật bằng DTLS
o Trao đổi thông điệp không đồng bộ
o Header gói tin nhỏ, dễ tách thông tin
o Hỗ trợ URI và loại nội dung
o Khả năng proxy và bộ nhớ đệm
o Tuỳ chọn khai thác tài nguyên
o Liên kết UDP (User Datagram Protocol) với độ tin cậy tùy chọn hỗ trợcác yêu cầu Unicast và Multicast
Sử dụng CoAP khi HTTP quá tải băng thông Hãy nhớ rằng việc áp dụng thịtrường của CoAP không lớn như HTTP, vì vậy nó có thể giới hạn các tùy chọnphần mềm và phần cứng của bạn Có các giải pháp để chuyển đổi các thông báoCoAP sang và từ HTTP giúp các giải pháp CoAP tương thích hơn
Mô hình cấu trúc CoAP
Mô hình tương tác CoAP tương tự như mô hình Client/Server củaHTTP.CoAP sử dụng cấu trúc 2 lớp Lớp dưới là lớp bản tin được thiết kế liênquan đến UDP và chuyển tiếp không đồng bộ, Lớp yêu cầu/phản hồi liên quanđến phương thức giao tiếp và xử lý bản tin yêu cầu/phản hồi
Trang 33Hình 2 12: Các lớp của CoAP
Ưu điểm
Đây là giao thức đơn giản và header nhỏ gọn hơn do hoạt động qua UDP
Nó cho phép thời gian wake-up ngắn và trạng thái sleep dài Điều nàygiúp đạt được tuổi thọ pin dài để sử dụng
Nó sử dụng IPSEC (IP Security) hoặc DTLS (Datagram Transport LayerSecurity) để cung cấp giao tiếp an toàn
Giao tiếp đồng bộ không cần thiết trong giao thức CoAP
Nhược điểm
Trang 34 CoAP là giao thức không tin cậy lắm do sử dụng UDP Do đó, các thôngđiệp CoAP đến không có thứ tự hoặc sẽ bị lạc khi chúng đến đích
Nó xác nhận mỗi lần nhận bản tin và do đó tăng thời gian xử lý Hơn nữa,
nó không xác minh xem bản tin nhận đã được giải mã đúng cách haychưa
Đây là giao thức không được mã hóa như MQTT và sử dụng DTLS đểcung cấp bảo mật
CoAP gặp vấn đề giao tiếp khi các thiết bị nằm sau NAT
DDS (Data Distribution Service)
DDS là một ngôn ngữ trung gian dựa vào dữ liệu tập trung được sử dụng để cho phép khả năng mở rộng, thời gian thực, độ tin cậy cao và trao đổi dữ liệu tương tác
Hình 2 13: Giao thức DDS
Đây là một giao thức phi tập trung (broker-less) với truyền thông ngang hàngtrực tiếp theo kiểu peer-to-peer giữa các publishers và subscribers và được thiết
kế để trở thành một ngôn ngữ và hệ điều hành độc lập DDS gửi và nhận dữ liệu,
sự kiện, và thông tin lệnh trên UDP nhưng cũng có thể chạy trên các giao thức truyền tải khác như IP Multicast, TCP / IP, bộ nhớ chia sẻ … DDS hỗ trợ các kếtnối được quản lý many-to-many theo thời gian thực và ngoài ra còn hỗ trợ dò tìm tự động (automatic discovery) Các ứng dụng sử dụng DDS cho truyền thông được tách riêng và không yêu cầu sự can thiệp từ các ứng dụng của người
Trang 35dùng, có thể đơn giản hóa việc lập trình mạng phức tạp Các tham số QoS được
sử dụng để xác định các cơ chế tự dò tìm của nó được thiết lập một lần
DDS hỗ trợ các broker tích hợp mạng DDS với doanh nghiệp, nhưng trênthực tế, nó không được định vị tốt vì điểm tích hợp giữa ngành và IT vì cácbroker thường là thứ yếu so với mạng DDS
AMQP (Advanced Message Queue Protocol)
AMQP là một giao thức làm trung gian cho các gói tin trên lớp ứng dụng vớimục đích thay thế các hệ thống truyền tin độc quyền và không tương thích Cáctính năng chính của AMQP là định hướng message, hàng đợi, định tuyến (baogồm point-to-point và publish-subscribe) có độ tin cậy và bảo mật cao Các hoạtđộng sẽ được thực hiện thông qua broker, nó cung cấp khả năng điều khiểnluồng (Flow Control)
Hình 2 14: Mô hình AMQP
Một trong các Message Broker phổ biến là RabbitMQ, được lập trình bằngngôn ngữ Erlang, RabbitMQ cung cấp cho lập trình viên một phương tiện trunggian để giao tiếp giữa nhiều thành phần trong một hệ thống lớn
Không giống như các giao thức khác, AMQP là một giao thức có dây protocol), có khả năng diễn tả các message phù hợp với định dạng dữ liệu, có thểtriển khai với rất nhiều loại ngôn ngữ lập trình
(wire- XMPP (Extensible Messaging và Presence Protocol)
XMPP (trước đây gọi là “Jabber”) là giao thức truyền thông dùng cho địnhhướng tin nhắn trung gian dựa trên ngôn ngữ XML
Trang 36XMPP là mô hình phân quyền client-server phi tập trung, được sử dụng chocác ứng dụng nhắn tin văn bản Có thể nói XMPP gần như là thời gian thực và
có thể mở rộng đến hàng trăm hàng nghìn nút Dữ liệu nhị phân phải được mãhóa base64 trước khi nó được truyền đi trong băng tần XMPP tương tự nhưMQTT, có thể chạy trên nền tảng TCP
II.7 Ứng dụng của IoT
Tác động của IoT rất đa dạng, trên tất cả các lĩnh vực kinh tế và đời sống:quản lý hạ tầng, y tế, xây dựng và tự động hóa, giao thông… Một số ứng dụng tiêubiểu và phổ biến của IoT có thể kể đến như:
Chăm sóc sức khỏe (eHealth)
o Theo dõi tình trạng sức khỏe của con người
o Kiểm soát và định vị vị trí của các em nhỏ, người già và cảnh báo khi có
sự cố
o Phát hiện ngã: giúp đỡ người già hoặc người tàn tật sống độc lập
o Các tủ thuốc: giám sát các điều kiện bên trong tủ lạnh lưu trữ vaccine,thuốc, và các yếu tố hữu cơ
o Chăm sóc vận động viên: giám sát các dấu hiệu trong trung tâm chămsóc
o Giám sát bệnh nhân: giám sát điều kiện của các bênh nhân trong bệnhviện và tại nhà họ
o Bức xạ tử ngoại: đo lường lượng tia mặt trời UV để cảnh bảo mọi ngườikhông phơi nắng trong nhưng giờ nhất định
Thành phố thông minh (Smart cities)
o Công viên thông minh: giám sát không gian đỗ xe của thành phố
o Kiểm tra xây dựng: giám sát các rung động và các điều kiện vật chấttrong các tòa nhà, cầu và công trình lịch sử
o Bản đồ tiếng ồn thành phố: giám sát âm thanh trong các phạm vi quán bar
và các khu trung tâm theo thời gian thực
o Tắc nghẽn giao thông: giám sát các phương tiện và mức độ người đi bộ
để tối ưu việc lái xe và đi lại
o Chiếu sáng thông minh: chiếu sáng thông minh và tương ứng với thời tiếttrong hệ thống đèn đường
o Quản lý chất thải: phát hiện mức độ rác thải trong các container để tối ưuđường đi thu gom rác
Trang 37o Hệ thống vận tải thông minh: các tuyến đường và cao tốc thông minh vớicác thông điệp cảnh báo và các điều chỉnh theo điều kiện thời tiết và các
sự kiện không mong muốn như tai nạn, tắc đường
Nhà thông minh (Smart home)
o Sử dụng năng lượng và nước: hỗ trợ giám sát tiêu dùng nước và nănglượng để cho lời khuyên làm thế nào để tiết kiệm chi phí và tài nguyên
o Các thiết bị điều khiển từ xa: bật tắt bằng thiết bì điều khiển từ xa đểtránh tai nạn và tiết kiệm năng lượng
o Các hệ thống phát hiện xâm nhập: phát hiện của sổ và của ra vào và cácxâm pham để chống đột nhập
o Bảo quản hàng hóa và nghệ thuật: giám sát các điều kiện bên trong bảotang và nơi lưu trữ nghệ thuật
Đo lường thông minh (Smart metering)
o Mạng lưới thông minh: giám sát và quản lý tình hình tiêu thụ năng lượng
o Tính hình các bể chứa: giám sát mức nước, dầu, khí ga trong các két và
bể chứ
o Cài đặt hệ thống quan điện: giám sát và tối ưu hiệu quả của các thiết bịnăng lượng mặt trời
o Lưu lượng nước: đo lường áp suất nước trong các hệ thống dẫn nước
o Tính toán trữ lượng hàng: đo lượng mức độ còn và khối lượng hàng hóa
Nông nghiệp thông minh (Smart farming)
o Phát triển nghành nông nghiệp sạch trong nhà
o Hỗ trợ tưới tiêu tự động (smart irrigation system)
o Theo dõi chất lượng môi trường như đất và nước, cảnh báo khi có sự cố
để xử lý kịp thời, hạn chế thiệt hại (precise agriculture)
Bảo mật và tình trạng khẩn cấp (Security and Emergencies)
o Theo dõi tình trạng hoạt động để bảo trì chủ động, giảm thiểu thiệt hại
o Kiểm soát vùng hạn chế truy nhập: điều khiển truy nhập tới các vùng hạnchế và phát hiện người không phận sự
o Sự có mặt của chất lỏng: phát hiện chất lỏng trong các trung tâm dữ liệu,kho dữ liệu và vị trí xây dựng nhạy cảm để chống sự hỏng hóc và ănmòn
o Mức bức xạ: phân phối đo lường phạm vi bức xạ xung quanh các khunăng lượng hạt nhân để cảnh báo rò rỉ kịp thời