1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Đồ án tốt nghiệp) hệ thống điều khiển tín hiệu giao thông

77 15 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 77
Dung lượng 2,85 MB

Cấu trúc

  • CHƯƠNG 1. GIỚI THIỆU (15)
    • 1.1.1. Tổng quan (15)
    • 1.1.2. Tình hình hiện tại (15)
    • 1.2.1. Mục tiêu của đề tài Luận văn (16)
    • 1.2.2. Phạm vi công việc (16)
    • 1.2.3. Giới hạn đề tài (0)
    • 1.2.4. Nhiệm vụ của luận văn (17)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (17)
    • 2.1.1. Giới thiệu tổng quát (18)
    • 2.1.2. Mô hình hệ thống thu thập dữ liệu qua mạng GPRS (19)
    • 2.2.1. Giới thiệu tổng quát (21)
    • 2.2.2. Tập hợp các lớp của TCP/IP (22)
    • 2.3.1. Đặc tính kỹ thuật (28)
    • 2.3.2. Giới thiệu tập lệnh AT sử dụng trong giao tiếp module SIM900 (29)
    • 2.4.1. Tổng quan (37)
    • 2.4.2. Vai trò của SQL (38)
    • 2.5.1. Khái niệm (40)
    • 2.5.2. Ứng dụng của PHP (40)
    • 2.5.3. Hoạt động của PHP (41)
    • 2.6.1. Giới thiệu chung (42)
    • 2.6.2. Các tính năng chính (42)
    • 2.6.3. Cấu trúc phần cứng (43)
  • CHƯƠNG 3. THIẾT KẾ VÀ THI CÔNG (17)
    • 3.1.1. Mô hình tổng quan (46)
    • 3.1.2. Sơ đồ khối (47)
    • 3.2.1. Khối GSM/GPRS (48)
    • 3.2.2. Khối hiển thị (49)
    • 3.2.3. Khối vi điều khiển (51)
    • 3.2.4. Khối nguồn (52)
    • 3.2.5. Sơ đồ khối toàn hệ thống (54)
    • 3.5.1. Luồng xử lý quản lý luồng dữ liệu của người dùng (67)
    • 3.5.2. Luồng xử lý quản lý luồng dữ liệu của client (68)
  • CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (73)
  • KẾT LUẬN (73)
  • TÀI LIỆU THAM KHẢO (75)

Nội dung

GIỚI THIỆU

Tổng quan

Hiện nay, khoa học và công nghệ đang được ứng dụng rộng rãi nhằm cải thiện chất lượng cuộc sống Một trong những lĩnh vực quan trọng là nâng cao môi trường sống, trong đó hệ thống điều khiển giao thông ngày càng trở nên cần thiết Trước đây, việc điều khiển tín hiệu giao thông thường diễn ra cục bộ tại các nút giao thông, nhưng ngày nay, nhờ vào sự phát triển của công nghệ và internet, các kỹ thuật điều khiển từ xa qua mạng không dây đã trở nên phổ biến và hiệu quả hơn.

Tình hình hiện tại

Tại các quốc gia phát triển, việc xây dựng hạ tầng mạng tiên tiến đã dẫn đến sự hình thành mạng lưới điều khiển tập trung, tối ưu hóa các thuật toán và phát triển hệ thống giám sát đồng nhất Trong khi đó, tại Việt Nam, lĩnh vực này vẫn đang trong giai đoạn phát triển và cần được chú trọng đầu tư hơn nữa.

Tại Việt Nam, hệ thống điều khiển tín hiệu giao thông chưa phổ biến do điều kiện kinh tế và hạn chế về trình độ kỹ thuật Một trong những rào cản chính là hạ tầng đường truyền kết nối giữa các điểm giao thông còn yếu kém Bên cạnh đó, ngân sách hạn chế cũng đã cản trở sự phát triển của lĩnh vực này.

Trong những năm gần đây, sự bùng nổ công nghệ truyền thông, đặc biệt là internet di động, đã dẫn đến việc số hóa mọi dữ liệu và công việc nhờ điện toán đám mây Con người có thể làm việc mọi lúc, mọi nơi thông qua smartphone và laptop Đặc biệt, nhu cầu cải thiện mạng lưới giao thông hiện nay trở nên cấp thiết Do đó, nền tảng cho việc xây dựng hệ thống điều khiển tín hiệu giao thông đã được thiết lập sẵn sàng.

Từ những vấn đề trên, mục tiêu của đề tài sẽ thực hiện là xây dựng một hệ thống điều khiển tín hiệu giao thông.

Mục tiêu của đề tài Luận văn

Về mục tiêu tổng quát:

- Xây dựng được một mô hình điều khiển tín hiệu giao thông mang tính khả thi và khả năng ứng dụng cao trong thực tế.

- Sản phảm tạo ra đơn giản, dễ lắm đặt, giá thành thấp và dễ sử dụng;

Về mục tiêu học tập:

- Biết tự nghiên cứu, tự thực hiện những đề tài được giao.

Trong báo cáo sản phẩm, việc trình bày rõ ràng khả năng của mô hình là rất quan trọng, đồng thời cần giảm thiểu tối đa các rủi ro có thể phát sinh.

Phạm vi công việc

Mô hình hệ thống với các thành phần:

- Các client node mạng trao đổi với web server qua mạng di động.

- Web server tương tác với người dùng bằng giao diện web.

- Client kết nối với server qua giao thức HTTP, có thể gửi lên được các thông tin và đọc về các thông tin điều khiển.

- Các bộ thực thi: ma trận led ở từng client node 1.2.3 Giới hạn đề tài

Do không đủ về thiết bị nên khả năng đề tài bị giới hạn:

- Chỉ thực hiện 3 client nodes tương ứng với 3 điểm điều khiển khác nhau.

- Mỗi node: tín hiệu giao thông được hiển thị trên ma trận led kích thước nhỏ hơn thực tế.

- Chỉ thực hiện kết nối client với server qua mạng GSM Nên đôi khi tín hiệu không ổn định và còn có độ trễ nhất định.

Nhiệm vụ của luận văn

- Tìm hiểu về chuẩn GPRS.

- Tìm hiểu và thiết lập mạng điều khiển thông qua Internet với giao thức Server Client Socket TCP/IP, HTML.

- Tìm hiểu về Module SIM900, MCU STM32 và ma trận led.

- Thiết kế và làm ra được mạch các client node, mạch hiển thị…

- Xây dựng giải thuật quản lý và lập trình Server - Client Gồm: giao diện người dùng và quản lý cơ sở dữ liệu.

Cáo cáo về đồ án gồm có 4 chương:

- Giới thiệu cái nhìn tổng quát về đồ án sẽ thực hiện: như đã trình bày ở trên

CƠ SỞ LÝ THUYẾT

Giới thiệu tổng quát

Dịch vụ GPRS (General Packet Radio Service) là một công nghệ tiên tiến, cung cấp dịch vụ gói IP từ đầu cuối này đến đầu cuối khác qua mạng GSM Công nghệ này cho phép triển khai và cung cấp các ứng dụng internet vô tuyến cho đông đảo người dùng dịch vụ viễn thông di động.

GPRS, được phát triển trên nền tảng mạng GSM, là giải pháp của Ericsson nhằm tăng tốc độ triển khai với chi phí thấp Hệ thống mạng GSM hiện tại chỉ cần nâng cấp phần mềm, trừ BSC (Base Station Center) cần nâng cấp phần cứng Hai nút mạng mới là SGSN (Serving GPRS Support Node) và GGSN (Gateway GPRS Support Node) được giới thiệu để bổ sung chức năng chuyển mạch gói bên cạnh chuyển mạch mạch của mạng.

Hình 2.1 Cấu trúc GPRS được phát triển dựa trên mạng GSM.

