Иcпользование функции GSM LOCATION
GSM Location – определение координат местоположения по информации о базовых станциях.
В GSM модулях SIMCom эта функция использует базу Google и для работы требуется подключение к Интернету. Данные о ближайших базовых станциях (БС) посылаются на сервис Google по протоколу HTTP. В ответ приходят данные с координатами ближайших БС. Алгоритм расчета координат модуля основан на сведениях об основной БС, к которой он сейчас привязан, трех ближайших БС и уровне сигнала. Все расчеты и запросы скрыты от пользователя. Для получения координат местоположения модуля необходимо установить GPRS-соединение и отправить команду
AT+CIPGSMLOC
.Точность определения координат зависит от количества БС в округе и качестве сигнала, поэтому в городе можно получить достаточно точные координаты, в то время как за городом отклонения могут достигать сотен метров.
Ниже приведен пример АТ-лога для получения координат:
Код: Выделить всё
AT+SAPBR=3,1,"CONTYPE","GPRS" //CONTYPE – тип подключения GPRS или CSD
OK
AT+SAPBR=3,1,"APN","internet.mts.ru" //APN – точка подключения
OK // ответ
AT+SAPBR=1,1 // подключаемся
OK // ответ
AT+SAPBR=2,1 // проверка подключения
+SAPBR: 1,1,"10.134.67.250" // ответ
AT+CIPGSMLOC=1,1 // команда на запрос координат
+CIPGSMLOC: 0,37.918892,59.119633,2017/08/08,16:42:19 // 0 – соединение установлено, 37.918892 – долгота, 59.119633 – широта, далее время по Гринвичу.
OK
Информацию о ближайших БС, видимых модемом, можно следующим образом:
Код: Выделить всё
AT+CENG=1
OK
AT+CENG?
+CENG: 1,0
// ответ
+CENG: 0,"0085,49,00,250,01,08,1645,05,05,0fa4,255"
+CENG: 1,"0096,3335004
E:,0,,,01f"+N "8242,,a
CG413795004
E:,0,,,01f"+N "6142,,a