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

Luận văn thạc sĩ VNU UET xây dựng hệ thống nhắn tin nội bộ dựa trên các thiết bị thông tin không dây

84 5 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

Tiêu đề Xây Dựng Hệ Thống Nhắn Tin Nội Bộ Dựa Trên Các Thiết Bị Thông Tin Không Dây
Tác giả Nguyễn Hoàng Hải
Người hướng dẫn TS. Ngô Diên Tập
Trường học Đại Học Quốc Gia Hà Nội
Chuyên ngành Kỹ thuật vô tuyến điện tử và thông tin liên lạc
Thể loại thesis
Năm xuất bản 2004
Thành phố Hà Nội
Định dạng
Số trang 84
Dung lượng 1,36 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS Hình 1-2: Truyền theo kiểu không đồng bộ Bộ truyền bắt đầu gửi một bít bắt đầu start để thông báo cho bộ nhận biết mộ

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

KHOA CÔNG NGHỆ

Nguyễn Hoàng Hải

LUẬN VĂN THẠC SĨ XÂY DỰNG HỆ THỐNG NHẮN TIN NỘI BỘ DỰA TRÊN CÁC

THIẾT BỊ THÔNG TIN KHÔNG DÂY

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

KHOA CÔNG NGHỆ

Nguyễn Hoàng Hải

Chuyên ngành: Kỹ thuật vô tuyến điện tử và thông tin liên lạc

LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC

TS Ngô Diên Tập

XÂY DỰNG HỆ THỐNG NHẮN TIN NỘI BỘ DỰA TRÊN CÁC

THIẾT BỊ THÔNG TIN KHÔNG DÂY

Trang 3

Chương

2 Lập trình giao tiếp với cổng RS-232

25

2.2 Truyền thông qua RS-232 với MSComm trong Visual Basic 25

5.2 Phát hiện ký tự đến bộ đệm nhận của máy tính và phân loại các đáp ứng từ môđem

Trang 5

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

DTR Data Terminal Ready EDGE Enhanced Data rates for GSM Evolution ESME External Short Message Entities

ETSI European Telecommunications Standards Institute GPRS General Packet Radio Service

GSM Global System for Mobile communication HLR Home Location Register

ITU International Telecommunication Union MSC Mobile Switching Center

SS7 Signalling System No.7 VLR Visitor Location Register

Trang 6

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

MỞ ĐẦU

Hiện nay nhu cầu phát triển các hệ thống ứng dụng thông tin không dây ngày càng tăng, đặc biệt là đối với các đơn vị vừa và nhỏ, nơi mà các hệ thông tin tiện lợi, dễ triển khai, chi phí thấp đang trở thành một nhu cầu bức thiết Nhu cầu giao tiếp máy-máy thay vì người-người đang ngày càng trở nên phổ biến nhằm giảm tải cho con người, đặc biệt là trong các lĩnh vực ngân hàng, bán hàng hoặc giải đáp thông tin (danh bạ, lịch bay, đặt chỗ trong hàng không chẳng hạn)

Cùng với sự phát triển của thông tin di động, đặc biệt là với GPRS, EDGE hoặc 3G, con người đã và đang phát triển rất nhiều các ứng dụng dựa trên nền tảng

dữ liệu chuyển mạch gói trong thông tin di động Tất cả những gì chúng ta có thể làm với máy tính và internet hôm nay đã và đang được đưa vào tích hợp trong các máy di động đầu cuối Tuy nhiên, tại thời điểm hiện nay, GPRS đã không chứng minh được tính ưu việt của nó và rất nhiều nhà cung cấp dịch vụ thông tin di động

đã và đang nói “không” với GPRS vì lý do đầu tư Công nghệ EDGE và 3G vẫn còn đang trong giai đoạn thử nghiệm và khó có khả năng trở nên phổ biến rộng rãi trước năm 2007

Dịch vụ nhắn tin ngắn (SMS), với tính ưu việt của mình về sự đơn giản trong

sử dụng và hiệu quả cao trong đầu tư, đã, đang và sẽ luôn là dịch vụ được chú trọng đối với bất cứ nhà cung cấp dịch vụ thông tin di động nào Rất nhiều các ứng dụng trên nền tảng nhắn tin ngắn đã và đang được phát triển bởi các nhà khai thác, chẳng hạn như dịch vụ sms-email, sms fax, logo, ring tones Tuy nhiên, đối với các cá nhân, doanh nghiệp hay cơ quan nhỏ, việc phát triển các ứng dụng của riêng mình, theo nhu cầu của mình độc lập với các ứng dụng được cung cấp bởi nhà khai thác, lại là một vấn đề hoàn toàn không dễ dàng

Một hệ thống thông tin nội bộ SMSComm xây dựng trên cơ sở nhắn tin ngắn thông qua một môđem GSM ghép nối với máy tính là hoàn toàn có thể thực hiện được đối với bất kỳ một cá nhân hay doanh nghiệp nào có nhu cầu mà không đòi hỏi đầu tư quá tốn kém hoặc bất kỳ một sự cho phép nào từ phía nhà cung cấp dịch

vụ thông tin di động

Với công nghệ hiện nay, bất kỳ máy di động đầu cuối GSM nào, cũng đều được tích hợp với một GSM môđem, vì vậy việc tìm ra một môđem GSM là một

Trang 7

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

việc rất dễ dàng Xa hơn nữa, dịch vụ nhắn tin ngắn đã trở nên rất quen thuộc đối với tất cả mọi người và đã đang là một dịch vụ được ưa thích và sử dụng nhiều nhất trong thông tin di động Vì vậy, chúng tôi tin rằng, hệ thống thông tin nội bộ SMSComm được xây dựng trong luận văn này, ngoài ý nghĩa học tập, nghiên cứu,

nó còn mang tính ứng dụng rất cao nhờ sự gần gũi của các ứng dụng mà nó mang lại trong cuộc sống thực tiễn

Hệ thống được thiết kế phải thoả mãn các yêu cầu sau đây:

1 Phần cứng đơn giản, quen thuộc với người dùng, dễ tìm và giá thành thấp

2 Có khả năng đáp ứng các tính năng sau:

Các máy điện thoại di động ở bên ngoài có thể truy cập các dịch vụ thông qua việc nhắn tin ngắn bằng các lệnh dịch vụ

Có khả năng mở rộng loại hình dịch vụ theo nhu cầu của người dùng

Đây là yêu cầu rất quan trọng nhằm tạo tính mở cho ứng dụng của hệ thống giúp cho người khai thác có thể dễ dàng tạo ra các ứng dụng riêng của đơn vị

Cho phép các máy tính nối mạng có khả năng gửi tin nhắn đến máy di động và ngược lại (Chat giữa điện thoại di động và máy tính)

Có khả năng ghi lại các dữ liệu thống kê theo giờ, nhằm giúp người quản lý hệ thống biết được hệ thống đang được sử dụng có hiệu quả không hoặc hệ thống có khả năng đáp ứng nhu cầu không (về mặt dung lượng)

Có khả năng ghi lại các sự cố, nếu có, nhằm giúp người quản lý phát hiện và xử lý

Sử dụng nhắn tin ngắn để phát triển các mục đích ứng dụng còn cho thấy rằng sự gắn kết giữa công nghệ điện tử, công nghệ viễn thông và công nghệ thông tin ngày càng trở nên chặt chẽ và chúng đã, đang và sẽ là những bộ phận không thể tách rời trong đời sống hiện đại

Xin bày tỏ lòng biết ơn sâu sắc đến thầy: Tiến sỹ Ngô Diên Tập, giảng viên Khoa Công nghệ - Đại học Quốc gia Hà nội, người đã tận tình hướng dẫn và đưa ra các nhận xét vô cùng quí báu trong quá trình thực hiện luận văn Chân thành cảm ơn