SGSN chịu trách nhiệm tạo tuyến và quản lý địa chỉ IP, đồng thời phối hợp với các đầu cuối GPRS để thiết lập các kênh truyền logic cho việc truyền nhận gói IP GGSN có vai trò kết nối các đầu cuối GPRS trong mạng với các nhà cung cấp dịch vụ Internet (ISP) bên ngoài, cũng như kết nối giữa các mạng GPRS khác nhau.

Các SGSN và GGSN liên kết với nhau và tạo thành một mạng IP xương sống làm nền tảng cho dịch vụ GPRS.

Hình 2.2 Các lớp protocol của GPRS được tham chiếu trên mô hình OSI.

SGSN và GGSN sử dụng đường truyền vô tuyến để thiết lập mạng GPRS dựa trên giao thức TCP/IP, tương thích với internet, mang đến cho người dùng những dịch vụ mới hấp dẫn GPRS có một số đặc điểm đáng chú ý: tốc độ dữ liệu tối đa 9.6 Kbps, tận dụng khe thời gian của mạng GSM, dẫn đến tốc độ chậm hơn so với các mạng truyền số liệu gói khác, và phí sử dụng được tính dựa trên dữ liệu truyền nhận thay vì thời gian kết nối.

Mô hình hệ thống thu thập dữ liệu qua mạng GPRS

GPRS cho phép thiết lập kết nối giữa các thiết bị đầu cuối thuê bao mạng GSM và các hệ thống mạng bên ngoài thông qua GGSN, tạo ra một đường truyền hiệu quả cho dịch vụ.

GPRS đến một đầu cuối của các hệ thống mạng khác, qua đó cho phép thiết kế một hệ thống thu thập dữ liệu rất linh động.

Trong các ứng dụng thông thường, việc phân tích và vận hành dữ liệu từ các đầu cuối mạng GPRS thường đòi hỏi một máy tính, điều này tạo ra những thao tác phức tạp và tiêu tốn nhiều tài nguyên Do đó, việc thiết lập một liên kết giữa đầu cuối mạng GPRS và máy tính là cần thiết Với hạ tầng rộng khắp và khả năng truyền dữ liệu nhanh chóng, liên kết qua Internet là giải pháp tối ưu cho việc này.

Mô hình kết nối GPRS cho phép đầu cuối mạng truyền nhận dữ liệu với máy tính qua các bước: đầu cuối GPRS -> BTS -> SGSN -> mạng xương sống GPRS -> GGSN -> ISP -> Router -> mạng Local-Area Network -> máy tính Dữ liệu được trao đổi qua các gói IP, sử dụng các giao thức TCP/UDP, và tùy thuộc vào khả năng hỗ trợ của đầu cuối thuê bao GPRS, có thể áp dụng các giao thức ở các lớp ứng dụng cao hơn.

Đối với các mô hình đơn giản, khi nhu cầu xử lý dữ liệu không cao, có thể lựa chọn các phương án như sử dụng dịch vụ SMS mà không cần thông qua GPRS Ngoài ra, việc truyền nhận dữ liệu giữa các đầu cuối GPRS cũng khả thi, tuy nhiên cần lưu ý rằng tốc độ dữ liệu sẽ thấp và chi phí dịch vụ có thể tăng.

Với đầu cuối mạng GPRS, có nhiều sản phẩm đáp ứng yêu cầu hệ thống, trong đó nổi bật là các modem GSM hỗ trợ GPRS từ các hãng như Sony Ericsson, Nokia, Wavecom và SIMCOM Sản phẩm của SIMCOM, như SIM300 và SIM900, được ưa chuộng nhờ vào các tính năng nổi bật như hỗ trợ GPRS, khả năng truyền nhận dữ liệu TCP/UDP, chi phí thấp, thiết kế phần cứng đơn giản và dễ dàng điều khiển thông qua tập lệnh AT.

LÝ THUYẾT VỀ GIAO THỨC TCP/IP

Giới thiệu tổng quát

Bộ giao thức TCP/IP, hay còn gọi là bộ giao thức liên mạng, là một tập hợp các giao thức truyền thông quan trọng mà Internet và nhiều mạng máy tính thương mại đang sử dụng Tên gọi của bộ giao thức này xuất phát từ hai giao thức chính là TCP (Giao thức Điều khiển Giao vận) và IP (Giao thức Liên mạng), đây cũng là hai giao thức đầu tiên được định nghĩa trong bộ giao thức này.

Bộ giao thức TCP/IP được cấu trúc thành nhiều lớp, mỗi lớp giải quyết các vấn đề liên quan đến truyền dữ liệu và cung cấp dịch vụ cho các giao thức lớp trên Các lớp trên gần gũi với người dùng hơn và làm việc với dữ liệu trừu tượng, dựa vào các giao thức lớp dưới để chuyển đổi dữ liệu thành định dạng có thể truyền đi Mô hình OSI, với 7 lớp cố định, có thể so sánh với bộ giao thức TCP/IP, giúp làm rõ hơn hoặc gây nhầm lẫn về cấu trúc của TCP/IP.

Hình 2.3Mô hình TCP/IP và OSI

Tập hợp các lớp của TCP/IP

Hình 2.4 Mô hình cơ bản của TCP/IP a) Lớp ứng dụng ( Application Layer):

Giao thức trong lớp này bao gồm nhiều loại, cung cấp cho ứng dụng người dùng khả năng định dạng và trao đổi thông tin hiệu quả Một số giao thức phổ biến trong lĩnh vực này bao gồm.

- DHCP (Dynamic Host Configuration Protocol)

- SNMP (Simple Network Management Protocol)

- HTTP ( Hyper-text Transfer Protocol);

- TFTP (Trivial File Transfer Protocol)

- SMTP (Simple Mail Transfer Protocol)

Giao tiếp trong lớp này phụ thuộc vào các ứng dụng cụ thể và dữ liệu được truyền từ chương trình, sử dụng định dạng nội bộ của ứng dụng và được đóng gói theo giao thức Transport.

Dữ liệu thực được gửi qua mạng sẽ được chuyển đến lớp ứng dụng, nơi nó được đóng gói theo giao thức của lớp này Sau đó, dữ liệu sẽ được truyền xuống các giao thức lớp thấp hơn tại lớp giao vận.

Hai giao thức lớp giao vận phổ biến nhất là TCP và UDP, và mỗi ứng dụng sử dụng dịch vụ của một trong hai giao thức này đều cần có cổng (ports) Nhiều ứng dụng thông dụng được cấp sẵn các cổng đặc biệt, chẳng hạn như HTTP sử dụng cổng 80 và FTP sử dụng cổng 21.

Các thiết bị định tuyến và chuyển mạch không áp dụng lớp giao vận, tuy nhiên, các ứng dụng điều chỉnh thông lượng lại sử dụng lớp này.

Lớp giao vận chịu trách nhiệm kết hợp các khả năng truyền thông điệp trực tiếp không phụ thuộc vào mạng bên dưới, đồng thời thực hiện kiểm soát lỗi, phân mảnh và điều khiển lưu lượng Việc truyền thông điệp trực tiếp và kết nối các ứng dụng tại lớp giao vận có thể được phân loại một cách rõ ràng.

- Định hướng kết nối (connection-oriented), ví dụ TCP

- Phi kết nối (connectionless), ví dụ UDP

Lớp giao vận đóng vai trò như một cơ chế vận chuyển thông thường, với trách nhiệm chính là đảm bảo hàng hóa và hành khách được vận chuyển an toàn và đầy đủ đến đích.

Lớp giao vận đóng vai trò quan trọng trong việc kết nối các ứng dụng thông qua các cổng TCP và UDP Trong khi IP chỉ đảm bảo dịch vụ phát chuyển tối đa (best effort delivery), lớp giao vận là lớp đầu tiên giải quyết vấn đề độ tin cậy trong việc truyền tải dữ liệu.

TCP là một giao thức định hướng kết nối, giúp giải quyết các vấn đề về độ tin cậy để cung cấp một dòng byte đáng tin cậy.

- dữ liệu đến đích đúng thứ tự

