Công cụ tạo chuỗi quy tắc kéo thả thân thiên, giúp Xử lý dữ liệu thiết bịđến bằng chuỗi quy tắc linh hoạt dựa trên thuộc tính thực thể hoặc nội dung tinnhắn.. Điềunày giúp tối ưu hóa việ
Trang 1TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI PHÂN HIỆU TẠI TP.HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BÁO CÁO THỰC TẬP TỐT NGHIỆP
Sinh viên thực hiện: Đỗ Quang Trường Người hướng dẫn: Nguyễn Trí Thành Giảng viên hướng dẫn: Ks.Mai Vạn Hậu
TP Hồ Chí Minh-2024
Trang 2TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI PHÂN HIỆU TẠI TP.HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BÁO CÁO THỰC TẬP TỐT NGHIỆP
CHUYÊN NGÀNH : TỰ ĐỘNG HÓA
CÔNG TY TNHH SÀI GÒN VALVE
Sinh viên thực hiện: Đỗ Quang Trường Lớp: Tự động hóa k61
Mã số sinh viên: 6151030090 Người hướng dẫn: Nguyễn Trí Thành Giảng viên hướng dẫn: Ks.Mai Vạn Hậu
Trang 3TP Hồ Chí Minh – 2024
LỜI CẢM ƠN
Để hoàn thành quá trình thực tập và có kết quả thực tế được như hômnay,trước hết em xin cảm ơn quý thầy cô trong bộ môn Điện-Điện Tử củaTrường Đại Học Giao Thông Vận Tải Phân Hiệu Tại Thành Phố Hồ Chí Minh
đã giảng dạy và trang bị cho em những kiến thức vô cùng quý giá trong 4 năm
đại học.em cũng xin cảm ơn anh Nguyễn Trí Thành đã giúp em trong thời gian
thực tập tại Công Ty TNHH Sài Gòn Valve Trong quá trình thực tập tại đây, em
đã có cơ hội tìm hiểu thêm những gì đã học Bên cạnh đó, sự giúp đỡ nhiệttình,chia sẻ,kiến thức kinh nghiệm và tạo mọi điều kiện thuận lợi để em hoànthành tốt quá trình thực tập của mình.Em xin cảm ơn … đã hướng dẫn và giúp
đỡ em hoàn thành bài báo cáo này
Trong khoảng thời gian thực tập 6 tuần vừa qua,với điều kiện thời giancũng như như kinh nghiệm còn hạn chế của một sinh viên nên bài báo cáo nàykhông thể tránh được những thiếu sót Em rất mong nhận được sự chỉ bảo, đónggóp ý kiến của các quý thầy cô để em có điều kiện bổ sung, nâng cao ý thức củamình,phục vụ tốt hơn công tác
thực tế sau này
Cuối cùng em gửi đến quý thầy cô lời chúc sức khỏe và thành công trong
sự nghiệp trồng người.Và Em xin chúc sức khỏe toàn thể các anh chị trong Công
Ty TNHH Sài Gòn Valve ngày càng phát triển và bền vững
TP Hồ Chí Minh, ngày… tháng… năm 2024
Sinh viên
Trang 4Đỗ Quang Trường
Trang 5CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Họ và tên : Đỗ Quang Trường
MSSV : 6151030090
Lớp : Kỹ thuật Điều khiển và Tự động hóa Khóa : 61
Nhận xét chung:
Điểm BCTTTN (Điểm số và điểm chữ):
Tp.HCM, ngày … tháng … năm 2024
Giảng viên hướng dẫn
(Ký, ghi rõ họ tên)
Trang 6CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
NHẬN XÉT CỦA ĐƠN VỊ THỰC TẬP
Họ và tên sinh viên : ĐỖ QUANG TRƯỜNG
MSSV : 6151030090
Lớp : TỰ ĐỘNG HÓA
1 Thời gian thực tập :
Từ ngày : 26/08/2024 đến ngày 05/10/2024
2 Bộ phận thực tập:
PHÒNG NGHIÊN CỨU VÀ PHÁT TRIỂN
CÔNG TY TNHH SÀI GÒN VALVE
3 Tinh thần trách nhiệm với công việc và ý thức chấp hành kỷ luật:
4 Nhận xét chung:
5 Điểm đánh giá quá trình thực tập : ………
Tp Hồ Chí Minh, ngày 05 tháng 10 năm 2024
Đơn vị thực tập
(Ký, ghi rõ họ tên và đóng dấu)
Trang 7MỤC LỤC
LỜI MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ CÔNG TY THỰC TẬP 2
1.1.Giới thiệu về công ty 2
1.2.Ngành nghề kinh doanh 2
1.3.Sản phẩm dịch vụ 2
1.4.Sứ mệnh-Tầm nhìn-Giá trị cốt lõi 3
1.4.1.Sứ mệnh 3
1.4.3.Giá trị cốt lõi 3
CHƯƠNG 2: TÌM HIỂU VỀ NỀN TẢNG THINGSBOARD IOT 4
2.1.Giới thiệu về ThingsBoard IoT Platform 4
2.2.Tính năng của thingsboard 5
2.3.Cấu trúc chính trong thingsboard Iot 5
2.3.1.Hồ sơ (Profiles) 5
2.3.2.Thuộc tính (Attributes) 7
2.3.3.Cảnh bảo (alarms) 9
2.3.4.Lệnh điều khiển từ xa đến thiết bị (remote commands to devices) 10
2.3.5.Người thuê (Tenants) 12
2.3.6.Customer 14
2.3.7.Thiết bị (Devices) 15
2.3.8.Chuỗi quy tắc (Rule chains) 16
2.3.9.Bảng điều khiển (dashboards) 17
2.4.Cách thức truyền thông trong thingboard iot platform 19
2.4.1.Giao thức truyền thông MQTT 19
2.4.2.Giao thức truyền thông HTTP 21
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG GIÁM NHIỆT ĐỘ ĐỘ ẨM TRÊN THINGSBOARD VỚI ESP32 23
3.1.Thiết bị sử dụng trong hệ thống 23
3.1.1.Giới thiệu module ESP32 23
3.1.2.Giới thiệu về DHT22 - Cảm biến nhiệt độ và độ ẩm 25
3.2.Các bước cấu hình trong hệ thống 26
Bước 1 : khời tạo thiết bị 26
Trang 8Bước 2 : kết nối thiết bị 28
Bước 3 : Tạo bảng điều khiển 30
Bước 4 : Thêm một widget bảng thực thể 32
Bước 5 : Thêm bảng cảnh Báo 33
Bước 6 : cấu hình quy tắc cảnh báo 35
Bước 7 : Tạo bảng báo cáo 37
Bước 8 : Tạo khách hàng và giao thiết bị cho khách hàng và bảng điều khiển 38
Bước 9 : Cấu hình điều khiển RPC bật tắt LED 41
3.3.Giao diện điều khiển và giám sát 43
CHƯƠNG 4: VIẾT QUY TRÌNH SẢN XUẤT BỘ DATALOGGER 44
4.1.Giới thiệu sản phẩm 44
4.2.Quy trình sản xuất phần cứng 44
4.2.1.yêu cầu 44
4.2.2.Chuẩn bị phần cứng 44
4.2.3.Các bước thực hiện 44
4.2.4.kiểm tra sản phẩm 46
4.3.Quy trình cập nhật chương trình cho datalogger 47
4.3.1.Tải và cài đặt 47
4.3.2.Cập nhật chương trình 47
4.3.3.Cấu hình cho datalogger 49
CHƯƠNG 5: DỰ ÁN THỰC TẾ CỦA CÔNG TY 51
5.1.Hệ thống quan trắc chất lượng nước SV2-QTCLN 51
5.1.1.Hệ thống quan trắc 51
5.1.2.cấu tạo của hệ thống 53
5.1.3.Quy trình lắp đặt 54
5.1.4.Tủ điện điều khiển và giám sát thiết bị quan trắc chất lượng nước 54
CHƯƠNG 6: KẾT LUẬN 57
PHỤ LỤC 58
PHỤC LỤC CHƯƠNG TRÌNH TỪ ESP32 GỦI LÊN THINGSBOARD 58
Trang 9MỤC LỤC HÌNH ẢNH
Hình 1.1 : Logo công ty 2
Hình 2.1: Tổng quan về thingsboard 4
Hình 2.2: Các giao thức kết nối trong thingsboard 4
Hình 2.3 : Thuộc tính phía máy chủ 8
Hình 2.4 : Giao diện quản trị 8
Hình 2.5 : Thiết lập quản lý cảnh báo 10
Hình 2.6 : Gọi thủ tục từ xa phía khách hàng 11
Hình 2.7 : Tạo thêm chuỗi quy tắc 17
Hình 2.8 : Giao diện hiển thị trên dashboards 18
Hình 2.9 : Giao thức truyền thông MQTT 19
Hình 2.10 : Mô hình Client/Server 20
Hình 2.11 : Giao thức truyền thông HTTP 21
Hình 3.1 : Giới thiệu về ESP32 23
Hình 3.2 : Cấu hình của ESP32 24
Hình 3.3 : Giới thiệu về cảm biến DHT22 25
Hình 3.4 : Giao diện điều khiển và giám sát 43
Hình 4.1 :Tổng quan sản phẩm 44
Hình 4.2 :Vị trí khoan lỗ trên vỏ hộp 45
Hình 4.3 :Quy ước cho các chân 45
Hình 4.4: Hàn dây và lắp chân nhựa vào hộp 46
Hình 4.5: Sản phẩm sau khi hoàn thiện 46
Hình 4.6: Bộ công cụ cập nhật chương trình 47
Hình 4.7: Cài đặt driver CH340 47
Hình 4.8: Cổng nạp chương trình 48
Hình 4.9: Xác định cổng COM 48
Hình 4.10: Khởi động phần mềm nạp chương trình 48
Hình 4.11: Các tùy chọn nạp chương trình 49
Hình 4.12: Kết nối Datalogger với Serial Monitor 50
Hình 5.1 : Trạm quan trắc chất lượng nước 52
Hình 5.2 : Giao diện điều khiển giám sát trên thingsboard 53
Trang 10Hình 5.3 : Màn hình điều khiển hệ thống HMI 53 Hình 5.4 : Tủ điều khiển quan trắc chất lượng nước 55
Trang 11LỜI MỞ ĐẦU
Ở nước ta, quá trình công nghiệp hóa – hiện đại hóa nền kinh tế đã tạonên nhiều cơ hội cũng như thách thức lớn cho đất nước Sự phát triển nhanhchóng
Của khoa học kỹ thuật đã làm cho Việt Nam ngày càng xuất hiện nhiều dâychuyền sản xuất mới và có mức độ tự động động hóa cao Và trong đó, khôngthể không kể đến những đóng góp to lớn của kỹ thuật điều khiển tự động trongviệc nâng cao năng suất và chất lượng sản phẩm, tăng khả năng cạnh tranh vớicác nước trên thế giới Việc tạo nên những hệ thống điều khiển tự động để đápứng nhu cầu sản xuất trong nước và xuất khẩu đòi hỏi các kỹ sư phải nắm rõđược bản chất của các quá trình, quy trình nhằm điều khiển, vận hành và giámsát các quá trình công nghệ, đảm bảo chất lượng sản phẩm, hiệu quả sản xuất và
an toàn cho con người, máy móc và môi trường Và đặc biệt quan trọng hơn nữa
là phải có đầy đủ máy móc cũng như thiết bị để các kỹ sư thiết kế và thực hiệncác dự án đó
Để có thể sử dụng thành thạo cũng như áp dụng được các thiết bị tự độngvào trong các dự án và đạt hiểu quả cao nhất thì bắt buộc các kỹ sư phải hiểu rõđược nguyên lý hoạt động cũng như cấu tạo bên trong lẫn bên ngoài của thiết bịđó
Trải qua thời gian thực tập 6 tuần tại Công Ty TNHH Sài Gòn Valve, được
sự chỉ dạy tận tình từ anh Nguyễn Trí Thành , và sự giúp đỡ nhiệt tình từ thầy
KS Mai Vạn Hậu em đã có thêm cho bản thân những kiến thức về các thiết bị
điện, các dây chuyền, máy móc hệ thống tự động hóa Tuy nhiên, vẫn không thểtránh khỏi sai sót Thông qua bài báo cáo này em mong nhận được ý kiến đónggóp của thầy cô và các bạn để bài báo cáo của em trở nên hoàn thiện hơn
Em xin trân trọng cảm ơn!
Trang 12CHƯƠNG 1: TỔNG QUAN VỀ CÔNG TY THỰC TẬP
1.1.Giới thiệu về công ty
Tên đầy đủ : công ty trách nhiệm hữu hạn Sài Gòn Valve
Tên viết tắt : SG-VAL
1.3.Sản phẩm dịch vụ
- Giải pháp IOT cho ngành nước
- Van và phụ kiện SG-VAL
Trang 13- Van và thiết bị điều khiển NOAH
1.4.2.Tầm nhìn
Với đội ngũ nhân viên đầy nhiệt huyết có chuyên môn cao trong tronglĩnh vực tự động hóa cho ngành nước SÀI GÒN VALVE luôn phấn đấu mỗingày để đưa công ty trở thành một công ty đi đầu trong việc cung cấp các giảipháp kiểm soát dòng chảy tại Việt Nam
Trang 14CHƯƠNG 2: TÌM HIỂU VỀ NỀN TẢNG THINGSBOARD IOT 2.1.Giới thiệu về ThingsBoard IoT Platform
ThingsBoard là một nền tảng IoT mã nguồn mở Nó cho phép phát triểnnhanh chóng, quản lý và mở rộng các dự án IoT Với nền tảng Thingsboard bạn
có thể thu thập, xử lý, hiển thị trực quan và quản lý thiết bị
Hình 2.1: Tổng quan về thingsboardThingsboard cho phép kết nối thiết bị thông qua các giao thức IoT tiêuchuẩn công nghiệp – MQTT, CoAP và HTTP, hỗ trợ cả triển khai đám mây vàtại chỗ
thingsboard
Trang 152.2.Tính năng của thingsboard
Thu thập và lưu trữ dữ liệu từ xa theo cách đáng tin cậy Bạn có thể truy cập dữ liệu đã thu thập bằng cách sử dụng trang tổng quan web tùy chỉnh hoặc API phía máy chủ
Hiển thị trực quan dữ liệu đã thu thập và Thingsboard cung cấp hơn 30tiện ích có sẵn để bạn sử dụng cho việc hiển thị trực quan các dữ liệu thu thậpđược của bạn Thingsboard cũng cho phép bạn cũng có thể tạo các tiện ích riêngcủa bạn Các gói tiện ích có sẵn như các tiện ích Google map, đồ thị thời gianthực, các thẻ HTML hiển thị
Công cụ tạo chuỗi quy tắc kéo thả thân thiên, giúp Xử lý dữ liệu thiết bịđến bằng chuỗi quy tắc linh hoạt dựa trên thuộc tính thực thể hoặc nội dung tinnhắn Chuyển tiếp dữ liệu tới hệ thống bên ngoài hoặc kích hoạt báo thức bằngcách sử dụng logic tùy chỉnh Định cấu hình chuỗi thông báo phức tạp trên cácthông báo
Quản lý thiết bị giúp Thingsboard cung cấp khả năng đăng ký và quản lýthiết bị(device) Nó cho phép theo dõi các thuộc tính thiết bị phía máy khách vàcung cấp phía máy chủ Cung cấp API cho các ứng dụng phía máy chủ để gửicác lệnh RPC tới các thiết bị và ngược lại
Quản lý các báo động Thingsboard cung cấp khả năng tạo và quản lý cáccảnh báo liên quan đến các thực thể của bạn: device, asset,Cho phép giám sátbáo động theo thời gian thực và báo động cho việc phân cấp các thực thể liênquan
2.3.Cấu trúc chính trong thingsboard Iot
Trang 16- MQTT: Cấu hình các thông số như broker, topic, QoS, và các tùy chọnbảo mật.
- CoAP: Thiết lập các thông số như endpoint, phương thức truyền tải, vàcác tùy chọn bảo mật
- LwM2M: Cấu hình các thông số như server, đối tượng, và các tùychọn bảo mật
- SNMP: Thiết lập các thông số như agent, OID, và các tùy chọn bảomật
Quy tắc và chuỗi quy tắc:
- Quy tắc: Định nghĩa các điều kiện và hành động để xử lý dữ liệu từthiết bị Ví dụ: nếu nhiệt độ vượt quá ngưỡng, gửi cảnh báo
- Chuỗi quy tắc: Tạo các chuỗi quy tắc phức tạp để xử lý dữ liệu và sựkiện theo nhiều bước Ví dụ: thu thập dữ liệu, phân tích, và gửi thôngbáo
Quản lý hàng đợi:
- Hàng đợi tin nhắn: Lưu trữ và xử lý các tin nhắn từ thiết bị theo thứ tự
- Hàng đợi sự kiện: Lưu trữ và xử lý các sự kiện từ thiết bị, đảm bảorằng các sự kiện quan trọng được xử lý kịp thời
Trang 172.3.1.2.Asset Profiles
Trong ThingsBoard là một tính năng cho phép quản trị viên cấu hình cáccài đặt chung cho nhiều tài sản (assets) khác nhau Dưới đây là các chức năngchính của Asset Profiles:
Tạo hồ sơ tài sản (Create Asset Profile)
- Để tạo hồ sơ tài sản, hãy vào Hồ sơ tài sản trên tab Hồ sơ và nhấp vàonút dấu cộng để thêm hồ sơ tài sản mới
Cài đặt hồ sơ tài sản (Asset Profile settings)
- Cấu hình chuỗi quy tắc (Rule Chain):
Cho phép chỉ định một chuỗi quy tắc cụ thể để xử lý dữ liệu và sự kiện
từ các tài sản Điều này giúp quản lý và xử lý dữ liệu một cách hiệuquả hơn
Quản lý hàng đợi (Queue):
- Cấu hình các hàng đợi để lưu trữ và xử lý các sự kiện từ tài sản Điềunày giúp tối ưu hóa việc xử lý dữ liệu và đảm bảo rằng các sự kiệnquan trọng được xử lý kịp thời
2.3.2.Thuộc tính (Attributes)
Là các cặp key-value (khóa-giá trị) được gán cho các thực thể như thiết
bị, tài sản, người dùng, Các thuộc tính này được lưu trữ trong cơ sở dữ liệu và
có thể được sử dụng cho việc hiển thị dữ liệu và xử lý dữ liệu
2.3.2.1.Thuộc tính phía máy chủ (Server-side attributes)
Loại thuộc tính này được hỗ trợ bởi hầu hết mọi thực thể nền tảng: Thiết
bị, Tài sản, Khách hàng, Người thuê, Người dùng, v.v Thuộc tính phía máy chủ
là thuộc tính mà bạn có thể cấu hình thông qua Giao diện người dùng quản trịhoặc REST API Phần mềm thiết bị không thể truy cập vào thuộc tính phía máychủ
Trang 18Hình 2.3 : Thuộc tính phía máy chủ
2.3.2.2.Giao diện quản trị (Administration UI )
Để xem giao diện quản trị ta thực hiện các bước sau đây
Vào mục Thiết bị Nhấp vào hàng thiết bị cụ thể để mở thông tin chitiết về thiết bị Chọn tab "Thuộc tính" Chọn phạm vi "Thuộc tính máychủ" Nhấp vào Biểu tượng "+"
Nhập tên thuộc tính mới Chọn loại giá trị thuộc tính và nhập giá trịthuộc tính
Sắp xếp theo "Thời gian cập nhật gần nhất" để nhanh chóng tìm thuộctính mới được tạo
Hình 2.4 : Giao diện quản trị
2.3.2.3.Thuộc tính được chia sẻ (Shared attributes)
Kiểu thuộc tính này chỉ khả dụng cho Thiết bị Nó tương tự như các thuộctính phía Máy chủ nhưng có một điểm khác biệt quan trọng Phần mềm/ứng
Trang 19dụng của thiết bị có thể yêu cầu giá trị của các thuộc tính được chia sẻ hoặcđăng ký cập nhật các thuộc tính Các thiết bị giao tiếp qua MQTT hoặc các giaothức giao tiếp hai chiều khác có thể đăng ký cập nhật thuộc tính và nhận thôngbáo theo thời gian thực Các thiết bị giao tiếp qua HTTP hoặc các giao thức giaotiếp yêu cầu-phản hồi khác có thể yêu cầu giá trị của thuộc tính được chia sẻtheo định kỳ.
Kiểu thuộc tính này chỉ khả dụng cho Thiết bị Nó tương tự như các thuộctính phía Máy chủ nhưng có một điểm khác biệt quan trọng Phần mềm/ứngdụng của thiết bị có thể yêu cầu giá trị của các thuộc tính được chia sẻ hoặcđăng ký cập nhật các thuộc tính Các thiết bị giao tiếp qua MQTT hoặc các giaothức giao tiếp hai chiều khác có thể đăng ký cập nhật thuộc tính và nhận thôngbáo
2.3.3.Cảnh bảo (alarms)
ThingsBoard cung cấp khả năng tạo và quản lý cảnh báo liên quan đếncác thực thể của bạn: thiết bị, tài sản, khách hàng, v.v Cảnh báo hỗ trợ giảiquyết kịp thời các vấn đề, ngăn ngừa hậu quả tiêu cực tiềm ẩn và đảm bảo hệthống hoạt động hiệu quả,bao gồm những chức năng chính sau đây
Mức độ nghiêm trọng (Severity)
Mỗi cảnh báo có mức độ nghiệm trọng là Nguy cấp , Lớn , Nhỏ , Cảnhbáo hoặc Không xác định (sắp xếp theo thứ tự ưu tiên giảm dần).Ngoài ra, hãy đặt khi tạo quy tắc cảnh báo
Trạng thái (Status)
Cảnh báo trong ThingsBoard có thể hoạt động hoặc xóa Hệ thống cóthể tự động xóa cảnh báo nếu đáp ứng được điều kiện được xác địnhtrước, mặc dù việc thiết lập điều kiện xóa cảnh báo như vậy là tùychọn Ngoài ra, người dùng có tùy chọn xóa cảnh báo theo cách thủcông
Thông báo tạo hoặc xóa một cảnh báo(Notification about created orcleared an alarm)
Trang 20- Để gửi thông báo bao gồm cả cảnh báo,có Trung tâm thôngbáo ThingsBoard Theo mặc định, bạn sẽ nhận được thông báo về tất
cả các cảnh báo của mình và cảnh báo của khách hàng Trung tâmthông báo cho phép bạn cấu hình linh hoạt các quy tắc để gửi thôngbáo về cảnh báo cho người dùng cuối thông qua giao diện webThingsBoard, email, Slack, Microsoft Teams hoặc SMS
Xem và quản lý cảnh báo (View and manage alarms)
- Để xem và quản lý cảnh báo , hãy sử dụng trang "cảnh báo " trongmenu bên trái Tại đây, bạn sẽ thấy tất cả các cảnh báo : thiết bị, tàisản, khách hàng, và cảnh báo của khách hàng và người dùng của bạndưới dạng biểu mẫu danh sách, cũng như thông tin sau: thời gian tạo,nguồn, loại báo động, mức độ nghiêm trọng, người được chỉ định và trạngthái của báo động
Hình 2.5 : Thiết lập quản lý cảnh báo
2.3.4.Lệnh điều khiển từ xa đến thiết bị (remote commands to devices)
Sử dụng khả năng gọi thủ tục từ xa (Using RPC capabilities)
Trang 21ThingsBoard cho phép bạn gửi Remote Procedure Call (RPC) từ các ứngdụng phía máy chủ đến các thiết bị và ngược lại Về cơ bản, tính năng này chophép bạn gửi lệnh đến/từ các thiết bị và nhận kết quả thực thi lệnh
có nguồn gốc từ máy chủ là RPC phía máy chủ
Gọi thủ tục từ xa phía khách hàng (Client-side RPC)
- Tính năng Gọi thủ tục từ xa phía khách hàng cho phép bạn gửi yêucầu từ thiết bị đến nền tảng và nhận phản hồi từ thiết bị
- Các trường hợp sử dụng điển hình của các lệnh Gọi thủ tục từ xa phíakhách hàng:
Hệ thống tưới tiêu nhận dự báo thời tiết từ dịch vụ trực tuyến thôngqua nền tảng này
Thiết bị bị hạn chế không có đồng hồ hệ thống sẽ yêu cầu dấu thờigian hiện tại từ nền tảng
Đầu đọc thẻ kiểm soát ra vào gửi yêu cầu đến hệ thống an ninh củabên thứ ba để đưa ra quyết định mở cửa và ghi lại nhật ký ra vào
Hình 2.6 : Gọi thủ tục từ xa phía khách hàng
Trang 22- Yêu cầu lệnh Gọi thủ tục từ xa phía khách hàng bao gồm hai trường,
cả hai đều là bắt buộc:
phương thức - tên của phương thức để phân biệt các lệnh gọi RPC
params - các tham số bổ sung được sử dụng để xử lý yêu cầu Giá trị làJSON Để trống JSON “{}” nếu không cần tham số
Xử lý RPC phía khách hàng bởi nền tảng (Processing the client-sideRPC by the platform)
- Lệnh RPC phía máy khách được chuyển đổi thành tin nhắn RuleEngine với loại tin nhắn “TO_SERVER_RPC_REQUEST” Tin nhắnchứa mã định danh duy nhất dựa trên UUID được lưu trữ trong trườngsiêu dữ liệu “requestId” Bạn có thể thiết kế Rule Chain của mình để
tắc nào khác Sau khi tin nhắn đến được chuyển đổi thành tin nhắnphản hồi, bạn nên sử dụng nút RPC Call Reply để gửi phản hồi đếnthiết bị
Gọi thủ tục từ xa phía máy chủ (Server-side RPC)
- Tính năng RPC phía máy chủ cho phép bạn gửi yêu cầu từ nền tảngđến thiết bị và tùy chọn nhận phản hồi trở lại nền tảng
- Các trường hợp sử dụng điển hình của lệnh gọi thủ tục từ xa phía máychủ là tất cả các loại điều khiển từ xa: khởi động lại, bật/tắt động cơ,thay đổi trạng thái của gpio/bộ truyền động, thay đổi thông số cấuhình, v.v
- Gọi thủ tục từ xa phía máy chủ được chia thành một chiều và haichiều:
Yêu cầu RPC một chiều không mong đợi thiết bị cung cấp bất kỳphản hồi nào
Yêu cầu RPC hai chiều mong đợi nhận được phản hồi từ thiết bịtrong khoảng thời gian chờ có thể cấu hình được
Trang 232.3.5.Người thuê (Tenants)
Là một thực thể đại diện cho một doanh nghiệp hoặc tổ chức sở hữu hoặcsản xuất các thiết bị và tài sản Tenant có thể có nhiều người dùng quản trị viêntenant, số lượng lớn người thuê, và số lượng không giới hạn người dùng, tài sản,
và thiết bị
2.3.5.1.Tạo người thuê mới (Сreate new tenant)
Để tạo ngưởi thuê mới trên thingsboard bạn cần thực hiện những bước sau
để tạo được người thuê mới
Đăng nhập vào giao diện người dùng WEB ThingsBoard của bạn với
tư cách là quản trị viên hệ thống;
Điều hướng đến trang Người thuê Sau đó nhấp vào biểu tượng "dấucộng" ở góc trên bên phải của màn hình;
Bạn phải điền vào các trường bắt buộc: tiêu đề và hồ sơ người thuê;
Tùy chọn, bao gồm quốc gia, thành phố, địa chỉ, số điện thoại và địachỉ email Sau đó nhấp vào "Thêm";
Người thuê mới đã được tạo
2.3.5.2.Tạo quản trị viên người thuê (Сreate tenant administrator)
Quản trị viên hệ thống cũng có thể tạo nhiều người dùng với vai trò Quảntrị viên đối tượng thuê trong mỗi đối tượng thuê, hãy thực hiện các bước sau:
Nhấp vào biểu tượng "Quản lý quản trị viên thuê" trên hàng của ngườithuê Tùy chọn thứ hai: chọn người thuê và nhấp vào đó Sau đó nhấpvào nút "Quản lý quản trị viên thuê";
Nhấp vào biểu tượng "dấu cộng" ở góc trên bên phải Trong cửa sổ
"Thêm người dùng", hãy chỉ định email người dùng, nhập thông tin vềngười dùng mới và chọn "Hiển thị liên kết kích hoạt" hoặc "Gửi emailkích hoạt" từ menu thả xuống;
Nếu bạn chọn tùy chọn "Hiển thị liên kết kích hoạt", hãy sao chép địachỉ liên kết và gửi cho người dùng Nhấp vào "OK";
Người dùng mới có vai trò quản trị viên đối tượng thuê đã được tạo
Trang 242.3.6.Customer
Khách hàng có thể là một thực thể kinh doanh riêng biệt: một cá nhânhoặc một tổ chức mua hoặc sử dụng thiết bị và/hoặc tài sản của bên thuê Kháchhàng cũng có thể là một bộ phận trong tổ chức bên thuê
Người dùng khách hàng thuộc về khách hàng và có quyền đọc để xem bảng điều khiển và các thực thể khác do quản trị viên thuê chỉ định Trong Thingsboard Community Edition, người dùng khách hàng không thể tạo khách hàng, người dùng hoặc khách hàng phụ của riêng mình
2.3.6.1.Tạo khách hàng mới (Create new customer)
Tạo Quản trị viên người thuê có thể thêm khách hàng mới bằng các bướcsau.đây
Điều hướng đến trang "Khách hàng" Sau đó nhấp vào dấu cộng ở góctrên bên phải màn hình;
Trong hộp thoại mở ra, hãy điền tiêu đề của khách hàng Ngoài ra, bạn
có thể tùy chọn chỉ định tên quốc gia, thành phố, địa chỉ và số điệnthoại Sau đó nhấp vào "Thêm";
Khách hàng mới được tạo Bạn có thể thêm bao nhiêu khách hàng tùythích theo cách tương tự
2.3.6.2.Create customer user
Để tạo Quản trị viên người thuê có thể thêm người dùng khách hàng bằngcác bước sau
Điều hướng đến trang "Khách hàng" Sau đó nhấp vào biểu tượng
"Quản lý người dùng khách hàng" nằm trên hàng khách hàng mà bạnmuốn thêm người dùng khách hàng;
Nhấp vào dấu cộng ở góc trên bên phải màn hình Trong hộp thoại mở
ra, nhập địa chỉ email, tên và họ của người dùng Sau đó chọn phươngpháp kích hoạt: hiển thị liên kết kích hoạt hoặc gửi liên kết kích hoạtqua email Sau đó nhấp vào "Thêm";
Người dùng khách hàng mới được tạo
Trang 252.3.7.Thiết bị (Devices)
Trong bối cảnh của nền tảng IoT ThingsBoard, “thiết bị” là các đối tượngInternet vạn vật cơ bản có thể tạo dữ liệu đo từ xa và truyền dữ liệu đó đến nềntảng ThingsBoard, cũng như phản hồi các lệnh Gọi thủ tục từ xa (RPC).ThingsBoard cung cấp khả năng quản lý thiết bị thông qua giao diện web
và REST API , lưu trữ dữ liệu từ thiết bị và tạo điều kiện tương tác giữa thiết bị
và các thành phần khác của nền tảng
Thiết bị, trong bối cảnh này, có thể đề cập đến các đối tượng vật lý hoặc
ảo được kết nối với mạng, chẳng hạn như cảm biến giám sát, thiết bị thôngminh, máy móc, cảm biến, v.v Các thiết bị này có thể thu thập dữ liệu như nhiệt
độ, độ ẩm, tọa độ GPS và gửi dữ liệu này đến nền tảng ThingsBoard
2.3.7.1.Thêm thiết bị mới (Adding a new device)
Đăng nhập vào phiên bản ThingsBoard của bạn và điều hướng đến phần
“Entities” Sau đó, đi đến trang “Devices”;
Nhấp vào biểu tượng “+” ở góc trên bên phải của bảng rồi chọn “Thêmthiết bị mới”;
Thiết bị đã được tạo Một cửa sổ sẽ mở ra nơi bạn có thể kiểm tra kếtnối của thiết bị với ThingsBoard Bước này là tùy chọn Chúng ta hãyđóng cửa sổ này lại và quay lại kiểm tra kết nối ở bước tiếp theo chitiết hơn;
Thiết bị đầu tiên của bạn đã được thêm Khi các thiết bị mới đượcthêm vào, chúng sẽ được thêm vào đầu bảng vì bảng sắp xếp các thiết
bị theo mặc định bằng cách sử dụng thời gian tạo
2.3.7.2.Chỉnh sữa thiết bị (Editing a device)
Bạn có thể thay đổi tên thiết bị, hồ sơ thiết bị, nhãn, chỉ định chương trình
cơ sở và phần mềm Để chỉnh sửa thiết bị, bạn cần:
Nhấp vào hàng thiết bị để mở thông tin chi tiết của thiết bị, sau đónhấp vào biểu tượng "bút chì" ở góc trên bên phải của hộp thoại;
Trang 26 Nếu cần, hãy thay đổi tên thiết bị và cấu hình của thiết bị Ngoài ra,bạn có thể nhập nhãn và mô tả hoặc đánh dấu vào ô "Is gateway" Saukhi chỉnh sửa, hãy nhấp vào dấu kiểm màu cam để lưu tất cả các thayđổi đã áp dụng.
2.3.8.Chuỗi quy tắc (Rule chains)
Chuỗi quy tắc các nút được kết nối với nhau thông qua các mối quan hệ,
do đó tin nhắn gửi đi từ nút quy tắc sẽ được gửi đến các nút quy tắc được kết nốitiếp theo
Trang chuỗi quy tắc hiển thị bảng các chuỗi quy tắc của người thuê đã cấuhình Bạn có thể tạo, xuất/nhập, xóa và đánh dấu chuỗi quy tắc mong muốn làgốc
2.3.8.1.Tạo chuỗi quy tắc mới (Create new rule chain)
Để thêm chuỗi quy tắc mới, bạn nên:
Điều hướng đến trang "Chuỗi quy tắc" Sau đó nhấp vào biểu tượng
"dấu cộng" ở góc trên bên phải và chọn "Tạo chuỗi quy tắc mới";
Chỉ định tên cho chuỗi quy tắc Nếu cần, hãy bật "Chế độ gỡ lỗi".Nhấp vào "Thêm";
Chuỗi quy tắc mới đã được tạo Để mở chuỗi quy tắc, hãy nhấp vàochuỗi đó
2.3.8.2.Thêm chuỗi quy tắc (Import rule chain)
Để nhập chuỗi quy tắc từ tệp JSON, bạn nên:
Điều hướng đến trang "Chuỗi quy tắc" và nhấp vào nút "+" ở góc trênbên phải màn hình, sau đó chọn tùy chọn "Nhập chuỗi quy tắc";
Cửa sổ bật lên nhập thanh công cụ sẽ xuất hiện Tải tệp JSON lên vànhấp vào nút "Nhập";
Chuỗi quy tắc đã nhập sẽ mở ra Nhấp vào nút "Áp dụng thay đổi" đểlưu chuỗi quy tắc Sau đó, quay lại trang "Chuỗi quy tắc" chính;
Chuỗi quy tắc đã được nhập
Trang 27Hình 2.7 : Tạo thêm chuỗi quy tắc
2.3.9.Bảng điều khiển (dashboards)
ThingsBoard cung cấp một tính năng mạnh mẽ – khả năng tạo và tùychỉnh hình ảnh tương tác, còn được gọi là bảng điều khiển Các bảng điều khiểnnày là công cụ để theo dõi và quản lý dữ liệu và thiết bị của bạn một cách hiệuquả Với bảng điều khiển ThingsBoard, người dùng có thể điều chỉnh giao diệntheo nhu cầu cụ thể của họ, giúp việc kiểm tra thiết bị và dữ liệu IoT của họ dễdàng hơn bao giờ hết Điều tuyệt vời là mỗi bảng điều khiển có thể được điềnnhiều tiện ích, mang lại sự linh hoạt và khả năng tùy chỉnh Các bảng điều khiểnnày không giới hạn ở một nguồn dữ liệu duy nhất; chúng có thể hiển thị dữ liệu
từ nhiều thực thể khác nhau, bao gồm thiết bị, tài sản
Trang 28Hình 2.8 : Giao diện hiển thị trên dashboards
Bảng thông tin trong ThingsBoard cung cấp cho người dùng các khả năngsau:
Trực quan hóa dữ liệu : Người dùng có thể tạo nhiều tiện ích khácnhau như biểu đồ, đồ thị, bảng, v.v để trực quan hóa dữ liệu thu được
từ các thiết bị được kết nối Điều này cho phép người vận hành và nhàphân tích dễ dàng phân tích thông tin và theo dõi trạng thái thiết bị
Quản lý thiết bị : Có thể sử dụng bảng điều khiển để thực hiện các hoạtđộng quản lý trên thiết bị, chẳng hạn như bật hoặc tắt thiết bị, thay đổithông số, v.v Người dùng có thể thiết lập hành động và phản hồi dữliệu thời gian thực từ thiết bị
Tính tương tác : Bảng điều khiển có thể được thiết kế với các thànhphần tương tác như nút bấm, công tắc, cho phép người dùng tương tácvới thiết bị và dữ liệu
Tùy chỉnh hiển thị : Người dùng có thể tùy chỉnh cách sắp xếp và kíchthước của các tiện ích, chọn bảng màu, phông chữ và các khía cạnhtrực quan khác để tạo ra giao diện thân thiện với người dùng và nhiềuthông tin
Trang 29 Quyền truy cập dựa trên vai trò : ThingsBoard cho phép kiểm soátquyền truy cập vào bảng điều khiển với các cấp độ đặc quyền khácnhau dựa trên vai trò của người dùng Điều này đảm bảo tính bảo mật
và an toàn của dữ liệu
2.4.Cách thức truyền thông trong thingboard iot platform
2.4.1.Giao thức truyền thông MQTT
Khi xây dựng hệ thống MQTT, việc làm khá phổ biến là vẽ ra sơ đồ thểhiện kết nối giữa client và server, hướng đi của các bản tin và các topic được sửdụng
Hình 2.9 : Giao thức truyền thông MQTTMQTT là giao thức pub/sub bản tin Mỗi bản tin được pub trên một topic
và mỗi client có quyền sub vào các topic.Vì vậy, cấp quyền là pub, sub và têntopic
Trang 302.4.1.1.Publish/Subscribe giữa các kênh
MQTT có mô hình Client/Server, nơi mà mỗi cảm biến là một khách hàng(client) và kết nối đến một máy chủ, có thể hiểu như một nhà môi giới (broker),thông qua giao thức TCP (Transmission Control Protocol) MQTT là giao thứcđịnh hướng bản tin Mỗi bản tin là một đoạn rời rạc của tín hiệu và broker khôngthể nhìn thấy
Hình 2.10 : Mô hình Client/Server
2.4.1.2.Tầng ứng dụng QOS (QUALITIES OF SERVER)
Có 3 tuỳ chọn QoS (Qualities of service) khi "publish" và "subscribe":+ QoS = 0 Broker/client sẽ gửi dữ liệu đúng 1 lần, quá trình gửi được xác nhận bởi chỉ giao thức TCP/IP
+ QoS = 1 Broker/client sẽ gửi dữ liệu với ít nhất 1 lần xác nhận từ đầukia, nghĩa là có thể có nhiều hơn 1 lần xác nhận đã nhận được dữ liệu.+ QoS = 2 Broker/client đảm bảo khi gửi dữ liệu thì phía nhận chỉ nhận được đúng 1 lần, quá trình này phải trải qua 4 bước Một gói tin
có thể được gửi ở bất kỳ QoS nào, và các client cũng có thể subscribe với bất kỳ yêu cầu QoS nào Có nghĩa là client sẽ lựa chọn QoS tối đa
mà nó có để nhận tin
Trang 312.4.2.Giao thức truyền thông HTTP
HTTP hoạt động theo mô hình client-server, trong đó trình duyệt web(client) gửi yêu cầu (request) đến máy chủ web (server), và máy chủ web phảnhồi lại bằng cách gửi dữ liệu (response) về trình duyệt
Hình 2.11 : Giao thức truyền thông HTTPClient gửi yêu cầu HTTP: Khi người dùng nhập URL vào trình duyệt web
và nhấn Enter, trình duyệt sẽ gửi một yêu cầu HTTP đến máy chủ web chứa tàinguyên được yêu cầu
Máy chủ xử lý yêu cầu: Máy chủ web nhận được yêu cầu, xử lý và chuẩn
bị dữ liệu phản hồi, có thể là một trang HTML, hình ảnh, video hoặc các tài liệukhác
Máy chủ gửi phản hồi HTTP: Máy chủ web gửi phản hồi HTTP lại chotrình duyệt, bao gồm mã trạng thái HTTP, tiêu đề (headers) và nội dung dữ liệu.Client hiển thị nội dung: Trình duyệt nhận phản hồi và hiển thị nội dungcho người dùng
Trang 32 POST: Gửi dữ liệu đến máy chủ để tạo mới tài nguyên
PUT: Cập nhật tài nguyên với dữ liệu được gửi
DELETE: Xóa tài nguyên được chỉ định
HEAD: Giống như GET, nhưng chỉ yêu cầu phần tiêu đề (header) củaphản hồi, không yêu cầu phần thân (body)
Trang 33CHƯƠNG 3: THIẾT KẾ HỆ THỐNG GIÁM NHIỆT ĐỘ ĐỘ ẨM TRÊN
THINGSBOARD VỚI ESP32 3.1.Thiết bị sử dụng trong hệ thống
3.1.1.Giới thiệu module ESP32
ESP32 là một series các vi điều khiển trên một vi mạch giá rẻ, năng lượngthấp có tích hợp WiFi và dual-mode Bluetooth (tạm dịch: Bluetooth chế độ kép).Dòng ESP32 sử dụng bộ vi xử lý Tensilica Xtensa LX6 có hai biến thể lõi kép
và lõi đơn, và bao gồm các công tắc antenna tích hợp, RF balun, bộ khuếch đạicông suất, bộ khuếch đại thu nhiễu thấp, bộ lọc và module quản lý năng lượng
Hình 3.1 : Giới thiệu về ESP32
3.1.1.1.Cấu hình của
Hình 3.2 : Cấu hình của ESP32
- Hỗ trợ 2 giao tiếp không dây
Wi-Fi: 802.11 b/g/n/e/i
Trang 34 Bluetooth: v4.2 BR/EDR và BLE
- Cảm biến tích hợp trên chip ESP32
1 cảm biến Hall (cảm biến từ trường)
1 cảm biến đo nhiệt độ
Cảm biến chạm (điện dung) với 10 đầu vào khác nhau
- Hỗ trợ tất cả các loại giao tiếp
2 bộ chuyển đổi số sang tương tự (DAC) 8 bit
18 kênh bộ chuyển đổi tương tự sang số (ADC) 12 bit
2 cổng giao tiếp I²C
3 cổng giao tiếp UART
3 cổng giao tiếp SPI (1 cổng cho chip FLASH )
2 cổng giao tiếp I²S
- Nguồn điện hoạt động
Nguồn: Bao gồm các chân 3.3V và GND để cấp nguồn cho module
UART: Chân TX và RX dùng cho giao tiếp UART
ADC: Các chân ADC (Analog to Digital Converter) cho phép đọc tínhiệu analog
DAC: Các chân DAC (Digital to Analog Converter) cho phép xuất tínhiệu analog
PWM: Các chân PWM (Pulse Width Modulation) dùng để điều khiển
độ sáng LED, tốc độ động cơ, v.v