Mã nguồn mở và phần mềm SMS gateway

Một phần của tài liệu điều khiển từ xa qua tin nhắn sms sử dụng pic (Trang 28 - 164)

3. Nội dung các phần thuyết minh:

3.1.7 Mã nguồn mở và phần mềm SMS gateway

Như đã nói ở trên thì một SMS gateway có nhiều chức năng rất trong hệ thống tin nhắn SMS. Vì vậy, phần mềm dành cho SMS gateway có thể rất phức tạp và phần mềm khá phức tạp này thì thừơng rất đắt. May mắn là có một gói phần mềm SMS gateway mã nguồn mở có thể được dowload miễn phí từ web. Gói phần mềm SMS gateway miễn phí chất lượng cao này chính là Kannel, nó được viết bằng ngôn ngữ C. Kannel có thể giao tiếp kết nối với các SMSC, điện thoại di động và các GSM/GPRS modem. Nó có giao diện HTTP/HTTPS dành cho việc gửi và nhận các tin nhắn SMS.

3.2. TỔNG QUÁT HỆ THỐNG TRUYỀN DỮ LIỆU

Không giống với việc truyền thông tin bằng cách phát và thu tín hiệu tương tự như âm thanh và hình ảnh, việc truyền dữ liệu được thực hiện bằng cách phát tuần tự (liên tiếp) các mã nhị phân lên đường truyền. Các mã này được tạo ra, lưu trữ và xử lí bởi các máy tính và các ngoại vi.

Đường truyền dùng để truyền dữ liệu là các đường truyền số (digital) nghĩa là tín hiệu chỉ có thể ở một trong hai trạng thái khác biệt được biểu thị bằng mức logic 0 hoặc 1. Trong khi đó tín hiệu tương tự có thể chiếm một trạng thái bất kì trên một dải liên tục.

3.2.1 Cấu trúc một hệ thống thông tin

Hình 55 Sơđồ một hệ thống thông tin

Nguồn tín hiệu:

Là tín hiệu cần truyền đi, có thể là tín hiệu không điện hoặc tín hiệu điện. Do vậy, cần phải có một bộ chuyển đổi các tín hiệu không điện thành tín hiệu điện trước khi đưa lên đường truyền.

Thông thường dùng các cảm biến để dò lấy tín hiệu này và thực hiện quá trình chuyển đổi thành tín hiệu điện.

Khối truyền tin:

Nhận tín hiệu điện từ nguồn tín hiệu đưa đến sau đó thực hiện sự biến đổi cho phù hợp với đường truyền trước khi phát lên đó.

Khối này thường gồm: mạch điều chế tín hiệu, một bộ dồn kênh, bộ phát tín hiệu.

Đường truyền:

Có nhiều dạng như đường truyền hữu tuyến, vô tuyến, tương tự, số… Bản chất của đường truyền có ảnh hưởng rất nhiều khối khác trong sơ đồ.

Khối nhận tin:

Nhận lấy tín hiệu từ đường truyền gửi xuống và thực hiện việc chuyển đổi nhằm lấy lại thông tin ban đầu.

Khối nhận tin thường gồm: một bộ giải điều chế tín hiệu (tách sóng mang), một bộ phân kênh tín hiệu.

Cơ cấu chấp hành:

Nhận tín hiệu từ khối nhận tin đưa đến sau đó biến đổi đại lượng điện đầu vào thành đại lượng đồng dạng với đại lượng vào của nguồn tín hiệu.

Cơ cấu chấp hành có thể là một màn hình hiển thị hoặc loa, rờle dể đóng ngắt thiết bị …

3.2.2 Phân loại các hệ thống thông tin 3.2.2.1. Phân loại theo đường truyền 3.2.2.1. Phân loại theo đường truyền

- Đường truyền hữu tuyến. - Đường truyền vô tuyến.