Trang 8

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

các bạn đồng nghiệp trong văn phòng Comvik, công ty VMS đã tạo điều kiện giúp

đỡ hoàn thành bản luận văn này

Trang 9

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

1 Chương 1

1 CỔNG NỐI TIẾP RS-232 VÀ KẾT NỐI MÔĐEM

Nội dung của luận văn này liên quan mật thiết đến việc lập trình ghép nối điều khiển môđem thông qua cổng truyền thông nối tiếp RS-232, vì vậy Chuơng 1 của luận được giành để giới thiệu những hiểu biết nhất định về cổng nối tiếp RS-

232 cũng như ghép nối môđem để tiện tham khảo

1.1 CỔNG NỐI TIẾP RS-232

1.1.1 ĐẶC TRƯNG VẬT LÝ

Các máy tính PC được sản xuất gần đây đều được trong bị với ít nhất một cổng nối tiếp theo tiêu chuẩn RS-232 Các cổng RS-232 thường được dùng cho các mục đích ghép nối khác nhau như môđem, máy in hoặc thiết bị đo lường Cổng RS-

232, trong rất nhiều các ứng dụng viễn thông khác, lại được sử dụng như một giao tiếp để quản lý và vận hành thiết bị

Việc sử dụng giao diện nối tiếp mang lại nhiều ưu điểm, ngay cả đối với những mạch ghép nối đơn giản, lý do là:

Khả năng chống nhiễu của các cổng nối tiếp cao hơn so với các cổng máy in

Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện

Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua cổng nối tiếp

Thông thường thì việc sử dụng cổng nối tiếp đòi hỏi chi phí nhiều hơn vì cần biến đổi dữ liệu được truyền theo kiểu nối tiếp thành dữ liệu song song Với các bài toán ghép nối không phức tạp, trong đó chỉ sử dụng một vài đường dẫn vào ra thì ta

có thể sử dụng trực tiếp các đường dẫn phụ trợ có liên quan của giao diện Tổng cộng có đến hai đường dẫn lối ra và bốn đường dẫn lối vào, có thể được trao đổi trực tiếp bằng các lệnh đơn giản

Sơ đồ chân của cổng nối tiếp RS-232 được mô tả trên hình 1-1

Hình 1-1: Sơ đồ chân cổng nối tiếp RS-232

Trang 10

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

Bảng 1-1 dưới đây chỉ ra tất cả các đường dẫn được nối trên đầu nối 9 chân

Chân (9chân)

Lối vào/ra

Tên gọi Chức năng

8 => CTS, Clear to

Send

Xoá để gửi: bộ nhận đặt đường này lên mức hoạt động để thông báo cho bộ truyền là nó sẵn sàng nhận

dữ liệu

Ready

Dữ liệu sẵn sàng: tính hoạt động giống với CTS nhưng được kích hoạt bởi bộ truyền khi nó sẵn sàng nhận dữ liệu

9 => RI, Ring Indicate Báo chuông, cho biết là bộ

nhận đang nhận tín hiệu

Trang 11

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

rung chuông

Bảng 1-1: Sơ đồ chân cổng nối tiếp RS-232 Việc trao đổi dữ liệu qua cổng nối tiếp trong các trường hợp thông thường đều qua đường dẫn truyền nối tiếp TxD và đường dẫn nhận nối tiếp RxD Tất cả các đường dẫn còn lại có chức năng phụ trợ khi thiết lập và điều khiển phiên truyền dữ liệu Các đường dẫn này được gọi là các đường dẫn bắt tay bởi vì chúng được sử dụng theo phương pháp “ký nhận” giữa các thiết bị Ưu điểm đặc biệt của các đường dẫn bắt tay là trạng thái của chúng có thể đặt hoặc điều khiển trực tiếp

Đặc trưng điện của các đường dẫn lối vào và lối ra đã được chỉ rõ trong tiêu chuẩn RS-232 Trạng thái LOW ứng với mức điện áp +12V còn trạng thái HIGH ứng với mức điện áp -12V Tất cả các lối ra đều có đặc tính chống chập mạch và có thể cung cấp dòng điện từ 10mA đến 20mA Với các lối ra này, các LED đấu vào hoặc được các tầng đệm điều khiển trực tiếp Giữa hai điện áp có một khoảng thời gian trễ, nghĩa là trạng thái được đọc sẽ thay đổi, khi điện áp lối vào nằm ở ngoài vùng này

Thông thường thì giao diện nối tiếp được điều khiển bằng mức tín hiệu hai cực với độ lớn bằng +12V và -12V Do các mạch lối vào thông thường trong máy tính PC nhận dạng một mức điện áp dưới 1V như là mức LOW, nên cổng nối tiếp cũng được phép làm việc với mức TTL (0V/5V) Một số máy tính PC, phần lớn là máy tính xách tay làm việc với ngưỡng chuyển mạch từ -3V đến +3V và vì thế có thể chấp nhận các tín hiệu lối vào hai cực [1]

1.1.2 KHUÔN MẪU KHUNG TRUYỀN

Việc truyền dữ liệu qua cổng RS-232 được thực hiện theo kiểu không đồng

bộ, một khung dữ liệu được bắt đầu bằng bít bắt đầu và kết thúc với bit dừng Như chỉ ra trên hình 1-2

Trang 12

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

Hình 1-2: Truyền theo kiểu không đồng bộ

Bộ truyền bắt đầu gửi một bít bắt đầu (start) để thông báo cho bộ nhận biết một ký tự sẽ được gửi tới trong lần truyền bit tiếp sau Bít bắt đầu này luôn luôn ở mức 0 Tiếp theo 5, 6 hoặc 7 bit dữ liệu được gửi dưới dạng mã ASCII, rồi đến một bit chẵn lẻ và cuối cùng là 1 hoặc 1,5 hay 2 bit dừng [2]

Bít chẵn lẻ

Thực chất của quá trình kiểm tra lỗi khi truyền là bổ xung thêm dữ liệu vào dòng dữ liệu được truyền để tìm ra hoặc sửa chữa lỗi trong quá trình truyền Chuẩn RS-232 sử dụng một kỹ thuật đơn giản được gọi là „chẵn lẻ‟ để có khả năng phát hiện được lỗi

Một bít chẵn lẻ được bổ xung vào dữ liệu được truyền để cho thấy số các bít

số “1” (các bít có giá trị bằng 1) được gửi trong một khung truyền là chẵn (chẵn lẻ chẵn) hay là lẻ (chẵn lẻ lẻ) Đây là một phương pháp đơn giản trong mã hoá lỗi và chỉ cần đến một cổng XOR để tạo ra bit chẵn lẻ Bít chẵn lẻ được bổ xung vào dữ liệu được truyền bằng cách chèn nó vào một vị trí chính xác của bít trong thanh ghi dịch sau khi đã „đếm‟ xem có bao nhiêu số „1‟ được gửi

Trong khuôn mẫu của khung truyền dị bộ (không đồng bộ), các bít bắt đầu, bít dừng và bít chẵn lẻ được bổ xung vào 7 bít dành cho ký tự mã ASCII Như vậy

Trang 13

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

là phải cần tổng cộng là 10 bít để truyền một ký tự đơn Với 2 bít dừng thì phải cần đến 11 bít Nếu giả thiết là có 10 ký tự gửi đi mỗi giây và nếu như có 11 bít đã sử dụng cho mỗi ký tự thì tốc độ truyền thông tin là 110 bit mỗi giây (bps)

Bảng 1-2 minh hoạ mối quan hệ giữa tốc độ truyền theo bit và số các ký được truyền đi trong mỗi giây với giả thiết là 10 bít được truyền cho mỗi ký tự Tốc

độ bít được đo theo số các bít được truyền đi trong mỗi giây (bps)

