Время и погода вместе с 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 и может изменена для отображения вашей собственной погоды, новостей или еще чего-нибудь.
Решение/проект довольно прямолинеен и хорошо откомментирован.
//-----------------------------------------------------------------------
// 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 и т. д. могут быть использованы в других проектах.