E3131 отправка смс через ат

Я долго искал в Интернете руководство по отправке sms из командной строки с помощью Huawei E3131 и HiLink в системе Linux на базе debian. Все они не работали. Похоже, что было обновление программного обеспечения.


HiLink показывает мне следующие версии:

  • Имя устройства: E3131
  • Версия аппаратного обеспечения: CU1E3131IM
  • Версия программного обеспечения: 22.521.23.00.00
  • Веб-интерфейс-версия: 17.100.08.00.03

После вопроса: Как отправить / получить sms из командной строки в системе Linux на базе debian с E3131?


Существует следующий вопрос по настройке оборудования на автономной системе с суперпользователем

E3131 отправка смс через ат

We will use Debian
GNU/Linux 8.7 (jessie) and HUAWEI E3131
modem 12d1:14fe. First of all we need to install usb-modeswitch
to switch from USB Storage mode to GSM modem. We also need to install smstools
for sending text messages via this modem.

apt-get install usb-modeswitch smstools

To configure usb-modeswitch, open /etc/usb_modeswitch.d/12d1:14fe
with your favourite editor, and paste this text:

# Huawei E3131

DefaultVendor= 0x12d1

DefaultProduct= 0x14fe

TargetVendor= 0x12d1

TargetProduct= 0x1506

MessageContent=»55534243123456780000000000000011062000000100000000000000000000″

usb_modeswitch -c /etc/usb_modeswitch.d/12d1\:14fe

[GSM1]

device = /dev/ttyUSB0

incoming = yes

report = no

check_memory_method = 2

signal_quality_ber_ignore = yes

decode_unicode_text = yes

/etc/init.d/smstools start 

Try to send sms by editing /var/spool/sms/outgoing/sms file and putting to it:

To: 8611111111

This is a text message sent by smstools!

E3131 отправка смс через ат

With this config you will also be able to receive messages addressed to the telephone number of this

modem. The received messages are located in /var/spool/sms/incoming/ directory.

E3131 отправка смс через ат

29 май 2013, 14:36

Команды для модемов типа Huawei E1550, E156 и E171, 173 (старой ревизии) | Показать

Команды для модема Huawei E1750 | Показать

Команды для модемов Huawei E367, E352, E392, E353 и E171, 173 (новой ревизии) | Показать

Команды для модема Huawei E3131 | Показать

Команды для модема Huawei E3272 | Показать

Команды для активации предпочтительных режимов сети (для E1750, E1820, E1550 и похожим моделей) | Показать

Команды для разблокировки 3G-модема от конкретного оператора | Показать

Команды для модема

Команды для модемов серии

29 май 2013, 14:48

Список команд коротковат, для E173 вообще явно не указано, что можно какими-то пользоваться.

Подскажите, пожалуйста, какой командой можно заблокировать запуск программы-звонилки?

29 май 2013, 14:53

rkos писал(а):
Подскажите, пожалуйста, какой командой можно заблокировать запуск программы-звонилки?

Для этого вам нужно отключить автозапуск съёмных носителей в вашем компьютере, и в настройках программы управления модемом, убрать галочку с «Запуск одновремено с Windows», или просто отключить виртуальный CD-ROM в модеме.

Чтобы отключить виртуальный CD-ROM в модеме E173, попробуйте воспользоваться этой командой:

29 май 2013, 15:06

Не сработал ни один из способов.

Причём во втором случае модем команду понял (ответил «ОК»).

29 май 2013, 15:24

Автоматический запуск программы происходит потому что при подключении модема к компьютеру монтируется виртуальный CD-ROM, в котором содержится файл автозапуска и файл конфигурации , если в компьютере включена функция автозапуска, происходит запуск программы.

Поэтому логично предположить, чтобы этого не происходило, нужно, либо отключить автозапуск со съёмных носителей, либо отключить монтирование виртуального CD-ROM-а.

Есть ещё способ отключить автозапуск программы:

1. Откройте папку с установленной программой управления модемом, например C:\Program Files (x86)\HUAWEI Modem 3.0\


2. Откройте папку , и запустите файл

Чтобы вернуть всё обратно нужно будет запустить файл

08 июн 2013, 22:59

