- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [SOFTWARE] Giới thiệu bộ phần mềm tính Kết Cấu Thép HatteSale, Mộng Đơn, Dầm, Sàn, Móng Cọc, Vách, Xà Gồ, Tính Tải Trọng
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
- [C#] Hướng dẫn viết ứng dụng chat với Gemini AI Google Winform
- Hướng dẫn khóa file bằng nhiều process id, không cho xóa tập tin
- Hướng dẫn cách tạo Product Id cho ứng dụng phần mềm XXXXX-XXXXX-XXXXX-XXXXX
- [SQLSERVER] Hướng dẫn tạo script sql từ ứng dụng Sqlserver management Studio
- [C#] Hướng dẫn sử dụng thư viện AutoITx lấy id và password Ultraviewer trên winform
- [VB.NET] Hướng dẫn lấy thông tin tài khoản đăng nhập windows và khởi động lại ứng dụng ở chế độ Administrator
- [C#] Sử dụng thư viện Polly gửi lại request api khi request bị lỗi hay rớt mạng
- [DEVEXPRESS] Chia sẻ source code tạo báo cáo report in tem nhãn label trên C# winform
- [DEVEXPRESS] Hướng dẫn vẽ biểu đồ Bar Chart trên Winform
- [C#] Tạo form đăng nhập và đăng ký với hiệu ứng Sliding Animation Effect
- [C#] Hướng dẫn tạo thanh toán đơn hàng qua mã vạch VietQR sử dụng API PayOS hoàn toàn miễn phí
- [C#] Hướng dẫn ghi log ra RichTextBox giống Console trên Winform sử dụng thư viện Serilog
- [C#] Hướng dẫn cách tạo mã QR Code trên file Excel
- [VB.NET] Gởi tin nhắn và file đính kèm qua ứng dụng gởi tin nhắn Whats App
Lập trình ứng dụng gởi tin nhắn SMS qua thiết bị DCOM 3G (Sử dụng lệnh AT Command) VB.NET
Hôm nay, mình xin hướng dẫn các bạn, viết một ứng dụng gởi tin nhắn SMS thông qua thiết bị DCOM 3G. Ở ví dụ dưới đây, mình sử dụng thiết bị DCOM 3G FastConnect của Mobifone. Sử dụng các lệnh AT Command để gởi tin nhắn.
Trong bài viết này, mình chỉ hướng dẫn gởi tin nhắn SMS, còn bạn nào muốn viết ứng dụng nhận tin nhắn sms từ điện thoại vào ứng dụng. Các bạn, có thể phone: 0933.913122 để liên hệ
Video demo ứng dụng gởi tin nhắn sms qua DCOM 3G.
- Để lập trình ứng dụng gởi sms, ta phải lập trình gởi tin nhắn qua Serial Port, Khi bạn cắm usb 3g của các bạn vào và cài đặt driver đi theo usb 3g. Chương trình sẽ tạo ra cho chúng ta những Port COM ảo, để chúng ta kết nối thiết bị 3g viết VB.NET.
- Lệnh AT command cơ bản để gởi 1 tin nhắn:
AT
OK
AT+CMGF=1
OK
AT+CMGW="+85291234567"
> A simple demo of SMS text messaging.
+CMGW: 1
OK
AT+CMSS=1
+CMSS: 20
OK
Giải thích:
- Dòng 1: lệnh "AT" được gửi đến GSM / GPRS modem để kiểm tra kết nối. GSM / GPRS modem gửi lại mã kết quả "OK" (dòng 2), nghĩa là kết nối giữa chương trình đầu cuối và GSM / GPRS modem hoạt động tốt.
- Dòng 3: Lệnh AT+CMGF được dùng để hướng dẫn GSM / GPRS modem hoạt động trong chế độ văn bản SMS. Mã kết quả "OK" được trả về (dòng 4), tức là lệnh "AT+CMGF=1" đã được thực thi thành công. Nếu mã kết quả là "ERROR”, điều đó có nghĩa là GSM / GPRS modem không hỗ trợ chế độ văn bản SMS.
Để chắc chắn, chúng ta có thể gõ "AT+CMGF=?" trong chương trình đầu cuối. Nếu phản hồi là "+CMGF: (0,1)" (0: chế độ PDU và 1: chế độ văn bản), nghĩa là chế độ văn bản SMS được hỗ trợ. Nếu phản hồi là "+CMGF: (0)", tức là chế độ văn bản SMS không được hỗ trợ. - Dòng 5 & 6: Lệnh AT+CMGW sẽ viết một tin nhắn SMS vào bộ nhớ lưu trữ tin nhắn của GSM / GPRS modem. "+85291234567" là số điện thoại của người nhắn. Sau khi gõ vào số của người nhận, bạn có thể nhấn phím Enter. GSM / GPRS modem sau đó sẽ trả về dấu nhắc "> " và bạn có thể bắt đầu nhập nội dung tin nhắn "A simple demo of SMS text messaging.".Khi đã xong hãy nhấn Ctrl + Z.
- Dòng 7: "+CMGW: 1" cho ta biết chỉ số được gán với tin nhắn SMS mới tạo là 1. Nó cho biết vị trí của tin nhắn SMS trong bộ nhớ lưu tin nhắn.
- Dòng 9: Mã kết quả "OK" cho biết kết quả thực hiện lệnh AT+CMGW đã thành công.
- Dòng 10: Lệnh AT+CMSS gửi tin nhắn SMS từ bộ nhớ của GSM / GPRS modem. "1" là chỉ số của tin nhắn SMS có được từ dòng 7.
- Dòng 11: "+CMSS: 20" cho ta biết số tham chiếu được gán cho SMS vừa rồi là 20.
- Dòng 13: Mã kết quả "OK" cho biết lệnh AT+CMSS đã thực hiện thành công.
- Ở đây, chúng ta sử dụng thư viện System.IO.ports để làm việc với Dcom 3g.
- Video hướng dẫn chi tiết từng bước lập trình ứng dụng gởi tin nhắn SMS
Đầu tiên, các bạn cần khai báo thư viện vào:
Imports System.IO
Imports System.IO.Ports
Imports System.Threading
- Viết sự kiện form load() load các cổng COM trên máy tính vào combobox
Try
Dim ports As String() = SerialPort.GetPortNames
Dim port As String
For Each port In ports
ComboBox1.Items.Add(port)
Next port
ComboBox1.SelectedIndex = 0
Catch ex As Exception
MsgBox(ex.Message)
End Try
- Viết sự kiện kết nối ứng dụng với cổng COM
Try
With SerialPort1
.PortName = ComboBox1.Text
.BaudRate = 115200
.Parity = Parity.None
.StopBits = StopBits.One
.DataBits = 8
.Handshake = Handshake.RequestToSend
.DtrEnable = True
.RtsEnable = True
.NewLine = vbCrLf
.Open()
End With
Catch ex As Exception
MsgBox(ex.Message)
End Try
- Và cuối cùng là sự kiện gởi tin nhắn
Try
If SerialPort1.IsOpen Then
With SerialPort1
.Write("AT" & vbCrLf)
.Write("AT+CMGF=1" & vbCrLf)
.Write("AT+CMGS=" & Chr(34) & TextBox1.Text & Chr(34) & vbCrLf)
.Write(RichTextBox1.Text & Chr(26))
MsgBox("Messge sent!")
End With
Else
MsgBox("Error on the port selected")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
CHÚC CÁC BẠN THÀNH CÔNG. HÃY LIKE AND SHARE NẾU BẠN CẢM THẤY BÀI VIẾT CÓ ÍCH.