- sửa lỗi dữ liệu ở mức độ tối thiểu

- dữ liệu trùng lặp bị loại bỏ

- các gói tin bị thất lại/loại bỏ được gửi lại

- có kiểm soát tắc nghẽn giao thông dữ liệu

Các giao thức định tuyến động, mặc dù về mặt kỹ thuật liên quan đến lớp giao vận trong bộ giao thức TCP/IP, thường được phân loại là một phần của lớp mạng Chẳng hạn, giao thức OSPF là một ví dụ điển hình cho loại giao thức này.

UDP là giao thức datagram phi kết nối, hoạt động theo nguyên tắc "không đáng tin cậy" và chỉ giải quyết vấn đề sửa lỗi dữ liệu thông qua một thuật toán tổng kiểm yếu Giao thức này thường được sử dụng trong các ứng dụng truyền thông theo dòng như âm thanh và hình ảnh, nơi mà việc gửi dữ liệu đúng thời gian quan trọng hơn độ tin cậy Ngoài ra, UDP cũng phù hợp cho các ứng dụng truy vấn và đáp ứng đơn giản như tra cứu tên miền, do chi phí thiết lập kết nối đáng tin cậy thường quá cao.

Cả TCP và UDP đều được sử dụng cho nhiều ứng dụng bậc cao, với các ứng dụng tại địa chỉ mạng được phân biệt thông qua cổng TCP hoặc UDP Theo quy ước, những cổng "nổi tiếng" thường được liên kết với các ứng dụng cụ thể.

RTP (Real-time Transport Protocol) là giao thức datagram dành cho dữ liệu thời gian thực như âm thanh và video trực tuyến RTP hoạt động ở lớp phiên và sử dụng định dạng gói tin UDP, nhưng lại thuộc lớp giao vận trong chồng giao thức TCP/IP.

Hình 2.5 Gói dữ liệu trong lớp Transport c) Lớp mạng ( Internet Layer):

Trong TCP/IP, giao thức IP thực hiện 2 nhiệm vụ cơ bản:

- Gán địa chỉ và xác định đích: Được thực hiện thông qua hệ thống địa chỉ IP

- Tìm đường (Packet routing) : Thực hiện gửi các datagrams từ nguồn đến đích bằng các routing đến router của mạng đích

Các giao thức quan trong nhất trong lớp này là:

- IP (Internet Protocol): Có chức năng gán địa chỉ cho dữ liệu trước khi truyền và định tuyến chúng tới đích.

- ARP (Address Resolution Protocol): Có chức năng biên dịch địa chỉ IP của máy đích thành địa chỉ MAC.

- ICMP (Internet Control Message Protocol): Có chức năng thông báo lỗi trong trường hợp truyền dữ liệu bị hỏng.

- IGMP (Internet Group Management Protocol): Có chức năng điều khiển truyền đa hướng (Multicast)

Hình 2.6 Datagram trong lớp Internet d) Lớp giao diện mạng ( Network Interface Layer):

Tầng giao diện mạng đóng vai trò quan trọng trong việc truyền và nhận dữ liệu thông qua các phương tiện truyền dẫn Tầng này bao gồm các thiết bị phần cứng như card mạng và cáp mạng, đảm bảo kết nối hiệu quả trong hệ thống mạng.

Card mạng, như card Ethernet, sở hữu một địa chỉ MAC (Media Access Control) gồm 12 ký tự HEX (ví dụ: 00-18-37-03-C0-F4) Địa chỉ MAC đóng vai trò quan trọng trong việc xác định địa chỉ và truyền tải dữ liệu trong mạng.

Một số giao thức tiêu biểu thuộc tầng này gồm:

- FDDI (Fiber Distributed Data Interface)

Đặc tính kỹ thuật

- Hoạt động trên 4 băng tần phổ biến: 850/900/1800/1900 Mhz

- Hỗ trợ GPRS nhiều cổng class 10/8

- Hỗ trợ GPRS di động class B

- Điều khiển qua tập lệnh AT

- Nguồn cấp trong dải rộng từ 3.1…4.8v

- Kích thước nhỏ gọn: 24*24*3mm

Hình 2.9 Sơ đồ chân Module SIM900

Giới thiệu tập lệnh AT sử dụng trong giao tiếp module SIM900

a Chế độ nghỉ (sleep mode):

Hình 2.10 Chuyển từ chế độ hoạt động bình thường sang chế độ nghỉ (sleep mode)

Tắt hết mọi chức năng liên quan đến truyền nhận sóng RF và các chức năng liên quan đến SIM MT không còn được kết nối với mạng.

(2) OK

Chuỗi thông báo kết quả thực thi lệnh thành công, thông thường là sau 3 giây kể từ lúc nhận lệnh AT+CFUN=0.

(3) Chuyển trạng thái chân DTR từ mức 0 sang mức 1 b Khởi tạo cấu hình mặc định cho modem:

Hình 2.11 Khởi tạo cấu hình mặc định cho module SIM900.

Để kiểm tra xem modem có hoạt động bình thường hay không, hãy thực hiện việc reset modem Gửi lệnh nhiều lần cho đến khi nhận được chuỗi ATZOK.

Tắt chế độ echo lệnh Chuỗi trả về có dạng ATE0OK.

(3) AT+CLIP=1 Định dạng chuỗi trả về khi nhận cuộc gọi.

Thông thường, ở chế độ mặc định, khi có cuộc gọi đến, chuỗi trả về sẽ có dạng:

RING

Sau khi lệnh AT+CLIP=1 đã được thực thi, chuỗi trả về sẽ có dạng:

RING

+CLIP: "xxxxxxxxxx", xxx,"",, "",0

Chuỗi trả về cung cấp thông tin về số điện thoại gọi đến, giúp người nhận xác định nên tiếp nhận hay từ chối cuộc gọi.

Kết thúc các thao tác khởi tạo cho quá trình nhận cuộc gọi Các bước khởi tạo tiếp theo liên quan đến các thao tác truyền nhận tin nhắn.

Lưu cấu hình cài đặt được thiết lập bởi các lệnh ATE0 và AT+CLIP vào bộ nhớ.

Thiết lập quá trình truyền nhận tin nhắn được thực hiện ở chế độ text (mặc định là ở chế độ PDU).

Chuỗi trả về sẽ có dạng:

OK

Thiết lập chế độ thông báo cho TE khi MT nhận được tin nhắn mới.

Chuỗi trả về sẽ có dạng:

OK

Sau khi lệnh trên được thiết lập, tin nhắn mới nhận được sẽ được lưu trong SIM, và

MT không truyền trở về TE bất cứ thông báo nào TE sẽ đọc tin nhắn được lưu trong SIM trong trường hợp cần thiết.

Lưu cấu hình cài đặt được thiết lập bởi các lệnh AT+CMGF và AT+CNMI. c Thiết lập kết nối GPRS

Hình 2.12 Thiết lập kết nối GPRS

Hủy kết nối trước đó và đưa trạng thái kết nối của module SIM508 về IP INITIAL Nếu lệnh thành công, chuỗi trả về sẽ có định dạng như sau:

OK

Trong trường hợp module trước đó đã ở trạng thái IP INITIAL, chuỗi trả về sẽ có dạng:

ERROR

Thiết lập kết nối với Server có địa chỉ IP là“222.252.96.179”, port 2505 với phương thức truyền nhận là TCP Chuỗi trả về sẽ có dạng:

OK

Nếu kết nối được thực hiện thành công, trong khoảng từ 3 đến 4 giây, module sẽ gửi về một chuỗi thông báo kết nối được thực hiện thành công:

CONNECT OK

Nếu sau thời gian chờ mà bạn không nhận được thông báo kết nối thành công, điều đó có nghĩa là kết nối không thành công Trước khi khởi động lại kết nối từ bước 1, hãy kiểm tra lại các trường hợp sau.