Добрый день. Есть проблема:

программа Huawei Modem Terminal видит модем (только после того как установил HUAWEI Modem Plus), спрашиваю AT^SETPORT? получаю ответ

Код:
Recieve: ^SETPORT:A1,A2;1,3,2,A1,A2
Recieve: OK

:shocked:
A1,A2;1,3,2,A1,A2 что это ?

пробовал ставить в «только модем»:

Код:
AT^SETPORT="A1,A2;1,2,3"
Код:
Recieve: AT^SETPORT="A1,A2;1,2,3"

Recieve: OK

но в AT^SETPORT? ничего не меняется и всё равно остаётся ^SETPORT:A1,A2;1,3,2,A1,A2

переключить нужно для того чтобы планшет увидел

09 июн 2013, 12:00

unactuale

перевёл в «modem only» через hyperterminal (встроенный виндовый мой обилует глюками), использовал скачанный из этих ваших интернетов. планшет не увидел модем.

16 июл 2013, 10:48

Подскажите, возможно ли активировать режим CDMA в модеме EM820W прогой Huawei Modem Terminal.

Вижу только at^hspa=0 — режим wcdma. Как быть?

16 июл 2013, 15:30

Нет, нельзя. Ваш модем не может работать в сети стандарта CDMA.

Поддерживаемые стандарты сети модемом :

GSM 850/900/1800/1900

GPRS/EDGE

UMTS 850/900

UMTS 1900/2100

WCDMA/HSPA

HSDPA/HSUPA

HSPA+

Скорость передачи данных:

DL: 21 Mbps

UL: 5.76 Mbps

16 июл 2013, 15:50

Я почему-то так и предполагал :swoon:


А перепрошивка не поможет? Возможно есть такая?

Команды для

модемов типа Huawei E1550:


AT^U2DIAG=0 (девайс в режиме только модем)

AT^U2DIAG=1 (девайс в режиме модем + CD-ROM)

AT^U2DIAG=255 (девайс в режиме модем + CD-ROM + Card Reader) — не поддерживается Huawei E1750

AT^U2DIAG=256 (девайс в режиме модем + Card Reader, можно использывать как обычную флешку, отказавшись от установки драйверов модема).

AT^SYSCFG=2,2,3fffffff,0,2 (включение 2G,3G)

Команды для модема

Huawei E1750:


AT^U2DIAG=0 (девайс в режиме только модем)

AT^U2DIAG=1 (девайс в режиме модем + CD-ROM)

AT^U2DIAG=6 (девайс в режиме только сетевая карта)

AT^U2DIAG=268 для E1750 (девайс в режиме модем + CD-ROM + Card Reader)

AT^U2DIAG=276 для E1750 (девайс в режиме сетевой карты + CD-ROM + Card Reader)

AT^U2DIAG=256 (девайс в режиме модем + Card Reader), можно использовать как обычную флешку, отказавшись от установки драйверов модема.

Команды для модемов Huawei E367, E352, E392, E353 и E171:

AT^SETPORT?  — Отображение текущей конфигурации

AT^GETPORTMODE  — Отображение в настоящее время активный режим

AT^SETPORT=»A1,A2;1,2,3,7,A1,A2″  — Установить конфигурацию по умолчанию

AT^SETPORT=»A1,A2;1,16,3,2,A1,A2″  — Установить конфигурацию по умолчанию для модема E171 (новая ревизия)

AT^SETPORT=»A1,A2;1,2,3,7,A1,A2,4,5,6,A,B,D,E» — Тоже сброс по умолчанию (на некоторых модемах)

AT^SETPORT=»A1,A2;1,2,3,7″  — Отключить CD-ROM и карту памяти

AT^SETPORT=»A1,A2;1,2,3,A2″  — Отключает NDIS и CD-ROM — остаётся только модем и флешка

AT^SETPORT=»A1,A2;1,2,3″  — Режим «Только модем»

AT^SETPORT=»A1;1,2″  — Отключает вообще всё кроме модема и служебного интерфейса

AT^SETPORT=»A1,A2;2,7″  — Отключить CD-ROM + карту памяти + модем  установить в Win7 только NDIS режим.

