Arduino:Библиотеки/SSerial2Mobile
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Библиотека SSerial2Mobile[1][2][3]
Эта библиотека позволяет отправлять электронные письма и SMS при помощи мобильного телефона, выступающего в качестве передатчика. Последовательная коммуникация с мобильным телефоном осуществляется при помощи библиотеки NewSoftSerial. Кроме того, в основе некоторых функций этой библиотеки лежат команды AT+, и с их помощью, собственно, и осуществляется отправка SMS и имейлов, а также ряд других задач.
Команды AT+ хранятся в заголовочном файле. Благодаря этому библиотеку SSerial2Mobile относительно просто заставить работать с другими телефонами.
Чтобы поменять модель телефона, воспользуйтесь файлом MOT-C168i.h. Команды для отправки SMS и имейлов на большинстве телефонов примерно одинаковы.
Чтобы поменять оператора связи, воспользуйтесь файлом ATT.h. В нем указывается номер оператора, шлюз которого используется для отправки имейлов. То есть, если вы используете другой шлюз (по умолчанию выставлен +121), этот номер нужно поменять.
Чтобы изменения, внесенные в файлы библиотеки, вступили в силу, вам нужно удалить SSerial2Mobile.o и перезапустить IDE Arduino – это запустит принудительную повторную компиляцию библиотеки.
Функции
- Создает новый экземпляр класса SSerial2Mobile. Здесь phone – название экземпляра, rxPin – контакт, принимающий данные по последовательному соединению, а txPin – контакт, передающий данные по последовательному соединению.
SSerial2Mobile phone = SSerial2Mobile(rxPin, txPin)
- Выключает передатчик телефона, тем самым экономя батарею.
phone.off()
- Включает передатчик телефона. У некоторых телефонов это функция сброса. Он спрятан от пользователя библиотеки в заголовочных файлах, содержащих команды AT+ для всех функций.
phone.off()
- Перезагружает (сбрасывает) телефон. Сброс может занять довольно продолжительное время (около 10 секунд, но зависит от модели телефона).
phone.reset()
- Отправляет SMS на другой телефон. Здесь первый параметр – это номер телефона, а второй – само сообщение. Длина сообщения не может превышать 160 символов.
phone.sendTxt("+15555550125","Lib SMS Test1")
- Отправляет имейл на указанный почтовый ящик. Здесь первый параметр – это почтовый ящик, на который отправляется письмо, а второй – само письмо. Длина письма не может превышать 160 символов.
phone.sendEmail("sserial2mobile@example.com", "Lib email test1")
- Передает данные на контакт передатчика по программно-последовательному порту, ставя в конце символы возврата каретки и перевода строки. Работает аналогично функции Serial.println()</syntaxhighlight> Эта функция для продвинутых пользователей, т.е. для тех, кто точно знает, какую команду хочет отправить телефону. Аргумент здесь – это, собственно, команда, отправляемая телефону.
phone.println("AT+")
- Считывает процент заряда батареи у телефона. Как правило, используется вместе с другими функциями, к примеру, так:
phone.batt()
Serial.print("Batt: ");
Serial.print(phone.batt());
Serial.println("%");
- Считывает мощность сигнала. Как правило, используется вместе с другими функциями, к примеру, так:
phone.rssi()
Serial.print("RSSI: ");
Serial.println(phone.rssi());
Чтобы отправить сообщение, этот показатель должен быть «5» или больше.
Примеры
- SSerial2Mobile Example1 - Отправка SMS и имейлов