Microsoft подготовил предварительную версию Windows 10 IoT Сore. Raspberry Pi, Arduino и прочие неожиданности
Ожидает приглашения
Программа поддержки разработчиков для IoT (Internet of Things) разослала оповещения о доступности для скачивания версии Windows 10 IoT Core Insider Preview с поддержкой Raspberry Pi 2.

Нам обещают поддержку приложений Universal Windows Platform, выполнение на Raspberry Pi 2, MinnowBoard MAX и Intel Galileo. Операционная система будет доступна бесплатно, в т.ч. и для коммерческого использования.
Не лишним будет заметить, что на текущий момент система не завершена, в частности поддержка Wi-Fi и Bluetooth в предлагаемой версии отсутствует.
Всё-таки новости, где в одном заголовке звучат «Windows» и «Raspberry» пока воспринимаются с настороженностью. Посмотрим, получится ли преодолеть пелену предрассудков пользователей.
Также сообщается о партнерстве с Arduino. Нет, Windows для Ардуино пока ждать рано. Предлагаются две технологии, призванные облегчить жизнь ардуинозависимым пользователям.
Windows Remote Arduino -это технология, предназначенная для связи Windows-системы с Arduino-модулем и удаленно выполнять команды микроконтроллерной платформы. Используется открытый протокол Firmata, основанный на формате MIDI, ардуинка прошивается специальной прошивкой, windows-приложение использует специфическую библиотеку. В качестве канала связи рекомендуется использовать Bluetooth.
Вторая технология — Windows Virtual Shields for Arduino, наоборот, позволяет использовать сенсоры и функции (распознавание речи, и т.п.) мобильного устройства, работающего на Windows Phone 10, в скетчах Arduino. В качестве канала связи рекомендуется использовать Bluetooth.
Нельзя сказать, что предлагаемые нововведения революционизируют отрасль, но от себя замечу — спасибо, Microsoft, вовремя. Можно продолжать отлынивать от освоения Linux-систем.
А еще можно собрать Джарвиса. Да, на ардуинке.
Ссылки по теме:
www.windowsondevices.com
ms-iot.github.io/content/en-US/GetStarted.htm
microsoft.hackster.io

Нам обещают поддержку приложений Universal Windows Platform, выполнение на Raspberry Pi 2, MinnowBoard MAX и Intel Galileo. Операционная система будет доступна бесплатно, в т.ч. и для коммерческого использования.
Не лишним будет заметить, что на текущий момент система не завершена, в частности поддержка Wi-Fi и Bluetooth в предлагаемой версии отсутствует.
Всё-таки новости, где в одном заголовке звучат «Windows» и «Raspberry» пока воспринимаются с настороженностью. Посмотрим, получится ли преодолеть пелену предрассудков пользователей.
Также сообщается о партнерстве с Arduino. Нет, Windows для Ардуино пока ждать рано. Предлагаются две технологии, призванные облегчить жизнь ардуинозависимым пользователям.
Windows Remote Arduino -это технология, предназначенная для связи Windows-системы с Arduino-модулем и удаленно выполнять команды микроконтроллерной платформы. Используется открытый протокол Firmata, основанный на формате MIDI, ардуинка прошивается специальной прошивкой, windows-приложение использует специфическую библиотеку. В качестве канала связи рекомендуется использовать Bluetooth.
Выглядит это примерно так:
Приведен листинг программы для Windows Phone 10, позволяющей моргать светодиодом с телефона.

Приведен листинг программы для Windows Phone 10, позволяющей моргать светодиодом с телефона.
Вторая технология — Windows Virtual Shields for Arduino, наоборот, позволяет использовать сенсоры и функции (распознавание речи, и т.п.) мобильного устройства, работающего на Windows Phone 10, в скетчах Arduino. В качестве канала связи рекомендуется использовать Bluetooth.
Под спойлером скетч, изменяющий состояние светодиода в зависимости от распознанной телефоном голосовой команды
#include <ArduinoJson.h>
#include <VirtualShield.h>
#include <Text.h>
#include <Speech.h>
#include <Recognition.h>
VirtualShield shield; // identify the shield
Text screen = Text(shield); // connect the screen
Speech speech = Speech(shield); // connect text to speech
Recognition recognition = Recognition(shield); // connect speech to text
int LED_PIN = 8;
void recognitionEvent(ShieldEvent* event)
{
if (event->resultId > 0) {
digitalWrite(LED_PIN, recognition.recognizedIndex == 1? HIGH: LOW);
screen.printAt(4, «Heard » + String(recognition.recognizedIndex == 1? «on»: «off»));
recognition.listenFor(«on,off», false); // reset up the recognition after each event
}
}
// when Bluetooth connects, or the 'Refresh' button is pressed
void refresh(ShieldEvent* event)
{
String message = «Hello Virtual Shields. Say the word 'on' or 'off' to affect the LED»;
screen.clear();
screen.print(message);
speech.speak(message);
recognition.listenFor(«on,off», false); // NON-blocking instruction to recognize speech
}
void setup()
{
pinMode(LED_PIN, OUTPUT);
pinMode(LED_PIN, LOW);
recognition.setOnEvent(recognitionEvent); // set up a function to handle recognition events (turns auto-blocking off)
shield.setOnRefresh(refresh);
// begin() communication — you may specify a baud rate here, default is 115200
shield.begin();
}
void loop()
{
shield.checkSensors(); // handles Virtual Shield events.
}
#include <VirtualShield.h>
#include <Text.h>
#include <Speech.h>
#include <Recognition.h>
VirtualShield shield; // identify the shield
Text screen = Text(shield); // connect the screen
Speech speech = Speech(shield); // connect text to speech
Recognition recognition = Recognition(shield); // connect speech to text
int LED_PIN = 8;
void recognitionEvent(ShieldEvent* event)
{
if (event->resultId > 0) {
digitalWrite(LED_PIN, recognition.recognizedIndex == 1? HIGH: LOW);
screen.printAt(4, «Heard » + String(recognition.recognizedIndex == 1? «on»: «off»));
recognition.listenFor(«on,off», false); // reset up the recognition after each event
}
}
// when Bluetooth connects, or the 'Refresh' button is pressed
void refresh(ShieldEvent* event)
{
String message = «Hello Virtual Shields. Say the word 'on' or 'off' to affect the LED»;
screen.clear();
screen.print(message);
speech.speak(message);
recognition.listenFor(«on,off», false); // NON-blocking instruction to recognize speech
}
void setup()
{
pinMode(LED_PIN, OUTPUT);
pinMode(LED_PIN, LOW);
recognition.setOnEvent(recognitionEvent); // set up a function to handle recognition events (turns auto-blocking off)
shield.setOnRefresh(refresh);
// begin() communication — you may specify a baud rate here, default is 115200
shield.begin();
}
void loop()
{
shield.checkSensors(); // handles Virtual Shield events.
}
Нельзя сказать, что предлагаемые нововведения революционизируют отрасль, но от себя замечу — спасибо, Microsoft, вовремя. Можно продолжать отлынивать от освоения Linux-систем.
А еще можно собрать Джарвиса. Да, на ардуинке.
Ссылки по теме:
www.windowsondevices.com
ms-iot.github.io/content/en-US/GetStarted.htm
microsoft.hackster.io