TỔNG QUAN
Đặt vấn đề
Yến sào là một loại thực phẩm cực kỳ bổ dưỡng và còn được coi như là dược phẩm Trên thị trường sản phẩm này có giá thành khá cao Bởi vì nó có rất nhiều dưỡng chất, vitamin giúp người dùng tăng cường trí nhớ, ổn định thần kinh, bên cạnh đó còn giúp trị một số bệnh như bổ phổi, long đờm, giảm ho… Không chỉ bởi những lợi ích của nó đem lại mà còn vì việc khai thác yến cũng rất khó khăn, vất vả và tốn rất nhiều công sức và thời gian Chính vì thế, hiện nay đã có rất nhiều mô hình nuôi yến trong nhà ra đời, nhằm giải quyết vấn đề đó. Để có những sản phẩm yến sào thơm ngon, bổ dưỡng tới tay người dùng thì những người nuôi yến cần phải có một lượng kiến thức nhất định về chăm sóc yến. Phải đảm bảo nghiêm ngặt về nhiệt độ, độ ẩm và ánh sáng để những đàn yến có được điều kiện tốt nhất để sinh sống và sinh sản Tuy vậy, với cách chăm sóc nuôi dưỡng thủ công thì những điều này rất khó để đảm bảo và rất dễ dẫn đến việc thất bại trong việc nuôi chim yến Hiện nay cũng đã có rất nhiều sản phẩm để có thể giám sát điều kiện sống trong nhà yến và điều chỉnh các thiết bị còn phải sử dụng thủ công, chỉnh bằng tay Những dự án, hệ thống quản lý giám sát và điều khiển nhà yến từ xa khá ít. Chính vì thế, các mô hình nuôi yến được giám sát và điều khiển tự động đang là một xu thế để vừa tiết kiệm nhân công bên cạnh đó còn nâng cao chất lượng trong việc nuôi yến Hiện nay, đã có rất nhiều các đề tài về mô hình giám sát và điều khiển các thiết bị thường sử dụng wifi như: “Thiết kế và thi công mô hình quản lý nhà yến sử dụng công nghệ IOT” của Trần Đức Trọng và Phan Văn Thuận năm 2020 [1], hay như đề tài “Thiết kế và thi công mô hình nhà nuôi chim yến điều khiển, giám sát từ xa” của Phan Như Sang và Huỳnh Lê Công Tú năm 2018 [2] Các đề tài trên chỉ sử dụng công nghệ wifi, những công nghệ trên còn nhiều yếu điểm và hạn chế.
Tại Việt Nam, chương trình chuyển đổi số quốc gia đến năm 2025 đã định hướng rằng tới năm 2030 Mục tiêu trọng điểm sẽ là phổ cập mạng 4G, tích hợp công nghệ4G/5G đối với các sản phẩm thiết bị di động, các thiết bị IoT và loại bỏ kết nối 2G nhằm tạo không gian phát triển mạng 5G Chính vì vậy các ứng dụng, dự án sử dụng các thiết bị sử dụng công nghệ 5G và NB-IoT sẽ là một xu hướng tất yếu Bên cạnh đó hiện nay, trong công nghiệp rất nhiều ứng dụng đã và đang sử dụng chuẩn giao thức công nghiêp truyền thông tiêu chuẩn Modbus vì nó có độ ổn định cao, miễn phí, đơn giản và dễ sử dụng.
Thông qua việc tìm hiểu và khảo sát những đề tài trên và muốn giải quyết những bất cập và phát triển của mô hình giám sát và điều khiển, nhóm em quyết định lựa chọn đề
“THIẾT KẾ VÀ THI CÔNG MÔ HÌNH QUẢN LÝ NHÀ YẾN TỪ XA ỨNG
DỤNG CÔNG NGHỆ NB-IoT” Dự án sẽ thay thế cho việc nuôi chim yến truyền thống bằng mô hình nuôi chim yến tự động Hệ thống có thể giám sát các điều kiện môi trường trong mô hình nuôi chim và duy trì các điều kiện lý tưởng đáp ứng điều kiện sinh trưởng tốt nhất cho chim yến Bên cạnh đó người dùng có thể dễ dàng nắm bắt thông tin và điều chỉnh được các thông số cho thiết bị thông qua website.
Mục tiêu
Thiết kế và thi công mô hình quản lý giám sát và điều khiển nhà yến từ xa đo được nhiệt độ, độ ẩm theo chuẩn Modbus-RTU Sau đó có thể điều khiển được các thiết bị để điều chỉnh điều kiện môi trường sống phù hợp với chim yến Những dữ liệu đo được sẽ được gửi lên website nhờ mạng NB-IoT Trên website người dùng có thể điều khiển các thiết bị thông qua 2 chế độ lựa chọn, gồm chế độ bằng tay và tự động Với chế độ bằng tay người dùng sẽ bật, tắt các thiết bị Trong khi đó chế độ tự động, người dùng sẽ cài đặt các thông số về nhiệt độ, độ ẩm để có thể tự động bật tắt các thiết bị.
Nội dung thực hiện
Trong quá trình thực hiện đề tài: “Thiết kế và thi công mô hình quản lý nhà yến từ xa ứng dụng công nghệ NB-IoT” nhóm đã nghiên cứu và thực hiện những nội dung sau:
- NỘI DUNG 1: Tìm hiểu về môi trường sống cũng như các tập tính của chim yến trong thực tế.
- NỘI DUNG 2: Tìm hiểu các thiết bị ứng dụng trong nhà yến hiện có trên thị trường.
- NỘI DUNG 3: Viết đề cương tóm tắt của đề tài.
- NỘI DUNG 4: Vẽ sơ đồ khối, giải thích và lựa chọn linh kiện cho các khối.
- NỘI DUNG 5: Vẽ sơ đồ nguyên lý cho toàn mạch và giải thích nguyên lý hoạt động.
- NỘI DUNG 6: Vẽ PCB và thi công mạch.
- NỘI DUNG 7: Viết chương trình giao tiếp cũng như điều khiển các thiết bị ngoại vi.
- NỘI DUNG 8: Thiết kế Website hiển thị các thông tin trạng thái và điều khiển các thiết bị.
- NỘI DUNG 9: Thi công mô hình nhà yến điều khiển các thiết bị qua Website.
- NỘI DUNG 10: Chạy thử nghiệm mô hình.
- NỘI DUNG 11: Hoàn thiện và tối ưu chương trình.
- NỘI DUNG 12: Viết luận văn.
- NỘI DUNG 13: Bảo vệ đề tài.
Giới hạn
• Chỉ điều khiển các thiết bị ngoại vi một chiều từ khối xử lý, nếu thiết bị ngoại vi có sự cố như hư hỏng không thể hoạt động thì chưa thể gửi được trạng thái thiết bị và cảnh báo theo chiều ngược lại tới khối xử lý.
• Ở chế độ tự động, chỉ có thể cài đặt thời gian bật tắt loa theo thông số giờ, chưa thể cài đặt giới hạn với thông số phút và giây.
Bố cục
Chương này trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn thông số và bố cục đồ án.
• Chương 2: Cơ sở lý thuyết.
Nền tảng lý thuyết quan trọng được trình bày ở chương này, từ đặc điểm sinh sống của chim yến, các công nghệ sử dụng trong đề tài, bên cạnh đó là giới thiệu về phần cứng, các linh kiện và các thiết bị sử dụng Các chuẩn giao tiếp sử dụng để kết nối giữa các thiết bị.
• Chương 3: Tính toán và thiết kế.
Giới thiệu sơ đồ khối hệ thống, giải thích nguyên lý hoạt động của từng khối và sơ đồ nguyên lý Tính toán để tìm ra các linh kiện sử dụng phù hợp.
• Chương 4: Thi công hệ thống.
Chương này sẽ tóm tắt quá trình hoàn thiện hệ thống, từ thiết kế mạch PCB sau đó thi công mạch, lắp ráp và hoàn thiện các linh kiện và thiết bị Bên cạnh đó là viết chương trình điều khiển trên phần mềm Arduino IDE và thiết kế giao diện website để điều khiển hệ thống.
• Chương 5: Kết quả, nhận xét và đánh giá.
Tại chương này, kết quả của hệ thống sẽ được trình bày sau quá trình tìm hiểu và hoàn thành Sau đó rút ra được những nhận xét và đánh giá, nêu ra những ưu điểm và nhược điểm của đề tài.
• Chương 6: Kết luận và hướng phát triển.
Sau quá trình nghiên cứu, tìm hiểu và thực hiện đề tài rút ra được những kết luận về khả năng hoạt động của thiết bị trong thực tế Từ đó rút ra được những hướng phát triển cho đề tài.
CƠ SỞ LÝ THUYẾT
Kỹ thuật nuôi chim yến
Yến là một loại chim quý giá, thường xuất hiện tại các nước có khí hậu ôn đới, nhiệt đới và đặc biệt là tại các nước trong khu vực Đông Nam Á. Tại Việt Nam, thường ở các tỉnh thành ở khu vực miền nam như Khánh Hòa, Kiên Giang, Lâm Đồng… là những nơi nuôi dưỡng Yến có số lượng lớn Bởi chúng là một loại động vật có thể đem lại nguồn thu nhập kinh tế cao, có thể lên tới hàng tỉ đồng.
Chim Yến thường có bộ lông màu đen nhạt và nâu đen Khi trưởng thành, chim Yến nuôi tại nhà thường có trọng lượng trung bình khoảng 13g Tuy có kích thước khá nhỏ bé nhưng chim Yến lại có sức khỏe tuyệt vời Hàng ngày chúng có thể bay trong vòng 15 tiếng và khoảng gần 300 km để kiếm mồi với vận tốc lên tới 130 km/h Bên cạnh đó, chim Yến có khả năng nhớ và xác định vị trí tổ của mình một cách chính xác Chim yến cũng rất chung thủy, chúng sẽ gắn bó với tổ của mình, sẽ chỉ rời đi khi có con khác dùng tổ của chúng Thức ăn của chim Yến thường là những loại côn trùng bay như bọ rầy, rầy xanh, ong bắp cày… Vì vậy Yến thường hay kiếm ăn ở những vùng như đồng lúa, đồi núi, rừng cây thấp Chim Yến thường rời tổ vào khoảng 5h sáng đi kiếm ăn và sẽ trở về tổ từ 17h tới 18h.
Về điều kiện nuôi dưỡng chim Yến, các yếu tố như nhiệt độ, độ ẩm, ánh sáng và âm thanh là hết sức quan trọng Nhiệt độ từ 27 ℃ tới 32 ℃ là điều kiện lý tưởng nhất, tuy nhiên tùy khí hậu vùng miền, chim yến cũng có thể chấp nhận ở nhiệt độ trung bình không đồng đều Về độ ẩm, độ ẩm từ 74% - 85% thì số lượng cá thể và điều kiện sinh sản đạt tốt nhất, còn nếu độ ẩm đạt từ 88% - 92% số lượng chim yến sẽ giảm từ 15% - 18% [5] Ngoài ra, ánh sáng cũng là một yếu tố cực kỳ quan trọng Chim yến thường sống trong những hang đá, chúng không muốn bị ánh sáng mặt trời chói trực tiếp để tránh một số mối đe dọa như đại bàng, diều hâu Ánh sáng từ 0,2 – 0,6 lux sẽ giúp chim Yến tốt nhất cho chúng sinh sản, ấp trứng và chăm sóc
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 5 các con, bạn tình) trong hàng nghìn con đang kêu ầm ĩ Với chim Yến cũng vậy, nó cũng có ngôn ngữ riêng Tần số âm thanh mà chim yến phát ra khoảng 1 – 16 KHz, tập trung nhiều nhất trong khoảng 2 – 5 KHz.
Giống như nhiều loại chim khác, chim Yến thường sinh sản theo mùa Chúng làm tổ từ giữa tháng 1 và ấp trứng vào cuối tháng 3 Chim đực và cái sẽ cùng nhau làm tổ, ấp trứng và chăm sóc con Chúng sẽ cùng nhau làm tổ từ lúc 20h00 đến 3h00 sáng hôm sau Số lần làm tổ và thời gian làm tổ khác nhau qua từng giai đoạn Giai đoạn đầu khi hình thành tổ trung bình khoảng 12 lần/ngày, khi sắp tới thời gian đẻ trứng thì cường độ tăng lên, khoảng 15 lần/ngày, đến khi hoàn thành mất tới 30 – 80 ngày Sau đó sẽ là thời gian giao phối đẻ trứng khoảng 5 – 8 ngày, ấp trứng 23 – 30 ngày và từ lúc trứng nở tới khi chim non rời tổ khoảng 40 – 46 ngày Ở điều kiện môi trường phù hợp, chim yến đẻ khoảng 3 lần Mỗi chu kì sinh sản khoảng 3 – 4 tháng, trong đó 1 – 2 tháng đầu tiên là giai đoạn xây tổ Đó là một yếu tố mà những người nuôi Yến cần chú ý để đảm bảo chim Yến có điều kiện sống tốt nhất từ đó đạt hiệu quả kinh tế cao [7].
Tổng quan về công nghệ NB-IoT
NB-IoT (NarrowBand Internet of Things) là giao thức IoT không dây sử dụng công nghệ mạng diện rộng (LPWAN) công suất thấp NB-IoT là một tiêu chuẩn truyền dữ liệu được thiết kế để cho phép các thiết bị hoạt động trong mạng của nhà cung cấp dịch vụ di động, ngoài ra NB-IoT còn có thể hoạt động cùng với mạng GSM và LTE dưới dải tần số cần đăng ký sử dụng.
Một trong những mục tiêu của NB-IoT là tăng cường mở rộng vùng phủ sóng ngoài những gì công nghệ di động hiện có cung cấp Để làm được điều đó, NB-IoT cung cấp các lần truyền lặp lại và các cấu hình phân bổ băng thông khác nhau trong truyền dẫn đường lên NB-IoT có thể kích hoạt nhiều loại thiết bị và dịch vụ IoT mới.NB-IoT giảm mức tiêu thụ năng lượng của các thiết bị được kết nối, đồng thời tăng dung lượng hệ thống và hiệu quả băng thông, đặc biệt là ở những vị trí không dễ dàng được bao phủ bởi các công nghệ di động truyền thống Triển khai NB-IoT phụ thuộc vào các trạm cơ sở 4G/LTE Ở Việt Nam hiện nay băng tần 4G được sử dụng làB3(1800MHz) và B7 (2600MHz) [8].
Hình 2.1: Hệ thống NB-IoT
Các thiết bị và cảm biến được thiết kế đặc biệt là những thành phần cơ bản trong hệ thống NB-IoT Các thiết bị này thu thập thông tin từ môi trường xung quanh và truyền thông tin đó đến các trạm gốc NB-IoT hoặc các nút truyền dẫn Các trạm cơ sở riêng lẻ được kết nối với cổng IoT và máy chủ ứng dụng đám mây IoT để giám sát tập trung và phân tích dữ liệu NB-IoT sử dụng một lớp vật lý mới với các tín hiệu và kênh để đáp ứng các yêu cầu về vùng phủ sóng mở rộng ở khu vực nông thôn và sâu trong nhà, đồng thời cho phép độ phức tạp của thiết bị rất thấp Công nghệ cơ bản ít phức tạp hơn nhiều so với công nghệ của các mô-đun GSM/GPRS Được hỗ trợ bởi tất cả các nhà sản xuất thiết bị di động, chipset và mô-đun lớn, NB-IoT có thể tồn tại cùng với các mạng di động 2G, 3G và 4G.
Dưới đây là một số lợi ích của công nghệ NB-IoT:
• Phạm vi phủ sóng và kết nối phổ biến: NB-IoT có thể giúp hỗ trợ số lượng lớn thiết bị bằng cách thiết lập các mạng NB-IoT có thể kết nối với hàng tỷ nút Được thiết kế để mở rộng phạm vi phủ sóng trong nhà, độ phức tạp thấp hơn của thiết bị cung cấp khả năng kết nối và liên lạc tầm xa.
• Tiêu thụ điện năng ít: NB-IoT không cần chạy một hệ điều hành nặng, chẳng hạn như Linux, hoặc xử lý nhiều tín hiệu, điều này làm cho nó tiết kiệm điện hơn so với các công nghệ di động khác.
• Chi phí thiết bị thấp: Bởi vì việc tạo ra các thiết bị có độ phức tạp thấp hơn dễ dàng hơn nên chi phí của thiết bị thấp.
• Tuổi thọ pin nhiều năm: Khả năng tiêu thụ điện năng nâng cao cho phép NB-IoT hỗ trợ thời lượng pin nhiều năm cho các thiết bị.
• Bảo mật: NB-IoT được bảo mật giống như 4G, bao gồm tất cả các tính năng xác thực dựa trên mã hóa và SIM.
Các dự án ứng dụng NB-IoT:
• Hệ thống đo lường thông minh: NB-IoT hoạt động tốt để theo dõi đồng hồ đo nước và khí đốt thông qua truyền dữ liệu nhỏ và thường xuyên. Vùng phủ sóng của mạng là một vấn đề lớn trong việc triển khai đồng hồ đo thông minh vì đồng hồ đo thường được lắp đặt ở những vị trí khó khăn, chẳng hạn như sâu dưới lòng đất, trong hầm hoặc ở các vùng nông thôn xa xôi Phạm vi phủ sóng và khả năng thâm nhập của NB-IoT có thể giải quyết vấn đề này.
• Thành phố thông minh: NB IoT có thể giúp chính quyền địa phương kiểm soát hệ thống chiếu sáng đường phố, xác định thời điểm phải dọn sạch thùng rác, xác định chỗ đỗ xe miễn phí, giám sát điều kiện môi trường và khảo sát tình trạng đường xá.
• Nhà thông minh: Các cảm biến được kết nối NB IoT có thể gửi cảnh báo cho người quản lý cơ sở về các vấn đề bảo trì tòa nhà Ngoài ra còn có các hệ thống giám sát nhiệt độ trong nhà dựa trên các cảm biến NB-IoT NB IoT có thể dùng để sao lưu kết nối băng thông rộng của tòa nhà.
• Theo dõi: NB IoT cung cấp một cách an toàn, ít tốn kém để theo dõi chuyển.
• Nông nghiệp thông minh: Khả năng kết nối NB IoT cho phép nông dân và thành phố thu thập dữ liệu từ các cảm biến môi trường chứa các mô-đun NB
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 8
IoT có thể gửi cảnh báo nếu có bất kỳ điều gì bất thường xảy ra Những cảm biến này có thể được sử dụng để theo dõi nhiệt độ và độ ẩm của đất, cũng như theo dõi các thuộc tính của đất, ô nhiễm, tiếng ồn và mưa
Giao thức Modbus RTU
Modbus là một chuẩn giao thức truyền thông công nghiệp được phát triển bởi công ty Modicon vào năm 1979, được dùng để giao tiếp các thiết bị với nhau trong hệ thống SCADA Modbus trở thành một chuẩn giao thức truyền thông công nghiệp tiêu chuẩn vì nó có độ ổn định cao, miễn phí, đơn giản và dễ sử dụng.
Giao thức Modbus được chia thành nhiều loại như Modbus RTU, Modbus ASCII, Modbus TCP/IP Mỗi loại sẽ thích hợp cho từng ứng dụng riêng Điểm chung của các giao thức này đều dựa trên nguyên tắc Master–Slave, khi thiết bị Master gửi yêu cầu tới thiết bị Slave thì thiết bị đó mới phản hồi Tất cả các thiết bị sẽ được kết nối chung với nhau trên một đường truyền [12].
Trong đó giao thức Modbus-RTU đang được sử dụng rộng rãi và được ứng dụng rất nhiều trong công nghiệp Giao thức Modbus-RTU là một giao thức truyền thông nối tiếp Trong một mạng giao tiếp các thiết bị sử dụng giao thức Modbus-RTU, các cảm biến hoặc các cơ cấu chấp hành thường đảm nhiệm vai trò là Slave; Các thiết bị như máy tính, PLC, vi điều khiển, thiết bị HMI… có thể là các thiết bị Master, nhưng đôi khi chúng cũng có thể đóng vai trò là các Slave.
Hình 2.2: Một hệ thống theo chuẩn giao thức Modbus-RTU
Trong mô hình OSI, Modbus-RTU là một giao thức ở lớp ứng dụng (Application Layer) nên nó cần lớp vật lý (Physical Layer) phía dưới đề kết nối với các thiết bị khác. Đường truyền vật lý chuẩn RS232 và RS485 được sử dụng ở cho giao thức này Khung truyền của giao thức Modbus RTU xây dựng trên giao thức truyền thông nối tiếp UART. Tín hiệu của giao thức UART sử dụng trong vi điều khiển dùng chuẩn TTL hoặc chuẩn CMOS Vì vậy, khi ta muốn sử dụng vi điều khiển để giao tiếp với các thiết bị sử dụng giao thức Modbus-RTU thì chúng ta cần có các mạch chuyển đổi TTL/CMOS-RS232 hoặc TTL/CMOS-RS485 Cả hai lớp vật lý RS232 và RS485 đều khá tương đồng, tuy nhiên, do có một số đặc tính nổi trội hơn RS232 nên giao thức Modbus-RTU chủ yếu sử dụng đường truyền RS485 Nó có một số đặc điểm nổi bật sau:
• Được sử dụng với các mạng đa điểm, kết nối được nhiều thiết bị Master và nhiều thiết bị Slave.
• Các dây tín hiệu được xoắn lại với nhau nên nếu có nhiễu tác động thì sẽ xảy ra đồng thời trên các dây Đồng thời nó sử dụng hệ thống truyền dẫn cân bằng nên điện áp giữa 2 dây sẽ ngược nhau và mức logic sẽ được xác định dựa trên điện áp chênh lệch giữa các cặp dây (ví dụ A và B) nên khả năng chống nhiễu tốt.
• Chiều dài tối đa của dây dẫn truyền là 1200m, tốc độ truyền dữ liệu thường từ 9600 đến 115200 bps Tốc độ càng cao thì chiều dài dây càng phải ngắn lại.
• Điện áp chênh lệch của 2 thiết bị giao tiếp với với nhau chỉ được chênh lệch trong khoảng từ -7V đến +12V Vậy nên GND của các thiết bị nên được kết nối với nhau trên cùng một đường truyền để đảm bảo tín hiệu được ổn định.
Tổng quan về Website
Internet, đôi khi được gọi đơn giản là “Mạng”, là một hệ thống mạng máy tính trên toàn thế giới - một mạng gồm các mạng trong đó người dùng tại bất kỳ máy tính nào cũng có thể, nếu họ được phép, lấy thông tin từ bất kỳ máy tính nào khác (và đôi khi nói chuyện trực tiếp với người dùng tại các máy tính khác) Nó được hình thành bởi Cơ quan Dự án Nghiên cứu Tiên tiến (ARPA) của chính phủ Hoa Kỳ vào năm 1969 và lần đầu tiên được gọi là ARPANET Ngày nay, Internet là một phương tiện công cộng, hợp tác và tự duy trì mà hàng trăm triệu người trên toàn thế giới có thể truy cập được.
Nó được nhiều người sử dụng làm nguồn tiêu thụ thông tin chính, đồng thời thúc đẩy việc tạo và phát triển hệ sinh thái xã hội của riêng mình thông qua mạng xã hội và chia sẻ nội dung Trong mạng này, các máy tính và các thiết bị mạng giao tiếp với nhau bằng một ngôn ngữ thống nhất Đó là bộ giao thức TCP/IP (Transmision Control Protocol – Internet Protocol).
TCP/IP là sự kết hợp giữa 2 giao thức Trong đó IP (Giao thức liên mạng) cho phép các gói tin được gửi đến đích đã định sẵn, bằng cách thêm các thông tin dẫn đường vào các gói tin để các gói tin được đến đúng đích đã định sẵn ban đầu Và giao thức TCP (Giao thức truyền vận) đóng vai trò kiểm tra và đảm bảo sự an toàn cho mỗi gói tin khi đi qua mỗi trạm Trong quá trình này, nếu giao thức TCP nhận thấy gói tin bị lỗi, một tín hiệu sẽ được truyền đi và yêu cầu hệ thống gửi lại một gói tin khác Quá trình hoạt động này sẽ được làm rõ hơn ở chức năng của mỗi tầng trong mô hình TCP/IP.
Hình 2.3: Giao thức TCP/IP
Một mô hình TCP/IP tiêu chuẩn bao gồm 4 lớp được chồng lên nhau, bắt đầu từ tầng thấp nhất là Tầng vật lý (Physical) → Tầng mạng (Network) → Tầng giao vận (Transport) và cuối cùng là Tầng ứng dụng (Application):
- Tầng ứng dụng: cung cấp các ứng dụng trao đổi dữ liệu được chuẩn hóa.
- Tầng giao vận: chịu trách nhiệm duy trì liên lạc đầu cuối trên toàn mạng.
-Tầng mạng: còn được gọi là tầng Internet, có nhiệm vụ xử lý các gói và kết nối các mạng độc lập để vận chuyển các gói dữ liệu qua các ranh giới mạng.
-Tầng vật lý: bao gồm các giao thức chỉ hoạt động trên một liên kết - thành phần mạng kết nối các nút hoặc các máy chủ trong mạng
Website (còn được viết là trang web) là tập hợp các trang web và nội dung liên quan được xác định bằng một tên miền chung và được xuất bản trên ít nhất một máy chủ web Tất cả các trang web có thể truy cập công khai cùng nhau tạo thành World Wide Web Ngoài ra còn có các trang web riêng chỉ có thể được truy cập trên mạng riêng, chẳng hạn như trang web nội bộ của công ty dành cho nhân viên Người dùng có thể truy cập các trang web trên nhiều loại thiết bị, bao gồm máy tính để bàn, máy tính xách tay, máy tính bảng và điện thoại thông minh Ứng dụng được sử dụng trên các thiết bị này được gọi là trình duyệt web.
Một số ngôn ngữ lập trình thường sử dụng để lập trình Website như HTML, CSS và JavaScript HTML và CSS là 2 ngôn ngữ thường để sử dụng để xây dựng giao diện Web HTML sẽ là những thẻ thể hiện những thành phần giao diện, còn đối với CSS sẽ là thứ quyết định phong cách, bố cục và vị trí các thẻ HTML xuất hiện trên giao diện.
Và khi kết hợp với những ngôn ngữ lập trình khác như PHP, Python, JavaScript, ASP.NET… sẽ giúp cho trang web sinh động và có nhiều tính năng hơn nữa.
Website hoạt động được trên môi trường Internet cần có những phần sau:
• Source Code Website (mã nguồn website): Đây là một hệ thống gồm một hoặc nhiều tập tin được viết dựa trên các ngôn ngữ lập trình và được kết nối thành giao diện người dùng trên website.
• Web hosting (Lưu trữ web): Là máy chủ dùng để lưu trữ mã nguồn và các thành phần khác trên website của bạn.
• Domain (Tên miền): Tên miền là địa chỉ trang web hoạt động trên Internet để người dùng truy cập vào website của bạn dễ dàng.
2.4.3 Flutter và ngôn ngữ lập trình Dart
Flutter là một framework giao diện người dùng miễn phí được phát triển bởi Google Flutter được dùng với mục đích xây dựng và phát triển các ứng dụng chất lượng, mang đến những trải nghiệm tốt trên nhiều hệ điều hành khác nhau như iOS và Android và xây dựng các ứng dụng Mobile, Web và Desktop app đẹp, được biên dịch nguyên bản từ một cơ sở mã code duy nhất [14].
Flutter bao gồm hai thành phần quan trọng:
• SDK (Software Development Kit tạm dịch Bộ công cụ phát triển phần mềm): Một tập hợp các công cụ sẽ giúp bạn phát triển các ứng dụng của mình Điều này bao gồm các công cụ để biên dịch mã của bạn thành mã máy gốc (mã cho iOS và Android).
• Framework (UI Library tạm dịch Thư viện giao diện người dùng): Tập hợp các phần tử giao diện người dùng có thể sử dụng lại (nút, văn bản, thanh trượt, v.v.) để bạn có thể cá nhân hóa theo nhu cầu của riêng mình. Flutter sử dụng một ngôn ngữ để lập trình riêng có tên là Dart Dart là ngôn ngữ hỗ trợ lập trình hướng đối tượng, cú pháp kiểu C, mã code Dart có thể biên dịch thành JavaSript để chạy trên trình duyệt Nó hỗ trợ những khái niệm lập trình hiện đại như giao diện lớp, lớp trừu tượng… Hiện nay ngôn ngữ này được sử dụng rộng rãi để phát triển ứng dụng di động, ứng dụng web hiện đại, ứng dụng máy tính để bàn và Internet of Things (IoT) bằng cách sử dụng Flutter.
Dart là một ngôn ngữ khá dễ học và các nhà phát triển của Google đã nỗ lực rất nhiều trong phần tài liệu Với cú pháp giống Java, các nhà phát triển có nền tảng OOPS (object-oriented programming system) có thể nhanh chóng bắt tay vào lập trình nếu họ biết những kiến thức cơ bản Dart cũng cho phép chỉnh sửa dễ dàng vì chúng có thể kiểm tra các đoạn mã nhỏ ngay cả khi ứng dụng hoàn chỉnh chưa sẵn sàng.
Một ứng dụng Dart bắt đầu chạy từ hàm main, hàm này bắt buộc phải có, nó có thể có tham số như khai báo ở trên Dart có phân biệt chữ hoa/thường nên khi đặt tên cho các thành phần hàm, biến cần lưu ý Hàm main() và hàm maIn() là khác nhau.Các lệnh trong Dart được viết mà các thành phần không bị ảnh hưởng bởi khoảng trắng, kết thúc một câu lệnh là dấu “;” Dart cũng tổ chức code thành các thư viện, có những thư viện xây dựng sẵn như thư viện toán dart:math , cần dùng thư viện nào thì nạp nó vào bằng lệnh import Ta cần tự xây dựng các thư viện cho mình và nạp vào bằng cách này, kể cả nạp một file dart cũng dùng import [15].
Hình 2.6: Một mẫu chương trình sử dụng ngôn ngữ Dart
Mọi thứ lưu trong biến đều là đối tượng (kể cả số, kể cả null), mọi đối tượng đều sinh ra từ định nghĩa lớp, mọi lớp đều kế thừa từ lớp cơ sở có tên Object (Giống C#).
• Khi biến có chấp nhận mọi kiểu thì sử dụng từ khóa dynamic.
• Dart hỗ trợ định nghĩa kiểu generic (giống C#).
• Dart cho phép định nghĩa hàm trong hàm (lồng nhau).
• Dart không có từ khóa public, private, protected khi khai báo phương thức, thuộc tính lớp Nếu thuộc tính, tên lớp bắt đầu bằng _ thì hiểu đó là private.
• Các định danh (tên biến, tên hàm, tên lớp ) bắt đầu bằng chữ (a-zA-Z) hoặc _, theo sau là chuỗi chữ có thể kế hợp với số.
Giới thiệu phần cứng
2.5.1 Cảm biến nhiệt độ, độ ẩm SHT20 RS485
Cảm biến nhiệt độ, độ ẩm SHT20 RS485 sử dụng chip cấp công nghiệp và cảm biến nhiệt độ và độ ẩm SHT20 được nhập khẩu chính xác cao để đảm bảo độ tin cậy tuyệt vời, độ chính xác cao và khả năng thay thế lẫn nhau Áp dụng giao diện phần cứng RS485 (với thiết kế chống sét), lớp giao thức tương thích với giao thức Modbus - RTU công nghiệp tiêu chuẩn Đây là sản phẩm thiết kế theo giao thức Modbus – một giao thức phổ biến, người dùng có thể chọn giao thức truyền thông riêng của họ, giao thức bình thường với tải lên tự động (kết nối RS485 ví dụ, nhiệt độ và độ ẩm sẽ được tự động đầu ra bởi công cụ chuyển nối tiếp).
Hình 2.10: Cảm biến nhiệt độ, độ ẩm SHT20 RS485
• Điện áp làm việc: DC4-30V (tối đa không vượt quá 33V).
• Nhiệt độ làm việc: nhiệt độ -20°C + 60°C, độ ẩm 0% RH - 100% RH.
• Kiểm soát độ chính xác: nhiệt độ ± 0,3°C (25°C), độ ẩm ± 3% RH (25°C).
• Tốc độ truyền: 9600 mặc định (người dùng có thể đặt), dữ liệu 8 bit, 1 điểm dừng, không có độ chẵn lẻ.
• Địa chỉ thiết bị: có thể được đặt 1-247, mặc định là 1.
Hình 2.11: Sơ đồ chân cảm biến SHT20 RS485
2.5.2 Mô-đun MAX485 chuyển đổi TTL sang RS485
MAX485 là một mạch chuyển đổi tín hiệu TTL sang RS485 cho phạm vi xa, tốc độ dữ liệu cao, dễ xảy ra lỗi giao tiếp Các mạng truyền thông kỹ thuật số thực hiện tiêu chuẩn EIA-485 có thể được sử dụng hiệu quả trong khoảng cách xa và trong môi trường nhiễu điện.
Bộ chuyển đổi này cho phép gửi và nhận dữ liệu bằng mạng RS485 từ Arduino / vi điều khiển Tương tự như giao diện Serial TTL và RS232, RS485 cho phép truyền dữ liệu giữa các bộ vi điều khiển và thiết bị nhưng với các tính năng bổ sung RS485 là một giao thức tiêu chuẩn công nghiệp để truyền dữ liệu và cung cấp nhiều ưu điểm.
Nó cho phép truyền dữ liệu giữa tối đa 32 thiết bị, thông qua cùng một đường truyền dữ liệu qua chiều dài cáp lên đến 1.2 km (4000 ft) với tốc độ dữ liệu tối đa là 10 Mbit/s Bộ chuyển đổi này được thiết kế cho các ứng dụng văn phòng và công nghiệp (không bị cô lập) và cung cấp các đặc điểm / tính năng ưu việt thường chỉ có trên các thiết bị đắt tiền hơn.
Mạch giao tiếp TTL - RS485 được dùng để chuyển đổi tín hiệu nối tiếp (Serial)UART sang giao tiếp RS485 sử dụng IC MAX485. Điện áp hoạt động: 5 VDC.
Hình 2.12: Mô-đun MAX485 chuyển đổi TTL sang RS485
2.5.3 Mô-đun thời gian thực DS1307
Mô-đun thời gian thực DS1307 có chức năng lưu trữ thông tin ngày tháng năm cũng như giờ phút giây, nó sẽ hoạt động như một chiếc đồng hồ và có thể xuất dữ liệu ra ngoài qua giao thức I2C.
Mô-đun thời gian thực RTC DS1307 được thiết kế kèm theo một viên pin đồng hồ có khả năng lưu trữ thông tin lên đến 10 năm mà không cần cấp nguồn 5V từ bên ngoài Mô-đun đi kèm với EEPROM AT24C32 có khả năng lưu trữ thêm thông tin lên đến 32KBit.
Hình 2.13: Module thời gian thực DS1307
SIM7000C NB-IoT/LTE/GPRS hỗ trợ giao tiếp LTE-FDD đa tần số, giao tiếp GPRS/EDGE tần số kép, giao tiếp NB-IoT [11] Bất kể phát triển nguyên mẫu hay sản xuất hàng loạt nhỏ, SIM7000C NB-IoT/LTE/GPRS là giải pháp tốt nhất cho các ứng dụng tiêu thụ điện năng thấp, độ trễ thấp và thông lượng trung gian Bên cạnh GNSS (Hệ thống vệ tinh định vị toàn cầu), SIM7000C hỗ trợ GPS của Mỹ, GLONASS của Nga, Galileo của châu Âu, QZSS của Nhật Bản và Hệ thống vệ tinh định vị BeiDou của Trung Quốc Nó có thể được áp dụng rộng rãi cho các ứng dụng IoT như điều khiển đường dài, theo dõi di chuyển và tải lên dữ liệu đường dài.
• Hỗ trợ 4G băng tần FDD-LTE B3/B8/B20/B28.
• Hỗ trợ 2G GPRS/EDGE 900/1800 MHz.
• Điều khiển thông qua các lệnh AT.
• Dải điện áp cung cấp: 3.0V - 4.3V.
• Nhiệt độ hoạt động: -40°C đến +85°C.
• NB-IoT, Uplink lên tới 66kbps, Downlink lên tới 34kbps.
• LTE CAT-MI (eMTC), Uplink lên tới 375 Kbps, Downlink lên tới 300Kbps.
• GPRS/EDGE: Uplink lên tới 85.6 Kbps, Downlink lên tới 85.6 Kbps.
• Giao thức: TCP/UDP/MQTT/FTP/HTTP/HTTPS/TLS/DTLS.
Arduino Uno R3 là một bảng mạch vi điều khiển nguồn mở dựa trên vi điều khiển Microchip ATmega328 được phát triển bởi Arduino.cc Bảng mạch được trang bị các bộ chân đầu vào/ đầu ra Digital và Analog có thể giao tiếp với các bảng mạch mở rộng khác nhau Sử dụng ngôn ngữ lập trình C, C++ hoặc Arudino, một ngôn ngữ bắt nguồn từ C, C++ trên phần mềm riêng cho lập trình Arduino ID [13].
Thông số kĩ thuật Arduino Uno R3:
• Điện áp vào khuyên dùng: 7 - 12V.
• Điện áp vào giới hạn: 6 - 20V.
• Digital I/O pin: 14 (trong đó 6 pin có khả năng băm xung).
• Cường độ dòng điện trên mỗi I/O pin: 20mA.
• Cường độ dòng điện trên mỗi 3.3V pin: 50mA.
• Flash Memory: 32 KB (ATmega328P), 0.5 KB được sử dụng bởi bootloader.
Hình 2.16: Sơ đồ chân Arduino UNO
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối).
Một số chân có chức năng đặc biệt như sau:
• 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết.
• Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite() Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác.
• Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác.
• LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13 Khi chân này được người dùng sử dụng, LED sẽ sáng.
Relay 5VDC là một thiết bị điện tử được sử dụng để điều khiển các tín hiệu điện trên các mạch điện tử Relay hoạt động bằng cách sử dụng một điện áp nhỏ 5VDC để kích hoạt một cơ cấu chuyển đổi trong relay, từ đó điều khiển các tín hiệu điện trên mạch.
Relay thường được sử dụng để điều khiển các thiết bị điện tử, như đèn, quạt, bơm, máy tính và các thiết bị khác Nó được sử dụng rộng rãi trong các ứng dụng điện tử, như trong các hệ thống đo lường và kiểm soát, tự động hóa và trong các thiết bị IoT Các chân đấu nối và chân chuyển mạch của relay thường được kí hiệu là COM/POLE, NC và NO:
• Chân COM (Common Pin): Đây là chân kết nối với một thiết bị điện tử ngoài
TÍNH TOÁN VÀ THIẾT KẾ
Giới thiệu
Hệ thống này bao gồm một website để điều khiển các thiết bị thông qua kết nối mạng, cùng với một bộ điều khiển trung tâm có khả năng điều chỉnh ngõ ra công suất.
Bộ điều khiển trung tâm nhận lệnh từ website và tiến hành xử lý để điều khiển các thiết bị Mục tiêu của thiết kế là đảm bảo việc điều khiển các thiết bị thông minh và tiện dụng cho người dùng.
Trong nội dung thiết kế, chúng ta cần bao gồm sơ đồ khối của hệ thống để trình bày cấu trúc tổng quan Bên cạnh đó, cần thực hiện tính toán và thiết kế mạch cho hệ thống, đảm bảo các yêu cầu kỹ thuật được đáp ứng Cuối cùng, sơ đồ nguyên lý toàn mạch sẽ được tạo ra để mô tả cách thức hoạt động của hệ thống dưới dạng các thành phần và mối quan hệ giữa chúng.
Sơ đồ khối hệ thống
Hình 3.1: Sơ đồ khối hệ thống
- Khối nguồn: Cung cấp nguồn cho toàn bộ các khối còn lại.
- Khối xử lí trung tâm và kết nối Internet: Điều khiển toàn bộ hoạt động của bộ điều khiển - quản lí truyền và nhận dữ liệu với websever, điều khiển thiết bị.
- Khối cảm biến: Khối có nhiệm vụ đọc giá trị của các cảm biến đưa vào khối xử lý.
- Khối thời gian thực: Khối có nhiệm vụ cung cấp giá trị thời gian thực cho thiết bị Nhờ thời gian thực, thiết bị có thể hoạt động đúng so với thời gian thực tế. Khối xử lý sẽ lấy thời gian này nhằm so sánh với điều kiện để bật tắt thiết bị loa, quạt, máy phun sương và máy sưởi.
- Khối điều khiển thiết bị ngoại vi: Khối có nhiệm vụ nhận tín hiệu từ khối xử lý trung tâm để điều khiển ngõ ra relay đóng mở khóa các thiết bị ngoại vi gồm: loa, quạt, máy phun sương, máy sưởi…
- Khối hiển thị: Hiển thị thông tin các giá trị cảm biến và trạng thái hoạt động của các thiết bị
Tính toán và thiết kế hệ thống
Khối cảm biến có nhiệm vụ đọc cảm biến và đưa dữ liệu đến khối xử lí trung tâm.
Nhiệt độ và độ ẩm là hai đại lượng tác động trực tiếp đến quá trình sinh trưởng và phát triển của chim yến Hiện nay, trên thị trường có nhiều loại cảm biến nhiệt độ, độ ẩm có thể sử dụng trong đề tài như AMT1001, DHT11, DHT22… Để thuận tiện trong việc xác định cũng như so sánh, điều chỉnh nhiệt độ, độ ẩm sao cho phù hợp với môi trường sống của chim yến, chúng em quyết định sử dụng cảm biến nhiệt độ, độ ẩmSHT20 RS485 Điểm khác biệt của cảm biến này là nó sử dụng giao thức giao tiếpModbus giúp dữ liệu có thể truyền đi xa và tốc độ nhanh hơn và có thể cùng lúc giao tiếp nhiều cảm biến.
Hình 3.2: Sơ đồ kết nối khối cảm biến và Arduino
- Chân A (A+) và chân B (B-) là các chân truyền dữ liệu trên đường truyền RS485 Chúng cung cấp một đường truyền cân bằng cho dữ liệu truyền đi và truyền về.
- Cảm biến SHT20 RS485 kết nối đến module RS485 thông qua các chân A và B.
Dữ liệu từ cảm biến sẽ được truyền đi qua chân A và B và gửi đến thiết bị nhận.
- Chân DE (Data Enable) trên module RS485 là tín hiệu điều khiển cho chế độ truyền dữ liệu Khi chân DE được kích hoạt (được thiết lập thành mức logic HIGH), module RS485 sẽ chuyển sang chế độ truyền dữ liệu.
- Trong quá trình truyền dữ liệu từ Arduino đến cảm biến SHT20, Arduino sẽ kích hoạt chân DE để cho phép mô-đun RS485 truyền dữ liệu đi.
- Chân RE (Receiver Enable) trên module RS485 là tín hiệu điều khiển cho chế độ nhận dữ liệu Khi chân RE được kích hoạt (được thiết lập thành mức logic HIGH), module RS485 sẽ chuyển sang chế độ nhận dữ liệu.
- Trong quá trình nhận dữ liệu từ cảm biến SHT20 đến Arduino, Arduino sẽ kích hoạt chân RE để cho phép mô-đun RS485 nhận dữ liệu từ cảm biến.
Khối thời gian thực có chức năng cung cấp giá trị thời gian thực cho thiết bị Nhờ đó mà các thiết bị có thể hoạt động đúng so với thời gian thực tế Tiếp đến, khối xử lí sẽ lấy giá trị thời gian này để so sánh với các điều kiện đã được lập trình để bật tắt loa Có rất nhiều loại mô-đun thời gian thực hiện có trên thị trường như DS3231, DS1307,
PCF8563, MCP7940N… nhưng thông dụng nhất là loại DS1307 RTC, nó đáp ứng đầy đủ điều kiện về thời gian, có thể lưu được thời gian bằng pin đồng hồ và kết nối dễ dàng thông qua giao tiếp I2C cùng với giá thành rẻ, vì vậy nhóm quyết định sử dụng mô-đun DS1307 RTC.
DS1307 sử dụng một viên pin chạy bằng năng lượng pin (CR2032) để duy trì nguồn năng lượng khi nguồn điện chính bị ngắt Khi nguồn điện được cấp lại, DS1307 sẽ tiếp tục theo dõi thời gian từ thời điểm trước đó mà không cần đồng bộ lại Điều này giúp bảo đảm rằng thời gian vẫn được giữ nguyên khi có mất điện tạm thời.
Hình 3.3: Sơ đồ nguyên lí khối thời gian thực
- Hàng chân mở rộng bên trái của DS1307 RTC dùng để kết nối thêm các thiết bị I2C khác.
- Vcc, Vbat là nguồn cung cấp cho mô-đun.
- GND là chân nối Mass chung cho cả Vcc và Vbat.
- SDA và SCL là 2 chân dữ liệu được sử dụng trong giao tiếp I2C Nó dùng để truyền và nhận dữ liệu giữa mô-đun DS1307 RTC và Arduino.
3.3.3 Khối xử lý và kết nối Internet
Khối xử lý và kết nối internet có nhiệm vụ nhận các giá trị từ cảm biến và các giá trị điều khiển từ website xuống Từ đó, khối sẽ tính toán xử lý các điều kiện và điều khiển các thiết bị khối ngoại vi và đảm nhiệm việc đưa dữ liệu để hiển thị lên website.
Trên thị trường có rất nhiều loại vi điều khiển để xử lý dữ liệu và kết nối trên Internet như: ESP8266, ESP32, Sim7670C, Sim7000C… trong đó, nổi bật nhất là Sim7000C với khả năng kết nối mạng 4G, LTE và đặc biệt là NB-IoT Từ những ưu điểm đó, nhóm em quyết định chọn mô-đun Sim7000C làm khối kết nối Internet và Arduino Uno R3 làm khối xử lí chính của đề tài.
Hình 3.4: Sơ đồ nguyên lí khối xử lí và khối kết nối Internet
Chức năng của khối hiển thị: dùng để hiển thị thông tin, trạng thái hoạt động của các thiết bị ngoại vi cũng như nhiệt độ, độ ẩm hiện tại Từ đó giúp người dùng có thể quan sát trực tiếp ở khoảng cách gần mà không cần truy cập vào website.
Có rất nhiều linh kiện để lựa chọn cho khối hiển thị như: LCD, Led ma trận, màn hình OLED… Tuy nhiên nhóm em chọn module LCD 20x4 làm khối hiển thị cho mạch Với giá thành rẻ, quan sát thuận tiện cũng như điều khiển lập trình dễ dàng bằng I2C thì đây là một lựa chọn tối ưu nhất.
Mô-đun LCD 20x4 mà nhóm em chọn đã tích hợp sẵn mô-đun I2C để dễ dàng kết nối vì LCD 20x4 có 16 chân không tối ưu trong việc kết nối với Arduino, thay vào đó sẽ chỉ cần kết nối 2 dây nguồn (Vcc và GND) và 2 dây giao tiếp I2C (SDA, SCL) qua địa chỉ 0x27 trong chương trình Ngoài ra mô-đun LCD còn tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD giúp người dùng dễ dàng quan sát Cụ thể ta có sơ đồ nguyên lý như sau:
Hình 3.5: Sơ đồ nguyên lí khối hiển thị
+ SCL, SDA: là các chân giao tiếp I2C với Arduino.
+ VCC, GND: là các chân nguồn.
3.3.5 Khối điều khiển thiết bị ngoại vi
Khối điều khiển thiết bị ngoại vi có chức năng nhận tín hiệu từ khối xử lí để đóng mở relay, bật tắt các thiết bị như: quạt, máy phun sương, loa, máy sưởi.
Khối gồm các linh kiện và thiết bị như sau:
+ Relay SRD05VDC: Relay đóng vai trò trung gian giữa khối xử lí và các thiết bị cần điều khiển Chức năng của nó là đóng ngắt tín hiệu từ khối xử lí để điều khiển các thiết bị có điện áp biến đổi từ nguồn điện xoay chiều 220VAC.
Hình 3.6: Sơ đồ chân relay SRD05VDC
• 2 chân 1 và 2 là hai chân coil đưa dòng điện 5VDC chạy qua để đóng ngắt cuộn coil.
• Chân 3 là chân chung nối với dây nóng của nguồn 220VAC.
• Chân 5 là chân NC (thường đóng), không sử dụng trong trường hợp này.
• Chân 4 là chân NO (thường mở) Chân này sẽ nối với chân cần cấp dây nóng nguồn 220VAC Khi cuộn coil đóng lại, chân common sẽ được nối với chân NO.
• Transistor C1815 là transistor loại NPN.
• Transistor C1815 có ba chân kết nối là: cực cơ bản (emitter, ký hiệu E), cực cơ bản chung (base, ký hiệu B) và cực thu (collector, ký hiệu C).
• Transistor C1815 có dải điện áp cơ bản từ 45V đến 50V và dòng cơ bản từ 150mA đến 200mA.
• Hệ số khuếch đại hFE trong khoảng 25 -100.
Hình 3.7: Sơ đồ chân transistor C1815
• Chân E được nối xuống GND.
• Chân C được nối vào dây âm của cuộn dây relay.
• Chân B sẽ được nối tới Arduino Khi chân B mức 1 Chân C sẽ được kéo xuống GND và ngược lại.
Sơ đồ nguyên lý toàn mạch
Để thiết kế sơ đồ nguyên lí chúng ta có thể sử dụng các phần mềm phổ biến như: Proteus, Altium Designer, Orcad, Eagle, Kicad… Trong số các phần mềm đó, chúng em chọn Proteus làm phần mềm thiết kế sơ đồ nguyên lý cũng như PCB Sau khi thiết kế sơ đồ nguyên lý cho từng khối, chúng ta có sơ đồ nguyên lý của toàn mạch như sau:
Hình 3.12: Sơ đồ nguyên lí toàn mạch.
THI CÔNG HỆ THỐNG
Giới thiệu
Ở chương này, sau khi đã hoàn thành việc tìm hiểu cơ sở lý thuyết, lựa chọn linh kiện và tính toán, nhóm em sẽ tiếp tục công đoạn thi công hệ thống bao gồm: vẽ mạch layout PCB, làm mạch in, lắp ráp, hàn các linh kiện và xây dựng mô hình phần cứng.Bên cạnh phần cứng, chương này cũng sẽ đề cập tới xây dựng trang web để có thể theo dõi và điều khiển các thiết bị của mô hình.
Thi công hệ thống
Tiến hành vẽ mạch trên phần mềm Proteus 8.12 như sau:
Hình 4.1: Sơ đồ mạch in
Hình 4.2: Sơ đồ bố trí linh kiện 3D
Mạch được thiết kế 1 mặt với kích thước dây T60.
Các bước thi công bo mạch:
- Bước 2: Ủi giấy in PCB lên bo mạch đồng.
- Bước 3: Sau khi ủi, tiến hành kiểm tra các đường mạch, nếu đứt sử dụng bút lông để tô vào nét đứt.
- Bước 4: Sử dụng nước rửa mạch hoặc bột sắt để rửa mạch.
- Bước 5: Khoan các lỗ linh kiện bằng mũi khoan 0,8mm và 0,6mm.
Hình 4.3: Bo mạch sau khi rửa và phủ nhựa thông
4.2.3 Lắp ráp và kiểm tra
Các bước lắp ráp và kiểm tra linh kiện:
- Bước 1: Lắp linh kiện theo vị trí đã sắp xếp và hàn linh kiện.
- Bước 2: Kiểm tra các mối hàn và sửa chữa nếu có.
- Bước 3: Nạp chương trình cho vi điều khiển và kiểm tra đã hoạt động tốt hay chưa.
Hình 4.4: Mạch sau khi hoàn thiện lắp ráp linh kiện.
Thi công mô hình hệ thống
Mô hình hệ thống bao gồm 2 phần: Mô hình tủ điện điều khiển và mô hình nhà yến.
Mô hình điều khiển sử dụng tủ điện nhựa kích thước 20x20x12 mm Mô hình điều khiển gồm 4 ngõ ra là phích cắm để điều khiển 4 thiết bị và một nguồn vào 220V.
Hình 4.5: Mặt trước tủ điện
Hình 4.6: Mặt dưới tủ điện
Hình 4.7: Lắp ráp mạch và các linh kiện vô tủ điện
Hình 4.8: Tổng quan mô hình điều khiển sau khi lắp ráp
Mô hình nhà yến sử dụng tấm bìa mô hình Fomex dày 5mm Kích thước mô hình: 45x35x45 cm Mô hình được lên ý tưởng dựa vào những ngôi nhà yến đã được xây dựng ngoài đời, bao gồm 2 tầng, mỗi tầng có 1 cảm biến đọc nhiệt độ, độ ẩm Ở tầng 1 có các thiết bị để điều khiển nhiệt độ, độ ẩm phù hợp với môi trường sinh sống của chim yến, hai bên tường có các lỗ thông gió được mô phỏng theo những ngôi nhà yến ngoài thực tế.
Hình 4.9: Mô hình nhà yến.
Lập trình hệ thống
Các yêu cầu của hệ thống bao gồm:
- Đo nhiệt độ, độ ẩm.
- Hiển thị thông tin lên LCD.
- Điều khiển được các thiết bị như: quạt, máy phun sương, máy sấy và loa.
- Nhận dữ liệu từ Website.
- Gửi dữ liệu từ mô hình lên Website.
Từ những yêu cầu trên, từ đó ta rút ra được lưu đồ giải thuật chính như sau:
Hình 4.10: Lưu đồ chính của hệ thống
Tại chương trình điều khiển, có 2 chế độ đó là điều khiển thủ công hoặc chế độ điều khiển tự động và được cập nhật lên Web.
- Chế độ điều khiển thủ công: Người dùng được phép bật tắt thiết bị theo ý muốn, bằng cách nhấn nút điều khiển trên Website.
- Chế độ điều khiển tự động: Dựa vào các thông số như nhiệt độ, độ ẩm và thời gian đã được cài đặt giới hạn để điều khiển bật, tắt các thiết bị như máy phun sương, loa, quạt và máy sấy.
Hình 4.11: Lưu đồ giải thuật chế độ điều khiển thủ công
Giải thích lưu đồ giải thuật ở chế độ điều khiển thủ công: Đầu tiên ta sẽ kiểm tra chế độ điều khiển, với “0” là chế độ thủ công và “1” là chế độ tự động Ta sẽ kiểm tra trạng thái các thiết bị như phun sương, sưởi, loa và quạt Nếu trạng thái từ cơ sở dữ liệu gửi về là “0” thì tắt thiết bị còn nếu trạng thái bằng “1” thì bật thiết bị lên.
Hình 4.12: Lưu đồ giải thuật chế độ điều khiển tự động
Giải thích lưu đồ giải thuật ở chế độ điều khiển tự động:
Cũng như ở chương trình điều khiển thủ công, đầu tiên kiểm tra chế độ điều khiển Nếu là chế độ điều khiển tự động, đầu tiên kiểm tra thời gian, nếu thời bằng giới hạn thời gian bật loa thì loa bật và ngược lại.
Sau đó sẽ kiểm tra thông số giới hạn độ ẩm đã được cài đặt từ Web Nếu độ ẩm hiện tại nằm trong khoảng giới hạn độ ẩm đã cài đặt, thì tiến tới kiểm tra nhiệt độ hiện tại có nằm trong khoảng nhiệt độ đã cài đặt trước hay chưa Nếu cả hai thông số trên đều nằm trong khoảng giới hạn đã cài đặt, nhiệt độ và độ ẩm ổn định thì các thiết bị sẽ tắt Trong trường hợp đầu tiên, nếu độ ẩm đã ổn định nhưng nhiệt độ lại nằm ngoài ngưỡng cài đặt Tiếp tục kiểm tra nhiệt độ hiện tại lớn hơn hoặc bằng giới hạn nhiệt độ trên thì bật máy phun sương, ngược lại thì bật sưởi để ổn định nhiệt độ Còn nếu ban đầu độ ẩm không ổn định, bật quạt và sưởi với trường hợp độ ẩm lớn hơn hoặc bằng giới hạn độ ẩm trên và ngược lại nếu thấp hơn giới hạn độ ẩm dưới thì bật máy phun sương.
4.4.2 Phần mềm lập trình cho Arduino UNO
Hiện nay có rất nhiều phần mềm lập trình chuyên dụng cho module, và đặc biệt với những vi điều khiển như Arduino UNO thì phần mềm Arduino IDE là phần mềm phù hợp nhất.
Hình 4.13: Phần mềm Arduino IDE
Arduino IDE là một phần mềm với mã nguồn mở và miễn phí, dễ dàng trong việc lập trình và tải chương trình vào bo mạch của mình Phần mềm này được chạy trên nền tảng Java và phù hợp với nhiều hệ điều hành như MAC, Windows, Linux Môi trườngIDE thường gồm hai phần chính là trình soạn thảo và trình biên dịch Phần trình soạn thảo dùng để viết mã nguồn cần thiết, trong khi phần trình biên dịch được sử dụng để dịch và nạp mã lên mô-đun Arduino Phần mềm này hỗ trợ rất nhiều module như:Arduino UNO, Arduino Mega, Arduino Micro, ESP… Để sử dụng phần mềm Arduino IDE mới nhất hiện nay, truy cập vào website https://www.arduino.cc/en/software và tải phần mềm xuống phù hợp với hệ điều hành của máy tính.
Hình 4.14: Tải phần mềm Arduino IDE
Sau khi tải và cài đặt thành công, khi truy cập vào phần mềm sẽ có giao diện như sau:
Hình 4.15: Giao diện chính của Arduino IDE
Hình 4.16: Một số phím chức năng
4.4.3 Viết chương trình cho hệ thống
Sử dụng cảm biến SHT20 RS485 sử dụng thư viện Một số câu lệnh chính:
- setup_modbus(1); khởi tạo id của cảm biến.
- result_sensor_1 = modbus_device.readInputRegisters(1, 2); Đọc dữ liệu từ cảm biến SHT20 RS485.
- if (result_sensor_1 == modbus_device.ku8MBSuccess) { temp1 = modbus_device.getResponseBuffer(0) / 10.0; hum1 = modbus_device.getResponseBuffer(1) / 10.0;
} Kiểm tra đọc nhiệt độ, độ ẩm được hay không.
Sử dụng Sim 7000C để kết nối internet Sử dụng lệnh AT để thiết lập sim và kết nối mạng cho sim.
- Kiểm tra modem sim: "AT+CGMM".
- Cài đặt APN của mạng internet đang sử dụng Với mạng Viettel có APN là
“e-connect”: "AT+CGDCONT=1,\"IP\",\"e-connect\"".
- Mở kết nối mạng của modem: “AT+NETOPEN”.
- Kết nối với mạng NB-IoT: “AT+CMNET8”.
- Ngắt kết nối mạng: “AT+NETCLOSE”.
- Khởi tạo HTTP: “AT+HTTPINIT”.
- Kết thúc phiên hoạt động HTTP: “AT+HTTPTERM”.
- Yêu cầu HTTP truyền và nhận dữ liệu theo định dạng JSON:
"AT+HTTPPARA=\"CONTENT\",\"application/json\"".
- Gửi yêu cầu HTTP tới Firebase
"AT+HTTPPARA=\"URL\",\"https://quanlynhayen-da658-default- rtdb." "firebaseio.com/.json\"".
Chương trình gửi và nhận dữ liệu lên Firebase:
Sử dụng thư viện và một số câu lệnh chính sau:
- Phân tích kết quả chuỗi JSON từ Firebase và lưu nó vào biến doc: deserializeJson(doc, firebase_response);
- Chuyển đổi dữ liệu sang định dạng JSON: serializeJson(doc, json);
- Gửi dữ liệu lên Firebase: String cmd = "AT+HTTPDATA=" + lenStr
4.5.1 Tạo cơ sở dữ liệu thời gian thực trên Firebase
Cơ sở dữ liệu thời gian thực (Real time Database) là nơi người dùng có thể tạo dữ liệu để điều khiển và hiển thị các thông tin như nhiệt độ, độ ẩm. Để tạo cơ sở dữ liệu thời gian thực trên Firebase bao gồm các bước sau:
- Bước 1: Nhấn chọn “Realtime Database” trên thanh công cụ phía trái màn hình.
- Bước 2: Nhấn chọn “Create Database” để khởi tạo cơ sở dữ liệu.
- Bước 3: Tiếp tục chọn “Next” sau đó là “Enable” để hoàn thành việc tạo database.
Hình 4.18: Giao diện sau khi tạo thành công Database
- Bước 4: Nhấn vào dấu “+” để thêm dữ liệu.
Sau đó nhập tên biến dữ liệu và chọn kiểu dữ liệu, cuối cùng nhấn Add để lưu lại.
Hình 4.20: Tạo biến dữ liệu “temp”
Bảng 4.1: Cấu trúc dữ liệu trong database
Tên Kiểu dữ liệu Mô tả bh Number Giới hạn dưới của độ ẩm bn Number Giới hạn dưới của giờ bt Number Giới hạn dưới của nhiệt độ h1 Number Độ ẩm 1 h2 Number Độ ẩm 2 m Number Chế độ điều khiển l Number Quạt n Number Máy phun sương s Number Loa t1 Number Nhiệt độ 1 t2 Number Nhiệt độ 2 th Number Giới hạn trên của độ ẩm tn Number Giới hạn trên của giờ tt Number Giới hạn trên của nhiệt độ zh Number Máy sưởi
4.5.2 Phần mềm lập trình website
Visual Studio Code là một trong những phần mềm lập trình phổ biến hiện nay, phù hợp với Windows, Linux và macOS Visual Studio Code được phát triển bởi Microsoft.
Hình 4.21: Phần mềm Visual Studio Code
Visual Studio Code hỗ trợ chức năng debug, đi kèm với Git, có syntax highlighting, tự hoàn thành mã thông minh và cải tiến mã nguồn Là trình biên tập lập trình code cho nên Visual Studio Code được hỗ trợ khá nhiều ngôn ngữ lập trình: C/C++, C#, F#, Visual
Basic, HTML, CSS, JavaScript… Cho nên khi sử dụng, nó dễ dàng phát hiện và đưa ra thông báo nếu chương chương trình xảy ra lỗi.
Trong đề tài này, website được lập trình sử dụng ngôn ngữ Dart trên framework đó là Flutter chính vì vậy ta cần cài đặt Flutter và Dart trong phần mềm Visual Studio Code để thực hiện.
Lựa chọn Extensions trên thanh công cụ phía trái, sau đó gõ tìm Flutter và Dart rồi cài đặt.
Hình 4.22: Cài đặt Flutter và Dart trên Visual Studio Code
Như ta đã biết Firebase cung cấp 1 dịch vụ Hosting trang web miễn phí, giúp ta tiết kiệm thời gian và chi phí để lập trình trang web Đặc biệt Hosting Firebase còn có độ bảo mật tốt, với chứng chỉ SSL miễn phí. Đầu tiên, chọn Add để chọn thêm ứng dụng của bạn Sau đó chọn web.
Hình 4.23: Chọn web để tiếp tục hosting website
Tiếp theo, nhập tên ứng dụng cần tạo:
Sau khi đăng ký tên trang web, bước tiếp theo ta cần cài đặt SDK Firebase 2 bằng cách sử dụng npm với câu lệnh “npm install firebase” hoặc sử dụng thẻ JavaScript và copy đoạn mã được Firebase cung cấp vào trang index.html của trang web Tuy nhiên để sử dụng npm ta cần cài đặt phần mềm NodeJS Trong đoạn mã này bao gồm một số thông tin như apiKey, đường dẫn database, tên miền trang web…
Hình 4.25: Đoạn mã để liên kết website với Firebase
Tiếp theo cài đặt Firebase CLI:
Hình 4.26: Cài đặt Firebase CLI
Sau đó, tiến hành Deploy (triển khai) trang web của bạn theo các bước trong hình sau:
Hình 4.27: Các bước triển khai Firebase Hosting
Sau khi hoàn thành, khi truy cập vào Firebase sẽ có thông báo như sau:
Hình 4.28: Triển khai trang web thành công
Sau khi hosting và deploy (triển khai) trang web thành công, lúc này website sẽ có đường link như sau: https://quanlynhayen-da658.web.app/#/
Tài liệu hướng dẫn và thao tác
4.6.1 Tài liệu hướng dẫn Để mô hình hoạt động, ta cần tiến hành các bước như sau:
Bước 1: Kết nối cảm biến SHT20 RS485, sim, LCD và DS1307 vào bộ điều khiển.
Bước 2: Kết nối các thiết bị ngoại vi như loa, máy sưởi, quạt và máy phun sương với các phích cắm từ bộ điều khiển.
Bước 3: Cấp nguồn 220V thông qua phích cắm để cấp nguồn cho bộ điều khiển.
4.6.2 Quy trình thao tác Để giám sát và điều khiển các thiết bị trong nhà yến ta tiến hành các bước sau:
Bước 1: Truy cập vào đường link sau https://quanlynhayen-da658.web.app/#/ để truy cập vào trang web.
Bước 2: Ấn vào mục đăng nhập và đăng nhập tài khoản, mật khẩu.
Bước 3: Sau khi đăng nhập thành công, sẽ truy cập vào trang giám sát và điểu khiển Tùy đổi chế độ điều khiển tự động hoặc thủ công thông qua nút đổi chế độ.
KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ
Kết quả thực hiện
Sau một khoảng thời gian tìm hiểu, nghiên cứu và thực hiện đề tài Nhóm em đã hoàn thiện được đề tài “THIẾT KẾ VÀ THI CÔNG MÔ HÌNH QUẢN LÝ
NHÀ YẾN TỪ XA ỨNG DỤNG CÔNG NGHỆ NB-IoT” nhóm đã thu được một số kết quả sau:
- Tìm hiểu đặc điểm và tập tính sinh sống của chim yến.
- Kết nối sim7000c với Arduino UNO và kết nối vào mạng NB-IoT.
- Sử dụng thành công giao thức Modbus-RTU với cảm biến SHT20
RS485 trong truyền dữ liệu tới Arduino.
- Giao tiếp và hiển thị lên LCD 20x4 thông qua giao thức I2C.
- Tìm hiểu thêm về một số ngôn ngữ lập trình Web như: HTML, CSS, Dart… và hoàn thành thiết kế 1 trang web để hiện thị thông tin, điều khiển thiết bị.
- Liên kết trang web với cơ sở dữ liệu của Firebase và triển khai trang web lên internet bằng Firebase.
- Truyền và nhận dữ liệu từ Arduino Uno với cơ sở dữ liệu của Firebase.
- Bên cạnh đó còn là kĩ năng tìm kiếm và chọn lọc các tài liệu tham khảo.
Kết quả chế độ tự động
Dưới đây là bảng điều khiển các thiết bị của hệ thống theo chế độ tự động:
Bảng 5.1: Bảng điều khiển các thiết bị theo chế độ tự động Độ ẩm Nhiệt độ Quạt Sưởi Phun sương Ổn định Ổn định Tắt Tắt Tắt Ổn định Mức cao Bật Tắt Tắt Ổn định Mức thấp Tắt Bật Tắt
Mức cao X Bật Bật Tắt
Mức thấp X Tắt Tắt Bật
Nhóm đã tiến hành kiểm tra thực nghiệm trong hai trường hợp: độ ẩm ổn định và độ ẩm nằm ngoài ngưỡng ổn định, cả 2 trường hợp đã đều được cài đặt giới hạn nhiệt độ trong khoảng 27 độ C – 32 độ C và độ ẩm trong khoảng 77% - 85%.
Trong trường hợp độ ẩm ổn định sẽ tiến hành kiểm tra với 2 khoảng nhiệt độ tương ứng là mức cao và mức thấp.
Bảng 5.2: Thông số trong trường hợp độ ẩm ổn định, nhiệt độ cao
Hình 5.1: Biểu đồ nhiệt độ và độ ẩm trong trường hợp nhiệt độ mức cao
Bảng 5.2: Thông số trong trường hợp độ ẩm ổn định, nhiệt độ thấp
Hình 5.2: Biểu đồ nhiệt độ và độ ẩm trong trường hợp nhiệt độ mức thấp
Kết luận: Trong trường hợp nhiệt độ không ổn định, các thiết bị điều khiển ngoại vi đã được bật tắt đưa nhiệt độ về ngưỡng ổn định Từ đó nhiệt độ và độ ẩm đều nằm trong khoảng ổn định Thời gian đáp ứng trong vòng khoảng 60 giây.
Trong trường hợp độ ẩm chưa ổn định sẽ tiến hành kiểm tra với 2 khoảng độ ẩm tương ứng là mức cao và mức thấp.
Bảng 5.3: Thông số trong trường hợp độ ẩm cao
Hình 5.3: Biểu đồ độ ẩm trong trường hợp mức độ ẩm cao
Bảng 5.4: Thông số độ ẩm trong trường hợp mức độ ẩm thấp
Hình 5.4: Biểu đồ độ ẩm trong trường hợp mức độ ẩm thấp
Kết luận: Khi độ ẩm nằm ngoài ngưỡng ổn định, các thiết bị ngoại vi điều khiển đã hoạt động tốt và cân bằng độ ẩm về ngưỡng ổn định.
Nhận xét: Trong chế độ điều khiển tự động, hệ thống đáp ứng tốt với các điều kiện nhiệt độ, độ ẩm trong khoảng 60 giây và ổn định trong khoảng thời gian dài Bên cạnh đó hệ thống loa, cùng được bật tắt dựa theo thời gian đã cài đặt, với độ trễ khoảng 15 giây.
Từ đó nhận thấy, chế độ điều khiển tự động đã đáp ứng được yêu cầu đề ra, điều khiển được các thiết bị theo nhiệt độ, độ ẩm và thời gian dựa theo ngưỡng đặt trước.
Kết quả chế độ bằng tay
Khi hệ thống sưởi hoạt động, thu được các thông số nhiệt độ và độ ẩm theo thời gian như bảng sau:
Bảng 5.5: Thông số nhiệt độ, độ ẩm khi hệ thống sưởi hoạt động
Hình 5.5: Biểu đồ nhiệt độ và độ ẩm khi hệ thống sưởi hoạt động
Nhận xét: Khi hệ thống sưởi hoạt động, độ ẩm của môi trường giảm dần đều từ86.2% – 58.7 % và nhiệt độ thì tăng lên từ 30.3(°C) – 47.4(°C) theo thời gian trong vòng 160 giây Từ đó rút ra được hệ thống sưởi làm giảm độ ẩm và tăng nhiệt độ.Trong mô hình này hệ thống sưởi được sử dụng để làm tăng nhiệt độ đã hoàn toàn đáp ứng được yêu cầu đề ra.
Khi hệ thống quạt hoạt động, thu được các thông số nhiệt độ và độ ẩm theo thời gian như bảng sau:
Bảng 5.6: Thông số nhiệt độ, độ ẩm khi hệ thống quạt hoạt động
Hình 5.6: Biểu đồ nhiệt độ và độ ẩm khi hệ thống quạt hoạt động
Nhận xét: Khi hệ thống quạt hoạt động, độ ẩm của môi trường giảm dần đều từ 82.3% – 77.6 % và nhiệt độ cũng giảm nhẹ từ 34.7(°C) – 30.6(°C) theo thời gian trong vòng 160 giây Từ đó rút ra được hệ thống sưởi làm giảm độ ẩm và giảm nhiệt độ. Trong mô hình này hệ thống sưởi được sử dụng để làm giảm độ ẩm và giảm nhiệt độ đã hoàn toàn đáp ứng được yêu cầu đề ra.
Khi hệ thống phun sương hoạt động, thu được các thông số nhiệt độ và độ ẩm theo thời gian như bảng sau:
Bảng 5.7: Thông số nhiệt độ, độ ẩm khi hệ thống phun sương hoạt động
Hình 5.7: Biểu đồ nhiệt độ và độ ẩm khi hệ thống phun sương hoạt động
Nhận xét: Khi hệ thống phun sương hoạt động, độ ẩm của môi trường tăng nhanh từ 58.3% – 89.6 % và nhiệt độ cũng giảm nhanh từ 44.7(°C) – 28.3(°C) theo thời gian trong vòng 160 giây Từ đó rút ra được hệ thống phun sương làm tăng độ ẩm và giảm nhiệt độ Trong mô hình này hệ thống phun sương được sử dụng để làm tăng độ ẩm đã hoàn toàn đáp ứng được yêu cầu đề ra.
Tiến hành kiểm tra hệ thống loa với chế độ bằng tay:
Bảng 5.8: Bảng kết quả thực nghiệm điều khiển loa
Số lần Nội dung Thời gian đáp ứng < 10s Hiệu suất
Hệ thống loa hoạt động tốt, có thể bật và tắt từ website Thời gian đáp ứng nhanh, loa phát ra âm thanh rõ và to Từ đó rút ra được hệ thống loa đã hoạt động ổn định và đáp ứng yêu cầu đề ra.
Kết quả mô hình hệ thống
5.4.1 Trang web giám sát và điều khiển
Hình 5.8: Giao diện trang đăng nhập
Tiếp theo, nhấn vào “Đăng nhập” để đăng nhập tài khoản và mật khẩu để có thể truy cập vào trang Điều khiển.
Hình 5.9: Nhập tài khoản và mật khẩu
Nếu tài khoản hoặc mật khẩu không chính xác sẽ có thông báo là tài khoản hoặc mật khẩu không chính xác.
Hình 5.10: Đăng nhập thất bại
Nếu đăng nhập thành công, ta sẽ được chuyển tới trang điều khiển Tại đây, tùy vào chế độ điều khiển bằng tay hoặc tự động mà giao diện sẽ thay đổi.
Hình 5.11: Chế độ điều khiển Thủ công
Giao diện ở chế độ điều khiển Thủ công bao gồm các phần sau:
- Đầu tiên là nút nhấn để đổi chế độ sang Tự động.
- Ở góc phải màn hình có nút nhấn Đăng xuất để thoát khỏi trang Điều khiển và trở về trang Đăng nhập ban đầu.
- Ở góc trái là bảng điều khiển 4 thiết bị thông qua 4 nút nhấn.
- Ở góc phải là bảng theo dõi nhiệt độ, độ ẩm hiện tại.
Sau khi nhấn nút đổi sang chế độ Tự động giao diện sẽ thay đổi như sau:
Hình 5.12: Giao diện chế độ tự động
Giao diện chế độ tự động cũng sẽ bao gồm:
- Nút Đăng xuất và nút đổi sang chế độ điều khiển Thủ công.
- Phía trái là bảng theo dõi trạng thái các thiết bị, tại chế độ Tự động sẽ chỉ theo dõi được trạng thái các thiết bị thông qua các nút nhấn Những nút nhấn đó không thể nhấn để đổi trạng thái được.
- Ở góc phải là bảng theo dõi nhiệt độ, độ ẩm hiện tại.
- Phía dưới sẽ bao gồm các bảng để cài đặt giới hạn nhiệt độ, độ ẩm và thời gian để bật tắt các thiết bị.
- Nút nhấn Cập nhật để gửi các giới hạn trên về cơ sở dữ liệu của Firebase.
Hình 5.13: Cập nhật các thông số giới hạn thành công
Kết quả: Website có thể điều khiển các thiết bị và hiện các thông số từ cơ sở dữ liệu gửi lên một cách nhanh chóng, đáp ứng tốt Từ đó rút ra được kết luận Website có thể giám sát và điều khiển đã đáp ứng yêu cầu.
Mô hình khi hoàn thiện sẽ được thể hiện dưới những hình ảnh sau:
Hình 5.14: Mặt trước mô hình nhà yến
Hình 5.15: Mặt sau mô hình nhà yến
Hình 5.16: Mặt bên mô hình nhà yến
Hình 5.17: Màn hình LCD hiển thị chế độ thủ công
Hình 5.18: Màn hình LCD hiển thị chế độ tự động.
Nhận xét và đánh giá
Từ những kết quả đạt được sau khi hoàn thành đồ án, nhóm em đã rút ra được một vài ưu điểm của đề tài:
- Mô hình nhà yến được thiết kế và lắp đặt hợp lý, gọn gàng, rộng rãi sát với thực tế và sử dụng những thiết bị có giá thành hợp lý Bên cạnh đó, mô hình điều khiển cũng được thiết kế gọn và sử dụng linh kiện phổ biến và hoạt động tốt đạt yêu cầu đề ra.
- Ứng dụng thành công chuẩn giao thức Modbus-RTU, giao tiếp cùng lúc được nhiều cảm biến.
- Hiển thị thông tin lên khối hiển thị chính xác và được cập nhật liên tục.
- Khối trung tâm và khối kết nối internet kết nối thành công tới mạng NB-IoT và truyền nhận dữ liệu tới cơ sở dữ liệu.
- Giao diện Website được thiết kế trực quan, dễ dàng sử dụng để theo dõi và điều khiển.
Bên cạnh những ưu điểm, đề tài cũng tồn tại một vài nhược điểm:
- Mạng NB-IoT còn chưa phổ biến ở Việt Nam, nên mới chỉ có một vài nhà mạng có công nghệ này như Viettel, Mobifone.
- Điều khiển các thiết bị từ trang web còn có thời gian trễ tương đối, khoảng 10s.
- Chưa được thực nghiệm tại nhà yến thực tế nên các yếu tố ảnh hưởng từ môi trường vẫn chưa là chính xác nhất khi đem vào thực tiễn.