3.2.2.2. Phân loại theo tín hiệu trên đường truyền - Tín hiệu tương tự. - Tín hiệu tương tự.

- Tín hiệu số.

3.2.2.3. Phân loại theo số bit trên một đường dây - Mỗi bit chiếm lấy một đường truyền (song song): - Mỗi bit chiếm lấy một đường truyền (song song):

Dữ liệu gồm nhiều bit sẽ xuất đồng thời trên đường truyền.

- Nhiều bit trên một đường truyền (nối tiếp):

Các bit sẽ nối tiếp nhau xuất hiện trên một đường truyền duy nhất.

3.2.2.4. Phân loại dựa vào xung nhịp đồng hồ Ck của bộ phát và bộ thu - Truyền đồng bộ: khi xung nhịp nơi phát và nơi thu như nhau và cùng góc pha. - Truyền đồng bộ: khi xung nhịp nơi phát và nơi thu như nhau và cùng góc pha.

+ Ưu điểm của cách truyền này là tốc độ truyền rất cao nhưng độ an toàn về

thông tin khá thấp (sai vài bit). Việc chi phí cho thiết kế đường truyền khá cao.

- Truyền bất đồng bộ: khi xung nhịp nơi phát và thu không cần giống nhau.

+ Theo phương pháp này, dữ liệu được truyền đi với tốc độ chậm hơn nhưng

độ an toàn cao, đặc biệt chi phí cho việc thiết kế đường truyền tương đối

thấp, thích hợp cho truyền xa.

3.2.2.5. Phân loại theo chiều tín hiệu trên đường truyền

- Loại đơn công: tín hiệu chỉ truyền theo một chiều duy nhất mà không có chiều ngược lại.

- Loại song công: tín hiệu có thể truyền theo cả hai chiều một cách đồng thời. - Loại bán song công: tín hiệu có thể truyền theo hai chiều nhưng không cùng lúc,

tức là phải thay đổi luân phiên.

3.2.3 Giao tiếp song song bất đồng bộ3.2.3.1. Sơđồ khối: 3.2.3.1. Sơđồ khối:

Hình 56 Sơđồ kết nối thu phát dữ liệu

Khi truyền dữ liệu với tốc độ từ thấp đến trung bình trên khoảng cách ngắn người ta có thể dùng đường truyền song song bất đồng bộ.

Ví dụ, như việc kết nối một máy tính với một thiết bị ngoại vi như máy in. Hệ thống giao tiếp song song bất đồng bộ này có đặc điểm là: mỗi bit chiếm lấy một đường truyền và xung đồng bộ nơi phát không nhất thiết phải bằng xung đồng bộ của nơi thu. Do đó, ngoài các đường dây cho các bit còn cần thêm các đường tín hiệu để thực hiện việc bắt tay giữa phần phát và phần thu.

Giả sử thực hiện việc truyền song song 8 bit thì ít nhất có 9 đường dây (một đường mass giữa phần phát và phần thu).

Để nơi phát và thu có thể truyền và thu được chính xác dữ liệu thì nhất thiết phải cần đến các tín hiệu bắt tay: Strobe, Ack và Busy\ .

DO ÷ D7 : là các đường dữ liệu (data bus).

Strobe, Ack, Busy\: là các đường tín hiệu bắt tay nhằm phối hợp giữa phần phát và phần thu.

Strobe : do máy phát gửi ra nhằm báo cho máy thu biết rằng đã có dữ liệu gửi ra trên đường truyền DO ÷ D7 .

ACK : do phần phát đưa ra nhằm báo cho phần phát biết rằng phần thu đã thu xong một kí tự.

Busy : là tín hiệu do phần thu đưa ra nhằm báo cho phần phát biết rằng phần thu đang bận với một tác vụ nào đó nên chưa thể thu được kí tự tiếp theo.

- CPU chờ cho tới khi đường tín hiệu Busy\ lên mức cao tức là máy in đã sẵn sàng

