La cuestión de qué incluir en el plan de estudios cuando comienzas a diseñar un curso es completamente trivial. Especialmente si este es un curso de IoT. Hoy queremos compartir nuestra experiencia, cómo desarrollamos el programa de capacitación para
Samsung IoT Academy , qué objetivos perseguimos y qué hicimos.
Nuestro objetivo principal era ayudar a las universidades a plantear el tema del Internet de las cosas, y en aquellas áreas donde es difícil para las universidades hacerlo por su cuenta. De hecho, los problemas existentes en el campo de Internet de las cosas, comenzando con una terminología poco clara, la falta de estándares comunes y un "zoológico" de equipos, que termina con la ausencia de este tema en los planes de estudio de las universidades rusas, se convirtió en la base para la formulación de requisitos:
- El contenido del programa debe satisfacer las necesidades del mercado moderno: el estudio de casos reales de la industria de IoT, estándares aceptados, equipos industriales, trabajos de diseño, etc.
- El programa debe tener un umbral de entrada suficiente para una amplia gama de estudiantes de TI de especialidades técnicas de universidades técnicas, es decir. ser un "programa educativo" en Internet de las cosas.
- El programa debería conducir a la creación de laboratorios en las universidades de IoT, actuando como un embudo para la selección de estudiantes y maestros que se encuentran en una enorme pila de tecnologías de IoT.
Y esto es lo que tenemos.

¿Para quién es este curso?
Nos enfocamos en un estudiante que tiene las siguientes habilidades en la entrada:
- Prácticas básicas de ingeniería de software: estilo de programación, control de versiones, experiencia en autodesarrollo de proyectos educativos o personales.
- Dominio de un lenguaje de programación de alto nivel (Python, C ++, Java).
- Conocimiento de los conceptos básicos de la programación web, el lenguaje JavaScript.
- Capacidad para trabajar en la consola de Linux.
Como puede ver, no hay nada súper complicado, y esperamos que para el curso 3-4 el estudiante los haya dominado con bastante éxito.
Y, por supuesto, lo principal: debe tener interés en el tema de Internet de las cosas.
Casos
Decidieron organizar el material en forma de cinco estudios de caso. Cada uno está tomado de la vida real. Muchos casos nacieron gracias a Oleg Artamonov, quien sugirió historias reales basadas en su experiencia profesional única.
Una característica importante de nuestros casos: ofrecemos declaraciones de problemas cercanas a cómo un cliente real podría entregarlas. De las tareas hay una transición a tareas, por ejemplo:
- Para estudiar el rango de sensores existentes, seleccionar entre ellos el parámetro de calidad de precio que sea adecuado para el parámetro. Preste atención a lo barato que difiere de lo caro, lo nuevo, de lo antiguo y lo chino, del sensor Bosch.
- Examine las soluciones existentes, observe los momentos exitosos y no exitosos. Sugerimos dónde buscar.
- Elija la tecnología de comunicación adecuada: ¿cuántos enrutadores tendrá que instalar si elegimos WiFi? ¿Cuántos módulos necesitará comprar si elegimos ZigBee? ¿Qué cobertura obtenemos con LoRa? Y así sucesivamente.
- Calcule la rentabilidad de la solución. Calcule cuánto costará en diferentes configuraciones. ¿Dónde comprar todo esto? ¿Cuál es el tiempo de entrega?
Se propone estudiar estos temas en preparación para la lección. Durante la discusión general en el aula moderada por el maestro, el alumno llega a comprender las ventajas y desventajas de varias soluciones.
Veamos brevemente los casos:
Caso 1: Cortijo y LoRa
Para el primer caso, tomaron la siguiente trama: monitoreo de temperatura y humedad en un almacén farmacéutico. Esta es una tarea vital: la insulina no se puede congelar y las hierbas medicinales no se pueden humedecer.
Desde el principio, decidimos darles a los estudiantes la oportunidad de "sentir" algo nuevo por sí mismos. Y este nuevo, que se ofrece en el primer caso, es la tecnología inalámbrica LoRa. Para aquellos que solo escucharon acerca de BlueTooth y WiFi, parece ciencia ficción:
- La distancia de transmisión de datos es de varios kilómetros.
- Trabaje con una batería: varios años.
- Las dimensiones del transceptor son en miniatura.
- Sin cargo mensual para el operador: coloca su estación base y puede comenzar a trabajar.
Pero los milagros no suceden, y en el caso de LoRa, obtenemos efectos secundarios que los estudiantes sienten tan pronto como comienzan a trabajar con el equipo:
- Muy baja tasa de transferencia de datos: se aburrirá mientras llega el paquete.
- Cantidades de datos muy pequeñas: lectura de bytes.
De los componentes, los estudiantes reciben un módulo de microcontrolador, un transceptor LoRa y un sensor integrado de humedad, temperatura y presión. El firmware existente del módulo basado en el sistema operativo en tiempo real RIOT OS está suficientemente desarrollado para desconectarse por completo de lo que está sucediendo en el nivel de microcontrolador y permitir que el estudiante trabaje inmediatamente con los datos a un alto nivel: el nivel de redacción del programa de aplicación.
Componentes para el primer caso: microcontrolador + transceptor, adaptador, sensorCaso 2: cerradura electrónica y MQTT
La tarea educativa aquí es el control de acceso y el sistema de gestión. En pocas palabras, hacemos un bloqueo que, al leer una llave electrónica, envía datos al servidor.