AT^SETPORT=»A1;2,7″  — CD-ROM + NDIS

Команды для модема Huawei E369:

AT^SETPORT? – вывод на экран текущей конфигурации.

AT^GETPORTMODE — вывод на экран активного режима в настоящее время.

AT^SETPORT = «A1, A2, 1,2,3,7, A1, A2» – установка конфигурации по умолчанию.

AT^SETPORT = «A1, A2, 1,2,3,7» — устройство в режиме Modem + Network Card.

AT^SETPORT=»A1,A2;1,2,3,A2″ — устройство в режиме Modem + Card Reader.

AT^SETPORT = «A1, A2, 2,7» — устройство в режиме Network Card.

AT^SETPORT=»A1,A2;1,2,3″ — устройство в режиме Modem (работает быстрее и стабильнее).

AT^SETPORT = «A1, 2,7» — Network Card + CD-ROM.

AT^SETPORT = «A1, A2, 1,2,3,7, A1, A2, 4,5,6, A, B, D, E» — сброс настроек по умолчанию.

Команды для модема Huawei E3131:

AT^SETPORT=»A1,A2;1,16,3,2,A1,A2″ — (Установить конфигурацию по умолчанию)

AT^SETPORT=»A1,A2;1,2,3,16,A1,A2″ — (режим для работы модема с Android 4.0 (иногда работает))

AT^SETPORT=»A1,A2;1,16,3,2″ — (девайс в режиме «модем + сетевая карта»)

AT^SETPORT=»A1,A2;1,2,3,A2″ — (девайс в режиме «модем + Card Reader»)

AT^SETPORT=»A1,A2;1,2,3,A1″ — (девайс в режиме «модем + CD-ROM»)

AT^SETPORT=»A1,A2;1,2,3″ — (девайс в режиме «только модем»)

AT^SETPORT=»A1,A2;2,16″ — (девайс в режиме «сетевая карта»)

AT^SETPORT=»A1,A2;2,16,A1″ — (девайс в режиме «сетевая карта + CD-ROM»)

Команды для модема Huawei E3272:

AT^SETPORT=»A1,A2;10,12,16,A1,A2″ — Конфигурация по умолчанию

AT^SETPORT=»A1,A2;10,12,16,A2″ — Конфигурация по умолчанию, отключить CD

AT^SETPORT=»A1,A2;10,12,16″ — Конфигурация по умолчанию, отключить CD + SD

AT^SETPORT=»A1,A2;10,12″ — Конфигурация по умолчанию, отключить NDIS + CD + SD

AT^SETPORT=»A1;10,12,13,14,16,A1,A2″ — Включает: все COM порты + NDIS + CD + SD

AT^SETPORT=»A1;10,12,13,14″ — Включает: все COM порты, отключает: NDIS + CD + SD

AT^SETPORT=»A1;10,12,13,14,16″ — Включает: все COM порты + NDIS, отключает: CD + SD

AT^SETPORT=»A1;10,12,13,14,A2″ — Включает: все COM порты + SD, отключает: NDIS + CD

Команды для активации предпочтительных режимов сети (для E1750, E1820, E1550 и похожим моделей):

at^hspa=0 — режим wcdma

at^hspa=1 — режим hsdpa

at^hspa=2 — режим hspa

at^hspa=3 — режим hspa+

at^hspa=4 — сбалансированный режим. На некоторых форумах пишут, что кое-какие виды модемов с таким параметром лучше держут соединение.

Если на предыдущие команды появилось ERROR, то стоит попровать эти:

AT^HSDPA=1 — режим HSDPA

AT^HSDPA=0 — выключено

AT^HSUPA=1 — режим HSUPA

AT^HSUPA=0 — выключено

Внимание! Команды для активации предпочтительных режимов сети сбрасываются после отключения модема от питания.

Команды для разблокировки 3G-модема от конкретного оператора:

AT^CARDUNLOCK=»nck md5 hash»  — Сброс попыток к 10

AT^CARDLOCK=»nck code»  — Снятие блокировки

AT^CARDLOCK?  — Проверить блокировку и количество попыток в ответ модем выдаст:

CARDLOCK: A,B,0