Khi module ở trạng thái PDP Deactivated, điều này xảy ra do không có dữ liệu truyền đi trên đường truyền đã thiết lập trong thời gian dài (khoảng vài giờ) Hệ thống mạng sẽ tự động hủy kết nối và đưa module trở về trạng thái này Để khôi phục kết nối, cần thực hiện reset module bằng lệnh “AT+CFUN=0” và sau đó là “AT+CFUN=1” trước khi thiết lập lại kết nối.

Chương trình ứng dụng GPRS server chưa được kích hoạt.

Các chương trình bảo mật chạy trên máy tính đang chạy ứng dụng Server chưa được tắt đi. d Truyền nhận gói dữ liệu

Hình 2.13 Truyền nhận gói dữ liệu

Khi truyền một gói dữ liệu có số kí tự cần truyền là 18, module sẽ xử lý gói này một cách hiệu quả Nếu số kí tự vượt quá giới hạn tối đa là 160, module sẽ tự động chia nhỏ thành nhiều gói dữ liệu để đảm bảo quá trình truyền tải diễn ra suôn sẻ Sau khi nhận lệnh, module sẽ trả về kết quả dưới dạng chuỗi.

> Định dạng của chuỗi trả về là “> “, định dạng này có thể thay đổi bằng lệnh khởi tạo

Sau khi nhận chuỗi dữ liệu, module sẽ tự động truyền gói dữ liệu khi đủ số ký tự cần thiết, không cần ký tự kết thúc Thời gian truyền dữ liệu dao động từ 1 đến 2 giây, tùy thuộc vào số byte cần truyền Nếu quá trình truyền thành công, chuỗi trả về sẽ có định dạng nhất định.

SEND OK

(2)RECV FROM: 222.252.96.179:2505

+IPD32: Socket 1 Already login 29N7890

Cấu trúc chuỗi dữ liệu nhận được có thể được điều chỉnh thông qua các lệnh khởi tạo “AT+CIPHEAD” và “AT+CIPSRIP” Dữ liệu này được gửi từ một địa chỉ cụ thể.

Địa chỉ IP "222.252.96.179" với cổng 2505 đã truyền tải tổng cộng 32 byte dữ liệu, bao gồm nội dung: "Socket 1 Already login 29N7890" Lưu ý rằng hai ký tự và đã được thêm vào chuỗi dữ liệu bởi máy chủ GPRS trước khi gửi đi Hủy kết nối GPRS.

Kết nối GPRS giữa module SIM900 và GPRS server có thể bị ngắt do:

Module SIM900 chủ động hủy kết nối.

Server chủ động hủy kết nối.

Hệ thống mạng GPRS chủ động ngắt kết nội để tiếp kiệm tài nguyên của mạng.

Kết nối TCP đòi hỏi sự chặt chẽ trong liên kết và truyền dữ liệu, với việc các đầu cuối cần nhận thức được trạng thái kết nối Khi kết nối bị hủy, trạng thái đường truyền sẽ được hiển thị trên module SIM900 thông qua các hiệu ứng đặc trưng.

Hình 2.14 Hủy kết nối GPRS