En el marco de Case, se lleva a cabo un taller con el protocolo MQTT ampliamente utilizado en Internet de las cosas: a través de él se van los datos sensoriales, las acciones de control y toda la información que conecta los nodos del sistema.
Qué tareas ayuda MQTT a resolver:
- Separe adecuadamente los datos de las aplicaciones: para que cualquier programador pueda reutilizar su dispositivo con su programa
- Establecer comunicación en un lenguaje común entre dispositivos heterogéneos de diferentes fabricantes.
Desafortunadamente, los MQTT universitarios no suelen estudiarse. Y es interesante porque se basa en el modelo de "Editor / Suscriptor" e introduce el paradigma basado en eventos, que los estudiantes solo pueden ver en la programación GUI.
Una pequeña ventaja: en esta tarea, puede detener a los estudiantes que "nadan" en el tema de los circuitos. Después de todo, aquí deberán encender el relé y controlar la lámpara RGB a través de un transistor.
Un microcontrolador con dos módulos: transistores para controlar una cinta RGB y una unidad de botónCaso 3. Iluminación adaptativa y 6LoWPAN
Todos conocen la tarea de ahorrar electricidad: por la tarde, cuando el sol está alto, la luz se atenúa, y cuando oscurece por la noche, la luz es más brillante.
Como habrás adivinado, todo se reduce a la tarea de la regulación automática. Aquí hay un ejemplo de un gráfico: en el eje Y - iluminación en lux, en el eje X - instantes de tiempo. El gráfico muestra el momento en que cambió la luz ambiental y el dispositivo comenzó a ajustarse al nuevo valor:

Aquí hay otro ejercicio para aquellos que desean ajustar los circuitos. Los estudiantes aprenderán qué es PWM (modulación de ancho de pulso) y cómo controlar el brillo de una bombilla LED.
En el proceso, quién no sabe cómo: dominar el osciloscopioProponemos conectar cada dispositivo en una red de bombillas y sensores con el protocolo 6LoWPAN; este es otro protocolo nuevo que, a diferencia de LoRa, funciona rápidamente, tiene un rango de comunicación pequeño, pero puede crear una red de malla. Este protocolo es muy adecuado para las redes de Smart Home, donde la velocidad de respuesta es crítica y la distancia no tiene principios.
Finalmente, en este caso se introduce otro concepto: una microcomputadora como el centro central del sistema de Internet de las cosas. Nadie instalará una computadora de escritorio donde sea más compacto y económico instalar una microcomputadora con Linux. En nuestro caso, esta es una computadora Artik hecha por Samsung. Puede conectar el módulo de comunicación de los protocolos LoRa o 6LoWPAN discutidos y luego usarlo como servidor de su sistema. Por supuesto, los estudiantes necesitarán habilidades en la consola de Linux.
Bombeamos la computadora Samsung Artik 10, le proporcionamos un módulo LoRa (en la foto en blanco)Caso 4: Bote de basura y nube
La trama de Case es una economía urbana inteligente. Imagine un sistema que optimiza las rutas de los camiones de basura para no conducirlos en vano. Aquí hacemos solo una parte de este sistema.
El caso se reduce al seguimiento de los siguientes parámetros:
- Contenedor de basura lleno - con un buscador de rango ultrasónico
- La presencia de fuego - usando un sensor de temperatura
- Ubicación: utilizando un sensor GPS.
El mapa de desplazamiento del dispositivo simulado. En realidad, casi nadie puede moverse por Moscú a esa velocidad.En este caso, estamos hablando de la plataforma de Internet de las cosas y el servicio en la nube como uno de sus componentes. La plataforma IoT acelera las pruebas y la implementación de soluciones.
¿Por qué son importantes las tecnologías en la nube? Cuando la cantidad de dispositivos en la red comienza a crecer exponencialmente, el costo de mantener sus servidores obliga a las empresas a usar servicios en la nube. Las capacidades del servidor en la nube permiten utilizar con éxito métodos de minería de datos. Por lo tanto, nuestros planes son agregar a los casos tareas complicadas relacionadas con el uso de métodos de aprendizaje automático.
Ofrecemos a los estudiantes trabajar con la plataforma Samsung Artik Cloud. Ya hay
un artículo sobre esto, por lo que no lo repetiremos.
Caso 5: Invernadero y desarrollo de equipo
Y finalmente, el último caso.
La parcela, que se considera en el caso, es un invernadero, y hay suficientes subtareas: riego automático, ciclos diarios de iluminación para las plantas, interfaz de usuario, registro, trazado.
Pantalla de GUI del estudiante de la escuela de verano 2017Las herramientas básicas ya se han dominado, nos centramos en el desarrollo del equipo. Organizamos un pequeño juego en el que el maestro desempeña el papel del cliente, y los estudiantes desempeñan el papel del equipo de una pequeña empresa de desarrollo. El "Cliente" expresa sus deseos para el sistema, y los estudiantes deben redactar de manera competente los términos de referencia, resaltar los elementos más importantes y urgentes de la implementación, distribuir tareas entre ellos y seleccionar un gerente de proyecto dentro del grupo.
Queríamos demostrar a los estudiantes las dificultades de comunicación entre el desarrollador y el cliente. Sumérgete en una situación en la que el cliente no puede explicar lo que quiere, y el desarrollador necesita sacar los requisitos para el proyecto.
Como va el curso
En el otoño de 2017, lanzamos nuestro plan de estudios en dos universidades: MIPT y MIREA. Durante la primera mitad del año, los estudiantes completaron casos, y ahora han comenzado el trabajo individual en sus proyectos.
Todos los materiales se proporcionan en un sistema electrónico de capacitación. Incluso diseñamos libros de papel para prepararnos para las clases.

