Надсилання SMS з Shell

Ви можете надсилати SMS через shell, використовуючи AT-команди, отже цей процес легко автоматизується через скрипти.
Джерело: Надсилання SMS за допомогою AT-команд

За допомогою shell можна надсилати SMS-повідомлення — підійде майже будь-який модем, хоча перевірити всі моделі неможливо. Завдяки AT-командам використовується базова функціональність модема, тому драйвери 3G не потрібні.

Основна послідовність дій для надсилання SMS виглядає так:

# Визначити пристрій модема, у цьому прикладі використовується /dev/ttyUSB0
echo -e "ATZ\r" >/dev/ttyUSB0 # параметр -e дозволяє обробку escape-послідовностей
echo -e "AT+CMGF=1\r" >/dev/ttyUSB0
echo -e "AT+CMGS=\"123456789\"\r" >/dev/ttyUSB0 # замініть 123456789 на номер одержувача
echo -e "Привіт, це SMS з shell\x1A" >/dev/ttyUSB0 # повідомлення має завершуватись \x1A (ASCII-код CTRL+Z)

Ось і все — SMS має надійти найближчим часом.

Оскільки SMS можна надіслати з shell, ми можемо автоматизувати цей процес за допомогою скрипта. Нижче приклад shell-скрипта для надсилання SMS:

#!/bin/sh
 
# Пристрій модема
DEV=/dev/ttyUSB0
# Номер одержувача
DESTNUM="123456789"
# Текст повідомлення
SMS="Привіт!"
 
# Затримка потрібна, щоб модем встиг обробити команди
echo -e "ATZ\r" >$DEV
sleep 1
echo -e "AT+CMGF=1\r" >$DEV
sleep 1
echo -e "AT+CMGS=\"$DESTNUM\"\r" >$DEV
sleep 1
echo -e "$SMS\x1A" >$DEV
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2025/05/31 12:38
  • by vazaz