AT команды для модуля SIM900D
AT - Данную команду необходимо вводить при первом подключении к модулю.
Основные команды
AT+CCLK? - Вернет текущую дату и время.
AT+CCLK="гг/мм/дд,чч:мм:сс+пп" - Ввод даты и время + часовой пояс.
AT+GSV - Вернет данные о модуле, прошивке и серийном номере
AT+CSQ - Вернет уровень приема сети от 0 до 31. 99 - нет сети.
AT+COPS? - Вернет оператора к которому подключился модуль
AT+CMGS="89161234567" "Enter" - Отправит SMS с текстом "Некий текст" на номер
> Некий текст "Ctrl + Z" 89161234567
ATD89161234567; - Позвонит на номер 89161234567 (точка с запятой обязательно)
ATD#102# - Узнать баланс. Работает с МТС и Билайн. С Мегафоном не работает.
AT+CBC - Вернет уровень заряда батареи. (Как я понял в мВ)
AT+CPOWD=0/1 - Выключит модуль. Если с 0, то просто выключает. Если с 1, то
вернет сообщение о нормальном выключении.
Команды для работы с HTTP
Передача данных методом GET
Если требуется передать на сервер какие-то данные и обработать их скриптом, то
эти команды то что нужно.
AT+HTTPINIT - Вернет Ок если нормально проинициализировалось.
AT+HTTPPARA="URL","www.server.ru/script.php?data=param"- Что и куда будем передавать.
AT+HTTPACTION=0 - Старт сессии (в этот момент модуль передаст данные на сервер).
И вернет ответ от сервера.
AT+HTTPREAD - Как я понял, должен прочитать данные с сервера.
AT+HTTPTERM - Закрыть сессию.
Получение/передача данных из/в файла из/в FTP сервера.
AT+SAPBR=1,1 - Открытие GPRS соединения.
AT+SAPBR=0,1 - Закрытие GPRS соединения.
AT+SAPBR=2,1 - Запрос состояния GPRS соединения.
Ответ:
AT+SAPBR:<Идентификатор профиля>,<Состояние соединения>,"IP"
<Идентификатор профиля>
0 - Закрыть соединение
1 - Открыть соединение
2 - Запрос соединения
3 - Установить параметры соединения
4 - Получить параметры соединения
5 - Сохранить значение параметров в NVRAM
<Состояние соединения>
0 - Идет установка соединения
1 - Соединение установлено
2 - Соединение закрывается
4 - Соединение закрыто
"IP"
IP адрес присвоенный провайдером
AT+FTPCID=1 Установка CID для FTP сессии
AT+FTPSERV="www.server.ru" Адрес FTP сервера
AT+FTPPORT=хххх Номер порта FTP сервера
AT+FTPUN="login" Имя пользователя FTP сервера
AT+FTPPW="password" Пароль для пользователя FTP сервера
AT+FTPGETPATH="/" Директория в которой находится требуемый файл.
AT+FTPGETNAME="file.txt" Имя файла котрый необходимо прочитать
AT+FTPGET=1 Открытие FTP сессии для получения данных.
Ответ:
+FTPGET:<Режим>,<Ответ состояния>
<Режим>
1 - Попытка открыть FTP сессию
<Ответ состояния>
1 - Удачная открытая сессия.
Ошибки:
61 - Ошибка сети (Нед подключения)
62 - Ошибка DNS
63 - Ошибка соединения
64 - Ошибка по таймауту (Закончилось время ожидания ответа от FTP сервера)
65 - Ошибка сервера
66 - Не позволительная операция
70 - Повтор ошибки
71 - Неверное имя пользователя
72 - Неверный пароль пользователя
AT+FTPGET=2,<Количество получаемых байт> Команда чтения данных файла из FTP.
<Количество получаемых байт> Количество байт для чтения из FTP сервера
Ответ:
+FTPGET=2,<Количество принятых байт>
<Количество принятых байт> Количество принятых байт из FTP сервера.
AT+FTPPUT=1 Запись данных на FTP сервер
Ответ:
+FTPPUT=<Состояние>,<Максимальное кол-во передаваемых байт>
<Состояние>
1 - Передача прошла удачно.
Ошибки: Смотри ошибки FTPGET
<Максимальное кол-во передаваемых байт>
В случае удачного подключения указывает на максимальное количество
передаваемых байт за одну сессию.
AT+FTPPUT=2,<Количество передаваемых байт>
Ответ:
+FTPPUT=2,<Количество переданных байт>
<Количество переданных байт> Количество байт которые были переданы на
FTP сервер.
AT+FTPPUT=2,0 Команда о прекращении передачи данных на FTP сервер
Пример получения данных из файла file.txt находящегося на FTP сервере в директории
/mydir/file.txt Адрес FTP сервера www.ftpserver.ru, порт 21, логин user, пароль
password.
AT+SAPBR=1,1 // Подключились к GPRS
OK
AT+FTPCID=1 // Выбрали CID
OK
AT+FTPSERV="www.ftpserver.ru" // Передали адрес FTP сервера
ОК
AT+FTPUN="user" // Передали имя пользователя
OK
AT+FTPPW="password" // Передали пароль пользователя
OK
AT+FTPGETPATH="/mydir/" // Передали директорию где лежит файл
OK
AT+FTPGETNAME="file.txt" // Передали имя файла
OK
AT+FTPGET=1 // Отправили команду на подключение к серверу
+FTPGET=1,1 // Данный ответ говорит об удачном подключении к серверу. Если второй
параметр отличный от 1, значит возникла ошибка.
описание ошибки смотрим выше.
AT+FTPGET=2,100 // Передаем команду на получение не более 100 байт из файла.
OK
+FTPGET:2,5 // Ответ о том что получили из файла 5 байт
12345 // То что было в файле
OK
AT+SAPBR=0,1 // Заканчиваем работу с GPRS