ARM & M2M - todo lo que necesitas saber
Usted probablemente ha oído hablar del término "Internet de las Cosas" o la IO. Sin embargo es posible que no haya oído hablar de M2M, o máquina a máquina. Los dos dominios están estrechamente vinculados. Si la IO es la idea general, el paradigma, entonces M2M es la fontanería, el pegamento que mantiene todo junto. ARM es probable que ya el líder mundial proveedor de diseños de microcontroladores de la IO, y son esos mismos los microcontroladores que se están ejecutando los servicios M2M necesarias para la visión de la IO se convierta en una realidad.
Así que, ¿qué significa M2M? En un nivel, es lo que dice que es, una forma de que una máquina a hablar con otra máquina. Sin embargo, en este contexto, significa cómo un dispositivo conectado (una "cosa" en la "Internet de las cosas") habla con un servidor para enviar la información que ha recogido. También incluye cómo se gestiona esa "cosa".
M2M no es nuevo en el sentido de que todos estamos acostumbrados a un dispositivo hablando con otro dispositivo. Las transferencias de archivos a través de Bluetooth, actualizaciones de aplicaciones a través de Wi-Fi, incluso correos electrónicos son ejemplos de cómo se habla de la máquina a otra para lograr una tarea. Sin embargo la cosa especial acerca de M2M en términos de la IO es que estos dispositivos conectados a) tienen un uso de baja potencia, b) no son siempre "on", yc) están limitados en términos de recursos (por ejemplo, la potencia de procesamiento, memoria, etcétera).
Mañana, un nuevo tipo de dispositivo IO podía ser inventado, una que antes no se había previsto.
Hay también algunos otros aspectos interesantes de los dispositivos IO conectados. En primer lugar, vienen de un gran número de diferentes proveedores. En segundo lugar, todos ellos tienen propiedades diferentes, algunos son dispositivos de nivel de consumo, otros son dispositivos industriales como los utilizados en la red eléctrica. El papel y la función de un SmartWatch es muy diferente a la de un nodo sensor en una ciudad inteligente. En tercer lugar, no todos han sido inventado todavía. Mañana, un nuevo tipo de dispositivo IO podía ser inventado, una que antes no se había previsto. Cualquier infraestructura M2M que existe hoy en día tiene que ser capaz de soportar los dispositivos conectados de mañana.
El papel de ARM en la IO y M2M es doble. En primer lugar, como he mencionado antes, ARM es probable que ya el líder mundial proveedor de diseños de microcontroladores de la IO. En segundo lugar, ARM es un proveedor de software que se ejecuta en estos microcontroladores.
Hardware
No voy a pasar demasiado tiempo hablando de ofertas de hardware de ARM para la IO y M2M, como la Autoridad Android Robert Triggs ya ha escrito un excelente panorama de El papel de ARM en el Internet de las Cosas. En pocas palabras, ARM tiene una gama de diseños de microcontroladores conocidos como el rango de Cortex-M. Estos son los procesadores de bajo consumo de energía ultra-que utilizan un subconjunto de conjunto de instrucciones de ARM de 32 bits que se ejecuta en el teléfono inteligente o tableta. De hecho, un programa compilado para un procesador Cortex-M es realmente binario compatible con los procesadores Cortex-utilizando un diseño de ARM (es decir, el Cortex-A15, etc.)
La clave de gama de dispositivos microcontroladores ARM es que ya tienen la conectividad necesaria. Los dispositivos con microcontroladores Cortex-M ya pueden conectarse a la "Internet" a través de Ethernet, Wi-Fi, Bluetooth y NFC. Un rápido vistazo a la gama de juntas de desarrollo disponibles con compatibilidad MBED casi le dejará mareado en cuanto a las opciones de conectividad compatibles.
En septiembre de ARM dio a conocer detalles de un nuevo diseño de microcontrolador, el Cortex-M7. Ofreciendo el doble de la computación y procesamiento de señal digital (DSP) la capacidad sobre el resto de la familia Cortex-M, el nuevo controlador está dirigido a los dispositivos conectados, y casas y fábricas inteligentes. O en otras palabras, para el Internet de las Cosas.
Software
Así ARM claramente tiene el lado del hardware de la Internet de las Cosas y M2M cubiertos. Sin embargo hardware sin software es inútil. Usted puede tener la mejor, microprocesador o microcontrolador más rápida y eficiente, pero si usted no tiene ningún software, entonces es sólo un trozo de silicio. ARM está trabajando para proporcionar el software para M2M en tres áreas distintas: herramientas, estándares y OS mbed.
ARM mantiene la cadena de herramientas gratuita que compilar para procesadores ARM, incluyendo la familia de procesadores Cortex-M.
Las herramientas son los compiladores y entornos de desarrollo necesarios para escribir software. Sin estos incluso los programas más básicos no se pueden hacer para la serie Cortex-M, y mucho menos ningún software M2M. Como era de esperar, ARM tiene un rico ecosistema de software. Hay dos suites comerciales de desarrollo disponibles: ARM DS-5 Development Studio - una suite de extremo a extremo de herramientas para C / C ++ de desarrollo de software embebido en cualquier procesador ARM, y Keil MDK Versión 5 - un entorno de desarrollo de software completa para una amplia gama de ARM, Cortex-M, y los dispositivos basados en microcontroladores Cortex-R. Sin embargo también hay una cadena de herramientas del compilador gratuito basado en gcc. ARM mantiene la cadena de herramientas gratuita que compilar para procesadores ARM, incluyendo la familia de procesadores Cortex-M.Sin embargo ARM no se detiene allí. A principios de este año en ARM Techcon, ARM ha anunciado un nuevo sistema operativo, que se espera se convertirá en la base que permite la innovación generalizada en el Internet de las Cosas (IoT) espacio. Llamado OS mbed, está diseñado para dispositivos IO e incluye las funcionalidades de conectividad, seguridad y gestión de dispositivos requeridos en todos los dispositivos IO.
ARM también ha anunciado los detalles de un producto de servidor que complementa OS mbed y permite que los proveedores de servicios para crear aplicaciones de back-end para convertir todos los datos procedentes de los dispositivos IO en información útil. mbed servidor de dispositivos es análogo a un servidor Web que acepta conexiones desde teléfonos móviles o navegadores web, sin embargo, el servidor de dispositivos mbed se encarga de las conexiones de Internet de los dispositivos de las cosas.
Inherente a OS mbed habrá varios tipos de M2M. El diagrama anterior muestra cuatro protocolos importantes para M2M: COAP, HTTP, MQTT, LWM2M. El segundo de ellos, HTTP, ya está bien establecida y es muy utilizada por diversos protocolos M2M.
El protocolo de aplicación restringida (COAP) es un protocolo de transferencia de la banda especializada para su uso con en el Internet de las Cosas. El protocolo está diseñado para su uso en aplicaciones M2M, como la energía inteligente y automatización de edificios. COAP utiliza URLs junto con los métodos HTTP como GET, PUT, POST o DELETE. Esto significa que la obtención de un valor de un sensor no es muy diferente a la obtención de un valor a través de un API Web.
MQTT es un protocolo de publicación / suscripción. La idea es que un cliente se conecta a un servidor (conocido como el corredor) y se adhiere a los temas. Los clientes también se conectan al corredor y publican mensajes a los temas. Desde varios clientes pueden suscribirse a un mismo tema, es una forma sencilla de difundir información, una interfaz común para todo conectarse. Por ejemplo, varios sensores en su casa podría enviar actualizaciones al corredor sobre lo que está sucediendo en su casa. ¿Es el televisor? ¿Cuál es la temperatura actual en la cocina, y así sucesivamente. Un corredor recoge esa información y la almacena. Desde su smartphone una aplicación para Android también puede suscribirse a la misma corredor y recibir las actualizaciones de estado. Como resultado de la aplicación para Android puede visualizar el estado actual de todos los diversos sensores en su casa. La aplicación no necesita estar conectado permanentemente como el corredor actúa como el eje central. Del mismo modo que los sensores sólo necesitan enviar mensajes de actualización al corredor cuando sea necesario o en base a un intervalo de tiempo.
Tendrán que encendido, configurar, mantener, actualizar con el nuevo firmware, reinicia, y se recuperó de las condiciones de error dispositivos IO.
Mientras COAP y mucho MQTT principalmente con el envío y recepción de datos, no es más que un dispositivo IO que conseguir los últimos datos del sensor. En algún momento u otro, los dispositivos IO tendrán que realizar otras tareas de administración del sistema. Tendrán que estar encendido, configurado, aprovisionado de servicios, mantenida, actualizada con el nuevo firmware, reiniciado, recuperado de las condiciones de error, y finalmente quitado sus redes al final de su vida. Para los dispositivos de consumo mucho de esto es simple, pero para un sensor remoto en la cima de una colina, la capacidad de hacer estas cosas de forma remota y segura es esencial. Es esta necesidad de la gestión de dispositivos que LWM2M tacleadas.
Y esto nos lleva a la tercera área donde ARM está desempeñando un papel clave en M2M, las normas. Desde microcontroladores diseñados por ARM es probable que se utilizan en la mayoría de los dispositivos IO, tiene sentido para ARM para jugar un papel de liderazgo en la configuración del software y los protocolos para M2M. Por ejemplo Zach Shelby, Director de Tecnología de ARM para Internet de las Cosas, es un factor clave en la IETF para los estándares de la IO con contribuciones en COAP, LWM2M, 6LoWPAN, rutas, servicios web y las normas relacionadas con la seguridad. Zach es conocido como un pionero en el uso de la propiedad intelectual y la tecnología Web en las redes de baja potencia con 6LoWPAN y COAP desarrollo de estándares, y es coautor del libro "6LoWPAN: Internet wi-fi incorporado".
Conclusión
La revolución de la IO y M2M ya ha comenzado y ARM está proporcionando los componentes clave para hacer que funcione. No sólo tiene una gama de microcontroladores de eficiencia energética, que proporciona las herramientas necesarias para escribir software IO y M2M. También está construyendo un sistema operativo diseñado específicamente para M2M, y está jugando un papel clave en el desarrollo de la próxima generación de normas para la Internet de las Cosas.