Берем погоду у Яндекса в 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 и с сетевой картой заработал с полпинка..

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