nhận dữ liệu.

- CPU xuất mã của kí tự kế tiếp ra port song song.

- Sau đó, CPU đưa xung Strobe lên ‘1’. Tín hiệu này báo cho máy in biết rằng đã

có dữ liệu mới trên đường truyền.

- Máy in tiến hành nhận dữ liệu và khi đã hoàn tất công việc liên quan đến kí tự

cuối cùng nó sẽ trả Busy\ về mức cao. Máy in đưa xung ACK lên cao để báo cho CPU biết nó đang sẵn sàng nhận kí tự tiếp theo.

3.2.3.2. Hoạt động của hệ thống:

Phần phát:

- Đọc giá trị của đường Busy\ cho đến khi Busy\ = ‘1’ tức là phần thu không bận. - Sau đó phần phát gửi data ra bus dữ liệu.

- Cho chân Strobe = ‘1’ để báo cho phần thu biết kí tự đã sẵn sàng.

- Đọc chân ACK cho đến khi chân này lên ‘1’ tức là phần thu đã thu xong kí tự. - Cho chân Strobe = ‘0’ để tránh trường hợp phần thu thu thêm một lần nữa. - Chuẩn bị dữ liệu kế tiếp theo để xuất đi nếu như chưa truyền hết.

Phần thu:

- Khi cần thu một dữ liệu nó phải đưa chân Busy\ lên ‘1’ để báo cho phần phát biết rằng nó không bị bận và sẵn sàng nhận kí tự.

- Sau đó phần thu đọc giá trị của tín hiệu Strobe cho đến khi chân này lên ‘1’ tức

là phần phát đã gửi dữ liệu ra đường truyền.

- Cho chân Busy\ = ‘0’ để phần phát tạm thời ngưng lại và cho chân ACK = ‘0’ để

khoan thay đổi data.

- Xử lí data (cất vào vùng nhớ đệm). - Cho chân Busy\ = ‘1’.

3.2.4 Giao tiếp nối tiếp bất đồng bộ

 Cấu trúc :

Giao tiếp nối tiếp bất đồng bộ là giao tiếp mà xung đồng hồ của bộ phát và bộ thu được tạo ra một cách riêng rẽ và không cần phải bằng nhau.

Các bit lần lượt chiếm lấy đường truyền, việc giao tiếp cần phải thêm các bit khung (thông tin khung) bao gồm:

• Bit khởi động (start). • Bit dừng (stop). • Bit chẵn lẻ (parity).

 Thành phần chính của hệ thống là các thanh ghi dịch.

 Tại phần phát, thanh ghi dịch là thanh ghi vào song song ra nối tiếp.

 Tại phần thu, thanh ghi dịch là thanh ghi vào nối tiếp ra song song.

Hình 58 Quá trình thu nhận dữ liệu nối tiếp bất đồng bộ 3.2.4.1. Phát dữ liệu nối tiếp:

Khi cần phát dữ liệu, CPU phần phát sẽ gửi data tới thanh ghi phát bằng cách đưa dữ liệu đến các ngõ vào song song của thanh ghi dịch sau đó tác động mức 1 lên chân LD để cho thanh ghi nạp lấy giá trị này.

Khi LD không còn tác động nữa thì thanh ghi dịch sẽ lưu trữ lại giá trị này. Sau đó, dưới tác động của xung đồng hồ nơi phát, các bit của dữ liệu cần phát sẽ lần lượt dịch đến ngõ ra nối tiếp để đưa lên đường truyền.

3.2.4.2. Thu dữ liệu nối tiếp:

Khi phần thu nhận dạng được bit khởi động, CPU phần thu sẽ phát tín hiệu điều khiển xung Ck thu.

Lúc này dưới tác động của xung Ck thu, từng bit dữ liệu trên đường truyền sẽ lần lượt được dịch vào thanh ghi phần thu cho đến khi xuất hiện bit dừng thì CPU phần thu sẽ phát tín hiệu để đọc dữ liệu tại các ngõ ra song song của thanh ghi dịch.