Más de 100 estudiantes se inscribieron en el curso de capacitación. Estadísticas sobre los resultados del primer semestre - en la figura. Evaluamos este resultado como bueno: el curso era opcional, pero los estudiantes asistieron, a pesar de la carga de trabajo en el plan de estudios principal.

Curiosamente, entre los que abandonaron el curso, las respuestas fueron diametralmente opuestas: ¡dijeron que era demasiado difícil o demasiado fácil!
Parece que adivinamos el nivel promedio de estudiantes. Todavía no hemos descubierto cómo reducir adecuadamente el nivel de entrada al programa, pero para los hombres fuertes decidimos ofrecer esto.
Más cerca del hardware
Inicialmente, no incluimos la programación de bajo nivel de microcontroladores STM32 del conjunto de capacitación en el curso, considerando que los estudiantes no lo dominarían en el tiempo asignado. Nos equivocamos! El tema despertó vivo interés.
Como resultado, justo a mediados de año, el Instituto de TI MIREA organizó un curso adicional de Oleg Artamonov "Programación de microcontroladores modernos". Oleg construye su curso de arriba a abajo, es decir, sugiere estudiar el tema a través de la programación para el sistema operativo en tiempo real RIOT OS. En nuestros recursos puede encontrar
notas y
videos de sus conferencias.
Y en MIPT, los maestros y estudiantes comenzaron a realizar su propio curso sobre el mismo tema por su cuenta. Además, nuestros jóvenes maestros de MIPT bajaron mucho más el nivel de abstracción: antes de trabajar directamente con los registros. Aquí está su
grupo VKontakte y
conferencias en YouTube.
Resumiendo su experiencia, complementaremos nuestro curso principal de IoT Academy para el próximo año escolar. Después de todo, no hay nada mejor que resolver el problema a un nivel alto, y luego a un nivel bajo, y sentirse libre en el mundo de las abstracciones.
(Null, Lobur - Fundamentos de organización y arquitectura de computadoras)Que sigue
¿Cómo evaluaremos los resultados del programa? Por supuesto, en primer lugar, de acuerdo con los proyectos individuales finales de los graduados. Primero, los proyectos estarán protegidos a nivel universitario, y luego organizaremos una competencia interuniversitaria.
Y en septiembre de 2018, lanzaremos un curso actualizado en 10 universidades de Rusia:
- MIPT (Moscú)
- MIREA (Moscú)
- HSE (Moscú)
- SPbSU (San Petersburgo)
- NSTU (Novosibirsk)
- UrFU (Ekaterinburg)
- KFU (Kazan)
- SUSU (Cheliábinsk)
- TUSUR (Tomsk)
- NEFU (Yakutsk)
Es curioso que ahora nuestro curso, que refleja los detalles de una universidad en particular, esté adquiriendo características distintivas. Por ejemplo:
- TUSUR (Tomsk) eligió la seguridad de la información como la dirección básica del laboratorio de IoT: ¡estamos esperando interesantes trabajos científicos y aplicados en esta área tan importante de Internet de las cosas!
- En la Universidad Estatal del Sur de los Urales (Chelyabinsk) se decidió que el curso se ofrecerá como base para varias facultades a la vez, ¡un total de más de 500 estudiantes (!)
- En la Universidad Federal de los Urales (Ekaterimburgo), la interdisciplinariedad es de gran importancia. ¡El equipo de maestros: matemático, ingeniero de circuitos, programador, economista, ingeniero de radio, especialista en seguridad y especialista en visión artificial!
La Academia IoT de Samsung tiene un año escolar intenso pero muy interesante por delante.