SOM-511 Windows IoT
SOM-511 Windows IoT
SOM-511 Windows IoT
PRIVADA
FRANZ TAMAYO
Introducción
El Internet de las Cosas (IOT) se refiere a una enorme red de objetos que se conectan entre sí e
intercambian y analizan datos. Pueden ser artículos de uso cotidiano como teléfonos móviles,
lavadoras, vehículos o dispositivos wearables. O pueden ser componentes de máquinas y sistemas
mayores, como motores de aviones o plataformas petrolíferas. Este control de acciones, componentes y
datos hace que los análisis de los negocios sean cada vez más precisos, que las interacciones sean cada
vez más eficientes; pensando en todo esto la empresa Microsoft a decidido integrarse a este campo con
nuevos productos específicos para este campo como Windows IoT.
Windows IoT, anteriormente Windows Embedded, es una familia de los sistemas operativos de
Microsoft diseñado para el uso en sistemas embebidos. Microsoft actualmente tiene tres subfamilias
diferentes de sistemas operativos para los dispositivos embebidos dirigidos a un amplio mercado, que
van desde pequeños dispositivos en tiempo real hasta dispositivos de punto de venta(POS) como
quioscos. Los sistemas operativos Windows Embebido están disponibles para los fabricantes de
equipos originales (OEMs), que lo ponen a disposición de los usuarios finales precargados con su
hardware, además de los clientes de licencias por volumen en algunos casos.
Esta plataforma está orientada también a empresas que necesiten desarrollar soluciones adaptadas al
Internet de las Cosas. Cuenta con herramientas de desarrollador de clase mundial, soporte técnico de
nivel empresarial y un ecosistema de partners mundial. De este modo, las organizaciones pueden más
en el perímetro con capacidades de aprendizaje automático y escala con el poder de Azure IoT;
contando siempre con la robusta seguridad que ofrece Microsoft.
Historia
A mediados de 1998, Microsoft trabajó con VenturCom, para su producto Windows NT Embedded.
Windows NT Embedded 4.0 comenzó en 1998 con un pequeño equipo desarrolladores de Microsoft.
Este proyecto, conocido dentro Microsoft como Impala, fue lanzado en 1999 como Windows NT
Embedded 4.0—un conjunto de herramientas y una base de datos de aproximadamente 250
componentes que permitieron a los desarrolladores crear pequeñas imágenes de ejecución de Windows
4.0 para dispositivos embebidos. Las herramientas permitieron a fabricantes de equipos originales
OEMs y a los desarrolladores de equipos integrados crear componentes que encapsulan sus binarios, y
añadirlos sin problemas a los tiempos de ejecución de Windows NT Embedded que contienen
funciones y equipos limitados. Las imágenes de tiempo de ejecución eran tan pequeñas como 9 MB
para un sistema con la API completa de Win32. Poco después de su lanzamiento, a principios del 2000,
Microsoft decidió que era mejor tomar esa arquitectura y crear un nuevo producto aprovechando el
nuevo código de Windows. Se formó un nuevo equipo de Windows Embedded, bajo el liderazgo de
Bruce Beachman. El sirvió como Director de Unidad del Producto (PUM) de las primeras Windows
Embedded – y empezó a reclutar ingenieros dentro de Microsoft. El equipo puso sus vistas en esta
próxima versión. Una decisión fue detener el desarrollo de Windows 2000 Embedded, y empezar a
trabajar en Windows XP Embedded producto (entonces llamado Whistler). Los planes estuvieron
dibujados, el equipo se fue expandiendo, y se empezó a trabajar en Whistler Embedded, con nombre
código Mantis. La cuenta de componente ha aumentado de 250 hasta por encima de 10,000—la
mayoría de ellos componentes controladores de dispositivo. La característica puesta en las
herramientas embebidas fue enriquecida para incluir cosas como control básica de versión,
componente de "scripting", y expandibilidad. Las herramientas fueron también añadidas para hacer
más fácil empezar una plataforma de hardware y para desplegar un Embedded OS en él rápido y
fácilmente. El 26 de agosto de 2001, la beta 2 de Windows XP Embedded fue liberada, con una
liberación planeada a no más tardar un año. El equipo inicial constó de:
• Tim Hill, Director de Programa del Grupo quién estuvo a cargo del equipo PM, sirviendo
como el arquitecto global.
• Mike Cherry, Director de Programa, quién dirigía el proceso de infraestructura de trabajo.
• Bill Luan, Director de Programa, quién estuvo a cargo del diseño de la primera herramienta
interna llamada iCat, el cual habilitó todo el equipo de ingenieros de Windows a "componentizarse" en
características de ventanas. Más tarde, este producto se convirtió en el Diseñado de los Componentes
de Windows Embedded en el lanzamiento del producto.
• Steve Jiang, Director de Programa, quién estuvo a cargo de la primera versión del Diseño de
Objetivo, el cual permitió a los desarrolladores grabar imágenes objetivo embebidos.
El Diseñador de objetivo y Diseñador de Componente era las dos-partes suite en la primera versión de
Windows Embedded Suite. El primer director de equipo de prueba fue Bombo Sofá, que dirigió el
primer XPe equipo de prueba que empieza en año 2000. Bajo el liderazgo de Bruce Beachman,
Microsoft embarcó la primera versión de Windows Embedded (XPe) en el DevCon / Conferencia de
Hardware de Windows en 2001.
En 2002, Bruce Beachman dejó Microsoft, y Peter Wilson tomó el equipo XPe como su PUM, y por
entonces el equipo estuvo fusionado al equipo de Despliegue de Windows, y liberaron XPe SP1 en
DevCon en Las Vegas en 2003.
Windows 10 IoT es un miembro de la familia Windows 10 que aporta potencia de clase empresarial,
seguridad y facilidad de uso para el Internet de las cosas. Aprovecha la experiencia, el ecosistema y la
conectividad de la nube que incluye Windows, lo que permite a las organizaciones crear su Internet de
las cosas con dispositivos seguros que se pueden aprovisionar con rapidez, son fáciles de administrar y
se conectan sin problema a una estrategia de nube global.
Además posee en forma nativa, la plataforma Windows más segura hasta la fecha, esta ayuda a
defenderse de los ataques de seguridad y violaciones que podrían comprometer su negocio. Además,
posee herramientas avanzadas anti-malware, cifrado de disco, y tecnología de credenciales, que
ayuda a asegurar que sus dispositivos IoT, sus datos y sus identidades, se encuentran seguros.
Windows 10 IoT está disponible en dos ediciones. Windows 10 IoT Core es el miembro más pequeño
de la familia de sistemas operativos Windows 10. Aunque solo ejecuta una aplicación, conserva la
facilidad de administración y la seguridad que se esperan de Windows 10. En cambio, Windows 10 IoT
Enterprise es una versión completa de Windows 10 con características especializadas para crear
dispositivos dedicados que se limitan un conjunto específico de aplicaciones y periféricos.
Aunque Windows 10 IoT Core y Windows 10 IoT Enterprise son similares en el nombre, hay
diferencias en lo que ofrecen y también en lo que admiten. A continuación se muestra una lista de
características en la que se resaltan las diferencias de cada edición.
Windows 10 IoT Mobile trae la funcionalidad completa de Windows 10 móvil a Internet de las cosas.
Esto incluye el acceso instantáneo de aplicaciones, soporte nativo para el escaneo de códigos de barras,
así como una mayor productividad para una variedad de escenarios móviles. La versión Mobile
también ofrecen capacidades como el soporte de ARM, múltiples perfiles de usuario y bloqueo,
esenciales para una amplia gama de industrias.
Procesos
Para un mejor entendimiento de sus características de Windows IoT aca se muestra una amplia
variedad de ejemplos en los que Windows IOT está presente:
Misty Robotics
Misty II contiene un potente procesador Qualcomm que ejecuta Windows IoT Core y que puede
ejecutar localmente aprendizaje automático profundo y de red neuronal.
Askey TurboMate
Permite movilidad manos libres, por lo que facilita la recopilación y el uso compartido de datos de
código de barras y otra información.
Innowi ChecOut M
ChecOut M es un dispositivo móvil compacto que puede procesar pedidos y conectarse con el servidor
back-end de los sistemas de tienda, servicios en la nube y procesadores de pago.
GLAS usa Windows 10 IoT Core en dispositivos, Azure para la base de datos Cosmo, IoT Hub y
Azure Storage.
Cócteles con tan solo tocar un botón. Selecciona rápidamente con un equipo de panel táctil.
Kodisoft
Tu experiencia de cenar afuera es ahora más interesante: mesas interactivas transforman el sector de
restaurantes.
Advantech
Redback Technologies
Windows IoT Core ayuda a optimizar el uso de la energía para ahorrar costes para los clientes de
Redback Technologies.
Ventajas y Desventajas
Las tres ventajas principales que encuentran las empresas que deciden trabajar con Windows IOT son:
Gracias a contar con un entorno especialmente diseñado para el desarrollo IOT, es más rápido y
sencillo construir estas soluciones, lo cual supone un ahorro de tiempo y de dinero. Por otro lado, se
integra perfectamente con Azure IoT.
Seguridad inteligente
La nube de Microsoft se caracteriza, entre otras cosas, por tener una altísima seguridad que se mejora y
actualiza día a día. Este planteamiento se extiende a Windows IOT, pues mantiene los dispositivos y
datos desde los éstos hasta la nube con los avances más recientes en material de seguridad en Win10
integrados y siempre actualizados.
Perímetro inteligente
Los datos tienen gravedad, con capacidades de aprendizaje automático en el dispositivo, puede obtener
información importante y tomar medidas para reducir los costes y mejorar la eficiencia.
VENTAJAS
Inteligente
Lleva fácilmente la inteligencia artificial (AI) y el aprendizaje automático (ML) al perímetro con
Windows ML y el apoyo de Azure IoT Edge
Seguro
Rápido
Comercializa rápidamente dispositivos IoT y mantenlos a largo plazo con un sistema operativo
preinstalado
Los clientes no necesitan ser expertos en TI para usar los productos de Rockwell Automation con
Windows para IoT, y es una manera de reducir la curva de aprendizaje y al mismo tiempo disfrutar de
datos detallados directamente en la planta de producción
una plataforma de desarrollo para todo tipo de proyectos en ámbitos como la robótica, la domótica, o
desde luego la Internet de las Cosas.
DESVENTAJAS
Herramientas de desarrollo
Lenguajes de programación
Idiomas en caja
Los lenguajes de UWP tradicionales se incluyen de forma predeterminada en Visual Studio. Todos los
lenguajes integrados admiten las aplicaciones de interfaz de usuario y en segundo plano
Idiomas
C#
C++
Código
Visual Basic
Otros
Cableado de Arduino
Raspberry Pi
Azure IoT
Windows CE
El cableado Arduino
requiere la descarga de las "plantillas de proyecto de Windows IoT Core" desde las extensiones de
Visual Studio Tools-> y updates Manager. El cableado Arduino solo admite aplicaciones en segundo
plano. También puede compilar componentes de C#Windows Runtime C++mediante, o Visual Basic y,
después, hacer referencia a esas bibliotecas desde cualquier otro lenguaje.
Raspberry Pi
Es un ordenador de placa reducida, ordenador de placa única u ordenador de placa simple (SBC) de
bajo costo desarrollado en el Reino Unido por la Raspberry Pi Foundation,
Aunque no se indica expresamente si es hardware libre o con derechos de marca, en su web oficial
explican que disponen de contratos de distribución y venta con dos empresas. En cambio, el software sí
es de código abierto, siendo su sistema operativo oficial una versión adaptada de Debian, denominada
Raspbian, aunque permite usar otros sistemas operativos, incluido una versión de Windows 10. En
todas sus versiones, incluye un procesador Broadcom, memoria RAM, GPU, puertos USB, HDMI,
Ethernet.
es un servicio de computación en la nube creado por Microsoft para construir, probar, desplegar y
administrar aplicaciones y servicios mediante el uso de sus centros de datos. Proporciona software
como servicio (SaaS), plataforma como servicio (PaaS) e infraestructura como servicio (IaaS) y es
compatible con muchos lenguajes, herramientas y marcos de programación diferentes, incluidos
software y sistemas específicos de Microsoft y de terceros.
Windows CE ,
también abreviado como WinCE es un sistema operativo desarrollado por Microsoft para sistemas
embebidos. Windows CE no debe confundirse con Windows Embedded Standard, que es un sistema
basado en Windows NT; Windows CE está desarrollado independientemente. La versión actual de
Windows Embedded Compact funciona en procesadores Intel x86 y compatibles, además de los tipos
MIPS y ARM. Se puede encontrar en teléfonos inteligentes, computadoras portátiles, Pocket PCs y
GPS, Pantallas Multimedia de Automóviles y, sobre todo, en la consola de videojuegos Dreamcast. El
último sistema operativo creado a base de Windows CE fue Windows Phone 7 y sus actualizaciones
(7.5 y 7.8)
C#y VB se admiten como aplicaciones UWP y tienen acceso a la parte de .NET Framework disponible
para las aplicaciones de UWP. Admiten aplicaciones de interfaz de usuario compiladas con XAML y
aplicaciones en segundo plano. También puede compilar componentes de Windows Runtime que se
pueden usar desde otros idiomas admitidos.
Assembl
C#Sin periféricos
C#Aplicación de interfaz de usuario de parpadeo
Código
Puede usar JavaScript para compilar aplicaciones en la interfaz de usuario y en segundo plano. Las
aplicaciones de interfaz de usuario funcionan de la misma manera que en todas las ediciones de UWP.
Las aplicaciones en segundo plano son nuevas para IoT Core, pero son muy sencillas. En el código de
ejemplo siguiente se muestra la salida de una plantilla de proyecto New de JS:
JavaScript
(function () {
"use strict";
})();
C++
Con C++ puede compilar aplicaciones de interfaz de usuario de DirectX o XAML, así como proyectos
en segundo plano para UWP y aplicaciones de Win32 que no son de interfaz de usuario .
Assembl
Sin periféricos
Punta de parpadeo
Aplicación de consola
Nota: En el caso de aquellos que planean escribir su C++aplicación en, debe activar la casilla de C++
UWP al descargar.
Cableado de Arduino
Nuestra Guía de proyecto de Arduino cables proporciona instrucciones completas sobre cómo
configurar para compilar estas aplicaciones. Los ejemplos copiados y vinculados a continuación le
ayudarán a empezar a crear el suyo propio. Incluso puede compilar componentes de WinRT en
Arduino que luego se pueden usar desde otros idiomas.
C++
void setup()
{
// put your setup code here, to run once:
pinMode(GPIO5, OUTPUT);
}
void loop()
{
// put your main code here, to run repeatedly:
digitalWrite(GPIO5, LOW);
delay(500);
digitalWrite(GPIO5, HIGH);
delay(500);
}
Bibliografía