Arduino:Библиотеки/SSerial2Mobile

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



Библиотека SSerial2Mobile[1][2][3]

Эта библиотека позволяет отправлять электронные письма и SMS при помощи мобильного телефона, выступающего в качестве передатчика. Последовательная коммуникация с мобильным телефоном осуществляется при помощи библиотеки NewSoftSerial. Кроме того, в основе некоторых функций этой библиотеки лежат команды AT+, и с их помощью, собственно, и осуществляется отправка SMS и имейлов, а также ряд других задач.

Команды AT+ хранятся в заголовочном файле. Благодаря этому библиотеку SSerial2Mobile относительно просто заставить работать с другими телефонами.

Чтобы поменять модель телефона, воспользуйтесь файлом MOT-C168i.h. Команды для отправки SMS и имейлов на большинстве телефонов примерно одинаковы.

Чтобы поменять оператора связи, воспользуйтесь файлом ATT.h. В нем указывается номер оператора, шлюз которого используется для отправки имейлов. То есть, если вы используете другой шлюз (по умолчанию выставлен +121), этот номер нужно поменять.

Чтобы изменения, внесенные в файлы библиотеки, вступили в силу, вам нужно удалить SSerial2Mobile.o и перезапустить IDE Arduino – это запустит принудительную повторную компиляцию библиотеки.

Функции

  • SSerial2Mobile phone = SSerial2Mobile(rxPin, txPin)
    
    Создает новый экземпляр класса SSerial2Mobile. Здесь phone – название экземпляра, rxPin – контакт, принимающий данные по последовательному соединению, а txPin – контакт, передающий данные по последовательному соединению.
  • phone.off()
    
    Выключает передатчик телефона, тем самым экономя батарею.
  • phone.off()
    
    Включает передатчик телефона. У некоторых телефонов это функция сброса. Он спрятан от пользователя библиотеки в заголовочных файлах, содержащих команды AT+ для всех функций.
  • phone.reset()
    
    Перезагружает (сбрасывает) телефон. Сброс может занять довольно продолжительное время (около 10 секунд, но зависит от модели телефона).
  • phone.sendTxt("+15555550125","Lib SMS Test1")
    
    Отправляет SMS на другой телефон. Здесь первый параметр – это номер телефона, а второй – само сообщение. Длина сообщения не может превышать 160 символов.
  • phone.sendEmail("sserial2mobile@example.com", "Lib email test1")
    
    Отправляет имейл на указанный почтовый ящик. Здесь первый параметр – это почтовый ящик, на который отправляется письмо, а второй – само письмо. Длина письма не может превышать 160 символов.
  • phone.println("AT+")
    
    Передает данные на контакт передатчика по программно-последовательному порту, ставя в конце символы возврата каретки и перевода строки. Работает аналогично функции Serial.println()</syntaxhighlight> Эта функция для продвинутых пользователей, т.е. для тех, кто точно знает, какую команду хочет отправить телефону. Аргумент здесь – это, собственно, команда, отправляемая телефону.
  • phone.batt()
    
    Считывает процент заряда батареи у телефона. Как правило, используется вместе с другими функциями, к примеру, так:
Serial.print("Batt: ");
Serial.print(phone.batt());
Serial.println("%");
  • phone.rssi()
    
    Считывает мощность сигнала. Как правило, используется вместе с другими функциями, к примеру, так:
Serial.print("RSSI: "); 
Serial.println(phone.rssi());

Чтобы отправить сообщение, этот показатель должен быть «5» или больше.

Примеры

См.также

Внешние ссылки