(1) và (2): module GPRS chủ động hủy kết nối (nên dùng lệnh

Trong thực tế ứng dụng, hai lệnh này có thể xem là tương đương nhau Lệnh

“AT+CIPCLOSE” đưa kết nối GPRS trở về trạng thái “STATE: IP CLOSE” Lệnh

“AT+CIPSHUT” đưa kết nối GPRS trở về trạng thái “STATE: IP INITIAL”.

Khi một trong hai lệnh được thực thi, Server sẽ nhận diện trạng thái kết nối và tự động hủy kết nối để tiết kiệm tài nguyên đường truyền.

(3) CLOSED

Khi GPRS server hoặc hệ thống mạng GPRS chủ động hủy kết nối, module SIM900 sẽ nhận biết trạng thái kết nối và gửi thông báo đến thiết bị TE.

Cả ba trường hợp trên đều có thể sử dụng lệnh “AT+CIPSTART” để khởi tạo lại một kết nối GPRS mới.

Tổng quan

SQL, hay ngôn ngữ hỏi có cấu trúc, là công cụ chính để tổ chức, quản lý và truy xuất dữ liệu trong các cơ sở dữ liệu Đây là một hệ thống ngôn ngữ bao gồm các câu lệnh cần thiết để tương tác hiệu quả với cơ sở dữ liệu quan hệ.

Ngôn ngữ SQL, mặc dù ban đầu được phát triển như một công cụ truy xuất dữ liệu, thực sự sở hữu khả năng vượt trội hơn nhiều so với việc chỉ đơn thuần truy vấn dữ liệu Nó không chỉ giúp truy xuất thông tin mà còn điều khiển tất cả các chức năng mà hệ quản trị cơ sở dữ liệu cung cấp cho người dùng, đóng vai trò quan trọng trong việc quản lý và xử lý dữ liệu.

SQL cho phép người dùng định nghĩa cơ sở dữ liệu, cấu trúc lưu trữ và tổ chức dữ liệu, cũng như xác định mối quan hệ giữa các thành phần dữ liệu.

SQL cho phép người dùng thực hiện các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu một cách dễ dàng trong các cơ sở dữ liệu.

SQL không chỉ giúp cấp phát và kiểm soát quyền truy cập của người sử dụng vào dữ liệu, mà còn đảm bảo an toàn cho cơ sở dữ liệu Ngoài ra, SQL định nghĩa các ràng buộc toàn vẹn, giúp duy trì tính hợp lệ và chính xác của dữ liệu, đặc biệt trước các thao tác cập nhật và lỗi hệ thống.

SQL là một ngôn ngữ hoàn thiện thiết yếu cho các hệ thống cơ sở dữ liệu, đóng vai trò quan trọng trong quản trị cơ sở dữ liệu Mặc dù không phải là ngôn ngữ lập trình truyền thống như C hay Java, SQL cho phép nhúng các câu lệnh vào trong các ngôn ngữ lập trình khác để phát triển ứng dụng tương tác với cơ sở dữ liệu.

Khác với các ngôn ngữ lập trình như C, C++ và Java, SQL là một ngôn ngữ khai báo, cho phép người dùng mô tả yêu cầu trên cơ sở dữ liệu mà không cần chỉ ra cách thực hiện Điều này khiến SQL trở thành ngôn ngữ dễ tiếp cận và sử dụng cho người mới bắt đầu.

Vai trò của SQL

SQL không phải là một hệ quản trị cơ sở dữ liệu độc lập, mà là một phần thiết yếu trong các hệ thống quản trị cơ sở dữ liệu Nó đóng vai trò là ngôn ngữ giao tiếp giữa người sử dụng và hệ quản trị cơ sở dữ liệu, giúp thực hiện các thao tác quản lý dữ liệu hiệu quả.

Trong hầu hết các hệ quản trị cơ sở dữ liệu quan hệ, SQL có những vai trò như sau:

SQL là ngôn ngữ truy vấn tương tác, cho phép người dùng gửi yêu cầu đến cơ sở dữ liệu thông qua các công cụ tiện ích và nhận kết quả trả về một cách dễ dàng.

SQL là ngôn ngữ lập trình chuyên dụng cho cơ sở dữ liệu, cho phép lập trình viên tích hợp các câu lệnh SQL vào các ngôn ngữ lập trình khác để phát triển ứng dụng tương tác với cơ sở dữ liệu.

SQL là ngôn ngữ quản trị cơ sở dữ liệu, cho phép người quản trị quản lý và định nghĩa các cấu trúc lưu trữ dữ liệu cũng như điều khiển quyền truy cập vào cơ sở dữ liệu.

SQL là ngôn ngữ chính cho các hệ thống cơ sở dữ liệu khách/chủ, giúp kết nối và giao tiếp hiệu quả giữa các ứng dụng phía máy khách và máy chủ cơ sở dữ liệu.

• SQL là ngôn ngữ truy cập dữ liệu trên Internet: Cho đến nay, hầu hết các máy chủ

Web cũng như các máy chủ trên Internet sử dụng SQL với vai trò là ngôn ngữ để tương tác với dữ liệu trong các cơ sở dữ liệu.

SQL là ngôn ngữ chính được sử dụng trong các hệ quản trị cơ sở dữ liệu phân tán, cho phép các hệ thống giao tiếp và trao đổi yêu cầu truy xuất dữ liệu qua mạng.

SQL là ngôn ngữ chuẩn được sử dụng để giao tiếp với các hệ quản trị cơ sở dữ liệu trong mạng máy tính Trong môi trường có nhiều hệ quản trị khác nhau, SQL đóng vai trò quan trọng trong việc kết nối và tương tác giữa các cơ sở dữ liệu.

Khái niệm

PHP là chữ viết tắt của “Personal Home Page” do Rasmus Lerdorf tạo ra năm

1994 Vì tính hữu dụng của nó và khả năng phát triển, PHP bắt đầu được sử dụng trong môi trường chuyên nghiệp và nó trở thành “PHP: Hypertext Preprocessor”

PHP là một ngôn ngữ kịch bản được nhúng trong HTML, cho phép mã PHP được phân bổ rải rác trong các trang HTML.

PHP là một ngôn ngữ lập trình phía máy chủ (Server-Side) có tính năng không phụ thuộc vào môi trường, cho phép chạy trên nhiều hệ điều hành như Windows, Unix và các biến thể của nó Điều này có nghĩa là mọi hoạt động của PHP diễn ra trên máy chủ và mã kịch bản PHP có thể hoạt động trên các máy chủ khác mà không cần chỉnh sửa hoặc chỉ cần chỉnh sửa rất ít.

Để một trang Web sử dụng ngôn ngữ PHP, cần phải hoàn thành tất cả các quy trình xử lý thông tin và sau đó xuất kết quả dưới dạng ngôn ngữ HTML.

Khác với các ngôn ngữ lập trình khác, PHP được phát triển để thực hiện các tác vụ cụ thể khi có sự kiện xảy ra, chẳng hạn như khi người dùng gửi một biểu mẫu hoặc truy cập vào một URL.

Ứng dụng của PHP

Khi thiết kế web động, có nhiều ngôn ngữ lập trình để lựa chọn như ASP, PHP, Java, Perl, nhưng PHP nổi bật với những lợi ích đáng chú ý Việc lựa chọn PHP không chỉ mang lại hiệu suất tốt mà còn giúp lập trình viên tiết kiệm thời gian và công sức Dưới đây là những lý do quan trọng mà bạn không nên bỏ qua khi quyết định sử dụng PHP cho dự án web của mình.

PHP được sử dụng làm Web động vì nó nhanh, dễ dàng, tốt hơn so với các giải pháp khác.

PHP là ngôn ngữ lập trình mạnh mẽ, có khả năng tương tác linh hoạt với hầu hết các cơ sở dữ liệu hiện có, mang lại tính bền vững và khả năng phát triển không giới hạn Đặc biệt, với việc là mã nguồn mở, PHP cho phép người dùng truy cập miễn phí vào các tính năng của nó Sự phát triển của cộng đồng lập trình viên luôn thúc đẩy việc cải tiến và khắc phục lỗi, giúp PHP ngày càng hoàn thiện hơn.

PHP là ngôn ngữ lập trình dễ học cho người mới, đồng thời cũng đáp ứng tốt các yêu cầu phức tạp của lập trình viên chuyên nghiệp, giúp hiện thực hóa mọi ý tưởng một cách xuất sắc.

PHP đã nhanh chóng vượt qua ASP để trở thành ngôn ngữ kịch bản phổ biến, với sự hiện diện trên hơn 12 triệu website.

Hoạt động của PHP

PHP là ngôn ngữ lập trình phía máy chủ, cho phép mã lệnh được xử lý trên máy chủ để đáp ứng yêu cầu của người dùng thông qua trình duyệt web.

Máy khách Yêu cầu URL

Hình 2.15 Sơ đồ hoạt động

Khi người dùng truy cập vào website PHP, máy chủ sẽ đọc và xử lý mã lệnh PHP theo hướng dẫn đã được mã hóa Mã lệnh này yêu cầu máy chủ gửi dữ liệu HTML thích hợp đến trình duyệt, nơi mà nó được hiển thị như một trang HTML tiêu chuẩn PHP thực chất là một trang HTML có nhúng mã PHP, với phần mở của mã PHP được đặt trong thẻ mở Khi trình duyệt truy cập trang PHP, máy chủ sẽ đọc nội dung file, lọc và thực thi các đoạn mã PHP, sau đó thay thế kết quả vào vị trí ban đầu trong file Cuối cùng, máy chủ trả về một trang HTML hoàn chỉnh cho trình duyệt.

VI ĐIỀU KHIỂN ARM CORTEX M0

Giới thiệu chung

Vi điều khiển STM32F030F4 dựa trên nền tảng ARM Cortex-M0 32-bit RISC, với tốc độ xử lý đạt 48 MHz, là sản phẩm thấp nhất trong dòng ARM Cortex-M Cortex-M0 được thiết kế nhằm thay thế các vi điều khiển 8bit và 16bit hiện có trên thị trường Với hiệu suất vượt trội và giá thành hợp lý, Cortex-M0 trở thành lựa chọn lý tưởng cho các ứng dụng nhúng cơ bản Bên cạnh đó, khả năng tiết kiệm năng lượng của Cortex-M0 cũng là một điểm nổi bật đáng chú ý.

STM32F030F4 tích hợp bộ nhớ nhanh với Flash lên đến 64KB và SRAM 20KB, cung cấp nhiều cổng I/O và hỗ trợ ngoại vi thông qua hai đường truyền APB, ba đường truyền AHB và một ma trận đường truyền 32-bit AHB.

Các tính năng chính

 Nhân: ARM 32-bit Cortex-M0 CPU, bộ bảo vệ bộ nhớ, 210 DMIPS/1.25

DMIPS/MHz (Dhrystone 2.1) và thư viện DSP.

 Bộ nhớ: o 16kb bộ nhớ Flash. o 4 KB bộ nhớ SRAM.

 Debug: Serial wire debug (SWD) và giao tiếp JTAG.

 15 I/O ports với khả năng thiết lập ngắt.

 Tần số CPU: lên tới 48 MHz.

 Điện áp hoạt động trong khoảng: 2.4 đến 3.6V

Hình 2.16 Sơ đồ chân STM32F030F4

THIẾT KẾ VÀ THI CÔNG

Mô hình tổng quan

Hệ thống kết nối giữa các client và web server là yếu tố cơ bản và quan trọng nhất, đảm bảo luồng thông tin hiệu quả từ client đến server và tín hiệu điều khiển từ server trở lại các client.

Khoảng cách giữa các client và trung tâm điều khiển có thể lên đến hàng chục đến hàng trăm km Để giảm thiểu chi phí cho đường truyền từ web server tới các client, lựa chọn tối ưu là sử dụng kết nối có dây và kết nối không dây (wireless network).

Chuẩn kết nối không dây hiện tại có rất nhiều chuẩn:

- Chuẩn Wifi IEEE 802.11b, g, a, n cho phép tốc độ truyền cao từ vài Mbit/s lên đến hàng Gbit/s, tầm truyền trung bình từ 10 -100m nên không phù hợp.

- Chuẩn Bluetooth (IEEE 802.15.1) tốc độ tương đối 1Mbit/s tầm truyền không cao (10m) nên không phù hợp.

- Hồng ngoại cho tốc độ truyền cao 1Mbit/s nhưng chỉ truyền được đường thẳng không thể cấu thành mạng kết nối.

- Chuẩn RF thông thường tốc độ cao (1 Mbit/s và 10 Mbit/s), tầm truyền tốt lên đến 100m nên không phù hợp.

- ZigBee (dựa trên IEEE 802.15.4) tốc độ truyền trung bình 20, 40, 250 kbit/s, tầm truyền từ 10 -100m nên không phù hợp.

- Mạng GSM có độ phủ sóng rộng khắp, tận dụng được hạ tầng các trạm BTS có sẵn là một lợi thế to lớn.

Trong mô hình tổng quát của luận văn, các client sử dụng mạng GSM để kết nối internet, liên kết với Web Server nhằm truyền nhận dữ liệu, giúp tiết kiệm chi phí hoạt động và đơn giản hóa mô hình truyền Tại mức độ luận văn, các client được cấu thành thành điểm truy cập mạng GPRS, kết nối trực tiếp với web server.

Sơ đồ khối

Hệ thống sẽ gồm 2 phần chính là Web server, và các client:

- Các client có cấu tạo giống nhau gồm các thành phần: khối GSM/GPRS, vi xử lý trung tâm, và các khối thực thi.

Web Server bao gồm ba thành phần chính: giao diện người dùng, giao thức truyền nhận với client, và cơ sở dữ liệu Giao diện người dùng cập nhật lệnh điều khiển và hiển thị thông số kỹ thuật của các client Giao thức truyền nhận cho phép client đọc lệnh điều khiển và gửi giá trị kỹ thuật lên web server Cơ sở dữ liệu là nơi lưu trữ tập trung các lệnh điều khiển và giá trị kỹ thuật của các client.

Hình 3.1 Sơ đồ mạch điều khiển của một client

Chức năng các khối của client:

- Khối nguồn: cung cấp nguồn năng lượng cho toàn bộ hệ thống hoạt động.Ngõ vào là điện áp AC 220 V Ngõ ra là điện áp DC 3.3V và DC 4.8V.

- Khối GSM/GPRS: giao tiếp với mạng GSM Kết nối, truyền nhận dữ liệu với server thông qua đường truyền GPRS.

- Khối hiển thị: hiển thị thông tin tốc độ giới hạn cho phép.

- Khối điều khiển trung tâm: là khối xử lý trung tâm Điều khiển toàn bộ hệ thống client.

Thiết kế sơ đồ nguyên lý.

Khối GSM/GPRS

Sinh viên đã chọn mạng GPRS để thiết lập đường truyền dữ liệu giữa server và client, đảm bảo băng thông đủ cho tín hiệu và tiết kiệm chi phí Trên thị trường có nhiều thiết bị như SIM900, SIM908, SM508, nhưng SIM900 nổi bật về giá thành, hiệu năng và độ phổ biến Vì vậy, sinh viên quyết định sử dụng modem SIM900 của hãng SIMCOM, với các đặc điểm đã được phân tích trong chương 2.

Modem SIM900 có 68 chân Tuy nhiên ở đây module SIM900 chỉ thực hiện nhiệm vụ truyền nhận nên ta không hết chân:

Chân 52 Ở đây quan trọng nhất là chân 10, Pin 9 sẽ giao tiếp UART với vi điều khiển,

LED sẽ được nối vào chân 66 và 52 để báo hiệu khi modem hoạt động và có tín hiệu truyền dẫn, dễ dàng trong quá trình debug mạch.

Chân KEY là chân quan trọng giúp kiểm soát bật tắt của SIM900.

Các chân SIM_CLK, SIM_RST, SIM_DATA được dùng để giao tiếp với sim GSM.

SIM900 có chân VBAT dùng để kết nối nguồn dự phòng, trong khi trong đề tài này, nguồn VCC được thiết kế kết nối trực tiếp Điện áp hoạt động của SIM900 nằm trong khoảng 3.3 đến 4.8V, và trong nghiên cứu này, mức điện áp được chọn là 4.8V.

Sơ đồ nguyên lý và giá trị linh kiện dựa trên mô tả của nhà sản xuất.

Khối hiển thị

- Sử dụng trong môi trường ngoài trời.

- Cần thiết kế để có thể quan sát ở khoảng cách xa.

- Hiển thị thông tin giá trị tốc độ từ 2 đến 3 chữ số. b Thiết kế

Trong việc hiển thị thông tin giá trị tốc độ, có nhiều thiết bị như LCD, GLCD, led 7 đoạn và ma trận led Tuy nhiên, LCD và GLCD thường có kích thước nhỏ, chỉ quan sát được ở khoảng cách gần và độ sáng hạn chế Led 7 đoạn chỉ hiển thị được chữ số thập phân, gây hạn chế cho việc nâng cấp hệ thống sau này Ngược lại, led ma trận cho phép hiển thị linh hoạt theo nhu cầu và kích thước có thể tùy chỉnh Thực tế, led ma trận đã được áp dụng rộng rãi trong các hạng mục điều khiển và thông báo giao thông Vì vậy, trong đồ án này, ma trận led sẽ được sử dụng làm khối hiển thị chính, với thiết kế hiện tại là 24*8 điểm ảnh.

Có nhiều phương pháp điều khiển ma trận LED như chốt, quét LED và điều khiển trực tiếp Tuy nhiên, để tối ưu hóa số chân điều khiển từ khối điều khiển trung tâm, phương pháp quét được lựa chọn, chỉ cần 3 chân I/O để điều khiển toàn bộ khối hiển thị Phương pháp này cũng cho phép thay đổi phần cứng tối thiểu khi tăng kích thước ma trận LED trong tương lai Để mở rộng chân điều khiển digital trong phương pháp quét, IC dịch 74HC595 được sử dụng, và UN2803 là lựa chọn hàng đầu để đệm dòng cho ma trận LED nhờ vào các ưu điểm của nó.

Kích thước nhỏ gọn, dễ dàng trong thiết kế mạch in.

Khả năng đệm dòng tốt với dòng tối đa lên tới 500mA.

Việc sử dụng IC 74HC595 cho phép điều khiển ma trận LED một cách hiệu quả Để thực hiện điều này, chúng ta cần xuất xung từ các chân DATA, CLOCK và LATCH của IC 74HC595.

Hình 3.3 Sơ đồ nguyên lý ma trận led

Khối vi điều khiển

Trên thị trường hiện có nhiều loại vi xử lý như 8051, AVR, PIC, MSP430, và ARM, trong đó ARM Cortex-M0 nổi bật với hiệu năng cao, tiết kiệm năng lượng và giá thành thấp Đối với đồ án này, vi xử lý yêu cầu chỉ cần 1 ngoại vi UART và 4 chân ngoại vi I/O, do đó STM32F030F4 được lựa chọn Với 20 chân, trong đó có 15 chân ngoại vi, STM32F030F4 là lựa chọn hợp lý về mặt kỹ thuật và kinh tế, với giá chỉ khoảng 20.000 đồng, rẻ hơn so với các dòng vi xử lý PIC và AVR có cùng tài nguyên ngoại vi và bộ nhớ.

Nguồn 3.3V cấp cho STM32F030 cần có tụ lọc 104 để đảm bảo ổn định nguồn cho vi điều khiển.

- STM32F030 chỉ có 1 UART gồm 2 chân (RXD) và (TXD): RXD sẽ kết nối với chân TX của SIM900 và TXD nối với RX của SIM900.

- Pin 9 kết nối KEY của SIM900 điều khiển bật/tắt module SIM900. Điều khiển ma trận led:

- Pin 13 xuất dữ liệu ra IC dịch 74HC595.

- Pin 12 xuất xung ra IC dịch 74HC595.

- Pin 11 xuất tín hiệu chốt ra IC dịch 74HC595.

Nút nhấn Reset được nối vào chân RST cho phép reset STM32F030 bằng tay.

Thạch anh cấp 8MHz được sử dụng để tạo nguồn xung cho vi xử lý hoạt động.

Ngoài ra việc nạp chương trình cho STM32F030 sẽ được thực hiện theo chuẩn SWD Port nạp gồm 2 chân SWDIO và SWCLK và 1 chân GND để đồng bộ.

Sơ đồ nguyên lý và giá trị linh kiện dựa trên mô tả của nhà sản xuất.

Khối nguồn

Nguồn 4.8V cung cấp cho module SIM900 và module ma trận led Dòng tiêu thụ của SIM900 và ma trận led là rất lớn SIM900 yêu cầu dòng cung cấp 2A Ma trận led có dòng tiêu thụ vào khoảng 500mA Vậy nguồn cần cung cấp dòng ngõ ra tối đa là 3A để đảm bảo cung cấp nguồn điện cho hệ thống được liền mạch IC LM2596 ADJ đám ứng rất tốt nhu cầu này Với dòng ngõ ra tối đa lên tới 3A Hơn nữa linh kiện này rất phổ biến trên thị trường, đảm bảo nhu cầu sử dụng và thay thế bảo trì trong tương lai.

Nguồn 3.3V cấp nguồn cho vi điều khiển STM32F030 Dòng STM32F0 tiêu thụ một lượng điện năng rất thấp nên chỉ cần thiết kế một bộ ổn áp 3.3V đơn giản, nhỏ gọn nhằm tối ưu chi phí, tiết giảm diện tích board mạch IC LM1117 3.3V là linh kiện lý tưởng.

Do nguồn điện vào là AC, cần phải chỉnh lưu thành dòng DC Cầu diode được chọn vì tính đơn giản và tiện dụng Có nhiều loại cầu diode khác nhau để lựa chọn tùy theo nhu cầu Trong đồ án này, chúng tôi sử dụng cầu diode 5A.

Sơ đồ nguyên lý và giá trị linh kiện dựa trên mô tả của nhà sản xuất.

Sơ đồ khối toàn hệ thống

Hệ thống được điều khiển bởi vi xử lý STM32F030F4, thông qua kết nối UART để giao tiếp với module SIM900 Việc này cho phép cấu hình và truy cập server nhằm đọc các lệnh điều khiển.

Khối nguồn, vi điều khiển và module SIM900 được lắp đặt trên một board mạch, trong khi khối hiển thị được tách biệt trên một board khác Để kết nối và cung cấp nguồn điện cũng như tín hiệu điều khiển, một sợi cáp 5 dây, bao gồm 3 dây tín hiệu và 2 dây nguồn, được sử dụng giữa hai board mạch.

Hình 3.6 Mạch in của board điều khiển

Board điều khiển có kích thước nhỏ gọn chỉ 5x7cm, được thiết kế với header chuẩn cho module SIM900, giúp việc kết nối và tháo lắp module trở nên dễ dàng hơn.

Hình 3.7 Mạch in khối hiển thị

Khối hiển thị gồm 3 ma trận led được lắp đặt nối tiếp nhau tạo thành một ma trận 8x24 điểm ảnh.

Lưu đồ giải thuật. a) Lưu đồ hoạt động chung của toàn hệ thống.