Bit khởi động (Start) nhằm báo cho phần thu biết thời điểm nhận một dữ liệu mới, bit này có trạng thái ngược với trạng thái thường xuyên của đường truyền (có trạng thái = ‘1’).

Khi dùng bit Parity, trạng thái logic của bit này phụ thuộc vào kí tự dữ liệu đặc trưng và việc lập phần cứng là kiểm tra parity chẵn hay lẻ.

Bit parity là bit 0 hoặc bit 1 tùy theo việc kiểm tra chẵn hay lẻ và dữ liệu đó như thế nào.

Chú ý rằng bit parity có dự phần vào việc tính tổng số bit 1 là chẵn hay lẻ trong toàn dữ liệu.

Sau đó bằng cách tính tổng số bit trong mỗi kí tự, máy thu có thể phát hiện

được lỗi khi truyền. Phương pháp này tuy không đạt được độ tin cậy 100% (vì nếu số bit lỗi là số chẵn thì máy thu không thể phát hiện được lỗi) nhưng lại tương đối đơn giản và có hiệu quả.

Các bit Stop là khoảng cách bảo vệ tối thiểu giữa các khung kí tự.

3.3. KỸ THUẬT GHÉP NỐI VÀ GIAO TIẾP MÁY TÍNH 3.3.3 Cổng nối tiếp RS232: 3.3.3 Cổng nối tiếp RS232:

3.3.1.1 Giới thiệu:

Giao thức truyền thông nối tiếp là một con đường cho phép các thiết bị khác nhau có thể giao tiếp với thế giới bên ngoài của nó. Nó được gọi là nối tiếp vì các bit dữ liệu được truyền đi theo kiểu nối tiếp nhau trên một đường dây đơn. Một máy tính để bàn có port nối tiếp được biết tới như là một port truyền thông hay port COM được sử dụng để kết nối một modem chẳng hạn hay bất kỳ thiết bị nào khác, có nhiều hơn một cổng (port) COM ở máy tính để bàn. Các Port nối tiếp này được điều khiển bởi một CHIP đặc biệt gọi là UART (Universal Asynchronous Receiver Transmitter). Các ứng dụng khác nhau sử dụng các chân khác nhau trên port nối tiếp này và nó chủ yếu dựa vào chức năng được yêu cầu. Nếu như bạn cần kết nối máy tính (PC) của bạn chẳng hạn tới các thiết bị khác dùng Port nối tiếp thì bạn phải đọc sổ tay hướng dẫn cho thiết bị đó để biết được các chân ở cả trên hai mặt được kết nối với nhau như thế nào và các thiết lập cần thiết đối với nó.

Các lợi thế của giao thức truyền thông nối tiếp:

Giao thức truyền thông nối tiếp có một vài lợi thế hơn so với với giao thức truyền thông song song. Một trong những lợi thế đó là khoảng cách truyền dẫn, kết nối nối tiếp có thể gửi dữ liệu tới một thiết bị điều khiển xa hơn so với kết nối song song. Và cáp kết nối của kết nối nối tiếp cũng đơn giản hơn so với kết nối song song và nó sử dụng ít số dây hơn.

Kết nối nối tiếp cũng được sử dụng cho giao tiếp hồng ngoại, ngày nay các thiết bị như laptop và máy in có thể giao tiếp thông qua các đường hồng ngoại.

Có hai loại bộ kết nối là 9 chân và 25 chân, cả hai đều được gọi là đầu cắm loại D (D-Type plug). D-Type plug có thể là đực mà cũng có thể là cái. Hình 1 dưới chỉ ra những chi tiết về hai loại này.

Hình 59 Hình dạng đầu kết nối hai loại cáp 9 và 25 chân

Mô tả các chân :