Ngoài tốc độ bít, còn có một thuật ngữ khác được sử dụng để mô tả tốc độ truyền là tốc độ baud Tốc độ bít phản ánh tốc độ thực tế mà các bít được truyền, trong khi mà tốc độ baud liên quan với tốc độ mà các phần tử mã hoá dữ liệu được

sử dụng để diễn tả các bít được truyền Bởi vì một phần tử báo hiệu sự mã hoá một bít, nên khi đó hai tốc độ là đồng nhất Chỉ trong các môđem có thêm quá trình biến đổi nên tốc độ bit mới khác tốc độ baud

Bảng 1-2: Tốc độ bps và số các ký tự được truyền trong mỗi giây

Phân chia khoảng thời gian trên luồng bít

Truyền thông dị bộ là kiểu truyền thông với các bít bắt đầu/dừng và cả bộ truyền lẫn bộ nhận phải được thiết lập với cùng khoảng thời gian truyền một bít hay

nói ngắn gọn hơn là khoảng thời gian bít Một bít bắt đầu xác định vị trí bắt đầu

cuộc truyền và luôn luôn có giá trị logic thấp Tiếp theo, bít có ý nghĩa nhỏ nhất

Trang 14

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

được gửi đi, rồi đến phần còn lại của các bít ký tự mã ASCII 7 bít Sau đấy bít chẵn

lẻ được gửi đi và kế tiếp theo là bít dừng Khoảng thời gian thực tế để truyền mỗi bít liên quan đến tốc độ baud và có thể được qui định bằng cách sử dụng công thức sau:

Khoảng thời gian của mỗi bít = 1/Tốc độ baud [2]

1.1.3 TRUYỀN THÔNG GIỮA HAI NÚT

RS-232 đã trở thành một chuẩn nhưng không phải tất cả các nhà sản xuất đều trung thành với nó Một số nhà sản xuất tuân thủ đầy đủ các qui định của chuẩn RS-232, trong khi một số khác chỉ thực hiện một phần Nguyên nhân là không phải tất cả mọi thiết bị đều cần đến toàn bộ khả năng hoạt đông của cổng nối tiếp RS-232 Chẳng hạn môđem cần nhiều đường dẫn điều khiển hơn là chuột khi được đấu vào cổng nối tiếp

Tốc độ mà dữ liệu được truyền và tốc độ mà bộ truyền và bộ nhận có thể truyền/nhận dữ liệu sẽ quyết định có phải sử dụng đến kỹ thuật bắt tay hay không

Bắt tay

Việc truyền dữ liệu có thể tiến hành theo ba cách: không có bắt tay (handshaking), có bắt tay phần cứng hoặc bắt tay phần mềm Nếu như không sử dụng kỹ thuật bắt tay thì bộ nhận phải có khả năng đọc các ký tự nhận được trước khi bộ truyền gửi đến một ký tự khác Bộ nhận có thể đệm ký tự nhận được và cất giữ ký tự này trong một vị trí ô nhớ riêng trước khi nó được đọc Vị trí ô nhớ này được gọi là bộ đệm nhận Đáng chú ý là bộ nhận này chỉ có thể lưu trữ một ký tự đơn Nếu như nó không được làm rỗng trước khi một ký tự khác được nhận thì bất

kỳ ký tự nào trước đó cũng bị nghi đè lên Một thí dụ về hiện tượng này được minh

Trang 15

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

họa trong hình 1-3

Hình 1-3: Quá trình truyền và nhận các ký tự Trong trường hợp này bộ nhận đọc xong xuôi hai ký tự đầu tiên từ bộ đệm nhận, nhưng nó chưa đọc ký tự thứ ba bởi vì ký tự thứ tư được truyền đã ghi đè lên

nó trong bộ đệm nhận Nếu như điều kiện này xảy ra thì một vài dạng bắt tay phải được sử dụng để làm dừng bộ truyền gửi ký tự trước khi bộ nhận có đủ thời gian để

xử lý các ký tự đã nhận được [2]

Truyền thông đơn giản không có bắt tay

Trong cách truyền thông này, người ta giả thiết rằng bộ nhận có thể đọc dữ liệu nhận được từ bộ đệm nhận trước khi các ký tự khác tới bộ đệm nhận Dữ liệu được gửi từ vị trí kết nối với chân TxD của bộ truyền và được nhận ở vị trí nối với

chân RxD của bộ nhận Hình 1-4 chỉ ra cách kết nối giữa các nút [2]

Hình 1-4: Kết nối ở cổng RS-232 không có phần cứng bắt tay

Bắt tay bằng phần mềm

Có hai ký tự mã ASCII cho phép bắt đầu và làm dừng các cuộc truyền dữ liệu qua cổng nối tiếp đó là: X-ON (^S, Ctrl-S hoặc mã ASCII 11) và X-OFF (^Q, Ctrl-Q hoặc mã ASCII 13)

TD

RD RTS CTS DTR DSR GND

TD

RD RTS CTS DTR DSR GND

Trang 16

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

Khi bộ truyền nhận được ký tự X-OFF nó làm ngừng quá trình truyền thông cho đến khi ký tự X-ON được gửi Kiểu bắt tay này thường được sử dụng khi bộ truyền và bộ nhận có thể xử lý dữ liệu tương đối nhanh chóng Thông thường, bộ nhận cũng sẽ có một bộ đệm lớn dùng cho các ký tự gửi tới Khi bộ đệm này đầy,

nó truyền mã ký tự X-OFF Sau khi nó đọc từ bộ đệm, ký tự mã X-ON sẽ được

dữ liệu được truyền giữa bộ truyền và bộ nhận diễn ra như thế nào

Hình 1-6: Các đường dẫn bắt tay được sử dụng khi truyền dữ liệu

X-ON

TruyÒn d÷ liÖu

TruyÒn d÷ liÖu X-OFF

Cã Kh«ng

S½n sµng nhËn?

CTS RTS RTS

Nót nhËn

RD

RTS Nót truyÒn

CTS CTS

TD

TruyÒn d÷ liÖu

Trang 17

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

Khi một nút muốn truyền dữ liệu nó ấn định đường dẫn RTS ở trạng thái hoạt động, nghĩa là ở mức cao, rồi giám sát đường dẫn CTS cho đến khi đường dẫn này chuyển sang trạng thái hoạt động, nghĩa là cũng ở mức cao Nếu đường dẫn CTS ở bộ truyền giữ nguyên trạng thái không kích hoạt thì nghĩa là bộ nhận đang bận và hiện tại không thể nhận dữ liệu Khi bộ nhận đọc từ bộ đệm nhận, đường dẫn RTS sẽ tự động chuyển sang trạng thái kích hoạt qua đó báo cho bộ truyền là nó đang sẵn sàng nhận ký tự

Việc nhận dữ liệu cũng diễn ra tương tự với việc truyền dữ liệu nhưng các đường dẫn DSR và DTR được sử dụng chứ không phải là RTS và CTS Khi DCE muốn truyền dữ liệu đến DTE thì đầu vào DSR của bộ nhận sẽ chuyển sang trạng thái kích hoạt Nếu bộ nhận không thể nhận ký tự, nó đặt đường dẫn DTR ở trạng thái không hoạt động Khi đã sẵn sàng để nhận, nó sẽ đặt DTR sang trạng thái hoạt động Đường dẫn DTR sẽ giữ nguyên trạng thái không kích hoạt cho đến khi ký tự

được xử lý xong Đấu nối RS-232 có bắt tay được mô tả trong hình 1-7 [2]

Hình 1-7: Ghép nối để truyền thông có bắt tay qua cổng RS-232

1.2 MÔĐEM

Trong những năm gần đây, môđem ghép nối quen thuộc đối với nhiều người