Hệ thống hoạt động bằng cách gửi request đọc dữ liệu lên server theo chu kỳ cố định, được lên lịch bởi bộ timer trong nhân Corter-M0 của vi xử lý STM32F030F4 Sau khi server xử lý và trả về kết quả, module SIM900 tự động nhận dữ liệu, và vi xử lý sẽ gửi lệnh điều khiển để đọc thông tin này qua ngắt UART Quá trình đọc và trích xuất thông tin từ server giúp cập nhật giá trị hiển thị trên ma trận LED Hệ thống duy trì quá trình hiển thị trên ma trận LED liên tục để đảm bảo hình ảnh không bị biến dạng trong suốt hoạt động.

Lưu đồ giải thuật sau biễu diễn quá trình hoạt động này.

Khởi tạo UART, Timer, GPIO

Cấu hình Module SIM Điều kiện gửi request Đ Gửi request lên server.

Phân tích data Cập nhận biến hiển thị

Hình 3.8 Lưu đồ giải thuật toàn hệ thống b) Cấu hình module.

Chân KEY của module SIM900 có chức năng nhận lệnh bật tắt module Để reset module SIM900 Ta cần cấp một xung như hình dưới ở chân KEY:

Hình 3.9 Dạng sóng chân KEY

Hình 3.10 Lưu đồ giải thuật hàm bật SIM900