A ->  2- означает, что симлока нет, 1-если модем залочен

B ->  количество оставшихся попыток разблокировки. У нового модема = 10

Обсуждение AT-команд на форуме, в теме: Настройка модема с помощью AT-команд

The provided solutions include a Python script for reading the last three SMS messages on a HUAWEI E3276 and a guide for sending SMS via command line using a Huawei E3131 with HiLink on a Debian-based Linux system. The author hopes that their scripts can help save someone else’s time, as they have worked flawlessly for about six months. They had searched the internet for a long time to find a suitable guide for this purpose.

Table of contents

After an extensive web search for a command line guide on how to send sms
with Huawei E3131 and HiLink on a Linux system based on Debian, I found that none of the available options were successful. Похоже, что эта проблема могла быть вызвана обновлением программного обеспечения.


Вот версии, которые мне показывает HiLink:

  • Имя устройства: E3131
  • Аппаратная версия: CU1E3131IM
  • Версия программного обеспечения
    : 22.521.23.00.00
  • Это относится к номеру версии веб-интерфейса 17.100.08.00.03.

В системе Linux на основе Debian с E3131, каков метод отправки и получения SMS-сообщений через командную строку?


Необходимо 3 шага:

  1. Получить идентификатор сеанса
  2. Получить токен
  3. Отправлять/получать смс

Получите идентификатор сеанса в качестве начального шага.

В моем личном сценарии оболочки я использую следующую команду для получения идентификатора сеанса.

 #!/bin/bash
curl -b session.txt -c session.txt http://192.168.8.1/html/index.html > /dev/null 2>&1 

Получите жетон на втором этапе.

Чтобы получить токен, я полагаюсь на набор команд, включенных в отдельный сценарий оболочки.

 #!/bin/bash
