zoviet/narodmon

Клиент API чтения данных с датчиков для narodmon

dev-master 2021-04-12 14:48 UTC

This package is auto-updated.

Last update: 2024-05-29 05:27:18 UTC


README

narodmon: клиент для работы с API narodmon на получение данных

================================

Использование

Необходимо зарегистрироваться на https://narodmon.ru и в разделе "Софт" зарегистрировать приложение, получив ключ API.

Установка narodmon API через Composer:

composer require zoviet/narodmon

Установка через git:

git clone https://github.com/Zoviet/narodmon

Функционал:

  1. Поддержка всех методов получения данных с датчиков

⋅⋅⋅ appInit - проверка местонахождения пользователя и справочник типов датчиков

⋅⋅⋅ mapBounds - запрос списка датчиков и веб-камер в указанной прямоугольной области карты

⋅⋅⋅ sensorsNearby - запрос списка ближайших к пользователю датчиков + свои + избранные

⋅⋅⋅ sensorsOnDevice - запрос списка датчиков и их показаний по ID прибора

⋅⋅⋅ sensorsValues - регулярное обновление показаний выбранных датчиков

⋅⋅⋅ sensorsHistory - история показаний датчика за период

  1. Поддержка минутной задержки между запросами
  2. Обработка кодов ответов

Использование

//API ключ narodmon
$api_key = '4d3QMhdRDAVRX';	

$narodmon = new \narodmon\api($api_key);

//инициализация (при необходимости) данными с сервера (координаты пользователя (заданные через метод userlocation), адрес)

$narodmon->appInit();

//в результате инициализации в $narodmon->types будет массив кодов датчиков сенсоров по типам

//получение коллекции измерений с устройств по id 

$narodmon->sensorsOnDevice(9275);
//по умолчанию минутная задержка между запросами
//для сброса задержки $narodmon->wait = false;
$narodmon->sensorsOnDevice(8620);

//пополнение коллекции результатами измерений и съемок в радиусе от установленных координат
//радиус поиска - 10 км

$narodmon->sensorsNearby(10,54.3140,48.4041);

//то же самое, но координаты задаем для всего объекта класса

$narodmon->userLocation(54.3140,48.4041);

//после чего получаем то же самое, но теперь попробуем в радиусе 5 км

$narodmon->sensorsNearby(5);

//получаем показания сенсоров приборов из списка

$narodmon->sensorsValues([9275,8620]);

//ищем все датчики и вебкамеры в прямоугольной области карты

$narodmon->mapBounds([54.3140,48.4041,54.5140,48.5041]);

//собираем данные сенсора за период

$narodmon->sensorsHistory(9275,'month');

var_dump($narodmon->sensors); // показания сенсоров здесь

var_dump($narodmon->devices); //коллекция всех устройств с сенсорами: и найденных, и которые вызывались по id

//посмотрим найденные вебкамеры

var_dump($narodmon->webcams);

//ошибки процесса (если были)

var_dump($narodmon::$errors);

//заодно сработал геокодер. текущий адрес:

echo $narodmon->addr;