Documentation
¶
Index ¶
- Variables
- func DecodeGSMText(text string) string
- func DecodeUCS2(hexStr string) (string, error)
- func DisableDebug()
- func EnableDebug()
- func EncodeUCS2(text string) string
- func FormatResponse(response string) string
- func IsUCS2Hex(str string) bool
- type Event
- type EventType
- type Modem
- func (m *Modem) AnswerCall() error
- func (m *Modem) Close() error
- func (m *Modem) CountUnreadSMS() (int, error)
- func (m *Modem) DeleteAllSMS() error
- func (m *Modem) DeleteReadSMS() error
- func (m *Modem) DeleteSMS(index int) error
- func (m *Modem) DeleteSMSByStatus(status int) error
- func (m *Modem) EnableNewSMSNotification() error
- func (m *Modem) EnterPIN(pin string) error
- func (m *Modem) GetCallStatus() ([]map[string]string, error)
- func (m *Modem) GetCurrentOperator() (*OperatorInfo, error)
- func (m *Modem) GetEventChannel() (<-chan Event, error)
- func (m *Modem) GetExtendedInfo() (map[string]string, error)
- func (m *Modem) GetGPRSStatus() (NetworkStatus, error)
- func (m *Modem) GetIMEI() (string, error)
- func (m *Modem) GetLastFailureReason() (string, error)
- func (m *Modem) GetManufacturer() (string, error)
- func (m *Modem) GetModel() (string, error)
- func (m *Modem) GetModemMode() (ModemMode, error)
- func (m *Modem) GetNetworkStatus() (NetworkStatus, error)
- func (m *Modem) GetRevision() (string, error)
- func (m *Modem) GetSIMNumber() (string, error)
- func (m *Modem) GetSIMStatus() (PinStatus, error)
- func (m *Modem) GetSMSStorageInfo() (map[string]string, error)
- func (m *Modem) GetSignalQuality() (*SignalQuality, error)
- func (m *Modem) HangUp() error
- func (m *Modem) IsEventListenerRunning() bool
- func (m *Modem) ListReadSMS() ([]*SMS, error)
- func (m *Modem) ListSMS(status string) ([]*SMS, error)
- func (m *Modem) ListSentSMS() ([]*SMS, error)
- func (m *Modem) ListUnreadSMS() ([]*SMS, error)
- func (m *Modem) ListUnsentSMS() ([]*SMS, error)
- func (m *Modem) MakeCall(number string) error
- func (m *Modem) MarkSMSAsRead(index int) error
- func (m *Modem) ReadSMS(index int) (*SMS, error)
- func (m *Modem) ScanOperators() ([]OperatorInfo, error)
- func (m *Modem) SelectOperator(numeric string) error
- func (m *Modem) SendCommand(cmd string, timeout time.Duration) (string, error)
- func (m *Modem) SendLongSMS(number, text string) error
- func (m *Modem) SendSMS(number, text string) error
- func (m *Modem) SendUSSD(code string) (string, error)
- func (m *Modem) SetAutomaticOperatorSelection() error
- func (m *Modem) SetCallWaiting(enable bool) error
- func (m *Modem) SetModemMode(mode ModemMode) error
- func (m *Modem) SetNewSMSIndication(mode int, mt int, bm int, ds int, bfr int) error
- func (m *Modem) SetSMSStorage(readStorage, writeStorage, receiveStorage SMSStorage) error
- func (m *Modem) StartEventListener() error
- func (m *Modem) StopEventListener() error
- func (m *Modem) TestConnection() error
- func (m *Modem) WaitForEvent(eventType EventType, timeout time.Duration) (*Event, error)
- type ModemInfo
- type ModemMode
- type NetworkStatus
- type OperatorInfo
- type PinStatus
- type SMS
- type SMSStorage
- type SignalQuality
Constants ¶
This section is empty.
Variables ¶
var DebugMode = false
DebugMode включает/выключает режим отладки
Functions ¶
func DecodeGSMText ¶
DecodeGSMText автоматически определяет кодировку и декодирует текст
func DecodeUCS2 ¶
DecodeUCS2 декодирует UCS2/UTF-16 текст из hex строки
func EncodeUCS2 ¶
EncodeUCS2 кодирует текст в UCS2/UTF-16 hex строку
func FormatResponse ¶
FormatResponse форматирует ответ для отображения
Types ¶
type EventType ¶
type EventType string
EventType тип события
const ( EventNewSMS EventType = "NEW_SMS" EventIncomingCall EventType = "INCOMING_CALL" EventCallEnded EventType = "CALL_ENDED" EventNetworkChange EventType = "NETWORK_CHANGE" EventSignalChange EventType = "SIGNAL_CHANGE" EventUSSD EventType = "USSD" EventModemError EventType = "MODEM_ERROR" EventSMSDeliveryReport EventType = "SMS_DELIVERY_REPORT" )
type Modem ¶
type Modem struct {
// contains filtered or unexported fields
}
Modem представляет GSM модем
func (*Modem) CountUnreadSMS ¶
CountUnreadSMS возвращает количество непрочитанных SMS
func (*Modem) DeleteReadSMS ¶
DeleteReadSMS удаляет все прочитанные SMS
func (*Modem) DeleteSMSByStatus ¶
DeleteSMSByStatus удаляет SMS по статусу
func (*Modem) EnableNewSMSNotification ¶
EnableNewSMSNotification включает уведомления о новых SMS
func (*Modem) GetCallStatus ¶
GetCallStatus возвращает статус текущих вызовов
func (*Modem) GetCurrentOperator ¶
func (m *Modem) GetCurrentOperator() (*OperatorInfo, error)
GetCurrentOperator возвращает текущего оператора
func (*Modem) GetEventChannel ¶
GetEventChannel возвращает канал событий
func (*Modem) GetExtendedInfo ¶
GetExtendedInfo возвращает расширенную информацию о модеме
func (*Modem) GetGPRSStatus ¶
func (m *Modem) GetGPRSStatus() (NetworkStatus, error)
GetGPRSStatus возвращает статус регистрации в GPRS
func (*Modem) GetLastFailureReason ¶
GetLastFailureReason возвращает последнюю причину отказа регистрации
func (*Modem) GetManufacturer ¶
GetManufacturer возвращает производителя модема
func (*Modem) GetModemMode ¶
GetModemMode возвращает текущий режим модема
func (*Modem) GetNetworkStatus ¶
func (m *Modem) GetNetworkStatus() (NetworkStatus, error)
GetNetworkStatus возвращает статус регистрации в сети GSM
func (*Modem) GetRevision ¶
GetRevision возвращает версию прошивки
func (*Modem) GetSIMNumber ¶
GetSIMNumber пытается получить номер телефона SIM-карты
func (*Modem) GetSIMStatus ¶
GetSIMStatus проверяет статус SIM-карты
func (*Modem) GetSMSStorageInfo ¶
GetSMSStorageInfo возвращает информацию о хранилище SMS
func (*Modem) GetSignalQuality ¶
func (m *Modem) GetSignalQuality() (*SignalQuality, error)
GetSignalQuality возвращает качество сигнала
func (*Modem) IsEventListenerRunning ¶
IsEventListenerRunning проверяет, запущен ли обработчик событий
func (*Modem) ListReadSMS ¶
ListReadSMS возвращает список прочитанных SMS
func (*Modem) ListSentSMS ¶
ListSentSMS возвращает список отправленных SMS
func (*Modem) ListUnreadSMS ¶
ListUnreadSMS возвращает список непрочитанных SMS
func (*Modem) ListUnsentSMS ¶
ListUnsentSMS возвращает список неотправленных SMS
func (*Modem) MarkSMSAsRead ¶
MarkSMSAsRead помечает SMS как прочитанное (читает его)
func (*Modem) ScanOperators ¶
func (m *Modem) ScanOperators() ([]OperatorInfo, error)
ScanOperators ищет доступных операторов
func (*Modem) SelectOperator ¶
SelectOperator выбирает оператора
func (*Modem) SendCommand ¶
SendCommand отправляет AT команду и ждет ответ
func (*Modem) SendLongSMS ¶
SendLongSMS отправляет длинное SMS (с разбивкой на части)
func (*Modem) SetAutomaticOperatorSelection ¶
SetAutomaticOperatorSelection устанавливает автоматический выбор оператора
func (*Modem) SetCallWaiting ¶
SetCallWaiting устанавливает ожидание вызова
func (*Modem) SetModemMode ¶
SetModemMode устанавливает режим работы модема
func (*Modem) SetNewSMSIndication ¶
SetNewSMSIndication устанавливает индикацию новых SMS
func (*Modem) SetSMSStorage ¶
func (m *Modem) SetSMSStorage(readStorage, writeStorage, receiveStorage SMSStorage) error
SetSMSStorage устанавливает хранилище для SMS
func (*Modem) StartEventListener ¶
StartEventListener запускает прослушивание событий
func (*Modem) StopEventListener ¶
StopEventListener останавливает прослушивание событий
func (*Modem) TestConnection ¶
TestConnection проверяет связь с модемом
type ModemInfo ¶
type ModemInfo struct {
Port string // Последовательный порт модема (/dev/ttyUSB0, COM3 и т.д.)
Manufacturer string // Производитель модема (Huawei, ZTE и т.д.)
Model string // Модель модема (E3372, MF823 и т.д.)
Revision string // Версия прошивки модема
IMEI string // International Mobile Equipment Identity (15 цифр)
Description string // Составное описание: "Manufacturer Model"
}
ModemInfo содержит информацию о модеме
func GetAvailableModems ¶
GetAvailableModems возвращает список доступных модемов
type ModemMode ¶
type ModemMode int
ModemMode представляет режим работы модема
const ( ModemModeOffline ModemMode = iota // 0 - минимальная функциональность (режим полета) ModemModeOnline // 1 - полная функциональность ModemModeLowPower // 2 - отключить передатчик RF ModemModeFactoryTest // 3 - заводской тестовый режим ModemModeReset // 4 - сброс модема ModemModeShuttingDown // 5 - выключение модема )
type NetworkStatus ¶
type NetworkStatus int
NetworkStatus представляет статус регистрации в сети
const ( NetworkNotRegistered NetworkStatus = iota // 0 - не зарегистрирован, поиск не выполняется NetworkRegisteredHome // 1 - зарегистрирован в домашней сети NetworkSearching // 2 - не зарегистрирован, выполняется поиск сети NetworkRegistrationDenied // 3 - регистрация отклонена NetworkUnknown // 4 - неизвестный статус NetworkRegisteredRoaming // 5 - зарегистрирован в роуминге )
type OperatorInfo ¶
type OperatorInfo struct {
Status string // "0"=неизвестно, "1"=доступен, "2"=текущий, "3"=запрещен
LongName string // Полное название оператора (например: "MegaFon")
ShortName string // Короткое название оператора
Numeric string // Числовой код оператора MCC+MNC (например: "25002" = Россия + МегаФон)
}
OperatorInfo содержит информацию об операторе
type PinStatus ¶
type PinStatus string
PinStatus представляет статус PIN-кода
const ( PinReady PinStatus = "READY" // SIM карта готова к работе PinRequired PinStatus = "SIM PIN" // Требуется ввод PIN-кода PukRequired PinStatus = "SIM PUK" // Требуется ввод PUK-кода (PIN заблокирован) PinBlocked PinStatus = "SIM PIN2" // Требуется ввод PIN2-кода PukBlocked PinStatus = "SIM PUK2" // Требуется ввод PUK2-кода )
type SMS ¶
type SMS struct {
Index int // Индекс сообщения в памяти модема (1-255)
Status string // Статус сообщения: "REC UNREAD", "REC READ", "STO SENT", "STO UNSENT"
Sender string // Номер телефона отправителя в международном формате (+7...)
Receiver string // Номер телефона получателя (для отправленных сообщений)
Time time.Time // Время получения/отправки сообщения
Text string // Текст сообщения (до 160 символов для латиницы, 70 для кириллицы)
}
SMS представляет текстовое сообщение
type SMSStorage ¶
type SMSStorage string
SMSStorage представляет хранилище SMS
const ( StorageSIM SMSStorage = "SM" // SIM card - хранилище на SIM-карте StoragePhone SMSStorage = "ME" // Phone memory - внутренняя память модема StorageAny SMSStorage = "MT" // Any storage - любое доступное хранилище StorageBroadcast SMSStorage = "BM" // Broadcast message - широковещательные сообщения StorageStatus SMSStorage = "SR" // Status report - отчеты о доставке )
type SignalQuality ¶
type SignalQuality struct {
RSSI int // Received Signal Strength Indicator (0-31, 99=неизвестно). 0-9=слабый, 10-14=средний, 15-19=хороший, 20-31=отличный
BER int // Bit Error Rate (0-7, 99=неизвестно). 0=без ошибок, 7=максимум ошибок
}
SignalQuality представляет качество сигнала