Chức năng Chân Loại 9 chân Loại 25 chân

Ngõ vào nhận dữ liệu nối tiếp RD 3 2 Ngõ ra truyền dữ liệu nối tiếp TD 2 3 Yêu cầu gửi (Báo cho Modem biết là

UART đã sẵn sàng trao đổi dữ liệu) RTS 7 4

Xóa để gửi (Modem đã sẵn sàng) CTS 8 5

Trạng thái dữ liệu sẵn sàng(Modem

hình thành 1 kết nối). DSR 6 6

Phát hiện bộ vận chuyển dữ liệu DECLARED 1 8

Dữ liệu đầu cuối sẵn sàng DTR 4 20

Ring Indicator RI 9 22

Bảng 14 Chức năng các chân của chuẩn RS232 loại 9 chân và 25 chân

Các thiết bị sử dụng cáp nối tiếp để phục vụ cho việc giao tiếp của nó thì chia ra làm hai loại:

a) DTE (Data Terminal Equipment).ví dụ về DTE là các máy tinh, máy in và các thiết bị đầu cuối.

b) DECLAREE (Data Communication Equipment). Ví dụ về DECLAREE là các modem.

3.3.1.3 Đặc tính điện

Đặc tính điện xác định tín hiệu giữa DTE và DECLAREE. Tín hiệu số được

dùng trong mọi trao đổi. Mức điện áp logic của RS-232D nằm trong khoảng ±15V.

 Các đường dữ liệu sử dụng logic âm: mức logic 1 tương ứng với điện áp trong khoảng (-5V , -15V); mức logic 0 chiếm khoảng (+5V, +15V).

 Các đường điều khiển sử dụng logic dương: từ +5V đến +15V tương ứng với

điều kiện ON (hay TRUE) và từ -5V đến -15V tương ứng với điều kiện OFF (hay FALSE)

 Ở chuẩn giao tiếp này, mức nhiễu được giới hạn là 2V. Do đó ngưỡng nhỏ nhất

của ngã vào là ± 3V. Điện áp lớn nhất trên đường dây khi không tải là ± 25V.

 Một số đặc điểm về điện khác :

- Điện trở tải R

L có giá trị trong khoảng từ 3 kΩ đến 7 kΩ

- Điện dung tải C

L không quá 2500 pF

- Để ngăn chận sự dao động, tốc độ thay đổi điện áp (slew rate) không được

vượt quá 30V/μs

 Thời gian chuyển mức tín hiệu từ ON sang OFF hay ngược lại:

- Đối với các đường điều khiển, không được vượt quá 1ms.

- Đối với các đường dữ liệu không được vượt quá 4% thời gian của một bit

hoặc 1ms.

 Tốc độ truyền dữ liệu là 20 kbps và không quá 15m.

Có hai phương pháp giao tiếp cho chuẩn giao tiếp truyền thông nối tiếp, đó là đồng bộ và bất đồng bộ.

Giao tiếp truyền thông nối tiếp đồng bộ:

Trong giao tiếp truyền thông nối tiếp đồng bộ, bộ nhận phải biết khi nào thì đọc bit kế tiếp tới từ bên gửi, điều này có thể đạt được bằng cách phối hợp xung Clock giữa bên phát và bên thu.

Trong hầu hết các dạng của GTTTNT, nếu như không có dữ liệu sẵn sàng tại thời điểm cho để truyền thì một kí tự nhồi sẽ được gửi thay vào đó cho nên dữ liệu luôn được truyền giữa bên gửi và bên nhận. Tuy nhiên nó sẽ mắc hơn vì các mạch điện điều khiển và dây nối thêm bên ngoài cần được mắc thêm để có thể phối hợp, chia sẻ

Một phần của tài liệu điều khiển từ xa qua tin nhắn sms sử dụng pic (Trang 28 - 164)

Tải bản đầy đủ (PDF)

(164 trang)