TOKEN=$(curl -s -b session.txt -c session.txt http://192.168.8.1/html/smsinbox.html)
TOKEN=$(echo $TOKEN | cut -d'"' -f 10)
echo $TOKEN > token.txt 

Шаг 3A — Передайте текстовое сообщение.

Третий сценарий оболочки, отправляющий SMS, также вызывает два предыдущих сценария.

 #!/bin/bash
NUMBER=$1
MESSAGE=$2
./session.sh
./token.sh
LENGTH=${#MESSAGE}
TIME=$(date +"%Y-%m-%d %T")
TOKEN=$(<token.txt) sms="-1$NUMBER$MESSAGE$LENGTH1$TIME" echo="" $sms="" curl="" -v="" -b="" session.txt="" -c="" -h="" "x-requested-with:="" xmlhttprequest"="" --data="" "$sms"="" http:="" 192.168.8.1="" api="" send-sms="" --header="" "__requestverificationtoken:="" $token"="" "content-type:text="" xml"=""  


command phonenumber "text"

Step 3B - Get SMS.

To obtain the most recent unread sms message, or if it's unavailable, the latest read SMS, I utilize the subsequent script.

#!/bin/bash
./session.sh
./token.sh
TOKEN=$(<token.txt) data="111001" curl="" -b="" session.txt="" -c="" -h="" "x-requested-with:="" xmlhttprequest"="" --data="" "$data"="" http:="" 192.168.8.1="" api="" sms="" sms-list="" --header="" "__requestverificationtoken:="" $token"="" "content-type:text="" xml"="" 


Although the code may not be of high quality, it is functional.


Despite Peter's clear explanation, I prefer to have a solitary script and implement it on OpenWrt routers rather than Debian.

This is my take on sending SMS.

#!/bin/sh
RESPONSE=`curl -s -X GET http://192.168.8.1/api/webserver/SesTokInfo`
COOKIE=`echo "$RESPONSE"| grep SessionID=| cut -b 10-147`
TOKEN=`echo "$RESPONSE"| grep TokInfo| cut -b 10-41`
NUMBER=$1
SMS=$2
DATA="-1$NUMBER$SMS111-1"
curl -v http://192.168.8.1/api/sms/send-sms \ -H "Cookie: $COOKIE" -H "__RequestVerificationToken: $TOKEN" -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \ --data $DATA

Below is the script to read the three most recent sms messages.

#!/bin/sh
RESPONSE=`curl -s -X GET http://192.168.8.1/api/webserver/SesTokInfo`
COOKIE=`echo "$RESPONSE"| grep SessionID=| cut -b 10-147`
TOKEN=`echo "$RESPONSE"| grep TokInfo| cut -b 10-41`
DATA="131001"
curl -b $COOKIE -c $COOKIE -H "X-Requested-With: XMLHttpRequest" --data "$DATA" http://192.168.8.1/api/sms/sms-list --header "__RequestVerificationToken: $TOKEN" --header "Content-Type:text/xml"

I created a setting for my HUAWEI E3276, which I named python script.

import requests, sys
import xml.etree.ElementTree as ET
msg = "From python"
phone = "PHONE_NUMBER" #To fill
ip = "192.168.1.1" #Dongle ip
# get session
session = requests.Session()
# get token
r = session.get("http://%s/api/webserver/token" % ip)
root = ET.fromstring(r.content)
token = root[0].text
print "token", token
# send sms
headers = { "__RequestVerificationToken": token, "Content-Type": "text/xml" }
data = "-1%s%s%d1$TIME" % ( phone, msg, len(msg) )
r = session.post( "http://%s/api/sms/send-sms" % ip, data=data, headers=headers )
print "send-sms", r.headers, r.content

I hope i can save someone the week:

For approximately six months, the scripts functioned flawlessly. However, suddenly, the ability to send was lost due to
receiving stoped working
.

Upon accessing the web interface using http://192.168.8.1, I discovered that the message box of the stick had reached its capacity. To resolve this issue, I proceeded to eliminate the contents of the full box.

(used stick: huawei e3531 SurfStick)

HUAWEI E3131 3G USB STICK MODEM 21.6 Mbps, HUAWEI
E3131 3G USB STICK MODEM 21.6 MbpsUnboxing, setup and demoread my blog entry - http://goo.gl/CqD2GEdited with Final Cut Pro X and Compressor-----




sending and receiving sms by command line with huawei

modem shows as mass storage

USB-ключ Huawei E3131 (разблокирован) #Huawei

https://youtube.com/watch?v=allQSA6UDxw

Открытие модема Huawei E3131 для установки SIM-карты

Модем Huawei 3G E3131

Модем Huawei E3131 отображается как запоминающее устройство

После обновления моей системы Ubuntu 18.04 LTS я обнаружил, что мой USB-ключ Huawei E3131 больше не распознается как модем. Вместо этого он идентифицируется как запоминающее устройство, когда я использую команду
lsusb

чтобы проверить его состояние.

E3131 отправка смс через ат

Кроме того, я интегрировал usb_modeswitch на свой компьютер. Несмотря на поиск в Интернете, я не смог найти средство, позволяющее этому устройству работать в качестве модема.

  1. Подключите компьютер к USB-ключу.
  2. Запустите терминал и выполните команду
    dmesg

    .

Будет отображаться обнаружение устройства, в моей ситуации оно отображается как запоминающее устройство.

E3131 отправка смс через ат

Выполните
lsusb

Команда для отображения идентификации как поставщика, так и продукта.

 tar xjf libusb(your_version).tar.bz2
cd libusb(your_version)
sudo make install 

Получить самую последнюю версию usb_modeswitch
tarball и продолжите его установку.

 tar usb-modeswitch(your_version).tar.bz2
cd usb-modeswitch(your_version)
sudo make install 

Чтобы получить usb-modeswitch-data-(your_version), просто повторите процесс загрузки и установки, используя те же шаги.

 tar usb-modeswitch-data-(your_version).tar.bz2
cd usb-modeswitch-data-(your_version)
sudo make install 

После этого выполните приведенную ниже команду

 sudo usb_modeswitch -v 12d1 -p 14fe -M '55534243123456780000000000000011062000000100000000000000000000' 

После казни
lsusb

, ожидается, что проблема будет решена, и сигнал мобильного широкополосного доступа должен стать видимым. Кроме того, выполненная команда укажет устройство как модем.

E3131 отправка смс через ат

Как предотвратить размонтирование 3G-модема Huawei E3131?

Требуется помощь, чтобы мой модем Huawei E3131 стабильно работал в моей операционной системе Ubuntu 12.04.2. Хотя в прошлом ключи 3G функционировали должным образом, недавно полученный Huawei E3131 вызывает некоторые проблемы.

При подключении операционная система Ubuntu идентифицирует устройство как CD-ROM и модем. Используя Nautilus, я могу просматривать содержимое ключа, а Network Manager может легко настроить ключ и управлять им. Со всеми этими функциями, установленными на месте, я могу даже путешествовать по Интернету.

Через несколько минут компакт-диск размонтируется, и соединение обрывается. Я делаю паузу примерно 15 секунд, а затем CD-ROM снова монтируется. Впоследствии Network Manager может подключиться снова, но сеанс серфинга длится недолго. Этот цикл повторяется снова и снова.

Устройство работает и как модем, и как CD-ROM, указывая на то, что задействован процесс переключения режимов. The issue cannot be attributed to signal coverage as the same SIM card was used on three other dongles without any problem. Interestingly, the other dongles were not recognized as CD-ROMs unlike the E3131, which is the only one experiencing this issue.

Output of lsusb

 Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0ac8:c342 Z-Star Microelectronics Corp.
Bus 001 Device 010: ID 12d1:1506 Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/Networkcard
Bus 001 Device 004: ID 0a5c:219b Broadcom Corp. Bluetooth 2.1 Device 

Despite trying to install the drivers from this source, my device, which is an E3131, was not recognized. Interestingly, lsusb identifies it as an E398, but it is unclear whether this is relevant to the issue at hand.

I’m in need of assistance and have exhausted all my ideas. I’m hoping that someone can lend a hand.

Thank you very much!

It is a well-known fact that 3G-dongle
s consume a considerable amount of energy.

It is possible that your computer does not provide sufficient power, causing your 3G-dongle to malfunction (due to its marginal nature). Another possibility is that the USB-port power circuit
is also marginal and may disconnect after some time.

When connected to a powered USB hub, attempting to use the 3G-dongle might be worthwhile.

To determine if sustained use is possible for over 15 or 30 minutes, it could be beneficial to attempt disconnection from the 3G network. The dongle’s power draw is minimal when the radio component is not in operation, and continuous reading from its «CD-ROM» can be utilized for this purpose.

It seems that mode switching is not occurring. It’s worth noting that the 3131 device can also be used as a CD drive by inserting a micro SD card. The Huawei Software functions as both a modem and a converter, transforming USB to traditional serial communication. Similarly, the MSDT_A1 tool tricks computers into thinking they’re connected to a network when in reality it’s just a standard serial connection.

HUAWEI E3131 — New Firmware Upgrade, Huawei
E3131 Firmware Upgrade. Modem works with TP LINK MR-3020, TP LINK 3420Modem
Huawei
e3131 flashowanie oprogramowania układowego. Nastepca tego modelu n



Read other technology post:
Tabular with horizontal lines inside fancyhead




3 ответа

Необходимо 3 шага:

  1. Получить идентификатор сеанса
  2. Получить токен
  3. Отправлять / получать смс

Шаг 1. Получите идентификатор сеанса

Для получения идентификатора сеанса я использую следующую команду в собственном сценарии оболочки:

 #!/bin/bash
curl -b session.txt -c session.txt http://192.168.8.1/html/index.html > /dev/null 2>&1 

Шаг 2. Получите токен

Для получения токена я использую следующие команды, также в собственном сценарии оболочки:

 #!/bin/bash
TOKEN=$(curl -s -b session.txt -c session.txt http://192.168.8.1/html/smsinbox.html)
TOKEN=$(echo $TOKEN | cut -d'"' -f 10)
echo $TOKEN > token.txt 

Шаг 3, часть A. Отправьте SMS

Наконец, третий сценарий оболочки для отправки sms, который также вызывает два других сценария:

 #!/bin/bash
NUMBER=$1
MESSAGE=$2
./session.sh
./token.sh
LENGTH=${#MESSAGE}
TIME=$(date +"%Y-%m-%d %T")
TOKEN=$(<token.txt)
SMS="<request><Index>-1</Index><Phones><Phone>$NUMBER</Phone></Phones><Sca/><Content>$MESSAGE</Content><Length>$LENGTH</Length><Reserved>1</Reserved><Date>$TIME</Date></request>"
echo $SMS
curl -v -b session.txt -c session.txt -H "X-Requested-With: XMLHttpRequest" --data "$SMS" http://192.168.8.1/api/sms/send-sms --header "__RequestVerificationToken: $TOKEN" --header "Content-Type:text/xml" 
 command phonenumber "text" 

Шаг 3, часть 2. Получение SMS

А для получения последней непрочитанной смс (или, если она недоступна, последней прочитанной смс) я использую следующий скрипт:

 #!/bin/bash
./session.sh
./token.sh
TOKEN=$(<token.txt)
DATA="<request><PageIndex>1</PageIndex><ReadCount>1</ReadCount><BoxType>1</BoxType><SortType>0</SortType><Ascending>0</Ascending><UnreadPreferred>1</UnreadPreferred></request>"
curl -b session.txt -c session.txt -H "X-Requested-With: XMLHttpRequest" --data "$DATA" http://192.168.8.1/api/sms/sms-list --header "__RequestVerificationToken: $TOKEN" --header "Content-Type:text/xml" 

Возможно, это не очень хорошее кодирование, но оно работает.

1 Июл 2016 в 15:42

Я сделал скрипт Python для своего HUAWEI E3276:

 import requests, sys
import xml.etree.ElementTree as ET
msg = "From python"
phone = "PHONE_NUMBER" #To fill
ip = "192.168.1.1" #Dongle ip
#Get token
r = requests.get("http://%s/api/webserver/token" % ip)
root = ET.fromstring(r.content)
token = root[0].text
print "token", token
#Send sms
headers = { "__RequestVerificationToken": token, "Content-Type": "text/xml" }
data = "<request><Index>-1</Index><Phones><Phone>%s</Phone></Phones><Sca/><Content>%s</Content><Length>%d</Length><Reserved>1</Reserved><Date>$TIME</Date></request>" % ( phone, msg, len(msg) )
r = requests.post( "http://%s/api/sms/send-sms" % ip, data=data, headers=headers )
print "send-sms", r.headers, r.content 

26 Июл 2017 в 09:50

Хотя Питер очень хорошо это объяснил, но мне нравится иметь один сценарий, и я также использую его на маршрутизаторах OpenWrt вместо Debian.

Итак, вот моя версия для отправки СМС:

 #!/bin/sh
RESPONSE=`curl -s -X GET http://192.168.8.1/api/webserver/SesTokInfo`
COOKIE=`echo "$RESPONSE"| grep SessionID=| cut -b 10-147`
TOKEN=`echo "$RESPONSE"| grep TokInfo| cut -b 10-41`
NUMBER=$1
SMS=$2
DATA="<?xml version='1.0' encoding='UTF-8'?><request><Index>-1</Index><Phones><Phone>$NUMBER</Phone></Phones><Sca></Sca><Content>$SMS</Content><Length>11</Length><Reserved>1</Reserved><Date>-1</Date></request>"
curl -v http://192.168.8.1/api/sms/send-sms \ -H "Cookie: $COOKIE" -H "__RequestVerificationToken: $TOKEN" -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \ --data $DATA 

А вот скрипт для чтения последних трех sms-сообщений:

 #!/bin/sh
RESPONSE=`curl -s -X GET http://192.168.8.1/api/webserver/SesTokInfo`
COOKIE=`echo "$RESPONSE"| grep SessionID=| cut -b 10-147`
TOKEN=`echo "$RESPONSE"| grep TokInfo| cut -b 10-41`
DATA="<request><PageIndex>1</PageIndex><ReadCount>3</ReadCount><BoxType>1</BoxType><SortType>0</SortType><Ascending>0</Ascending><UnreadPreferred>1</UnreadPreferred></request>"
curl -b $COOKIE -c $COOKIE -H "X-Requested-With: XMLHttpRequest" --data "$DATA" http://192.168.8.1/api/sms/sms-list --header "__RequestVerificationToken: $TOKEN" --header "Content-Type:text/xml" 

26 Авг 2016 в 18:34

Оцените статью
Huawei Devices