TỔNG QUAN VỀ ĐỀ TÀI
LÝ DO CHỌN ĐỀ TÀI
Hiện nay nhu cầu cấp phát số thứ tự sắp hàng từ xa trong nhiều lĩnh vực như nhà hàng, ngân hàng, bệnh viện hay các cơ sở dịch vụ công cộng, việc sắp xếp hàng chờ một cách hiệu quả và tiện lợi là rất quan trọng Thông qua việc cung cấp số thứ tự sắp hàng từ xa, khách hàng có thể đăng ký và nhận số thứ tự trước khi đến nơi, giúp tiết kiệm thời gian và cải thiện trải nghiệm người dùng Tiện ích và linh hoạt của mạng GSM đã trở thành một phương tiện truyền thông phổ biến và phổ quát Với khả năng hoạt động trên hầu hết các điện thoại di động, nó giúp đảm bảo rằng hệ thống cấp phát số thứ tự sẽ dễ dàng tiếp cận và sử dụng bởi đa số người dùng, không phụ thuộc vào các ứng dụng hay thiết bị đặc biệt.
Việc thiết kế một hệ thống cấp phát số thứ tự sắp hàng từ xa qua mạng GSM có thể giúp tiết kiệm chi phí so với việc triển khai một hệ thống phức tạp hơn,như ứng dụng di động hoặc thiết bị đặc biệt Nó đã trở thành một công nghệ phổ biến và giá rẻ, giúp giảm thiểu các yêu cầu về cơ sở hạ tầng và đáp ứng được nhu cầu cấp phát số thứ tự sắp hàng từ xa một cách hiệu quả Đồng thời hệ thống cung cấp khả năng tùy chỉnh linh hoạt để phù hợp với nhiều mô hình sắp hàng khác nhau Có khả năng mở rộng dễ dàng để phục vụ nhiều địa điểm hoặc chi nhánh khác nhau Việc này giúp các tổ chức có thể mở rộng quy mô hoạt động của mình mà không cần đầu tư quá nhiều vào cơ sở hạ tầng và tăng cường khả năng phục vụ khách hàng.
MỤC TIÊU CỦA ĐỀ TÀI
Ứng dụng hệ thống internet of things tạo ra một hệ thống tự động và linh hoạt để giám sát, quản lý việc cấp phát số thứ tự sắp hàng cho khách hàng từ xa thông qua tin nhắn SMS Hệ thống có thể được áp dụng trong nhiều lĩnh vực và môi trường khác nhau như nhà hàng, bệnh viện, ngân hàng, cửa hàng, v.v.
Sử dụng giao thức MQTT để truyền và nhận dữ liệu.
Sử dụng module sim800l để gửi và nhận tin nhắn SMS.
ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU CỦA ĐỀ TÀI
1.3.1 Đối tượng nghiên cứu của đề tài
Nghiên cứu về cách thức hoạt động, nguyên lý làm việc của vi điều khiển esp32, module sim800l, và giao thức MQTT.
Nghiên cứu module sim800l để gửi số thứ tự qua mạng GSM.
Nghiên cứu giao thức MQTT để truyền và nhận dữ liệu.
Nghiên cứu và lập trình trên Arduino IDE.
1.3.2 Phạm vi nghiên cứu của đề tài
Nghiên cứu và thiết kế ra hệ thống có thể giúp nâng cao trải nghiệm khách hàng và quản lý số thứ tự sắp hàng một cách thông minh và linh hoạt thông qua mạng GSM.
Nhận và truyền dữ liệu thông qua giao thức MQTT.
CÁCH TIẾP CẬN - PHƯƠNG PHÁP NGHIÊN CỨU CỦA ĐỀ TÀI
Tiếp cận từ nhu cầu thực tiễn, nghiên cứu lý thuyết, từ đó đưa ra các giải pháp để giải quyết vấn đề.
1.4.2 Phương pháp nghiên cứu của đề tài
Thiết kế, thi công, mô phỏng trên máy tính.
Xây dựng các sơ đồ khối, lưu đồ thuật toán, viết chương trình, kiểm thử.
Xây dựng mô hình, kiểm thử và đưa vào áp dụng thực tế.
CẤU TRÚC BÁO CÁO
Chương 1: Tổng quan về đề tài
Chương 2: Cơ sở lý thuyết và các linh kiện sử dụng trong hệ thống Chương 3: Tính toán, thiết kế và thi công hệ thống
Chương 4: Kết quả kiểm thử, kết luận và hướng phát triển
CƠ SỞ LÝ THUYẾT VÀ CÁC LINH KIỆN ĐƯỢC SỬ DỤNG
CƠ SỞ LÝ THUYẾT
Internet of things (IoT) là sự kết hợp giữa công nghệ phần cứng và phần mềm tạo ra hàng nghìn tỷ dữ liệu thông qua việc kết nối nhiều thiết bị và cảm biến với điện toán đám mây và tạo dữ liệu với các công cụ thông minh
Internet of things (IoT) 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ối với internet, nó sẽ trở nên thông minh hơn nhờ khả năng gửi hoặc nhận thông tin và tự động hoạt động dựa trên các thông tin đó.
Các thiết bị IoT có thể là đồ vật được gắn cảm biến để thu thập dữ liệu về môi trường xung quanh, các máy tính hoặc bộ điều khiển tiếp nhận dữ liệu và ra lệnh cho các thiết bị khác.
Tiềm năng ứng dụng của internet of things (IoT) trải rộng trên mọi lĩnh vực. Tuy nhiên mọi hệ thống IoT hoàn chỉnh đều có đủ 4 bước: thu thập, chia sẽ, xử lý dữ liệu và đưa ra quyết định.
2.1.2 Đặc tính cơ bản của IoT
Tính kết nối liên thông (interconnectivity): với IoT, bất cứ điều gì cũng có thể kết nối với nhau thông qua mạng lưới thông tin và cơ sở hạ tầng liên lạc tổng thể.
Những dịch vụ liên quan đến “Things”: hệ thống IoT có khả năng cung cấp các dịch vụ liên quan đến “Things”, chẳng hạn như bảo vệ sự riêng tư và nhất quán giữa Physical Thing và Virtual Thing.
Tính không đồng nhất: Các thiết bị trong IoT là không đồng nhất vì nó có phần cứng khác nhau, và network khác nhau Các thiết bị giữa các network có thể tương tác với nhau nhờ vào sự liên kết của các network.
Thay đổi linh hoạt: Status của các thiết bị tự động thay đổi, ví dụ, ngủ và thức dậy, kết nối hoặc bị ngắt, vị trí thiết bị đã thay đổi,và tốc độ đã thay đổi… Hơn nữa, số lượng thiết bị có thể tự động thay đổi.
Quy mô lớn: Sẽ có một số lượng rất lớn các thiết bị được quản lý và giao tiếp với nhau Số lượng này lớn hơn nhiều so với số lượng máy tính kết nối Internet hiện nay
2.1.3 Ứng dụng của IoT Ứng dụ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êu biểu và phổ biến của IoT có thể kể ra là:
Nhà thông minh(smart home)
Tự động hóa và nâng cao trải nghiệm trong nhà.
Quản lý đội xe (fleet management)
Quản lý vị trí, hành trình của xe.
Theo dõi hiệu suất xe (quãng đường đã đi, nhiên liệu sử dụng) từ đó tối ưu lợi nhuận kinh doanh.
Nông nghiệp thông minh (smart farming)
Phát triển nghành nông nghiệp sạch trong nhà.
Hỗ trợ tưới tiêu tự động.
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.
Quản lý danh mục tài sản, vị trí, trạng thái để hạn chế mất mát.
Theo dõi tình trạng hoạt động để bảo trì chủ động, giảm thiểu thiệt hại trong sản xuất kinh doanh.
Vì thế, Internet of Things đang là chìa khóa của thành công trong tương lai.
2.1.4 Giới thiệu về giao thức MQTT
MQTT (Message Queuing Telemetry Transport) là một giao thức nhắn tin tiêu chuẩn OASIS cho Internet of Things (IoT) Nó được thiết kế như một phương tiện truyền tải tin nhắn publish/subscribe (xuất bản/đăng ký) cực kỳ nhẹ, lý tưởng để kết nối các thiết bị từ xa với băng thông mạng thấp. MQTT ngày nay được sử dụng trong nhiều ngành công nghiệp, chẳng hạn như ô tô, sản xuất, viễn thông,
Hình 2 2: Hình ảnh tổng quan của giao thức MQTT 2.1.4.2 Làm việc với MQTT
MQTT hoạt động theo cơ chế 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ộtMáy chủ môi giới (broker), thông qua giao thức TCP (Transmission Control
Protocol) Broker chịu trách nhiệm điều phối tất cả các thông điệp giữa phía gửi đến đúng phía nhận.
Giao thức MQTT có kiến trúc theo mô hình Publish/Subscribe giúp truyền tải dữ liệu giữa các thiết bị, ứng dụng với nhau Dữ liệu trong giao thức này là một chuỗi nhị phân (binary) chứ không phải chuỗi văn bản (text string), được định dạng theo gói tin command hoặc gói tin command acknowledgement.
Hình 2 3: Mô hình kiến trúc của MQTT
Các thành phần lõi trong kiến trúc của MQTT:
MQTT Broker: Được cung cấp dưới dạng mã nguồn mở hoặc các phiên bản thương mại, có thể đi kèm với các dịch vụ điện toán đám mây. Công việc của Broker là lọc các tin nhắn dựa trên topic, sau đó phân phối các tin nhắn đến các thiết bị/ứng dụng đã đăng ký topic đó Các bạn có thể tham khảo một số MQTT Broker như: HiveMQ, Mosquitto, MQTTRoute, Jmqtt, …
MQTT Client: Là các thiết bị/ứng dụng Client kết nối đến Broker để thực hiện truyền nhận dữ liệu Hiện nay có rất nhiều mã nguồn mở MQTT Client được viết dưới nhiều ngôn ngữ khác nhau như HiveMQ MQTT Client được phát triển dựa trên ngôn ngữ Java, Eclipse Paho dựa trên C/C++, Python, …
CÁC LINH KIỆN VÀ THIỆT BỊ SỬ DỤNG TRONG HỆ THỐNG
ESP32 là một hệ thống vi điều khiển trên chip (SoC) giá rẻ của Espressif Systems, nhà phát triển của ESP8266 SoC Nó là sự kế thừa của SoC ESP8266 và có cả hai biến thể lõi đơn và lõi kép của bộ vi xử lý 32-bit Xtensa LX6 của Tensilica với Wi-Fi và Bluetooth tích hợp.
Hình 2 12: Hình ảnh của ESP32 2.2.1.2 Nguyên lý hoạt động
Node MCU ESP32 được sử dụng bằng cách cắm vào máy tính thông qua một cáp Micro USB Sau khi cắm xong, chúng ta sẽ sử dụng pin hoặc bộ chuyển đổi AC-DC để cung cấp điện cho mạch Khi đấu nối thành công, mạch sẽ được kích hoạt và bắt đầu.
2.2.1.3 Chức năng trong hệ thống
Là node MCU điểu khiển chính.
Giao tiếp với module sim800l để gửi tin nhắn SMS qua mạng GSM.
Nhân và gửi dữ liệu lên MQTT Server qua giao thức MQTT.
Điện áp nguồn: 5V DC thông qua cổng micro USB.
Tích hợp mạch nạp và giao tiếp UART CP2102.
Tích hợp ngoại vi: LED Status, BOOT, ENABLE.
Wifi: 802.11 B/g/n/E/I (802.11N @ 2.4 GHz lên đến 150 Mbit/S).
Bluetooth: 4.2 BR/EDR BLE 2 chế độ điều khiển.
Hình 2 13: Sơ đồ chân ESP32
Module SIM800L dùng điều khiển thiết bị hoặc cảnh báo từ xa thông qua mạng di động như gọi điện, nhắn tin, GPRS Dễ giao tiếp với các họ vi điều khiển như Pic, 8051, AVR, Arduino…Module SIM800L được ứng dụng rộng rãi ngoài thực thế, các phòng thông minh, ngôi nhà thông minh, IOT…Điều khiển module sử dụng bộ tập lệnh AT dễ dàng và tiêu thụ điện năng nhỏ phù hợp cho các đồ án hoặc dư án cần dùng Pin hoặc Acquy.
Hình 2 14: Hình ảnh của Module SIM800L 2.2.2.2 Nguyên lý hoạt động
AT: Kiểm tra module có hoạt động không.
Trả về: OK nếu hoạt động bình thường, báo lỗi hoặc không trả về nếu có lỗi xảy ra.
ATEx: Bật (x=1) hoặc tắt (x=0) chế độ phản hồi lệnh vừa gửi (nên tắt đi).
AT+CPIN?: Kiểm tra Simcard.
Trả về: +CPIN: READY OK (nếu tìm thấy simcard).
AT+CSQ: Kiểm tra chất lượng sóng.
Trả về: +CSQ: xx,0 OK (xx là chất lượng sóng, tối đa là 31).
AT+COPS?: Kiểm tra tên nhà mạng.
ATD0123456789: Gọi điện cho số điện thoại 0123456789.
ATA: Chấp nhận cuộc gọi đến.
AT+CUSD= 1: Chuyển chế độ USD để tra số dư tài khoản.
ATD*101#: Kiểm tra tài khoản.
AT+CMGF=x: Cấu hình tin nhắn (x=0: DPU, x=1: dạng ký tự).
AT+CNMI=2, x, 0, 0: Chọn x=1 (chỉ báo vị trí lưu tin nhắn) hoặc x=2 (hiển thị ra ngay nội dung tin nhắn).
AT+CMGR=x: Đọc tin nhắn tại vị trí lưu x.
AT+CMGD=x: Xóa tin nhắn được lưu ở vị trí x.
AT+CMGS= “sodienthoai”: Gửi tin nhắn cho sodienthoai, sau dòng lệnh này sẽ nhận được ‘>’ (mã HEX là 0x3C), bây giờ có thể nhập vào nội dung tin nhắn, nhập tiếp 0x1A để gửi tin nhắn đi hoặc 0x1B để hủy gửi tin nhắn.
2.2.2.3 Chức năng trong hệ thống
Dùng để gửi và nhận tin nhắn SMS qua mạng GSM.
Chuẩn giao tiếp UART (qua 2 chân RX, TX).
Dòng khi ở chế độ chờ: 10 mA.
Dòng khi hoạt động: 100 mA đến 1A.
2.2.2.5 Sơ đồ chân Module SIM800L
Hình 2 15: Sơ đồ chân của Module SIM800L
TXD: Chân truyền Uart TX.
RXD: Chân nhận Uart RX.
DTR: Chân UART DTR, thường không xài.
SPKP, SPKN: ngõ ra âm thanh, nối với loa để phát âm thanh.
MICP, MICN: ngõ vao âm thanh, phải gắn thêm Micro để thu âm thanh.
Reset: Chân khởi động lại Sim (thường không xài).
RING: báo có cuộc gọi đến.
Hình 2 16: Hình ảnh của ic lm2596 2.2.3.1 Thông số kỹ thuật
Có bộ điều chỉnh 3.3V, bộ điều chỉnh 5V, bộ điều chỉnh 12V và bộ điều chỉnh biến đổi.
Điện áp đầu vào: 4,5V đến 40V.
Điện áp đầu ra tối thiểu: 3,16V.
Dòng điện đầu ra liên tục: 3A.
Tần số chuyển mạch: 150KHz.
Hình 2 17: Sơ đồ chân 2.2.3.3 Chức năng trong hệ thống
Hạ điện áp đầu vào 9V thành điện áp 5V sau đó cấp nguồn cho vi điều khiển.
Hình 2 18: Hình ảnh của Module LM2596S 2.2.4.1 Thông số kỹ thuật
Dùng IC LM2596 với tần số lên đến 150Khz.
Có nút nhấn chuyển chế độ hiển thị ngõ ra/vào.
Điện áp đầu vào: Từ 4V đến 30V.
Điện áp đầu ra: Điều chỉnh được trong khoảng 1.5V đến 29V.
Dòng ngõ ra tối đa là 3A.
2.2.4.2 Chức năng trong hệ thống
Cấp nguồn riêng 4.2V cho module sim800l.
TỔNG KẾT CHƯƠNG
Ở chương này chúng ta đã tìm hiểu được về công nghệ IoT và giao thứcMQTT cũng như là lý thuyết, nguyên lý hoạt động về các linh kiện được sử dụng trong đề tài Tiếp theo chương 3 chúng ta sẽ tìm hiểu về thiết kế và thi công hệ thống.
TÍNH TOÁN, THIẾT KẾ VÀ THI CÔNG HỆ THỐNG
SƠ ĐỒ KHỐI CỦA HỆ THỐNG
Hình 3 1: Sơ đồ khối của hệ thống
Chức năng của từng khối:
Khối Node MCU ESP32: Là bộ xử lý trung tâm là nơi đọc và xử lý tín hiệu.
Nhận và gửi tín hiệu lên MQTT Server thông qua giao thức MQTT.
Giao tiếp với khối Module SIM800L để nhận và gửi tín hiệu thông qua giao tiếp Uart.
Tạo kết kết để nhận tín hiệu từ esp32 từ đó gửi lên MQTT Server qua giao thức MQTT, đồng thời nhận tín hiệu MQTT Server gửi xuống esp32 qua giao thức MQTT.
Gửi và nhận tin nhắn SMS thông qua mạng GSM.
Khối MQTT SERVER: Là máy chủ trung gian
Là nơi nhận và xử lý tín hiệu từ esp32 gửi lên thông qua giao thức MQTT. Đồng thời gửi lên khối phần mềm QMS thông qua giao thức MQTT và ngược lại.
Người dùng sẽ sử dụng Smartphone để gửi và nhận tín hiệu thông qua mạng GSM.
Khối phần mềm QMS: Là phần mềm QMS_SERVER_Shortcut trong máy bấm số thứ tự.
Là nơi quản lý và giám sát hàng chờ, số quầy, cũng như in số phiếu.
Khối nhấn nút lấy số:
Dùng để nhấn nút in số phiếu và sử dụng mạch điều khiển kết nối với phần mềm QMS.
Dùng để in số phiếu và kết nối với phần mềm QMS qua cổng USB.
PHẦN CỨNG CỦA HỆ THỐNG
3.2.1 Tổng quan về phần mềm Altium Designer
Altium Designer là một phần mềm thiết kế mạch điện tử (ElectronicDesign Automation - EDA) được phát triển bởi công ty Altium Limited Nó cung cấp một nền tảng tích hợp để thiết kế, mô phỏng, và sản xuất mạch điện tử.
3.2.2 Các tính năng của phần mềm Altium Designer
Giao diện thiết kế, quản lý và chỉnh sửa thân thiện, dễ dàng biên dịch, quản lý file, quản lý phiên bản cho các tài liệu thiết kế.
Hỗ trợ mạnh mẽ cho việc thiết kế tự động, đi dây tự động theo thuật toán tối ưu, phân tích lắp ráp linh kiện Hỗ trợ việc tìm các giải pháp thiết kế hoặc chỉnh sửa mạch, linh kiện, netlist có sẵn từ trước theo các tham số mới.
Mở, xem và in các file thiết kế mạch dễ dàng với đầy đủ các thông tin linh kiện, netlist, dữ liệu bản vẽ, kích thước, số lượng…
Hệ thống các thư viện linh kiện phong phú, chi tiết và hoàn chỉnh bao gồm tất cả các linh kiện nhúng, số, tương tự…
Đặt và sửa đối tượng trên các lớp cơ khí, định nghĩa các luật thiết kế, tùy chỉnh các lớp mạch in, chuyển từ schematic sang PCB, đặt vị trí linh kiện trên PCB.
Mô phỏng mạch PCB 3D, đem lại hình ảnh mạch điện trung thực trong không gian 3 chiều, hỗ trợ MCAD-ECAD, liên kết trực tiếp với mô hìnhSTEP, kiểm tra khoảng cách cách điện, cấu hình cho cả 2D và 3D
3.2.3 Sơ đồ nguyên lý của mạch điện
Hình 3 2: Sơ đồ nguyên lý của board mạch 3.2.3.1 Nguyên lý hoạt động
Khối nguồn IC LM2596 có tác dụng biến đổi điện áp đầu vào 9V thành điện áp 5V cấp nguồn cho ESP32 Ngoài ra, có tụ lọc nhiễu gồm tụ lọc cao tầng, thấp tần được thêm vào và diode chỉnh lưu chỉ cho phép dòng điện đi theo một hướng Mạch còn được thiết kế thêm một đèn báo nguồn giúp chúng ta dễ dàng nhận biết mạch đã có nguồn hay chưa.
Khối điều khiển chính Node MCU ESP32 là nơi nhận/gửi và xử lý tín hiệu
Chân RX, TX của Module SIM800L được kết nối với chân D4, D2 củaESP32, chân VCC, GND của SIM800L kết nối với con Module LM2596 bên dưới board mạch và dùng để nhận và gửi tin nhắn qua mạng GSM.
Haeder P6, P7 là chân mở rộng của ESP32 có thể kết nối relay hoặc các loại cảm biến khác.
Haeder P2, P3, P4, P10 được cấp nguồn 5V và GND để có thể cấp nguồn cho relay hoặc cảm biến.
3.2.4 Sơ đồ đi dây của mạch điện
Hình 3 3: Sơ đồ đi dây – PCB layout của board mạch
3.2.5 Sơ đồ 3D của mạch điện
Hình 3 4: Sơ đồ 3D của board mạch
3.2.5 Thiết kế vỏ hộp bằng mica
3.2.5.1 Bản vẽ thiết kế trên phần mềm Auto card
Hình 3 5: Bản vẽ thiết kế hộp đựng board mạch trên phần mềm Auto cad
3.2.5.2 Quá trình cắt CNC vỏ hộp bằng mica
Hình 3 6: Hình ảnh thực tế khi cắt CNC mica 3.2.5.3 Vỏ hộp sau khi hoàn thiện
Hình 3 7: Hình ảnh thực tế tổng quan của vỏ hộp mica
Hình 3 8: Hình ảnh thực tế mặt nắp của vỏ hộp mica
Mặt nắp hộp được đo và khoang lỗ thủ công để cố định bằng vít.
Hình 3 9: Hình ảnh thực tế mặt đáy của vỏ hộp mica
Mặt đáy hộp được đo và khoang thủ công để cố định board mạch bằng vít.
Hình 3 10: Hình ảnh thực tế mặt trên của vỏ hộp mica
Mặt trên của vỏ hộp được đo đạt và khoang lỗi bằng CNC để cố định anten của module SIM800L ra bên ngoài của vỏ hộp.
Hình 3 11: Hình ảnh thực tế mặt dưới của vỏ hộp mica
Mặt dưới của vỏ được đo đạt và cắt CNC để đi dây cho relay.
Hình 3 12: Hình ảnh thực tế mặt hông phải của vỏ hộp mica
Hình 3 13: Hình ảnh thực tế mặt hông trái của vỏ hộp mica
Mặt hông trái của vỏ hộp được đo đạt và cắt CNC để cắm dây nguồn vào jack nguồn DC cái.
3.2.6 Tổng quan về mô hình máy lấy số thứ tự
Hình 3 14: Hình ảnh tổng quan của máy lấy số thứ tự
Hình 3 15: Hình ảnh mặt sau của máy lấy số thứ tự
Hình 3 16: Hình ảnh màn hình của máy lấy số thứ tự
Hình 3 17: Hình ảnh nút nhấn lấy số và máy in phiếu
Hình 3 18: Hình ảnh bên trong tủ của máy lấy số thứ tự
Bên trong tủ có các dây nguồn của máy lấy số thứ tự và có mạch điều khiển kết nối với phần mềm QMS để nhấn nút.
Hình 3 19: Hình ảnh cục wifi của hệ thống lấy số thứ tự
Cho phép kết nối giữa vi điều khiển với MQTT Server.
PHẦN MỀM CỦA HỆ THỐNG
Mô tả lưu đồ thuật toán:
Ban đầu: Khởi tạo thư viện để giao tiếp với esp32, MQTT Server, module sim800l.
- Khởi tạo kết với với wifi, MQTT Server.
- Khởi tạo chân module sim800l kết nối với esp32.
- Khởi tạo các biến number, senderNumber, sodadangky.
Kiểm tra kết nối nếu đúng thì bắt đầu gửi tin nhắn nếu sai thì quay lại bước cấu hình thiết bị.
Khi tin nhắn được gửi:
- Nếu đúng, thì thực hiện lệnh tiếp theo.
- Nếu sai, thì quay lại bước đọc tin nhắn.
Sau đó tín hiệu được đọc và xử lý để gửi lên MQTT Server thông qua giao thức MQTT
Tiếp theo MQTT Server sẽ kiểm tra và xử lý tín hiệu để gửi lên phần mềm QMS thông qua giao thức MQTT.
Từ MQTT Server sẽ gửi về Smartphone.
3.3.2 Chương trình gửi tin nhắn lên MQTT Server
Mô tả lưu đồ thuật toán:
Ban đầu: Khởi tạo cú pháp tin nhắn với nội dung “DK” đến bộ đọc và xử lý tin nhắn.
Khi nhận được tin nhắn:
- Nếu đúng, số lần nhắn N=1 thì gửi tín hiệu lên MQTT Server thông qua giao thức MQTT để kiểm tra và xử lý Sau đó từ MQTT Server sẽ gửi tín hiệu lên App phần mềm QMS thông qua giao thức MQTT và số chờ trên QMS tăng lên.
- Nếu đúng, số lần nhắn N>=2 thì gửi tín hiệu lên MQTT Server thông qua giao thức MQTT để kiểm tra và xử lý Sau đó từ MQTT Server sẽ gửi tín hiệu lên App phần mềm QMS thông qua giao thức MQTT và số chờ giữ nguyên.
- Nếu sai, thì quay lại bước đọc tin nhắn.
3.3.3 Chương trình từ MQTT Server gửi tin nhắn về cho người dùng
Mô tả lưu đồ thuật toán:
Ban đầu: MQTT Server đọc và xử lý xem tin nhắn có chứa nội dụng “DK” hay không.
- Nếu đúng, số lần nhắn N=1 thì số chờ trên phần mềm QMS tăng lên và gửi tin nhắn với nội dung “Bạn đã được đăng ký số thứ tự là:” kèm theo số chờ đó về Esp32 thông qua giao thức MQTT, sau đó Esp32 nhận và xử lý tin nhắn và tiếp tục gửi về module sim800l thông qua giao tiếp Uart và từ module 800l gửi về Smartphone thông qua mạng GSM.
- Nếu đúng, số lần nhắn N>=2 thì kiểm tra xem số điện thoại đã có trong danh sách đăng ký hay chưa nếu có sẽ gửi một tin nhắn với nội dung “Bạn đã được đăng ký” về Esp32 thông qua giao thức MQTT, sau đó Esp32 nhận và xử lý tin nhắn và tiếp tục gửi về module sim800l thông qua giao tiếp Uart và từ module sim800l gửi về Smartphone thông qua mạng GSM.
- Nếu sai, thì quay lại bước đọc tin nhắn.
3.3.4 Giao diện của phần mềm QMS Server
Hình 3 20: Hình ảnh giao diện của mô hình
- Hàng đang chờ là số 2 khi có tin nhắn tới thì lập tức tăng lên.
- In ra 1001 và tiếp theo là 1002-
- Số phiếu, số quầy và số đang gọi.
- Muốn thoát giao diện thì ta nhắn đúp vào biểu tượng trên góc trái màn hình.
3.3.5 Giao diện quản lý của QMS Server
Hình 3 21: Hình ảnh giao diện quản lý
KẾT QUẢ KIỂM THỬ, KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
KẾT QUẢ VÀ KIỂM THỬ
4.1.1.1 Tổng quan board mạch sau khi hoàn thiện
Hình 4 1: Hình ảnh thực tế của board mạch đã hàn linh kiện và gắn anten
Hình 4 2: Hình ảnh thực tế bên dưới của board mạch
Bên dưới board mạch được dùng thêm một module LM2596 để cấp nguồn riêng cho module SIM800L và nguồn đầu vào của LM2596 được hàn chung vào jack của board mạch.
Có 4 trụ để cố định board mạch với vỏ hộp mica bằng vít.
Hình 4 3: Hình ảnh thực tế của board mạch khi đã ngắn trụ vít cố định
Hình 4 4: Hình ảnh thực tế của board mạch khi đã cấp nguồn
Khi có nguồn cấp vào thì Led báo nguồn của board mạch sáng màu đỏ. Đồng thời led nguồn của module SIM800L cũng sáng lên.
Bên dưới mạch là module LM2596 với điện áp 4.2V.
Hình 4 5: Hình ảnh thực tế của board mạch đã cố định trong hộp mica
4.1.2.1 Kịch bản kiểm thử Để kiểm tra được hệ thống hoạt động tốt trong thực tế, để chứng minh được hệ thống có thể gửi và nhận số thứ tự hay không, em đã lên kịch bản kiểm thử như sau:
Bước 1: Đầu tiên ta cấp nguồn cho board mạch và máy bấm số thứ tự.
Hình 4 6: Hình ảnh board mạch khi ta cấp nguồn để kiểm thử
Hình 4 7: Hình ảnh thực tế của máy khi đã cấp nguồn
Bước 2: Mở MQTT.fix sau đó thử gửi nội dung “$PRINNET02# từ serial monitor để kiểm tra cấp số QMS.
Bước 3: Mở phần mềm QMS trên máy lấy số thứ tự để hiển thị và thao tác.
Bước 4: Tiếp theo gửi một cú pháp từ điện thoại có chứa nội dụng
Kết quả trên Serial monitor khi gửi tin nhăn “DK” lần 1.
Hình 4 8: Hình ảnh khi nhắn DK lần 1 trên Serial monitor
Mô tả kết quả hiển thị trên Serial monitor:
Khi nhận được tin nhắn “DK” lần 1 từ số điện thoại “+84333945344” thì hàng chờ trên giao diện của máy bấm số thứ tự hiển thị số 2.
Tiếp theo định dạng tin nhắn và gửi tin nhắn với nội dung “BAN DADUOC DANG KY SO THU TU: 2” về số điện thoại “+84333945344”.
Kết quả trên Serial monitor khi gửi tin nhăn “DK” lần 2.
Hình 4 9: Hình ảnh khi nhắn DK lần 2 trên Serial monitor
M ô tả kết quả hiển thị trên Serial monitor:
Khi nhận được tin nhắn “DK” lần 2 từ số điện thoại “+84333945344” thì gửi tin nhắn với nội dung “BAN DA DANG KY ROI” về số điện thoại
Kết quả khi gửi “$PRINNET02#” để kiểm tra từ seral monitor.
Hình 4 10: Kết quả trên MQTT.fix
Kết quả trên giao diện của máy bấm số
Hình 4 11: Kết quả trên giao diện
Kết quả hiển thị trên giao diện quản lý của QMS Server
Hình 4 12: Kết quả trên giao diện quản lý
Kết quả gửi về số điện thoại qua SMS
Hình 4 13: Kết quả gửi tin nhắn SMS về điện thoại
4.1.3 Nhận xét và đánh giá
Hệ thống cấp số thứ tự sắp hàng từ xa qua mạng GSM sử dụng giao thức MQTT có thể nhận tín hiệu, gửi tín hiệu đến khách hàng thông qua tin nhắn SMS.
Hệ thống có thể giám sát, quản lý số thứ tự của khách hàng.
Hệ thống đạt yêu cầu về truyền và gửi dữ liệu lên MQTT Server.
Từ những kết quả đạt được, hệ thống có những ưu điểm sau:
Hệ thống hoạt động ổn định, đáp ứng được yêu cầu khẩn cấp trong bệnh viện, ngân hàng.
Board mạch thiết kế nhỏ gọn dễ dàng lắp đặt mà không tốn nhiều diện tích.
Dễ áp dụng trong thực tế.
Có thể giám sát và quản lý số thứ tự từ xa.
Bên cạnh những ưu điểm đạt được, hệ thống còn những khuyết điểm sau:
Module SIM800L còn sử dụng mạng 2G và sóng của sim không ổn định.
Hệ thống chưa thực sự hoạt động ổn định.
KẾT LUẬN
Sau thời gian thực hiện đề tài “Nghiên cứu và thiết kế hệ thống cấp phát số thứ tự xếp hàng từ xa qua mạng GSM”, cá nhân em đã học hỏi được nhiều kiến thức mới và củng cố lại kiến thức cũ, ngoài ra cũng đã thực hành từ việc nghiên cứu, thiết kế, chế tạo mạch và mô hình hệ thống để phục vụ cho nhu cầu thực tiễn. Đồ án thực hiện rất sát với thời đại công nghệ IoT 4.0 hiện nay, ứng dụng IOT vào trong hệ thống cấp số thứ tự sắp hàng từ xa qua mạng GSM để giám sát và quản lý từ xa giúp cải thiện đuợc chất lượng dịch vụ bệnh viên, ngân hàng đáp ứng được nhu cầu khách hàng.
- Tổng hợp và tìm hiểu cấu trúc, chức năng của hệ thống cấp số thứ tự sắp hàng từ xa qua mạng GSM.
- Xây dựng được hệ thống cấp phát số thứ tự thông minh và linh hoạt.
- Thiết kế thi công board mạch.
- Truyền và nhận dữ liệu trên MQTT Server qua giao thức MQTT.
- Nhận và gửi được tin nhắn SMS qua mạng GSM.
Chưa tối ưu được mã chương trình.
Hệ thống chưa thực sự hoàn chỉnh.
Chưa có nhiều tính năng để hệ thống trở nên tiện ích hơn.
HƯỚNG PHÁT TRIỂN
Do thời gian thực hiện đồ án có hạn và lượng kiến thức còn hạn chế nên dự án thực hiện xong còn vấp phải những khuyết điểm không mong muốn Vì vậy, những giải pháp được đưa ra để khắc phục và phát triển đề tài trong tương lai, cụ thể như sau:
- Cải thiện module sim sử dụng mạng 4G/5G.
- Có thể thêm các loại cảm biến.
- Có thể ứng dụng hệ thống vào các bệnh viện, ngân hàng, cửa hàng hàng,
Hy vọng với những hướng phát triển nêu trên cùng với những ý tưởng, góp ý khác của thầy cô giáo sẽ giúp phát triển hơn dự án này, khắc phục những hạn chế còn tồn tại bên trong dự án sẽ làm cho hệ thống mang tính ứng dụng hơn vào thực tế.