ĐIỀU KHIỂN TỪ XA BẰNG TIA HỒNG NGOẠI
GIỚI THIỆU
Ngày nay, con người đang tìm kiếm các phương pháp truyền thông và liên lạc hiệu quả dựa trên nền tảng của ngành công nghiệp điện tử Các công nghệ như dây cáp điện, cáp quang, tia hồng ngoại, sóng vô tuyến cự ly ngắn, sóng vi ba và vệ tinh đã đáp ứng hầu hết các nhu cầu liên lạc của con người.
Một phương thức truyền tải thông tin đặc biệt là sử dụng hồng ngoại, mặc dù có hạn chế về khoảng cách ngắn và tốc độ thấp Tuy nhiên, hồng ngoại có những lợi thế riêng như không bị ảnh hưởng bởi môi trường điện từ, thiết bị phát và thu dễ thiết kế và lắp ráp, cùng với chi phí thấp.
Hồng ngoại vẫn là phương thức truyền tải thông tin hiệu quả và tiết kiệm, đặc biệt cho các công việc yêu cầu đơn giản, cự ly ngắn và tốc độ thấp với chi phí thấp trong môi trường có nhiều điện từ Phương thức này rất phù hợp để truyền tải thông tin trong mạng nhỏ, chẳng hạn như giữa máy tính, điện thoại và các thiết bị gia dụng hiện đại khác.
Chương này hướng dẫn cách thiết kế mạch điều khiển thiết bị điện trong nhà bằng remote TV, giúp người đọc dễ dàng áp dụng Mặc dù có nhiều vi điều khiển có khả năng giải mã, tác giả lựa chọn vi điều khiển STM8 của hãng ST do tính kinh tế và giá thành thấp.
PHẦN CỨNG
Chương 1 Điều khiển từ xa bằng tia hồng ngoại
Mạch giải mã sử dụng mắt thu hồng ngoại để truyền dữ liệu đến vi điều khiển STM8 Vi điều khiển này thực hiện quá trình giải mã và gửi thông tin đến máy vi tính qua giao thức UART Đồng thời, STM8 cũng có khả năng điều khiển bật tắt LED sau khi hoàn tất việc giải mã.
1.2.2 Remote ti vi và mắt thu hồng ngoại
Remote là thiết bị phát sóng hồng ngoại, cho phép điều khiển từ xa trong khoảng cách 10m Thiết bị này nhận lệnh từ người sử dụng thông qua các phím bấm và xuất ra khung dữ liệu tương ứng với phím được nhấn.
Có nhiều loại remote khác nhau như Sony, LG, mỗi loại sử dụng phương pháp mã hóa phím bấm riêng Khi một nút được nhấn, dữ liệu sẽ được truyền đi theo một khung cụ thể.
XUNG START 16 BIT ĐỊA CHỈ
Hình 1.2 Khung truyền Sau xung START và 16 bit địa chỉ là mã của nút nhấn được bấm
- Bit 0: tớn hiệu ở mức thấp trong 700às và ở mức cao trong 500às
- Bit 1: tớn hiệu ở mức thấp trong 700às và ở mức cao trong 1600às
Mắt thu hồng ngoại có ba chân: VCC, GND và OUT, có nhiệm vụ chuyển đổi sóng hồng ngoại từ remote thành tín hiệu số tương ứng với phím được bấm Tuy nhiên, tín hiệu đầu ra lại có pha ngược với tín hiệu từ remote Khi không nhận sóng, tín hiệu trên chân DATA sẽ ở mức cao.
Chương 1 Điều khiển từ xa bằng tia hồng ngoại
GIẢI THUẬT VÀ LẬP TRÌNH GIẢI MÃ
1.3.1 Mã hoá remote hồng ngoại
Trang web http://lirc.sourceforge.net/remotes cung cấp mã nguồn cho tất cả các loại remote control, cho thấy có hai loại mã hóa chính được sử dụng Đầu tiên, loại điều chế độ rộng xung thấp, trong đó bit 0 và bit 1 có độ rộng khác nhau, ví dụ điển hình là điều khiển Sony CD player RM-470 với 7 bit dữ liệu.
Bảng 1.1 Bảng định nghĩa bit remote Sony CD player RM-470
Xung thấp às Xung cao às
Khi nhấn nút trên điều khiển, một xung khởi động được truyền đi với độ dài xung thấp 2412 às và xung cao 588 às để đánh thức MCU Tiếp theo là 7 bit dữ liệu, trong đó bit 1 được mã hóa bằng 612 às xung thấp và 588 às xung cao, trong khi bit 0 được mã hóa bằng 1210 às xung thấp và 588 às xung cao Cuối cùng, quá trình truyền kết thúc bằng xung stop với 1210 às xung thấp và xung cao dài hơn 2000 às Nếu giữ nút trên remote, quá trình truyền mã lệnh sẽ lặp lại liên tục cho đến khi thả nút.
Bit 0 và bit 1 cú phần xung cao bằng nhau (588 às) để làm mốc đo phần xung thấp phân biệt giữa bít 0 và 1 Sóng mang của remote có tần số 38 KHz hoặc 40 KHz Khi không nhấn nút trên remote tức là mắt thu không nhận tín hiệu gì thì chân ra của mắt thu hồng ngoại có mức logic 1 Trạng thái này gọi là trạng thái rỗi b Loại điều chế độ rộng xung cao là loại remote có bit 0 và bit 1 khác nhau ở độ rộng xung cao, điển hình là điều khiển Samsung (đây là kiểu mã hóa phổ biến nhất)
Ví dụ Samsung 00025G có 16 bit dữ liệu với các bit được định nghĩa ở bảng 2
Bảng 1.2 Bảng định nghĩa bit remote Samsung 00025G
Xung thấp às Xung cao às
Chương 1 Điều khiển từ xa bằng tia hồng ngoại
1.3.2 Sự giống nhau, khác nhau trong việc mã hoá các remote: a Sự khác nhau
- Số lượng bít dữ liệu được truyền đi khác nhau: có loại 7 bit (sony), loại 8 bít, 12 bít,
Số bít trong các thiết bị điện tử như tivi và dàn âm thanh của Sony có thể khác nhau, ví dụ như điều khiển tivi Sony sử dụng 7 bit trong khi dàn âm thanh Sony sử dụng 16 bit Mỗi bít đóng vai trò quan trọng trong việc mã hóa thông tin.
Với hai trạng thái 0 và 1, n bít có thể mã hóa 2^n trạng thái khác nhau Cụ thể, giao thức 7 bít cho phép 128 lệnh tương ứng với 128 nút trên remote, trong khi giao thức 16 bít có thể mã hóa đến 65 536 lệnh cho 65 536 nút Mặc dù giao thức với số lượng bít lớn giúp giảm thiểu khả năng trùng lặp phím với các điều khiển khác, nhưng điều này không phải lúc nào cũng cần thiết và có thể làm giảm tuổi thọ pin của remote.
- Xung khởi động khác nhau
- Phương thức mã hóa khác nhau: điều chế độ rộng xung thấp hoặc cao b Giống nhau
- Mỗi bít khởi động, dừng, 0, 1 đều có phần xung thấp, cao
- Bit khởi động có phần xung thấp bao giờ cũng > 2000us
- Bit 1 cú tổng độ dài xung thấp và cao < 1500às
- Bit 0 có tổng độ dài xung thấp và cao > 1500us
- Bit dừng có xung cao > 2000 us
- Điều khiển nào có độ dài dữ liệu > 16 bit thì phần dữ liệu đầu tiên là giống nhau, 16 bit còn lại khác nhau
- Bít có giá trị cao nhất được truyền đi trước tiên, bit có giá trị thấp truyền sau cùng
Nhóm tác giả đã thực hiện đo kiểm dạng sóng tín hiệu tại chân ra của mắt thu hồng ngoại, sau đó phân tích và quyết định sử dụng cả cạnh lên và cạnh xuống của vi điều khiển để giải mã thành các bit nhị phân Họ áp dụng timer và ngắt cho cả hai cạnh này, nhằm đảm bảo rằng mỗi khi có sự thay đổi tại cạnh lên hoặc cạnh xuống, hệ thống sẽ kích hoạt ngắt để xử lý tín hiệu.
Chương 1 Điều khiển từ xa bằng tia hồng ngoại ngắt thì cho timer chạy, từ đó dựa vào thời gian timer (thời gian xung cao, xung thấp) để giải mã thành các bit nhị phân
Chương trình giải mã được mô tả qua lưu đồ trong Hình 3, với các ký hiệu viết tắt như DT (dữ liệu), PTR (con trỏ dữ liệu), và PW (độ rộng xung) Sau khi hoàn tất quá trình giải mã, dữ liệu sẽ được lưu trữ trong mảng DT[] với 32 phần tử, tương ứng với 32 bit dữ liệu nhận từ remote.
Hình 1.3 Lưu đồ giải thuật
Các bước thực hiện giải mã:
Chương 1 Điều khiển từ xa bằng tia hồng ngoại
- Bước 1: Đo độ rộng xung cao nếu 51000 < độ rộng < 52000 às Nếu đỳng thỡ nhảy sang bước 2 Nếu sai quay lại bước 1
- Bước 2: Chờ HEADER Đo độ rộng xung cao nếu 5000 < độ rộng < 5100 às Nếu đúng cho con trỏ nhận dữ liệu =0 và nhảy sang bước 3 Nếu sai quay lại bước 1
+ Nếu 900 < độ rộng < 1150 às thỡ tăng con trỏ và lưu nhận bit 1
+ Ngược lại nếu 2100 < độ rộng < 2300 às thỡ tăng con trỏ và lưu nhận bit 0
+ Ngược lại quay lại bước 1 và cho con trỏ nhận dữ liệu =0
+ Nếu cỏn trỏ nhận dữ liệu > 31 thì cho con trỏ nhận dữ liệu =0, cho cờ nhận dữ liệu =1 và nhảy sang bước 4
- Bước 4: Nếu cờ nhận dữ liệu sai thì quay lại bước 1 Nếu đúng thì xử lý dữ liệu thu được và chờ phím nhấn từ remote tivi
Nhóm đã phát triển một chương trình cho STM8 để đọc 32 bit dữ liệu giải mã từ remote, cho phép hiển thị mã đã đọc và điều khiển bật tắt LED.
1.3.4 Giải mã remote tivi samsung BN59-00891a (21 inch CRT) a Tín hiệu phát ra từ remote tivi Samsung bn59-00891a
Bảng 1.3 Bảng định nghĩa bit remote Samsung bn59-00891a
Xung thấp (às) Xung cao (às)
Khung truyền tương ứng với các nút trên remote:
16 bit phát đi đầu | 16 bít cuối cùng | Key
Chương 1 Điều khiển từ xa bằng tia hồng ngoại
00011111 00011111 00011111 11100000 vol+ b Sơ đồ nguyên lý mạch giải mã
Mạch gồm vi điều khiển STM8S003F3P6 kết nối tới LED, mắt thu hồng ngoại và mạch giao tiếp UART để kết nối với máy vi tính
Hình 1.4 Sơ đồ nguyên lý
Chương 1 Điều khiển từ xa bằng tia hồng ngoại
Hình 1.5 Mạch hoàn chỉnh c Chương trình giải mã
Nhóm nghiên cứu áp dụng thuật toán để giải mã tín hiệu từ mắt thu hồng ngoại Khi người dùng nhấn bất kỳ nút nào trên remote, mã tương ứng sẽ hiển thị trên màn hình máy tính và một LED kết nối với vi điều khiển sẽ thay đổi trạng thái Chương trình này cho phép giải mã tín hiệu thu được từ mắt thu hồng ngoại một cách hiệu quả.
Chương 1 Điều khiển từ xa bằng tia hồng ngoại
Hình 1.6 Chương trình giải mã Đoạn chương trình điều khiển LED và hiện thị mã của nút nhấn lên màn hình máy vi tính: delay10us(50000);
GPIO_WriteReverse(GPIOC, GPIO_PIN_3); if(Get_Data_OK) { disableInterrupts();
Chương 1 Điều khiển từ xa bằng tia hồng ngoại printf("DATA_IR: "); for (i=0;i Examples > RC_Switch > ReceiveDemo_Advanced
Example for receiving https://github.com/sui77/rc-switch/
If you want to visualize a telegram copy the raw data and paste it into http://test.sui.li/oszi/
RCSwitch mySwitch = RCSwitch(); void setup() {
Serial.begin(9600); mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2
} void loop() { if (mySwitch.available()) { output(mySwitch.getReceivedValue(), mySwitch.getReceivedBitlength(), mySwitch.getReceivedDelay(), mySwitch.getReceivedRawdata(),mySwitch.getReceivedProtocol()); mySwitch.resetAvailable();
2.2.3 Nạp chương trình cho arduino
Kết nối board arduino với máy tính qua cáp USB và làm theo hướng dẫn sau:
1 Go to the Tools tab
Kết nối module thu với arduino như hình
Chương 2 Điều khiển từ xa bằng remote tần số vô tuyến
Mở Arduino IDE serial monitor và bắt đầu nhấn các nút nhấn
Bạn sẽ thấy mã nhị phân của các nút nhấn (it’s highlighted in red):
Save your binary codes for each button press (you can also use the Decimal or Tri-
ĐIỀU KHIỂN TỪ XA QUA BLUETOOTH
MODULE BLUETOOTH HC-06
Module Bluetooth HC-06 được thiết kế với chân kết nối hoàn chỉnh, giúp dễ dàng thực hiện các thí nghiệm và hoạt động với điện áp từ 3V3 đến 5V Khi kết nối với máy tính, HC-06 hoạt động như một cổng COM ảo, cho phép truyền nhận dữ liệu tương tự như giao tiếp trực tiếp với UART trên module.
Khi thay đổi Baudrate cho COM ảo, lưu ý rằng baudrate của AURT không bị ảnh hưởng, vì baudrate UART chỉ có thể được điều chỉnh bằng AT command trên module Module HC-06 được cấu hình mặc định là Slave và không thể thay đổi, do đó nó chỉ có thể giao tiếp với các thiết bị Bluetooth ở chế độ master như smartphone hoặc module HC-06 master Hai module Bluetooth được thiết lập ở chế độ Slave không thể giao tiếp với nhau.
Hình 3.1 Board Bluetooth HC-06 thực tế
Sử dụng CSR mainstream bluetooth chip , bluetooth V2.0 protocol standards
Điện thế hoạt động của UART 3.3-5V
Dòng điện khi hoạt động : khi Pairing 30mA , sau khi pairing hoạt động truyền nhận bình thường 8mA
Baudrate UART có thể chọn được : 1200 , 2400 , 4800 , 9600 , 19200 , 38400 ,
Chương 3 Điều khiển từ xa bằng điện thoại qua bluetooth
Kích thước của module chính : 28 mm x 15 mm x 2.35mm
Dải tần sóng hoạt động : 2.4GHz
Nhiệt độ lưu trữ : -40 to 85ºC
CÁC THÀNH PHẦN
Chương 3 Điều khiển từ xa bằng điện thoại qua bluetooth
NỐI DÂY
Nối dây giữa module HC 06 với Arduino
Chú ý: có thể thay đổi 2 chân tín hiệu RX,TX cắm vào Board arduino nhưng phải thay đổi trong phần lập trình
Nối các dây tín hiệu của module relay và các chân 8, 9, 10, 11 của vi điều khiển
CHƯƠNG TRÌNH
char state; void setup() { pinMode(8, OUTPUT);
Chương 3 Điều khiển từ xa bằng điện thoại qua bluetooth pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); digitalWrite(8, HIGH); digitalWrite(9, HIGH); digitalWrite(10, HIGH); digitalWrite(11, HIGH);
Serial2.begin(9600); // Kết nối bluetooth module ở tốc độ 9600
} void loop() { if(Serial2.available() > 0){
// Đọc giá trị nhận được từ bluetooth state = Serial2.read();
The code snippet outlines a control structure that uses a switch statement to manage the state of various digital pins Depending on the value of the variable 'state', specific pins are set to either LOW or HIGH For example, when 'state' is 'A', pin 8 is set to LOW, while 'B' sets it to HIGH Similarly, states 'C' and 'D' control pin 9, 'E' and 'F' manage pin 10, and 'G' and 'H' affect pin 11 Additionally, when 'state' is 'P', both pins 8 and 9 are set to LOW This structured approach allows for precise control of the digital outputs based on different conditions.
Chương 3 Điều khiển từ xa bằng điện thoại qua bluetooth digitalWrite(10, LOW); digitalWrite(11, LOW); break; case 'Q': digitalWrite(8, HIGH); digitalWrite(9, HIGH); digitalWrite(10, HIGH); digitalWrite(11, HIGH); break; default: break;
ỨNG DỤNG ĐIỀU KHIỂN TRÊN ĐIỆN THOẠI ANDROID
Dùng app inventor để viết app điều khiển
Chi tiết tại : http://ai2.appinventor.mit.edu
Các khối lệnh cơ bản:
Chương 3 Điều khiển từ xa bằng điện thoại qua bluetooth
Khối lệnh của 1 nút các nút còn lạ tương tự như vậy
Khi tạo xong các khối lệnh chúng ta tiến hành Build bằng cách click vào build trên mit app
Chương 3 Điều khiển từ xa bằng điện thoại qua bluetooth
Khi bạn chưa chắc chắn có thể build bằng cách chọn quét mã QR
Dùng phần mềm quét mã QR trên điện thoại để cài đặt app và tiến hành điều khiển thử.
ĐIỀU KHIỂN TỪ XA QUA INTERNET
MODULE ESP8266 WEMOS D1
WEMOS D1 R2 là kit phát triển mới nhất từ WeMos, mang hình dáng tương tự Arduino Uno nhưng sử dụng module wifi SoC ESP8266EX Kit này được tối ưu hóa firmware để chạy với chương trình Arduino, giúp dễ dàng thực hiện các ứng dụng thu thập dữ liệu và điều khiển qua Wifi.
Vi điều khiển ESP8266EX Điện áp hoạt động 3V3
Chương 4 Điều khiển từ xa qua internet
Bảng này được viết nhằm hỗ trợ việc lập trình, đặc biệt khi xuất tín hiệu HIGH cho pin số 3 trên kit Thay vì sử dụng "digitalWrite(3,HIGH);", bạn cần viết "digitalWrite(0,HIGH);" vì chân D3 trên kit tương ứng với chân 0 của ESP8266 Điều này có nghĩa là bạn đang điều khiển chân trên ESP8266 Khi bạn xuất chân D3 mức HIGH, chân D15 cũng sẽ được xuất HIGH do các chân từ D11 đến D15 là các chân "giả", giúp kit giống như Arduino hơn, trong khi ESP8266 chỉ có 11 pin digital Các pin D11 đến D15 được kết nối lần lượt với D7 đến D3.
CÁC THÀNH PHẦN
Chương 4 Điều khiển từ xa qua internet
NỐI DÂY
Cắm bốn dây tín hiệu của module relay vào các chân D1, D2, D3, D4 (tương ứng với GPIO5, GPIO4, GPIO0, GPI2) trên Wemos D1 Sau đó, kết nối các bóng đèn vào ổ cắm đã được nối sẵn với các relay.
THƯ VIỆN
ESP8266WiFi.h - http://arduino.esp8266.com/stable/pa com_index.json
BlynkSimpleEsp8266.h - https://github.com/blynkkk/blynk-library
CHƯƠNG TRÌNH NẠP VÀO WEMOS D1
#include char auth[] = "YourAuthToken"; //AuthToken copy ở Blynk Project char ssid[] = "YourNetworkName"; //Tên wifi char pass[] = "YourPassword"; //Mật khẩu wifi void setup()
Blynk.begin(auth, ssid, pass);
Chương 4 Điều khiển từ xa qua internet
HƯỚNG DẪN SỬ DỤNG ỨNG DỤNG BLYNK
Tải ứng dụng Blynk trên điện thoại iOS hoặc Android và tiến hành cài đặt Sau khi cài đặt, hãy đăng ký một tài khoản Blynk bằng email thật để thuận tiện cho các thao tác sau này.
Biểu tượng ứng dụng Blynk trên điện thoại
Sau khi đăng nhập, màn hình hiện ra
Chương 4 Điều khiển từ xa qua internet
Kéo màn hình sang trái, giao diện tạo Project:
Chọn New Project, thiết lập tên Project, chọn thiết bị Trong phần này sử dụng
ESP8266 vì vậy sẽ chọn ESP8266 và kiểu kết nối là WiFi Sau khi tạo Project, Blynk
Chương 4 Điều khiển từ xa qua internet app sẽ gửi Auth Token đến email đăng ký Auth token được sử dụng để xác thực các thiết bị Sau khi tạo xong project, vào phần Project Setting:
Khi đăng ký dịch vụ đám mây Blynk, mỗi tài khoản sẽ nhận được 1000 Energy Mỗi Widget trong dự án sẽ tiêu tốn một lượng Energy nhất định, và nếu người dùng cần thêm Energy, họ sẽ phải chi tiền để mua thêm.
Blynk là nền tảng mã nguồn mở, nhưng để duy trì và phát triển dịch vụ, Blynk cung cấp dịch vụ đám mây với mức phí theo nhu cầu người dùng Người dùng có thể quản lý các thiết bị bằng cách truy cập vào mục Devices, nơi họ có thể thêm hoặc xóa thiết bị Mỗi thiết bị sẽ được cấp một Auth Token để xác thực kết nối với Blynk Server.
Chương 4 Điều khiển từ xa qua internet
Ban đầu bảng vẽ là trống, kích vị trí bất kỳ trên bảng vẽ, hộp các Widget sẽ hiển thị ra Thêm một Button vào bảng vẽ
Chương 4 Điều khiển từ xa qua internet
Chương 4 Điều khiển từ xa qua internet
Sau khi thêm nút bấm, bạn có thể nhấn và kéo nút đến vị trí mong muốn Để thiết lập, hãy nhấp vào nút và trong phần Output, chọn Digital và GP5 tương ứng với GPIO5 của ESP8266 Tương tự, bạn có thể tạo thêm các nút bấm khác để điều khiển các relay khác nhau Tùy thuộc vào loại relay, bạn sẽ thiết lập mức kích hoạt cao hoặc thấp cho nút bấm, trong đó 0 biểu thị mức thấp và 1 biểu thị mức cao.
Sau khi hoàn tất thiết lập, hãy nhấn Run để khởi động Project Để thực hiện các sửa đổi cho Project, bạn cần dừng chương trình bằng cách nhấn STOP và có thể thêm các Widget khác vào.
KẾT QUẢ THỰC HIỆN
Sau khi thiết lập xong 4 nút, giao diện điều khiển sẽ hiển thị 4 nút Khi nhấn vào biểu tượng Play, chúng ta có thể điều khiển Relay thông qua 4 nút nhấn mà chúng ta đã tạo.
Chương 4 Điều khiển từ xa qua internet
ĐIỀU KHIỂN TỪ XA BẰNG ĐIỆN THOẠI QUA SMS
TIN NHẮN SMS
SMS, viết tắt của Short Message Service, là công nghệ cho phép gửi và nhận tin nhắn giữa các điện thoại Xuất hiện lần đầu tiên ở Châu Âu vào năm 1992, SMS được phát triển dựa trên các chuẩn GSM Sau đó, công nghệ này mở rộng sang các hệ thống không dây như CDMA và TDMA Các chuẩn GSM và SMS được phát triển bởi ETSI (European Telecommunications Standards Institute), và hiện nay, 3GPP (Third Generation Partnership Project) chịu trách nhiệm duy trì và phát triển các chuẩn này.
SMS, viết tắt của Short Message Service, có dung lượng dữ liệu rất hạn chế, chỉ cho phép tối đa 140 byte (1120 bit) cho mỗi tin nhắn Do đó, một tin nhắn SMS chỉ có thể chứa một lượng thông tin nhất định.
Mã hóa ký tự 7 bit cho phép biểu diễn tối đa 160 ký tự, phù hợp với các ký tự Latin như bảng chữ cái tiếng Anh.
Nếu sử dụng mã hóa ký tự 16 bit Unicode UCS2, tin nhắn SMS có thể chứa tối đa 70 ký tự Đặc biệt, các tin nhắn không chứa ký tự Latin, như ký tự chữ Trung Quốc, bắt buộc phải áp dụng mã hóa này.
Tin nhắn SMS dạng text hỗ trợ nhiều ngôn ngữ khác nhau, bao gồm cả Arabic, Trung Quốc, Nhật Bản và Hàn Quốc, nhờ vào mã Unicode Ngoài việc gửi tin nhắn văn bản, SMS còn cho phép truyền tải dữ liệu dạng binary, bao gồm nhạc chuông, hình ảnh và nhiều tiện ích khác đến điện thoại khác.
Một trong những ưu điểm nổi bật của SMS là khả năng tương thích với hầu hết các điện thoại sử dụng công nghệ GSM Hầu hết các dịch vụ gửi tin nhắn giá rẻ đều được cung cấp qua sóng wireless, giúp người dùng dễ dàng tiếp cận Ngược lại, các công nghệ di động như WAP và mobile Java không được hỗ trợ trên nhiều mẫu điện thoại Sự phát triển và phổ biến của tin nhắn SMS ngày càng gia tăng.
Tin nhắn SMS có thể được gửi và đọc mọi lúc, mọi nơi, nhờ vào sự phổ biến của điện thoại di động Hiện nay, hầu hết mọi người đều sở hữu một chiếc điện thoại di động và mang theo bên mình suốt cả ngày, giúp việc gửi và nhận tin nhắn trở nên thuận tiện hơn bao giờ hết.
Chương 5 Điều khiển từ xa bằng điện thoại qua SMS cứ lúc nào bạn muốn, sẽ không gặp khó khăn gì khi bạn đang ở trong văn phòng hay trên xe bus hay ở nhà…
Tin nhắn SMS có thể được gửi tới các điện thoại mà tắt nguồn
Nếu bạn không chắc chắn về một cuộc gọi, hãy gửi tin nhắn SMS cho bạn bè, ngay cả khi điện thoại của họ đang tắt nguồn.
Hệ thống SMS của mạng điện thoại sẽ lưu trữ tin nhắn và gửi đến người nhận khi điện thoại của họ được bật.
Tin nhắn SMS là một phương tiện liên lạc ít gây phiền phức, cho phép bạn giữ liên lạc mà không làm ồn Khi sử dụng SMS, bạn không cần phải rời khỏi rạp hát, thư viện hay những nơi yên tĩnh để thực hiện hoặc trả lời cuộc gọi, giúp bạn duy trì sự tập trung và thoải mái hơn trong các tình huống xã hội.
Các điện thoại di động hiện nay đều hỗ trợ công nghệ nhắn tin SMS, một dịch vụ thành công và phổ biến Người dùng không chỉ có thể gửi tin nhắn SMS cho những người sử dụng cùng nhà cung cấp dịch vụ mà còn có thể trao đổi tin nhắn với người dùng ở các nhà mạng khác nhau Điều này cho phép người dùng dễ dàng kết nối và giao tiếp với nhau, bất kể nhà cung cấp dịch vụ của họ là gì.
SMS là một công nghệ phù hợp với các ứng dụng Wireless sử dụng cùng với nó
Nói như vậy là do:
Tin nhắn SMS hoàn toàn được hỗ trợ bởi tất cả các điện thoại sử dụng công nghệ GSM, mở ra cơ hội phát triển các ứng dụng không dây dựa trên nền tảng này Việc xây dựng ứng dụng trên công nghệ SMS sẽ tối ưu hóa trải nghiệm cho người dùng.
Tin nhắn SMS không chỉ cho phép gửi văn bản mà còn hỗ trợ truyền tải dữ liệu nhị phân, bao gồm nhạc chuông, hình ảnh và hoạt hình Hơn nữa, SMS còn được sử dụng để thanh toán cho các dịch vụ trực tuyến một cách thuận tiện.
MODULE SIM800A
Phiên bản Sim900A đã xuất hiện hơn 10 năm và hiện đã ngừng sản xuất bởi hãng Simcom Hiện tại, Sim900A gần như hoàn toàn được thay thế bởi phiên bản nâng cấp Sim800A, với thiết kế và cách sử dụng tương tự, cùng bộ tập lệnh "y chang" Sim800A còn được bổ sung thêm một số tính năng mới như nhận dạng key tone và hoạt động ổn định, bền bỉ hơn so với Sim900.
Chương 5 Điều khiển từ xa bằng điện thoại qua SMS
Mạch GSM GPRS Sim800A được thiết kế với nguồn xung và IC đệm, mang lại độ bền và ổn định cao cho các ứng dụng.
Mạch GSM GPRS Sim800A, phiên bản cập nhật của SIM900A, được thiết kế nhỏ gọn với tích hợp nguồn xung và IC đệm, đảm bảo giữ lại các yếu tố thiết yếu của module.
Sim như: Mạch chuyển mức tín hiệu logic sử dụng Mosfet, IC giao tiếp RS232
MAX232, mạch nguồn xung dòng cao, khe sim chuẩn và các đèn led báo hiệu, mạch còn đi kèm với Anten GSM
Sử dụng module GSM GPRS Sim800A
Nguồn cấp đầu vào: 5 - 18VDC, lớn hơn 1A
Mức tín hiệu giao tiếp: TTL (3.3-5VDC) hoặc RS232
Tích hợp IC chuyển mức tín hiệu RS232 MAX232
Tích hợp nguồn xung với dòng cao cung cấp cho Sim800A
Sử dụng khe Micro Sim
Thiết kế mạch nhỏ gọn, bền bỉ, chống nhiễu
VCC: Nguồn dương từ 5-18VDC, lớn hơn 1A
Mặc định, chân nối lên cao được sử dụng để khởi động (Enable) hoặc dừng hoạt động (Disable) của Module Sim800 Để dừng hoạt động của module Sim800, bạn chỉ cần nối chân này xuống âm GND (0VDC).
232R: Chân nhận tín hiệu RS232
232T: Chân truyền tín hiệu RS232
RXD: Kết nối với RX của MCU
TXD: Kết nối với TX của MCU (Chân nhận tín hiệu TTL 3.3V)
BRXD: Thường không sử dụng, chân nhận tín hiệu, dùng để giao tiếp nạp
Firmware cho Sim800, mức tín hiệu 3.3VDC
Chương 5 Điều khiển từ xa bằng điện thoại qua SMS
BTXD: Thường không sử dụng, chân truyền tín hiệu, dùng để giao tiếp nạp
Firmware cho Sim800, mức tín hiệu 3.3VDC
EPN: Ngõ ra loa Speaker âm
EPP: Ngõ ra loa Speaker dương
MICP: Ngõ vào Micro dương
MICN là ngõ vào micro âm, cho phép kiểm tra hoạt động của module Để thực hiện việc này, bạn có thể sử dụng vi điều khiển với giao tiếp UART Tuy nhiên, phương pháp tốt nhất và nhanh nhất là sử dụng mạch chuyển đổi từ USB sang UART, cho phép truyền lệnh AT trực tiếp từ máy tính.
KHẢO SÁT TẬP LỆNH AT CỦA MODULE SIM800A
Các lệnh AT, viết tắt của Attention, là những hướng dẫn được sử dụng để điều khiển modem Mỗi dòng lệnh đều bắt đầu bằng "AT" hoặc "at", do đó, chúng được gọi là lệnh AT trong modem.
Từ các lệnh “AT” này, người lập trình có thể làm một số bước sau:
Ban đầu đọc tin nhắn, viết tin nhắn và xóa tin nhắn
Thực hiện gửi tin nhắn SMS
Kiểm tra toàn bộ chiều dài nội dung tin nhắn
Số lần gửi tin nhắn có thể thực hiện được trên một phút tương đối thấp, vào khoảng 6-10 tin nhắn trên 1 phút
Trong đồ án này, tôi chỉ tập trung nghiên cứu một số lệnh cơ bản phục vụ cho việc thực hiện dự án của mình Dưới đây là một số lệnh cơ bản cần thiết để cài đặt cho dịch vụ SMS.
Bước đầu tiên là công việc khởi tạo
Bước thứ hai là nhận và xử lý tin nhắn
Bước làm cuối cùng là gửi tin nhắn đi
: Carriage return (đƣợc dịch từ mã ASCII là $0D)
: Line Feed (đƣợc dịch từ mã ASCII là 0x0A)
MT : Mobile Terminal – Thiết bị đầu cuối (ở đây là Module sim900)
TE : Terminal Equipment – Thiết bị đầu cuối (ở đây là máy tính giao tiếp được dùng để giao tiếp với Module sim)
Chương 5 Điều khiển từ xa bằng điện thoại qua SMS
Lệnh khởi đầu : luôn là “AT” hoặc “at”
Lệnh kết thúc là : ký tự (trong đồ án cần chuyển sang mã ASCII là $0D)
Thông thường sau mỗi lệnh AT là một đáp ứng, cấu trúc của đáp ứng này là :
““”
Cú pháp chính của lệnh AT được phân loại thành ba loại: cú pháp có cấu trúc cơ bản, cú pháp có cấu trúc tham số S và cú pháp có cấu trúc mở rộng.
Các cú pháp nêu trên cho phép các lệnh hoạt động trong nhiều chế độ khác nhau, được thống kê chi tiết trong bảng dưới đây.
Một số chế độ của lệnh AT:
Bảng 5.1 Các chế độ lệnh AT
Thống kê lại các tham số trong câu lệnh và các giá trị có thể thiết lập cho tham số
AT+=? Đọc nội dung tin nhắn đƣợc gửi đến, kiểm tra giá trị tin nhắn về mặt dữ liệu
AT+= Đƣợc sử dụng để thiết lập các giá trị cho tham số
Thực thi nội dung tin nhắn được tiến hành bên trong của Module sim
5.3.3 Các lệnh AT cơ bản
Lệnh ATZ được sử dụng để thiết lập lại tất cả các tham số hiện tại theo mẫu đã được người dùng định nghĩa, và modem sẽ trả về lệnh OK Mẫu này được lưu trữ trong bộ nhớ cố định, nếu không thể thiết lập lại theo mẫu người dùng, hệ thống sẽ quay về các tham số mặc định của nhà sản xuất Lưu ý rằng bất kỳ lệnh AT nào khác cùng dòng với lệnh ATZ sẽ không được thực hiện.
Lệnh AT+CMGR : đọc nội dung tin nhắn
Lệnh AT+CMGR cho phép người dùng đọc tin nhắn từ một ngăn nhất định trên sim điện thoại Cấu trúc lệnh được sử dụng là AT+CMGR=i, trong đó i đại diện cho ngăn bộ nhớ chứa tin nhắn Nếu ngăn i có tin nhắn, hệ thống sẽ trả về lệnh OK; ngược lại, nếu không có tin nhắn, sẽ không có phản hồi.
Chương 5 Điều khiển từ xa bằng điện thoại qua SMS tin nhắn thì sẽ xuất hiện thông báo lỗi trả về ERROR Ví dụ khi gõ lệnh AT+CMGR=1 thì sim900 sẽ đọc tin nhắn tại ngăn số 1 của bộ nhớ sim điện thoại gắn ngoài
Lệnh AT+CMGS : gửi tin nhắn SMS
Lệnh AT+CMGS được sử dụng để gửi tin nhắn SMS đến một số điện thoại cụ thể Cú pháp gửi tin nhắn bao gồm: AT+CMGS="số điện thoại cần gửi" - Nội dung tin nhắn - ESC/Ctrl Z Số điện thoại phải được đặt trong dấu ngoặc kép, và sau khi nhập xong số điện thoại, bạn cần nhấn Enter để xuống dòng và bắt đầu viết nội dung tin nhắn Cuối cùng, để hoàn tất lệnh, hãy nhấn Ctrl Z.
AT+CMGD : xóa tin nhắn SMS
Lệnh AT+CMGD được sử dụng để xóa tin nhắn SMS trên sim, với cấu trúc lệnh là AT+CMGD=i, trong đó i là chỉ số của ngăn nhớ chứa tin nhắn cần xóa Nếu ngăn i có tin nhắn, lệnh sẽ trả về OK; ngược lại, nếu không có tin nhắn hoặc gặp lỗi kết nối, sẽ trả về ERROR Ví dụ, để xóa tin nhắn từ ngăn số 1, ta sử dụng lệnh AT+CMGD=1.
Lệnh ATE : thiết lập chế độ lệnh phản hồi
Lệnh này dùng để thiết lập chế độ lệnh phản hồi trở lại Đáp ứng trả lại OK
Lệnh AT có hai tham số hoàn toàn khác nhau :
ATE0 : tắt chế độ phản hồi
ATE1 : bật chế độ phản hồi
Khi giao tiếp giữa Module sim900 và phần mềm Putty, lệnh ATE0 sẽ ẩn các lệnh AT mà bạn nhập, chỉ hiển thị kết quả trả về từ sim900 Ngược lại, nếu sử dụng lệnh ATE1, cả lệnh bạn nhập và kết quả từ sim900 sẽ được hiển thị.
Lệnh AT&W : lưu các tham số hiện tại vào mẫu người dùng
Lệnh AT&W được sử dụng để lưu cấu hình cài đặt từ các lệnh ATE và AT+CLIP vào bộ nhớ, với AT+CLIP dùng để thiết lập cuộc gọi Khi thực hiện lệnh này, phản hồi nhận được sẽ là OK.
Lệnh AT+CMGF : lựa chọn định dạng tin nhắn SMS
Lệnh AT+CMGF cho phép người dùng chọn định dạng tin nhắn SMS với hai chế độ: văn bản và PDU Cụ thể, sử dụng AT+CMGF=1 để lựa chọn chế độ văn bản, và AT+CMGF=0 để chọn chế độ PDU Khi lệnh được thực hiện thành công, hệ thống sẽ trả về thông báo “OK”.
Chương 5 Điều khiển từ xa bằng điện thoại qua SMS nếu như modem hỗ trợ, ngược lại, nếu modem không hỗ trợ chế độ định dạng tin nhắn là text hoặc PDU thì đáp ứng trả về sẽ là “ERROR”
Lệnh AT+CNMI : thông báo có tin nhắn mới đến
Lệnh AT+CNMI được sử dụng để thông báo có tin nhắn mới đến và phản hồi sẽ khác nhau tùy thuộc vào các tham số được sử dụng Chẳng hạn, khi nhận một tin nhắn SMS giống nhau, lệnh AT+CNMI=1,1,0,0,0 sẽ trả về kết quả là +CMTI: "SM",10, trong khi lệnh AT+CNMI=2,2,0,0,0 sẽ trả về +CMT:
Trong trường hợp 1, nội dung tin nhắn được lưu trực tiếp vào ngăn số 10 của sim và chỉ có thể được đọc bằng lệnh AT+CMGR Trong khi đó, trường hợp 2 cho phép nội dung tin nhắn hiển thị cùng với thời gian và số điện thoại.
Lệnh AT+CSAS : Lưu các thiết lập tin nhắn SMS
PHẦN CỨNG
Chương 5 Điều khiển từ xa bằng điện thoại qua SMS
SƠ ĐỒ KẾT NỐI
Hình 5.2 Sơ đồ kết nối Arduino – ModuleSIM800A
CHƯƠNG TRÌNH ARDUINO
Hệ thống điều khiển 4 relay cho phép nhận cuộc gọi từ module SIM, thông báo tình trạng sẵn sàng của hệ thống Nó cũng hỗ trợ tính năng nhắn tin phản hồi và kiểm tra trạng thái thiết bị một cách hiệu quả.
CÚ PHÁP NHẮN TIN ĐIỀU KHIỂN
Chương 5 Điều khiển từ xa bằng điện thoại qua SMS
HƯỚNG PHÁT TRIỂN
Xử lý số điện thoại nhắn tin đến:
Chỉ số điện thoại cài đặt mới điều khiển được Hoặc cú pháp thêm mật khẩu: mật khẩu đúng mới điều khiển
Có thể đổi mật khẩu bằng nhắn tin (Số ĐT admin mới thực hiện được)
Chương trình chỉ gửi tin nhắn phản hồi đến một số điện thoại được cài đặt trong mã Hướng phát triển là cho phép số điện thoại điều khiển nhận tin nhắn phản hồi trực tiếp về chính số đó.
NỘI DUNG KIỂM TRA – ĐÁNH GIÁ
Hình thức: Tự luận hoặc trắc nghiệm
- Trình bày được các phương pháp điều khiển từ xa
- Trình bày được lịch sử của ngành điều khiển từ xa
- So sách giống nhau và khác nhau cơ bản của các phương pháp điều khiển từ xa
Hình thức: Tự luận hoặc trắc nghiệm
- Giải thích được hoạt động của mạch thu và mạch phát hồng ngoại, RF, Bluetooth
- Trình bày được các thông số cơ bản của mắt thu hồng ngoại, module RF, module Bluetooth
- Tính được các thông số cơ bản (dòng, áp, điện trở) trong một số mạch điều khiển từ xa sử dụng tia hồng ngoại, RF, Bluetooth
Hình thức: Tự luận hoặc trắc nghiệm
- Lựa chọn linh kiện thực hiện mạch điều khiển từ xa qua bluetooth
- Thực hiện lập trình nhận và xử lý gói tin web gửi cho module GPRS
- Lựa chọn linh kiện thực hiện mạch điều khiển từ xa bằng điện thoại qua SMS
- Thực hiện lập trình nhận tin nhắn và xử lý tin nhắn
4 Bài thi kết thúc môn học:
Hình thức: Tự luận hoặc trắc nghiệm
- Trình bày được các phương pháp điều khiển từ xa
- Giải thích được hoạt động của mạch thu và mạch phát hồng ngoại, RF, Bluetooth
- Trình bày được các thông số cơ bản của mắt thu hồng ngoại, module RF, module Bluetooth
- Tính được các thông số cơ bản (dòng, áp, điện trở) trong một số mạch điều khiển từ xa sử dụng tia hồng ngoại, RF, Bluetooth
- Lựa chọn linh kiện thực hiện mạch điều khiển từ xa qua bluetooth
- Thực hiện lập trình nhận và xử lý gói tin web gửi cho module GPRS
- Lựa chọn linh kiện thực hiện mạch điều khiển từ xa bằng điện thoại qua SMS
- Thực hiện lập trình nhận tin nhắn và xử lý tin nhắn