Bằng cách kết hợp điều khiển ngõ ra chân Key và sử dụng hàm Delay, chúng ta có thể tạo ra dạng sóng điều khiển chính xác Ngoài ra, việc khởi tạo kết nối GPRS cũng rất quan trọng trong quá trình này.

Tạo khung cấu hình SAPBR

Kích hoạt cấu hình SAPBR:

Hình 3.11 Lưu đồ giải thuật khởi tạo kết nối GPRS d) Gửi request lên server

Việc gửi và nhận dữ liệu giữa client và server được thực hiện qua giao thức HTTP Mỗi lần truy xuất dữ liệu, client sẽ gửi một yêu cầu đến server, và server sẽ phân tích yêu cầu đó để trả về dữ liệu tương ứng cho client.

Quá trình client gửi yêu cầu HTTP được mô tả thông qua lưu đồ bên dưới.

Hình 3.12 Lưu đồ hàm send_request lên server.

Trình tự để gửi một yêu cầu HTTP là:

“AT+HTTPINIT” cần được thực thi đầu tiên để khởi tạo dịch vụ HTTP.

Lệnh “AT+HTTPPARA” được sử dụng để truyền các tham số cần thiết trong giao thức HTTP Cú pháp của lệnh bao gồm hai phần chính: và Ví dụ, khi sử dụng lệnh "AT+HTTPPARA="URL","khacluong.zz.mu/getstate.php?ID=1"", phần tham số URL sẽ được thiết lập để truy cập vào địa chỉ cụ thể.

là “URL” và phần là "khacluong.zz.mu/ getstate.php?ID=1"".

Lệnh “AT+HTTPACTION” được sử dụng để yêu cầu SIM900 thực hiện yêu cầu đã thiết lập, sau đó yêu cầu này sẽ được gửi đến server qua kết nối GPRS Cuối cùng, người dùng cần đọc phản hồi và phân tích dữ liệu nhận được.

Sau khi gửi yêu cầu lên server, SIM900 sẽ tự động nhận và lưu thông tin từ server vào bộ nhớ Để truy xuất thông tin, cần gửi lệnh yêu cầu đến SIM900, đồng thời vi điều khiển phải có cơ cấu nhận và lưu trữ luồng dữ liệu Để đảm bảo quá trình nhận dữ liệu chính xác, vi điều khiển sẽ kích hoạt tính năng ngắt nhận UART Dữ liệu nhận được ở dạng chuỗi ký tự và có nhiều phần không cần thiết, do đó cần thực hiện bước xuất trích và chuyển đổi dữ liệu.

Gửi lệnh AT+HTTPREAD Bật biến trạng thái nhận dữ liệu

Tắt biến trạng thái nhận dữ liệu.

Xử lý mảng kí tự nhận được.

Cờ nhận dữ liệu từ Server == 1 Đ Lưu dữ liệu UART vào mảng HTTP_Data

Hình 3.14 Hàm xử lý ngắt UART. f) Kĩ thuật quét led

Có nhiều phương pháp điều khiển ma trận LED, trong đó phương pháp quét LED được ưu tiên ngay từ bước thiết kế phần cứng Phương pháp này tận dụng hiện tượng lưu ảnh ở mắt người, cho phép hiển thị từng hàng LED trong khoảng thời gian 0,04 giây mà mắt sẽ gộp lại thành hình ảnh đồng nhất Để tạo cảm giác tất cả các hàng cùng sáng, thiết kế yêu cầu 8 hàng LED lần lượt sáng trong 5ms mỗi hàng Chương trình sử dụng hàm ngắt System tick để lên lịch hiển thị từng hàng LED một cách hiệu quả.

Việc điều khiển ma trận sáng hàng và các điểm sáng tắt trên mỗi hàng được thực hiện thông qua IC dịch 74HC595, dựa trên thiết kế phần cứng IC này được điều khiển thông qua 3 chân kết nối GPIO.

- PA5 kết nối với chân latch của 74HC595.

