Видеотелефоны Grandstream GXV3000. Часть 1 - Показываем погоду на экране.
Для начала уточню Grandstream GXV3000 = RTVC VXP-100 (да-да, это мы их так продаём).
Про саму спецификацию телефонов можете почитать на ссылкам выше. Телефоны телефонами, но нас интересует его функционал. Из спецификации, да и настроек выходит что:
1. Он умеет/должен показывать на экране погоду;
2. Он умеет/должен показывать на экране RSS новости;
3. Он умеет/должен загружать адресную книгу.
НО! Я нигде не нашёл информации о формате файлов по первому и второму пунктам. Да, да, даже RSS у него какой-то свой, узкоглазый наверно . Поэтому надеюсь кому-нибудь моя статья ещё пригодится.
Итак, прикручиваем вывод погоды. Вот мои изыскания:
В настройках ставим:
В принципе и всё. Может скрипт и не оптимален, но он работает, а больше и не надо.
Кстати, это и пример как грабить погоду с Гисметео .
Извиняюсь, но у меня нет возможности показать как это выглядит на экране телефона.
Следующим пунктом будет адресная книга (вроде нашёл пример XMLки) или RSS.
Про саму спецификацию телефонов можете почитать на ссылкам выше. Телефоны телефонами, но нас интересует его функционал. Из спецификации, да и настроек выходит что:
1. Он умеет/должен показывать на экране погоду;
2. Он умеет/должен показывать на экране RSS новости;
3. Он умеет/должен загружать адресную книгу.
НО! Я нигде не нашёл информации о формате файлов по первому и второму пунктам. Да, да, даже RSS у него какой-то свой, узкоглазый наверно . Поэтому надеюсь кому-нибудь моя статья ещё пригодится.
Итак, прикручиваем вывод погоды. Вот мои изыскания:
<?php
//Название города. Брать их XMLки нет возможности, т.к. в этих телефонах не полный шрифт UTF-8
$town = Moscow;
//Саму информацию о погоде беру с сайта Гисметео
$url = "http://informer.gismeteo.ru/xml/27612_1.xml";
if($xml = simplexml_load_file($url, 'SimpleXMLElement',LIBXML_NOCDATA)){
//минимальная температура
$temp_min = $xml->REPORT->TOWN->FORECAST[0]->TEMPERATURE['min'];
//максимальная температура
$temp_max = $xml->REPORT->TOWN->FORECAST[0]->TEMPERATURE['max'];
//скорость ветра минимальная
$wind_min = $xml->REPORT->TOWN->FORECAST[0]->WIND['min'];
////скорость ветра максимальная
$wind_max = $xml->REPORT->TOWN->FORECAST[0]->WIND['max'];
//ID направления ветра
$wind_direction_id = $xml->REPORT->TOWN->FORECAST[0]->WIND['direction'];
//ID типа погоды
$weather_id = $xml->REPORT->TOWN->FORECAST[0]->PHENOMENA['precipitation'];
//Дата прогноза погоды
$d =
$xml->REPORT->TOWN->FORECAST[0]['year']."-".
$xml->REPORT->TOWN->FORECAST[0]['month']."-".
$xml->REPORT->TOWN->FORECAST[0]['day'];
//Направление ветра в румбах, 0 - северный, 1 - северо-восточный, и т.д.
$wind = '';
switch($wind_direction_id){
case 0: $wind = 'N'; break;
case 1: $wind = 'NE'; break;
case 2: $wind = 'E'; break;
case 3: $wind = 'SE'; break;
case 4: $wind = 'S'; break;
case 5: $wind = 'SW'; break;
case 6: $wind = 'W'; break;
case 7: $wind = 'NW'; break;
}
//Средняя скорость ветра
$wind_sr = ($wind_max+$wind_min)/2;
//Тип осадков: 4 - дождь, 5 - ливень, 6,7 – снег, 8 - гроза, 9 - нет данных, 10 - без осадков
$weather = '';
switch ($weather_id){
case 4: $weather = 'Rain'; break;//точно подходит
case 5: $weather = 'Heavy shower'; break;//Не проверял
case 6: $weather = 'Snow'; break;//точно подходит
case 7: $weather = 'Snow'; break;//точно подходит
case 8: $weather = 'Storm'; break;//Не проверял
case 9: $weather = 'N/D'; break;//точно подходит
case 10: $weather = 'Sunny'; break;//точно подходит
}
//Ну и вывод в XMLку. Сколько я искал её формат, это неописуемо...
echo '<?xml version="1.0" encoding="UTF-8"?>
<weatherreport time="'.$dt.'">
<location>
<city>'.$town.'</city>
<country>Russian Federation</country>
</location>
<forecast>
<date>'.$dt.'</date>
<temperature>'.$temp_min.'..'.$temp_max.' "C '.$wind_sr.'m/s '.$wind.'</temperature>
<weather>'.$weather.'</weather>
</forecast>
</weatherreport>';
}
?>
В настройках ставим:
В принципе и всё. Может скрипт и не оптимален, но он работает, а больше и не надо.
Кстати, это и пример как грабить погоду с Гисметео .
Извиняюсь, но у меня нет возможности показать как это выглядит на экране телефона.
Следующим пунктом будет адресная книга (вроде нашёл пример XMLки) или RSS.
Комментарии (2)
RSS свернуть / развернутьyababay
Markony
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.