Estudia como ingeniero de aplicaciones IoT, ¿qué trabajos podrás conseguir en el futuro?
El grupo de talentos de los ingenieros de aplicaciones de IoT debe incluir principalmente ingenieros de TI y OT.
Las direcciones del proyecto incluyen: transporte inteligente, protección ambiental, trabajo gubernamental, seguridad pública, hogar seguro, protección inteligente contra incendios, monitoreo industrial, monitoreo ambiental, cuidado de ancianos, salud personal, cultivo de flores, monitoreo del sistema de agua, alimentos. trazabilidad, reconocimiento enemigo y recopilación de inteligencia, etc. Los puestos de trabajo específicos incluyen: diseñador de hardware, desarrollador de firmware integrado, experto en comunicaciones inalámbricas, desarrollador de back-end, desarrollador de front-end, desarrolladores de aplicaciones, ingenieros de automatización e integración de sistemas, científicos de datos, etc.
Diseñador de hardware: la mayoría de los proyectos de IoT implican algún tipo de diseño de hardware personalizado. La complejidad del hardware varía de un proyecto a otro. En algunos casos, al utilizar módulos de hardware y diseños de referencia, son suficientes conocimientos básicos y conocimientos de ingeniería eléctrica. Algunos proyectos más complejos requieren más experiencia y conocimientos. Las tecnologías comunes incluyen diseño de placas de circuito impreso (PCB), diseño de antenas y radiofrecuencias, relojes, experiencia relacionada con el enrutamiento de señales, diseño de bajo consumo y optimización de energía, etc.
Desarrolladores de firmware integrado: dejen que el hardware cree Una diferencia es que necesita desarrolladores integrados. Son desarrolladores de software que trabajan en el nivel más bajo y más cercano al hardware básico. Este tipo de software se denomina firmware (firmware entre software y hardware). Normalmente, la experiencia de estos desarrolladores combina ingeniería eléctrica, arquitectura informática y desarrollo de software. Los desarrolladores integrados trabajan con versiones prototipo del hardware final, por lo que sus escritorios a menudo parecen desordenados. Las tecnologías comunes incluyen lenguajes de programación (C, lenguaje ensamblador, C), experiencia en sistemas operativos en tiempo real (RTOS) (FreeRTOS, Contiki, Zephyr), Linux integrado, control de versiones de código fuente, seguridad física y de la información, etc. p>
Experto en comunicaciones inalámbricas: La mayoría de los proyectos de IoT son inalámbricos, pero la tecnología inalámbrica es difícil porque la tecnología inalámbrica combina la doble complejidad de la física y el software. Por lo general, los expertos en comunicaciones inalámbricas provienen de comunicaciones inalámbricas, protocolos de red y desarrollo de software. Para los grandes sistemas de IoT, se requiere experiencia en comunicaciones inalámbricas para determinar adecuadamente la red y los patrones de comunicación. Los sistemas IoT de consumo, por otro lado, requieren experiencia en comunicaciones inalámbricas para garantizar una conexión fluida de los dispositivos a los teléfonos inteligentes de los usuarios a través de Bluetooth. Las tecnologías comunes incluyen simulación de red, red de malla inalámbrica, dominio de la tecnología de propagación inalámbrica, dominio del consumo de energía, protocolos (TCP/IP, IPv4, IPv6, RPL, TLS, WiFi, Bluetooth, 6lowpan, ZigBee, LoRA, MQTT, CoAP)
Desarrolladores de backend: en los sistemas IoT, el backend necesita manejar la base de datos y la lógica de la aplicación. Normalmente, el backend se implementa en un host en la nube y es responsable de almacenar datos de dispositivos IoT, autenticar usuarios y proporcionar API para el frontend y la integración con otros sistemas. Las tecnologías comunes incluyen lenguajes de programación (JavaScript, Go, Python, Ruby), bases de datos (MySQL, MongoDB, Redis), experiencia en desarrollo y operación y plataformas en la nube (AWS de Amazon, Heroku, Azure de Microsoft)
Desarrolladores de front-end: la mayoría de los proyectos de IoT tienen un front-end en forma de página web. Los usuarios pueden interactuar con el sistema a través de dichas páginas web. Por lo tanto, estas páginas deben ser fáciles de usar, seguras, ejecutarse en los navegadores web más comunes y mantenerse actualizadas. Estas interfaces se desarrollan en HTML y generalmente utilizan algún marco de interfaz de JavaScript existente. Los desarrolladores de aplicaciones para el usuario necesitan crear experiencias visuales a partir de grandes cantidades de texto generado en páginas web. Las tecnologías comunes incluyen diseño UI/UX, entrevistas con usuarios y experiencia de interacción persona-computadora, HTML, CSS, Javascript y marcos de desarrollo web (Vue.js, React, Bootstrap).
Desarrolladores de aplicaciones: muchos son usuarios. Los proyectos orientados a IoT requieren el uso de aplicaciones móviles como interfaz de usuario. A medida que avanza el proyecto, la importancia de la experiencia con las aplicaciones móviles se vuelve cada vez más destacada. Normalmente, necesitamos desarrollar y mantener dos versiones: iOS y Android. En ocasiones también es posible desarrollar aplicaciones nativas híbridas (normalmente desarrolladas en HTML). La mayoría de los desarrolladores de aplicaciones conocen los pros y los contras de los marcos nativos frente a los híbridos.
Las tecnologías comunes incluyen marcos nativos/híbridos de desarrollo de Android e iOS (Phonegap/Cordova, Ionic, Angular, React, Vue), lenguajes de programación (Java, Swift, Objective C, JavaScript)
Automatización e integración de sistemas Ingeniero: Muchos proyectos de IoT requieren integración con el software existente. La integración de software es una tarea a menudo subestimada que a menudo requiere un esfuerzo considerable y un conjunto específico de técnicas para tener éxito. Además, una vez que comienza la integración del software, debe asegurarse de que la integración siga siendo funcional. En este momento necesitamos utilizar pruebas automáticas. Los ingenieros de automatización e integración de sistemas necesitan mucha experiencia práctica y coraje porque es un trabajo duro. Las tecnologías comunes incluyen marcos de prueba automatizados (Jenkins, Mocha, Travis), API REST y lenguajes de programación (Javascript, Java, Python, Bash)
Científico de datos: todos los proyectos de IoT deben girar en torno a datos, y usted. Estos datos deben explotarse al máximo. En las primeras etapas de un proyecto, esta parte del trabajo puede ser tan simple como colocar los indicadores clave de desempeño en una hoja de Excel para compararlos. Pero a medida que su proyecto crezca, necesitará realizar un análisis más profundo de sus datos. Aquí es donde se necesita la ayuda de los científicos de datos. Los científicos de datos pueden buscar patrones e información procesable a través de datos complejos, y este es el valor último de los datos. Las tecnologías comunes incluyen estadística, inteligencia artificial, aprendizaje automático, minería de datos y lenguajes de programación (Matlab, R, Python)