-PA6 kết nối với chân clock của 74HC595.

-PA7 kết nối với chân data của 74HC595.

Lưu đồ giải thuật truyền một 1byte qua IC 74HC595.

Dịch một bit dữ liệu ra chân Data Tạo một xung xuông chân Clock

Hình 3.15 Lưu đồ hàm 595_write() Để sáng một hàng led nào đó thì ta truyền một chuỗi 4byte gồm:

Hàm matrix_show() thực hiện việc điều khiển đèn LED bằng cách sử dụng một mảng 2 chiều kích thước 4x8 Cột đầu tiên của mảng lưu trữ giá trị điều khiển cho từng hàng LED, trong khi các cột còn lại chứa giá trị điều khiển cho từng LED cụ thể Để thay đổi thông tin hiển thị trên ma trận LED, chỉ cần cập nhật dữ liệu ở ba cột cuối.

Hàm ngắt Systick tick được sử dụng để lên lịch hiển thị từng hàng của ma trận LED, với cấu hình ngắt 1ms Để tạo khung thời gian 5ms, cần thêm một biến đếm tạm Sau mỗi 5ms, hàm ngắt Systick tick sẽ gọi hàm matrix_show() để hiển thị một hàng của ma trận LED.

Bắt đầu i++ i == 5 Đ i=0 matrix_show(row) row=++row%8

Hình 3.16 Lưu đồ giải thuật hàm ngắt Systick tick.

Đồ án này đề xuất sử dụng máy chủ miễn phí trên internet nhằm tiết kiệm chi phí vận hành, đồng thời nâng cao khả năng điều khiển từ xa và cải thiện tính ổn định của hệ thống.

- Phần mềm: sẽ sử dụng ngôn ngữ lập trình PHP kết hợp với QSL.

Sơ đồ khối tổng quát của Server:

Hình 3.17 Sơ đồ khối Server tổng quát

- Home Index: là trang giao diện dùng để người dùng giám sát và điều khiển các client.

- GetState: giao thức truyền nhận của client và cơ sở dữ liệu.

- Save: giao thức nhằm đưa các thông tin điều khiển của người dùng vào cơ sở dữ liệu.

Khi người dùng truy cập vào website, họ có thể lựa chọn client cùng các giá trị điều khiển tương ứng Sau khi nhấn nút đồng ý, lệnh điều khiển sẽ được chuyển đến trang Save.php để lưu trữ vào cơ sở dữ liệu.

Luồng xử lý quản lý luồng dữ liệu của người dùng

Thông qua giao thức GET HTTP, các biến điều khiển được chuyển từ trang index.html sang save.php, nơi mà save.php mở kết nối với cơ sở dữ liệu (CSDL) Tại đây, giá trị của các biến sẽ được phân tích và lưu trữ vào CSDL Quá trình lưu thông tin này được thể hiện qua lưu đồ bên dưới.

Hình 3.18 Lưu đồ Save.php

Luồng xử lý quản lý luồng dữ liệu của client

Hình 3.19 Lưu đồ GetState.php

Client sẽ quản lý luồng dữ liệu với Server thông qua giao thức Get HTTP, trong đó client sẽ liên tục gửi yêu cầu kèm theo ID của mình.

-Mở kết nối tới CSDL.

- Truy suất đến CSDL và lấy về giá trị mã lệnh điều khiển.

- Xuất kết quả ra ngoài giao diện HTTP.

- Đóng kết nối tới CSDL Kết thúc quá trình.

Thi công và đánh giá.

Sau quá trình thi công, kết quả thu được là:

Client: Mạch thi công hoàn chỉnh đã hoàn thiện và đáp ứng các yêu cầu đặt ra.

Hình 3.20 Mặt trên một client SIM900

Hình 3.21 Mặt dưới một client SIM900

Hình 3.22 Mạch ma trận led.

Bước đầu chạy thử, các mạch đã thực hiện được các chức năng giao tiếp với moduleSIM900 và điều khiển ma trận led.

Để thiết lập một server, bạn có thể đăng ký và sử dụng một host miễn phí trên internet với tên miền khacluong.zz.mu Server này có khả năng hoạt động liên tục và quản lý nhiều client truy cập đồng thời Chức năng cơ bản của server là nhận yêu cầu từ client và trả về kết quả chính xác.

Hình 3.23 Giao diện trang index

Hình 3.24 Giao diện trang save.php

Ngày đăng: 22/12/2021, 06:03

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Cấu trúc GPRS được phát triển dựa trên mạng GSM. - (Đồ án tốt nghiệp) hệ thống điều khiển tín hiệu giao thông
Hình 2.1 Cấu trúc GPRS được phát triển dựa trên mạng GSM (Trang 18)
Hình 2.2 Các lớp protocol của GPRS được tham chiếu trên mô hình OSI. - (Đồ án tốt nghiệp) hệ thống điều khiển tín hiệu giao thông
Hình 2.2 Các lớp protocol của GPRS được tham chiếu trên mô hình OSI (Trang 19)
Hình 2.3Mô hình TCP/IP và OSI - (Đồ án tốt nghiệp) hệ thống điều khiển tín hiệu giao thông
Hình 2.3 Mô hình TCP/IP và OSI (Trang 22)
Hình 2.4 Mô hình cơ bản của TCP/IP - (Đồ án tốt nghiệp) hệ thống điều khiển tín hiệu giao thông
Hình 2.4 Mô hình cơ bản của TCP/IP (Trang 22)
Hình 2.6 Datagram trong lớp Internet - (Đồ án tốt nghiệp) hệ thống điều khiển tín hiệu giao thông
Hình 2.6 Datagram trong lớp Internet (Trang 26)
Hình 2.8 Frame trong lớp Network Interface - (Đồ án tốt nghiệp) hệ thống điều khiển tín hiệu giao thông
Hình 2.8 Frame trong lớp Network Interface (Trang 28)
Hình 2.9 Sơ đồ chân Module SIM900 - (Đồ án tốt nghiệp) hệ thống điều khiển tín hiệu giao thông
Hình 2.9 Sơ đồ chân Module SIM900 (Trang 29)
Hình 2.11 Khởi tạo cấu hình mặc định cho module SIM900. - (Đồ án tốt nghiệp) hệ thống điều khiển tín hiệu giao thông
Hình 2.11 Khởi tạo cấu hình mặc định cho module SIM900 (Trang 31)
Hình 2.16 Sơ đồ chân STM32F030F4 - (Đồ án tốt nghiệp) hệ thống điều khiển tín hiệu giao thông
Hình 2.16 Sơ đồ chân STM32F030F4 (Trang 43)
Hình 2.17 Sơ đồ tổ chức bộ nhớ - (Đồ án tốt nghiệp) hệ thống điều khiển tín hiệu giao thông
Hình 2.17 Sơ đồ tổ chức bộ nhớ (Trang 44)
Hình 2.18 Sơ đồ cấp xung clock cho các khối ngoại vi - (Đồ án tốt nghiệp) hệ thống điều khiển tín hiệu giao thông
Hình 2.18 Sơ đồ cấp xung clock cho các khối ngoại vi (Trang 45)
3.1.2. Sơ đồ khối. - (Đồ án tốt nghiệp) hệ thống điều khiển tín hiệu giao thông
3.1.2. Sơ đồ khối (Trang 47)
Hình 3.2 Module SIM900 - (Đồ án tốt nghiệp) hệ thống điều khiển tín hiệu giao thông
Hình 3.2 Module SIM900 (Trang 49)
Hình 3.3 Sơ đồ nguyên lý ma trận led - (Đồ án tốt nghiệp) hệ thống điều khiển tín hiệu giao thông
Hình 3.3 Sơ đồ nguyên lý ma trận led (Trang 51)
Hình 3.5. Module STM32F030 - (Đồ án tốt nghiệp) hệ thống điều khiển tín hiệu giao thông
Hình 3.5. Module STM32F030 (Trang 52)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w