Udostępnij za pośrednictwem


Время и погода вместе с RSS, XML, SNTP и Netduino

Грэг Дункан

С наступлением зимы этот проект хорошо впишется в пятничный аппаратный пост. Также он хорош в качестве «Первого» проекта!

[Netduino Plus] SNTP-часы / читалка RSS-новостей

Это мой первый проект с Netduino Plus. Теперь он прибит(!) к панели моего офисного ПК и сообщает мне время и прогноз погоды.

Я получаю время от SNTP-сервера, ввожу поправку на летнее/зимнее время, читаю трехдневный прогноз погоды из RSS-ленты на сайте BBC и вывожу всё это на модуль вакуумного флуоресцентного дисплея Itron GU126x64.

Чтобы сэкономить память, читалка RSS использует библиотеку Windows Sockets, а не библиотеку HTTP и обрабатывает XML-данные самостоятельно, по символу за раз.

Внизу я разместил файл с кодом. Это мой первый проект Netduino? Поэтому не ждите совершенства! Если вы захотите повторно использовать SNTP-код и не находитесь в пределах UK, вам нужно будет исправить вычисления для моментов начала и окончания летнего времени, а также смещение времени для лета и зимы. RSS-лента настроена на трехдневный прогноз погоды для Манчестера, UK и может изменена для отображения вашей собственной погоды, новостей или еще чего-нибудь.

clip_image002

clip_image004

Решение/проект довольно прямолинеен и хорошо откомментирован.

clip_image006

 //-----------------------------------------------------------------------
// Netduino Plus program to display the Time and next 3 days weather 
// forecast on a Moritake Itron GU126x64 Vacuum Flourescent Display
//
// The time is taken over the internet from an SNTP server, and the 
// weather forecast from a BBC RSS feed.
//
// You will need to change the RSS URL if you don't live near Manchester, UK
//
// You will also need to change the Timezone/Summertime code if you 
// are in a different time zone.
//
// No copyright - do anything you like with this code, but dont blame me 
// if it all goes horribly wrong!
//
//
// Version Beta 0.2   Gary Bleads (gary@bleads.co.uk)       August 2011
//
//-----------------------------------------------------------------------

//-----------------------------------------------------------------------
// GU126x64 VFD Wiring:
// 
//  NETDUINO                VFD         SIGNAL
//  --------                ---         ------
//  DIGITAL IO 9            PIN 4       NOT RESET
//  DIGITAL IO 10           PIN 1       SPI SELECT
//  DIGITAL IO 11           PIN 5       SPI MOSI
//  DIGITAL IO 13           PIN 7       SPI CLK
//  GND                     PIN 2       GND
//  +5V                     PIN 3       +5V  
//
// (NOTE : display requires high current, possibly up to 750ma
//    Only use +5V USB Power for netduino, not the 9volt power jack!!!)
//-----------------------------------------------------------------------

Приемы, использованные в этом проекте, такие как работа с RSS и XML, функции SNMP и т. д. могут быть использованы в других проектах.