Берем погоду у Яндекса в xml формате

Задача: получить погоду на сегодня и на завтра.

Решение: воспользуемся сервисом pogoda.yandex.ru
1. Найдем свой код города по справочнику https://pogoda.yandex.ru/static/cities.xml
2. По ссылке вида http://export.yandex.ru/weather-ng/forecasts/код_города.xml, мы имеем погоду в формате xml. Распарсим её например так:
<?php
 $wz = new SimpleXMLElement($xml);
 $cn=0;
 foreach ($wz->day as $value) {
  $cnt=0;
  foreach ($value->hour as $hr) {
  if (($cnt==2) or ($cnt==12) or ($cnt==18)) {
    $t=$hr->temperature;
    $weather_condition=$hr->weather_condition[«code»];
    echo «$t;$weather_condition</br>»;
   };
   $cnt++;
  };
  $cn++;
  if ($cn==2) {die();};
}
?>

Arduino Mega и шина SPI

Теоретически шина SPI на Arduino  позволяет подключать к ней одновременно несколько устройств. Причем активным устройством на текущий момент, для работы скетча будет считаться то устройство, у которого низкий уровень сигнала на пине Cabel Select.

Например, подключаем два устройства к ардуине :  SD картридер и сетевой интерфейс на микросхеме enc28j60, по следующей схеме:

Arduino Mega enc28j60 SD
49 (SS, nCS, CS, CSB, CSN, nSS, STE) CS
50 (SCLK, SCK, CLK) SO SPI_CLK
51 (MOSI, SDI, DI, SI) SI SPI_MOSI
52 (MISO, SDO, DO, SO) SCK SPI_MISO
53 (SS, nCS, CS, CSB, CSN, nSS, STE) SD_CS
GND GND GND
5V VCC 5V

Или может быть понятнее рисунок:

 

 

схема подключения по шине spi двух устройств: enc28j60 и sd реадер

схема подключения по шине spi двух устройств: enc28j60 и sd реадер

Т.е. как мы видим, часть пинов используется совместно, но пины 49 и 53 выделены для управления, для того чтобы скетч и «железка» знали, какое именно устройство в данный момент может передавать данные по общим пинам. Если на управляющем пине низкий уровень напряжения, то скетч и железка считает, что может передавать данные именно та железка, которая подведена к данному пину. Например по моей схеме: если на 49 пине низкий уровень, а на 53 высокий, то работает сетевая карта. И наоборот.

На деле как оказалось конечному пользователю не нужно заморачиватся выставлением уровней на управляющих пинах…если конечно драйвера железок написаны правильно…

Например мой скетч по работе одновременно и с SD и с сетевой картой заработал с полпинка..

Пример скетча: » Читать далее

Первый день без очков..

Сделал вчера операцию по коррекции зрения Lasik. Ну в принципе лучше чем в очках, но хуже чем ожидал. В глазах пока иногда туман. Привыкаю сам к себе заново.. В очках выглядел как-то солиднее  😉

Arduino Mega подключение ENC28J60. История боли..

Два дня убил на подключение к Arduino Mega контроллера ENC28J60. Как всегда «дьявол кроется в деталях». Перепробовал кучу библиотек — не работает. Кто-то в интернетиках ляпнул, что библиотеки etherShield и ETHER_28J60 не работают с IDE 1.6.5. Сделал даунгрейд с IDE 1.6.5 на 1.0.5 — не работает. Переобжал кабель — не работает. Полез заказывать уже новый Ethernet shield… Но на по следок «дай думаю посажу его не на 3.3 вольта, как указано НА ВСЕХ схемах по подключению а на 5 вольт». Бьюсь головой об стену и глупо хихикаю.. Работает!

Итак, таки схема подключения в моем случае выглядит так:

arduino-connect-enc28j60

 

 

Открыл для себя DokuWiki

Очень простой в использовании и установке WIKI подобный портал. Устанавливается простым копированием скриптов в папку. Не требует БД.  Удобный встроенный поиск, корректно работающий с русским языком.

Снимок экрана из 2015-09-04 17:46:43

Снимок экрана из 2015-09-04 17:48:02

 

1 189 190 191 192 193 293