Проект создания плагина для получения погоды с сайта Народного мониторинга


Предыдущая | Следующая

Теперь напишем собственный плагин, который будет получать с сайта Народного мониторинга (http://www.narodmon.ru) список устройств, расположенных в ра­диусе 50 км от определенной точки, и демонстрировать показания погодных датчи­ков на этих устройствах. Воспользуемся для этого API сайта narodmon.ru.

Нам потребуются два метода API:

* sensorNear — запрос списка датчиков поблизости;

* sensorDev — запрос списка датчиков по ID устройства мониторинга.

Описание методов API narodmon.ru можно найти на странице http://narodmon.ru/#apidoc

Для создания приложения необходимо получить ключи AP — заходим в свой профиль на сайте narodmon.ru (Мои данные | Мои ключи API | запросить новый), заполняем данные и получаем ключ (рис. 5.49).

При запуске плагина наш скрипт обращается к API сайта narodmon.ru для получе­ния списка устройств, находящихся в радиусе 50 км от выбранной точки центра региона Кавказские Минеральные Воды с координатами (lat = 44.05, lng = 42.80). Полученные результаты выводятся в окно в виде списка. При выборе элемента спи­ска скрипт обращается к сайту для получения списка датчиков выбранного устрой­ства и выводит список датчиков и последние показания (рис. 5.50).

Содержание файлов default.py и addon.xml представлены в листингах 6.6 и 6.7 соответственно.

Листинг 6.6. Файл default.py

Листинг 6.7. Файл addon.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <addon id="script.narodmonnaKMV" name=''Narodmon" version="0.0.1" provider-name="Petin V">

<requires>

<import addon="xbmc.python" version="2.0"/> </requires>

<extension point="xbmc.python.script" library="default.py"> <provides>executable</provides>

</extension>

<extension point="xbmc.addon.metadata"> <platform>all</platform>

<summary lang="en">Narodmon</summary>

<description lang=''en">Narodmon</description>

</extension>

</addon>

Примечание

Файлы default.py и addon.xml (см. листинги 6.6 и 6.7), а также файл icon.png вы найдете в папке glava_05\script.narodmonnaKMV сопровождающего книгу электронного архива (см. приложение).

Для установки плагина заходим в меню системы Raspbmc Система | Дополнения | Установить из файла ZIP и указываем путь к архиву с нашим скриптом. Все, пла­гин установлен (рис. 5.51).

Можно добавить нашему плагину универсальности, создав файл настроек settings.xml, позволяющий задавать координаты нужного места и радиус нахождения ближайших датчиков. Тогда в меню Настройки можно будет изменять эти переменные (рис. 5.52).

Содержимое файла settings.xml представлено в листинге 6.8.

Листинг 6.8. Файл settings.xml

<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<settings>

<setting type="lsep" label="Settings" />

<setting id="lat" type="text" label="Широта" default="44.05"/>

<setting id="lng" type="text" label="Долгота" default="42.80"/>

<setting id="radius" type="text" label="Радиус, км" default="50"/> </settings>

Примечание

Файл settings.xml (листинг 6.8) вы найдете в папке glava_05\script.narodmonnaKMV\resources сопровождающего книгу электронного архива (см. приложение).

Думаю, изменить плагин для внесения новой функциональности не составит для вас труда.