sử dụng máy tính PC Trong phần này, chúng tôi sẽ trình bày một số hiểu viết về môđem

Thuật ngữ môđem có nguồn gốc từ chữ tiếng Anh MOdulator/DEModulator,

để chỉ các bộ điều biến/giải điều biến Các môđem cùng để nối thiết bị số với một đường truyền mà phổ biến là đường điện thoại (để tránh hiểu nhầm khi chúng tôi

DTE

TD

RD RTS CTS DTR DSR GND

TD

RD RTS CTS DTR DSR GND

DTE

Trang 18

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

Hình 1-8 mô tả vai trò của môđem và các dạng tín hiệu trên đường truyền

Sở dĩ phải cần đến môđem vì dữ liệu được lưu trữ hoặc trao đổi trong máy tính đều tồn tại dưới dạng số (digital), trong khi các đường truyền lại truyền dữ liệu dưới dạng tương tự (analog) Để truyền được tín hiệu từ một máy tính đến một máy tính

ở xa - một hình thức ghép nối máy tính - ta phải biến đổi tín hiệu từ dạng số sang dạng tương tự để đặt lên đường truyền Môđem được ứng dụng nhiều trong các dạng thông tin liên lạc mà chúng ta không thể kết nối cáp hay đường dây một cách

trực tiếp giữa hai đầu

Hình 1-8: Các tín hiệu truyền qua đường điện thoại

Quá trình biến đổi tín hiệu từ dạng số sang dạng tương tự như thế được gọi là quá trình điều biến (modulation) Quá trình biến đổi ngược lại từ tín hiệu analog thu được thành tín hiệu số được gọi là quá trình giải điều biến (demodulation) Mỗi môđem đều có hai chức năng điều biến và giải điều biến Tín hiệu tương tự, mang thông tin từ đầu gần tới đầu xa như trên hình vẽ được gọi là sóng mang (carrier)

Các môđem thông thường sử dụng các đường dây điện thoại để truyền tải tín hiệu, trong GSM, các môđem GSM sử dụng sóng mang GSM để truyền tải tín hiệu

Bằng sơ đồ khối, hình 1-9 cho thấy hai máy tính được nối với nhau như thế nào khi sử dụng cổng nối tiếp RS-232 và các môđem

M¸y vi tÝnh RS-232 Modem

KÕt nèi qua

®-êng ®iÖn

Trang 19

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

Hình 1-9: Truyền dữ liệu bằng môđem

Các môđem tồn tại dưới hai dạng: môđem ngoài và môđem trong

Môđem trong được chế tạo dưới dạng một card mở rộng cắm vào rãnh mở

rộng trên bảng mạch chính (mainboard) của máy tính PC Cách ghép nối này không cần nguồn nuôi ngoài

Môđem ngoài được chế tạo dưới dạng một bản mạch được đóng hộp và

được nuôi bởi nguồn nuôi ngoài Môđem ngoài được ghép nối với máy tính thông qua cổng RS-232 sử dụng các dây nối DB-25 hoặc DB-9 [2]

1.3 TRUYỀN THÔNG GIỮA MÁY TÍNH VÀ MÔĐEM

Truyền thông giữa máy tính và môđem ngoài được thực hiện quan cổng nối tiếp hay còn gọi là cổng RS-232 Cổng RS-232 sử dụng cách truyền thông dị bộ, có khuôn mẫu dữ liệu với bít bắt đầu và bít dừng Các ký tự được gửi từ máy tính ra môđem (kể cả ký tự điều khiển) đều được thực hiện theo khuôn mẫu của khung dữ liệu RS-232 như đã trình bày ở phần trước đây

ITU đã qui định các tiêu chuẩn liên quan đến RS-232 và môđem Có khá nhiều chuẩn môđem đang hiện hành, tuy nhiên, các nhà sản xuất môđem hiện nay đều có xu hướng sản xuất loại môđem có thể tương thích với tất cả các chuẩn được đưa ra Thí dụ một bộ fax/ môđem có thể tương thích với các chuẩn sau:

Trang 20

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

V.32bis (14.4 kbps) V.22bis (2.4 kpbs) Bell 212 (1.2 kbps) V.17 (14.4kbps, fax) V.27ter (4.8kbps, fax) V.42bis (có nén dữ liệu) MNP5 (có nén dữ liệu)

V.32 (9.6 kbps) V.22 (1.2 kbps) Bell 103 (300 bps) V.29 (9.6 kbps, fax) V.21 (300 kbps, fax) V.42 (hiệu chỉnh lỗi) MNP2-4 (hiệu chỉnh lỗi)

Các môđem theo tiêu chuẩn đều hỗ trợ các lệnh AT cho phép lập trình điều khiển truyền thông của môđem Trong ngôn ngữ AT, khi các máy tính gửi lệnh đến môđem, các lệnh đều bắt đầu bằng hai chữ AT Chẳng hạn „ATDT” là lệnh quay số gọi theo kiểu đa tần Bảng 1-3 dưới đây cho thấy một vài thí dụ về lệnh AT

Lệnh Mô tả tác dụng

ATDT54321 Tự động qua số gọi cho số 54321 khi sử dụng cách nhấn

phím theo kiểu đa tần

AT S0=2 Tự động trả lời sau hai hồi chuông Nếu S0=0 thì môđem

sẽ không trả lời

ATH Chấm dứt (hangup) việc kết nối đường truyền

Bảng 1-3: Vài lệnh AT tiêu chuẩn của môđem Mỗi lệnh được kết thúc bởi một ký tự trở về đầu dòng (ký tự mã ASCII là 13 trong hệ thập phân) Một lệnh không có ký tự trở về đầu dòng sẽ bị bỏ qua sau một thời gian trễ nhất định Nhiều lệnh có thể được đặt trên một dòng và nếu cần thiết

có thể đưa vào dấu trống (space) cho dễ đọc

Mỗi môđem có thể chấp nhận hai trạng thái, trạng thái bình thường và trạng thái lệnh Trong trạng thái bình thường, môđem truyền và/hoặc nhận các ký tự từ máy tính Trong trạng thái lệnh, các ký tự được gửi tới môđem là các lệnh Mỗi lần dịch xong một lệnh, môđem lai trở lại trang thái bình thường [2]

Trang 21

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

Sau khi nhận được lệnh AT, môđem đáp ứng lại bằng một mã trả lại Các mã trả lại có thể dưới dạng text hoặc con số (digit) tuỳ thuộc vào lệnh cài đặt Ví dụ về một vài mã gửi trả lại được cho trong bảng 1-4 dưới đây:

Thông báo Digit Diễn giải

CONNECT 1200 5 Kết nối được với một môđem tốc độ 1200 bps

Bảng 1-4: Một số mã gửi trả lại của môđem tiêu chuẩn Nếu kết nối được với một môđem ở xa thì môđem sẽ trả lại một báo hiệu sự kết nối chẳng hạn CONNECT 1200 Khi đó dữ liệu có thể được truyền giữa các môđem ở tốc độ đã được chỉ định.Khi máy tính muốn chấm dứt cuộc kết nối, nó sẽ gửi tới môđem ba ký tự “+++” Khi đó, môđem sẽ đáp ứng lại bằng OK và chờ lệnh ATH từ máy chủ Khi đó môđem sẽ trả lại một đáp ứng là OK vào thời điểm mà cuộc kết nối được loại bỏ Một bộ đầy đủ các lệnh AT, cú pháp và các thanh ghi của môđem có thể được trong các tài liệu chuyên sâu về môđem

Cáp nối môđem

Các cáp nối môđem thường được nhà sản xuất cung cấp kèm theo môđem

Một kiểu nối điển hình môđem với máy tính được trình bày trong hình dưới đây [2]

Trang 22

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

Hình 1-10: Đấu nối giữa môđem và Máy tính

1.4 MÔĐEM GSM WAVECOM WMO2-G900

1.4.1 GIỚI THIỆU CHUNG

Môđem Wavecom WMO2-G900 được thiết kế như một thiết bị đầu cuối không dây GSM hỗ trợ các dịch vụ thoại, fax, truyền dữ liệu và nhắn tin ngắn trong GSM900 Môđem WMO2-G900 được thiết kế như một môđem ngoài và có thể kết nối với máy tính thông qua cổng RS-232

Giao diện RS-232 của môđem WMO2-G900 được đặt mặc định ở chế độ tự điều chỉnh tốc độ baud (từ 2400 bps đến 19200bps), 8 bit dữ liệu, không sử dụng chẵn lẻ, 1 bít dừng và bắt tay phần cứng RTS/CTS [3]

Môđem WMO2-G900 được sử dụng rất nhiều trong các thiết bị lặp sóng GSM (repeater) để làm thiết bị đầu cuối để vận hành và giám sát từ xa Môđem WMO2 được mô tả trong hình 1-11 dưới đây

TD

RD RTS CTS DTR DSR GND

TD

RD RTS CTS DTR DSR GND

DTE

DCE

Trang 23

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

Hình 1-11: Môđem GSM WMO2-G900 Môđem WMO2-G900 được nuôi bằng nguồn nuôi DC chỉ ra trong bảng dưới đây:

Nguồn Tối thiểu Tiêu chuẩn Tối đa

Nguồn vào 5V 13.5V 32V Dòng vào đỉnh với nguồn 5V 2.5V Dòng vào trung bình với nguồn 5V

GSM 07.05 Data Không đồng bộ 2400, 4800 và 9600bps, trong suốt và không

Trang 24

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

AT+CSQ:<rssi>,<ber>

Trong đó:

<rssi> nhận các giá trị sau:

0: -113dBm hoặc thấp hơn 1: -111dBm

2 30: -109 đến -53dBm 31: -53dBm hoặc lớn hơn

<ber> nhận các giá trị sau:

0 đến 7 tương ứng với RXQUAL theo khuyến nghị GSM 05.08

Lệnh AT+CSQ có thể được thực hiện ngay cả trong khi môđem không được cài thẻ SIM card [4]

1.4.2 GIAO TIẾP LỆNH AT

Giao diện lệnh AT của môđem WMO2-G900 đặt nền tảng trên giao thức Hayes giữa TE và ME Các lệnh AT được sử dụng để quản lý các dịch vụ thoại, truyền số liệu, fax, gửi và nhận tin nhắn SMS

Lệnh kiểm tra (Test command): sử dụng chuỗi ký tự “=?” Có thể dùng

để kiểm tra một tham số xem có được hỗ trợ bởi môđem hay không và cũng để kiểm tra giá trị của tham số đó

Ví dụ:

động trả lời cuộc gọi

Trang 25

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

hoạt động

Cú pháp cơ bản (Basic Syntax)

Khi hoạt động ở tốc độ baud cố định, môđem WMO2-G900 chấp nhận các lệnh AT được đánh vào hoặc theo chữ hoa hoặc theo chữ thường Sử dụng lẫn lộn chữ hoa và chữ thường trong một lệnh sẽ không được phép

Các ký tự cuối cùng trong dòng lệnh, ngoại trừ một số trường hợp được hướng dẫn, luôn luôn là các ký tự trở về đầu dòng <CR>

Cú pháp lệnh AT nói chung là theo kiểu Hayes tiêu chuẩn:

Mỗi lệnh đều được bắt đầu với hai ký tự “AT” ngoại trừ lệnh “+++” và lệnh “A/”

Phần lệnh được tiếp theo bởi một ký tự đơn hoặc là dấu „&‟ đi ngay sau một ký tự đơn

Một dấu „+‟ có thể được viết ngay sau tiền tố AT cho biết rằng lệnh đó

là một lệnh mở rộng Trong trường hợp đó, một ký (trong các ký tự sau đây: A,C,D,E,F,G,I,M,S,T,V hoặc W) cần phải đi ngay sau dấu cộng

„+‟, tiếp theo đó là lệnh

Tham số được đặt ở cuối dòng lệnh

Ví dụ:

Trang 26

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

Các lệnh AT+IPR, AT+IFC, AT+ICF có thể được dùng để thay đổi thông số của giao diện RS-232 thay vì các thông số mặc định đã nói ở phần đầu khi giới thiệu về môđem WMO2-G900

Các tham số trả lời, dù là text hay mã số đều có cấu trúc gồm 3 phần: đầu, thân và kết thúc Phần đầu và phần cuối giống nhau, được tạo thành bởi hai ký tự trở về đầu dòng <CR> và xuống dòng <LF>

Nguyên tắc thông báo trả lời này đúng với tất cả các lệnh, ngoại trừ lệnh Q1

và V0

Khi cú pháp của một lệnh không đúng, môđem sẽ trả lời „ERROR‟

Khi cú pháp của lệnh đúng, nhưng phần tham số bị sai, môđem sẽ trả lời +CME ERROR: <Err> hoặc +CMS ERROR <CMSErr> với mã lỗi

<Err> hoặc <CMSErr> tưưong ứng

Khi câu lệnh đúng hoàn toàn, môđem sẽ trả lời „OK‟ Tuy nhiên, đối với một số lệnh chẳng hạn như “AT+CPIN?”, môđem sẽ không trả lời „OK‟

sau khi thực hiện lệnh

Nhìn chung, với thiết kế nhằm thoả mãn các yêu cầu về các loại dịch vụ tương tự như một máy điện thoại GSM, môđem WMO2-G900 cũng hỗ trợ rất nhiều lệnh AT cho phép người dùng thao tác các chức năng có trên một điện thoại thông thường chẳng hạn kiểm tra SIM card, đọc bộ danh bạ trong bộ nhớ, etc Nói chung, môđem hoàn toàn cho phép người dùng phát triển các ứng dụng liên quan đến các dịch vụ trong GSM kể cả việc truyền số liệu, các ứng dụng nhắn tin ngắn

Trang 27

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

hay xa hơn nữa là các ứng dụng phần mềm đo kiểm thông số và chất lượng của mạng GSM [4]

Tập lệnh AT của môđem WMO được giới thiệu đầy đủ trong tài liệu hướng

dẫn đi kèm với môđem, tuy nhiên do khuôn khổ của luận văn này chỉ tập trung vào ứng dụng nhắn tin ngắn, chúng tôi xin đưa ra một vài lệnh AT thông dụng hỗ trợ nhắn tin ngắn làm ví dụ tham khảo:

Lệnh

AT+CMGF AT+CMGR AT+CMGL AT+CMGS AT+CMGD AT+CSCA

Giải Nghĩa

Đặt chế độ định dạng của tin nhắn

Đọc một tin nhắn có trong bộ nhớ

Liệt kê và đọc tin các nhắn có trong bộ nhớ

Gửi một tin nhắn đi

Xoá một tin nhắn

Đặt địa chỉ trung tâm nhắn tin

Bảng 1-7: Một số lệnh AT hỗ trợ nhắn tin ngắn của môđem WMO2-G900

Cú pháp cụ thể của các lệnh AT nhắn tin ngắn trên, cũng như đáp ứng trả lời của môđem được trình bày cụ thể trong Phụ lục 1 của luận văn

Đoạn chương trình sau viết trong Visual Basic cho phép đọc tất cả các tin nhắn trên SIM card lắp trên môđem WMO2

Private Sub Form_Load()

MSComm1.CommPort = 1 „ sử dụng COM1 MSComm1.Settings = "9600,N,8,1" „ Đặt tốc độ 9600bps MSComm1.InputMode = comInputModeText „Kiểu dữ liệu vào là

text MSComm1.InputLen = 0 „ Đọc xong thì xoá bộ đệm vào MSComm1.PortOpen = True „ Mở cổng COM

MSComm1.Output = "AT" + Chr$(13) „ Gửi lệnh AT ra thăm dò

Trang 28

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

MSComm1.PortOpen = False „ Đóng cổng COM End Sub

Trong đoạn chương trình trên, tập MSComm trong Visual Basic đã được sử dụng Tập MSComm sẽ được trình bày chi tiết trong chương tiếp theo

1.4.3 CÁC MÃ TỰ TRẢ LẠI

Trong một số trường hợp đặc biệt, môđem WMO2-G900 tự động gửi trả lại một số loại mã mặc dù không có lệnh nào được gửi ra trước đó từ máy tính Các mã này được gọi là các mã tự trả lại Cũng giống như môđem thông thường, các mã tự trả lại này có thể ở dưới dạng text hoặc dạng con số (numeric) Chúng đặc biệt quan trọng đối với người lập trình trong việc tìm cách phát hiện ra các thông tin đến chẳng hạn như cuộc gọi đến, tin nhắn đến, v v [4]

Bảng 1-8 dưới đây liệt kê các mã tự trả lại dưới dạng text của môđem G900:

RING Có cuộc gọi đến

+CMTI: <mem>,<index> Có tin nhắn đến được lưu trong bộ nhớ

<mem> tại vị trí <index>

+CMT: <oa>… (text mode) Tin nhắn đến được hiển thị trực tiếp

+CDS: <fo>, <mr>… (text mode) Báo cáo trạng thái SMS sau khi gửi

+CCCM: <ccm> Độ dài cuộc gọi hiện tại

+CKEV: <keynb> Bấm phím hoặc giải phóng

+CCWA: <nb>,<type>,<class> Số cuội gọi chờ

Trang 29

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

+CLIP: <number>,<type> Hiển thị số gọi đến

+CREG: <stat> Chỉ dẫn nhập mạng

+CRING: <type> Kiểu cuộc gọi đến (voice, fax )

+CSQ: <RxLev>,99 Tự động hiển thị RxLev với lệnh

AT+CCED=1,8

Bảng 1-8: Các mã tự trả lại của môđem WMO2-G900 [4]

Trang 30

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

2 Chương 2 LẬP TRÌNH GIAO TIẾP VỚI CỔNG RS-232

Hiện nay, có rất nhiều ngôn ngữ lập trình hỗ trợ lập trình giao tiếp với cổng COM chẳng hạn như Delphi, C++, Visual Basic, v v Mỗi ngôn ngữ lập trình có điểm mạnh riêng của mình và được sử dụng bởi người lập trình tuỳ thuộc vào loại ứng dụng và cả thói quen của người lập trình nữa

Trong khuôn khổ của luận văn này, do ứng dụng được phát triển trên ngôn ngữ Visual Basic nên chúng tôi chỉ tập trung giới thiệu lập trình truyền thông qua cổng RS-232 sử dụng ngôn ngữ Visual Basic

2.1 TRUY NHẬP RS-232 TRONG VISUAL BASIC

Visual Basic cho phép truy nhập cổng sử dụng thư viện “PORT.DLL” của Windows, tuy nhiên khi truy cập thư viện này cần được khai báo trong Môđun của chương trình

Cách truy cập RS-232 trong Visual Basic sử dụng thư viện “PORT.DLL” đã được viết rất kỹ trong cuốn “ Lập trình ghép nối với máy tính trong Windows”, TS Ngô Diên Tập, NXB Khoa học và kỹ thuật, 2001 Cho nên trong khuôn khổ luận văn này, chúng tôi chỉ xin giới thiệu kỹ về kỹ thuật điều khiển truyền thông trong Visual Basic sử dụng tập MSComm của Microsoft - nền tảng chính trong việc lập trình ghép nối trong đề tài của luận văn này

2.2 TRUYỀN THÔNG QUA RS-232 VỚI MSCOMM TRONG VISUAL

BASIC

Trong Visual Basic, điều khiển truyền thông qua cổng nối tiếp RS-232 được thực hiện thông qua tập điều khiển truyền thông MSComm Với Visual Basic 6.0, MSComm có thể được bổ xung bằng cách chọn „Microsoft Comm Control 6.0‟

trong mục „Components‟ của Visual Basic MSComm 6.0 sử dụng tệp MSCOMM32.OCX đặt trong thư mục \WINDOWS\SYSTEM

Trang 31

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

MSComm có biểu tượng hình điện thoại như minh hoạ trong hình 2-1 và cần phải được đưa vào form của chương trình Visual Basic nếu muốn sử dụng

Hình 2-1: Biểu tượng MSComm trong Visual Basic Điều khiển truyền thông MSComm cung cấp hai khả năng để điều khiển việc trao đổi thông tin:

Điều khiển sự kiện Truyền thông điều khiển sự kiện là phương pháp

tốt nhất được sử dụng trong quá trong quá trình điều khiển việc trao đổi thông tin nối tiếp khi nó giải phóng máy tính để làm công việc khác

Trong nhiều tình huống ta cần được thông báo về sự thay đổi Thí dụ như ta cần biết khi có ký tự gửi đến hoặc có sự thay đổi xảy ra trên đường DCD hoặc đường RTS Để thực hiện điều đó, người ta phải sử dụng truyền thông OnComm để bẫy và điều khiển các sự kiện Điều khiển truyền thông còn phát hiện và điều khiển các lỗi truyền thông

Hỏi vòng (polling) Ta cũng có thể hỏi vòng các sự kiện và lỗi bằng

cách kiểm tra giá trị của đặc tính ComEvent sau mỗi chu kỳ của chương trình để xác định liệu xem một sự kiện hoặc một lỗi đã xuất hiện Chẳng hạn, chương trình có thể tạo vòng lặp để chờ một ký tự được nhận Cứ mỗi lần như vậy, ký tự được đọc từ bộ đệm nhận Thông thường phương pháp này thường được sử dụng khi chương trình có thời gian để tiến

Trang 32

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

hành hỏi vòng bộ nhận thông tin hay nói cách khác là trong các ứng dụng không lớn

Visual Basic sử dụng các bộ điều khiển cửa sổ chuẩn cho các cổng truyền tin nối tiếp (như serialui.dll và serial.vxd) Mỗi điều khiển truyền thông chỉ có thể dùng

để điều khiển một cổng nối tiếp Nếu cần truy cập nhiều cổng trong ứng dụng thì ta phải dùng nhiều điều khiển truyền thông [1]

2.2.1 CÁC ĐẶC TÍNH CHÍNH CỦA MSCOMM

MScomm có nhiều đặc tính quan trọng, tuy nhiên để có thể làm việc với MScomm trước hết ta cần tìm hiểu các đặc tính chính của nó được liệt kê trong bảng dưới đây:

Các đặc tính

CommPort Input Output PortOpen Settings

Mô tả

Đặt số của cổng nối tiếp, ví dụ 2 cho COM2

Trả lại và bỏ các ký tự khỏi bộ đệm nhận

Viết một xâu ký tự tới bộ đệm truyền

Mở/Đóng cổng tuỳ thuộc vào thông số

Đặt và trả lại các tham số truyền như tốc độ, bit chẵn lẻ, số các bit dữ liệu

Ví dụ dưới đây cho minh hoạ cách sử dụng các đặc tính trên:

Private Sub Form_Load()

„ sử dụng COM1 MSComm1.CommPort = 1

„ Đặt tốc độ 9600bps, không chẵn lẻ, 8 bit dữ liệu, một bit

dừng MSComm1.Settings = "9600,N,8,1"

„ Mở cổng COM MSComm1.PortOpen = True MSComm1.Output = "AT" + Chr$(13) „ Gửi lệnh AT ra môđem

„ Đợi tín hiệu trả lời

Do

Trang 33

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

DoEvents Loop Until MSComm1.InBufferCount >= 2

„Đọc dữ liệu trả lời Instring=MSComm1.input

„ Đóng cổng COM MSComm1.PortOpen = False End Sub

Không kiểm tra chẵn lẻ (mặc định) Chẵn lẻ lẻ

Trống D: số bít hợp lệ trong một khung truyền, có thể nhận các giá trị 4,5,6,7,8 trong đó 8 là mặc định

S: số bít dừng, có thể nhận các giá trị 1, 1.5, 2

Đặc tính PortOpen

Dùng để đặt và trả lại trạng thái của cổng truyền thông, cú pháp như sau:

MSComm.PortOpen = {True|False}

Trang 34

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

Trong đó true để mở cổng, false để đóng cổng và xoá nội dung bộ đệm nhận

và truyền

Đặc tính CommEvent

Đặc tính CommEvent là một đặc tính quan trọng bậc nhất trong MSCommm

và có lẽ là một trong những đặc tính đắc dụng nhất đối với việc lập trình giao tiếp qua cổng nối tiếp sử dụng MSComm cua Visual Basic

Đặc tính CommEvent trả lại hầu hết sự kiện hoặc lỗi truyền thông gần nhất,

cú pháp như sau:

MSComm.CommEvent Mặc dù sự kiện OnComm phát sinh cả lỗi truyền thông và các sự kiện nhưng đặc tính CommEvent lại chứa mã số của các lỗi và sự kiện đó

Các lỗi truyền thông bao gồm:

Xác lập Giá trị Mô tả

ComBreak 1001 Tín hiệu break đã được nhận

ComCDTO 1007 Carrier Detect Timeout

ComCTSTO 1002 Clear to Send Timeout

ComFrame 1004 Phần cứng phát hiện một lỗi sai số khung truyền

ComOverrun 1006 Phần cứng không đọc được ký tự trước khi ký tự

tiếp theo được gửi đến

ComRxOver 1008 Tràn bộ đệm nhận

ComRxParity 1009 Phần cứng phát hiện một lỗi chẵn lẻ

ComTxFull 1010 Đầy bộ đệm truyền

Các sự kiện truyền thông bao gồm:

Xác lập Giá trị Mô tả

ComEvCD 5 Sự thay đổi trên đường CD

ComEvCTS 3 Sự thay đổi trên đường CTS

ComEvDSR 4 Sự thay đổi trên đường DSR

ComEvRing 6 Tiếng chuông được phát hiện

Trang 35

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

ComEvEOF 7 Ký tự kết thúc file được nhận

ComEvReceive 2 Sự kiện này liên tục phát sinh cho đến khi đặc tính

Input được dùng để chuyển dữ liệu từ bộ đệm nhận

ComEvSend 1 Ký tự đã được truyền

0 (MSComm.InputLen=0) để đọc toàn bộ nội dung của bộ đệm nhận

Thí dụ dưới đây chỉ ra cách đọc dữ liệu từ bộ đệm nhận:

Comm1.InputLen=0

„Kiểm tra dữ liệu

If Comm1.InBufferCount then

„ Đọc dữ liệu Instring$=Comm1.Input End If

Đặc tính InBufferCount

Trang 36

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

Trả lại số ký tự trong bộ đệm nhận Nó cũng có thể được sử dụng để xoá bộ đệm bằng cách đặt giá trị 0 Cú pháp như sau:

Trang 37

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

2.2.4 CÁC ĐẶC TÍNH KHÁC

Đặc tính DTREnable

Xác định xem liệu tín hiệu DTR được cho phép Thông thường tín hiệu này được gửi từ máy tính đến môđem để báo hiệu là đã sẵn sàng nhận dữ liệu Giá trị True sẽ cho phép đặt đường dẫn DTR lên mức cao Cú pháp:

MSComm.DTREnable = {True|False}

Đặc tính RTSEnable

Xác định xem đường dẫn RTS đã được phép hay chưa, ví dụ như tín hiệu RTS yêu cầu cho phép truyền dữ liệu từ máy tính đến môđem Giá trị True sẽ cho phép đặt đường dẫn RTS lên mức cao Cú pháp:

MSComm.RTSEnable = {True|False}

Đường RTS được dùng cho việc bắt tay phần cứng nhừo tín hiệu RTS/CTS

Đặc tính RTSEnable cho phép hởi vòng đường RTS khi ta cần xác định trạng thái của nó

Đặc tính RThreshold

Đặt và trả lại số ký tự nhận được trước khi MSComm xác lập đặc tính CommEvent và phát sinh sự kiện OnComm Cú pháp:

MSComm.RThreshold = <numchar>

Xác lập bằng 0 để làm mất sự kiện OnComm khi nhận ký tự, xác lập bằng 1

để tạo sự kiện OnComm mỗi khi có một ký tự được đặt vào bộ đệm nhận

Đặc tính Handshaking

Đặc tính này cho phép xác lập và trả lại giao thức bắt tay (handshaking)

MSComm.Handshaking = protocols Protocols có thể nhận các giá trị trong bảng dưới đây:

Kiểu

ComNone ComXOn/XOff ComRTS ComRTSXOn/XOff

Bắt tay RTS/CTS Bắt tay theo cả hai cách XOn/XOff và RTS

Trang 38

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

MSComm còn bao gồm rất nhiều đặc tính khác mà chúng tôi không nêu ra ở đây, người đọc có thể tham khảo thêm phần hướng dẫn của MSComm trong Visual Basic

Chương trình dưới đây minh hoạ sự kiện OnComm dùng để kiểm tra một số giá trị của đặc tính CommEvent

Private Sub comm1_OnComm()

Select Case Comm1.CommEvent

Case comEvCD „ Có thay đổi trên đường CD Case comEvReceive „ Có nhiều hơn RThreshold ký

tự trong bộ đệm nhận Case comEvSend „ Có nhiều hơn Sthreshold ký

tự trong bộ đệm truyền End Select

End Sub

Chương trình dưới đây là một chương trình đơn giản cho phép truyền/nhập đơn giản sử dụng cổng COM để truyền và nhận Tuy nhiên, ở đầu cổng COM, ta

Trang 39

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

cần phải đấu vòng đường truyền và đường nhận

Private Sub Form_load()

Comm1.CommPort=1

Comm1.Settings=”9600,N,8,1”

Comm1.InputLen=0

Comm1.PortOpen=True End Sub

Private Sub Form_KeyPress (KeyAscii as Integer)

Comm1.Output_KeyAscii

Text1.Text_KeyAscii End Sub

Private Sub comm1_OnComm()

If (Comm1.CommEvent = comEvReceive ) then

Text2.text = Comm1.Input End if

End Sub

Kết quả chạy thử được trình bày trên hình dưới đây:

Thông thường, khi lập trình ghép nối với môđem chẳng hạn, sau khi máy tính gửi một lệnh đến môđem, nó phải đợi trả lời từ phía môđem trước khi thực hiện bước tiếp theo, đoạn chương trình dưới đây minh hoạ kỹ thuật hỏi vòng chờ đáp ứng:

„ Gửi lệnh AT đến môđem Comm1.Output =”AT”

„ Đợi cho đến khi có ký tự gửi trả lại từ môđem

Do

DoEvents Loop until Comm1.InBufferCount >= 2

Trang 40

Hệ thống nhắn tin nội bộ trên cơ sở ghép nối môđem GSM ứng dụng SMS

MsgBox (Comm1.Input)

Trong đoạn chương trình trên, lưu ý cần thực hiện các bước xác lập và mở cổng COM trước đó

Ngày đăng: 05/12/2022, 18:00

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Ngô Diên Tập. Lập trình ghép nối máy tính trong Windows Nxb KHKT, 2001 Sách, tạp chí
Tiêu đề: Lập trình ghép nối máy tính trong Windows
Nhà XB: Nxb KHKT
2. Ngô Diên Tập. Kỹ thuật ghép nối máy tính Nxb KHKT, 2001 Sách, tạp chí
Tiêu đề: Kỹ thuật ghép nối máy tính
Nhà XB: Nxb KHKT
3. Wavecom. WMO2 Modem Series GSM 900/1800/1900 User Manual, 4/1999 4. Wavecom. WMO2 G900/1800/1900 GSM Modem, 5/1999 Sách, tạp chí
Tiêu đề: WMO2 Modem Series GSM 900/1800/1900 User Manual", 4/1999 4. Wavecom. "WMO2 G900/1800/1900 GSM Modem
7. ETSI. GSM 03.40 version 5.8.1 Release 1996, ETSI, 1998 Sách, tạp chí
Tiêu đề: GSM 03.40 version 5.8.1 Release 1996
8. SMS Forum. Short Message Peer to Peer Protocol Specification v5.0 2/2003 9. ETSI. Alphabets and language-specific information (GSM 03.38 version Sách, tạp chí
Tiêu đề: Short Message Peer to Peer Protocol Specification v5.0" 2/2003 9. ETSI
10. ETSI. AT command set for GSM Mobile Equipment (ME) (GSM 07.07 version 4.4.1), ETSI, 3/1999 Sách, tạp chí
Tiêu đề: AT command set for GSM Mobile Equipment (ME) (GSM 07.07 version 4.4.1)
5. Microsoft. MSDN 2001 Library, 2001 Khác
6. Alcatel. A8684 SMSC G3 Product Description Ed2 Khác
11. Trang Web www.SMSForum.com và một số trang Web liên quan đến kỹ thuật lập trình ứng dụng nhắn tin ngắn Khác

HÌNH ẢNH LIÊN QUAN

Sơ đồ chân của cổng nối tiếp RS-232 được mơ tả trên hình 1-1. - Luận văn thạc sĩ VNU UET xây dựng hệ thống nhắn tin nội bộ dựa trên các thiết bị thông tin không dây
Sơ đồ ch ân của cổng nối tiếp RS-232 được mơ tả trên hình 1-1 (Trang 9)
Bảng 1-1 dưới đây chỉ ra tất cả các đường dẫn được nối trên đầu nối 9 chân. - Luận văn thạc sĩ VNU UET xây dựng hệ thống nhắn tin nội bộ dựa trên các thiết bị thông tin không dây
Bảng 1 1 dưới đây chỉ ra tất cả các đường dẫn được nối trên đầu nối 9 chân (Trang 10)
Hình 1-2: Truyền theo kiểu khơng đồng bộ - Luận văn thạc sĩ VNU UET xây dựng hệ thống nhắn tin nội bộ dựa trên các thiết bị thông tin không dây
Hình 1 2: Truyền theo kiểu khơng đồng bộ (Trang 12)
Bảng 1-2 minh hoạ mối quan hệ giữa tốc độ truyền theo bit và số các ký được truyền đi trong mỗi giây với giả thiết là 10 bít được truyền cho mỗi ký tự - Luận văn thạc sĩ VNU UET xây dựng hệ thống nhắn tin nội bộ dựa trên các thiết bị thông tin không dây
Bảng 1 2 minh hoạ mối quan hệ giữa tốc độ truyền theo bit và số các ký được truyền đi trong mỗi giây với giả thiết là 10 bít được truyền cho mỗi ký tự (Trang 13)
họa trong hình 1-3. - Luận văn thạc sĩ VNU UET xây dựng hệ thống nhắn tin nội bộ dựa trên các thiết bị thông tin không dây
h ọa trong hình 1-3 (Trang 15)
Hình 1-5: Bắt tay phần mềm sử dụng X-ON/X-OFF - Luận văn thạc sĩ VNU UET xây dựng hệ thống nhắn tin nội bộ dựa trên các thiết bị thông tin không dây
Hình 1 5: Bắt tay phần mềm sử dụng X-ON/X-OFF (Trang 16)
truyền (xem hình 1-5). [2] - Luận văn thạc sĩ VNU UET xây dựng hệ thống nhắn tin nội bộ dựa trên các thiết bị thông tin không dây
truy ền (xem hình 1-5). [2] (Trang 16)
được xử lý xong. Đấu nối RS-232 có bắt tay được mơ tả trong hình 1-7. [2] Hình 1-7: Ghép nối để truyền thơng có bắt tay qua cổng RS-232 - Luận văn thạc sĩ VNU UET xây dựng hệ thống nhắn tin nội bộ dựa trên các thiết bị thông tin không dây
c xử lý xong. Đấu nối RS-232 có bắt tay được mơ tả trong hình 1-7. [2] Hình 1-7: Ghép nối để truyền thơng có bắt tay qua cổng RS-232 (Trang 17)
Hình 1-8 mơ tả vai trị của mơđem và các dạng tín hiệu trên đường truyền. Sở dĩ phải cần đến mơđem vì dữ liệu được lưu trữ hoặc trao đổi trong máy tính đều  tồn  tại  dưới  dạng  số  (digital),  trong  khi  các  đường  truyền  lại  truyền  dữ  liệu  dưới - Luận văn thạc sĩ VNU UET xây dựng hệ thống nhắn tin nội bộ dựa trên các thiết bị thông tin không dây
Hình 1 8 mơ tả vai trị của mơđem và các dạng tín hiệu trên đường truyền. Sở dĩ phải cần đến mơđem vì dữ liệu được lưu trữ hoặc trao đổi trong máy tính đều tồn tại dưới dạng số (digital), trong khi các đường truyền lại truyền dữ liệu dưới (Trang 18)
Hình 1-8: Các tín hiệu truyền qua đường điện thoại - Luận văn thạc sĩ VNU UET xây dựng hệ thống nhắn tin nội bộ dựa trên các thiết bị thông tin không dây
Hình 1 8: Các tín hiệu truyền qua đường điện thoại (Trang 18)
1.4.1 GIỚI THIỆU CHUNG - Luận văn thạc sĩ VNU UET xây dựng hệ thống nhắn tin nội bộ dựa trên các thiết bị thông tin không dây
1.4.1 GIỚI THIỆU CHUNG (Trang 22)
1.4 MÔĐEM GSM WAVECOM WMO2-G900 - Luận văn thạc sĩ VNU UET xây dựng hệ thống nhắn tin nội bộ dựa trên các thiết bị thông tin không dây
1.4 MÔĐEM GSM WAVECOM WMO2-G900 (Trang 22)
Hình 1-10: Đấu nối giữa mơđem và Máy tính - Luận văn thạc sĩ VNU UET xây dựng hệ thống nhắn tin nội bộ dựa trên các thiết bị thông tin không dây
Hình 1 10: Đấu nối giữa mơđem và Máy tính (Trang 22)
Hình 1-11: Mơđem GSM WMO2-G900 - Luận văn thạc sĩ VNU UET xây dựng hệ thống nhắn tin nội bộ dựa trên các thiết bị thông tin không dây
Hình 1 11: Mơđem GSM WMO2-G900 (Trang 23)
MSComm có biểu tượng hình điện thoại như minh hoạ trong hình 2-1 và cần phải được đưa vào form của chương trình Visual Basic nếu muốn sử dụng - Luận văn thạc sĩ VNU UET xây dựng hệ thống nhắn tin nội bộ dựa trên các thiết bị thông tin không dây
omm có biểu tượng hình điện thoại như minh hoạ trong hình 2-1 và cần phải được đưa vào form của chương trình Visual Basic nếu muốn sử dụng (Trang 31)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w