Hola, mi nombre es Nikita y hoy hablaremos sobre la API webHAD como una forma de controlar algunos dispositivos reales directamente desde el navegador a través de USB. Pero un pequeño aviso, no solo USB, también puedes trabajar con Bluetooth, pero hoy hablaremos solo de USB.
¿Quién soy yo? Soy Nikita Dubko, soy desarrollador web, con unos 15 años de experiencia. Soy un poco podcaster, jugador de D&D, realmente me encanta hacer kayak con mis amigos y soy un poco baterista y pianista y lo usaremos en esta charla. Así que también soy un experto desarrollador de Google, y para mí GDE es sobre conocimiento. Y es realmente genial visitar algunas reuniones de GDE y saber algo sobre nuevas APIs web. Por ejemplo, sobre WebHAD y hablamos de ello ahora mismo gracias a las reuniones de GDE.
¿Y cómo empezó todo? Tal vez viste en Twitter algún tipo de frontend, no es programación real. Solo mueves algunos píxeles, coloreas algunos botones y ni siquiera tienes acceso a dispositivos reales. Nosotros, los programadores de C++, somos desarrolladores reales, trabajamos con dispositivos reales, usamos controladores y así sucesivamente. Pero realmente tal vez tengamos alguna posibilidad de trabajar con dispositivos reales. Así que exploremos. Hablemos de algún tipo de lenguajes C++, no solo C++.
Para trabajar con dispositivos reales, debes usar la interfaz HID. HID — son Dispositivos de Interfaz Humana. Y lo usas mucho. Por ejemplo, es teclado, ratones, gamepad — todos los dispositivos que ayudan a las personas a comunicarse con laptops, PCs. Y es como una capa entre la PC y el humano. Así que puede ser clase USB y clase Bluetooth. Hoy hablaremos sobre la clase USB, pero trabajar con Bluetooth no es tan complicado.
Y hablemos de los controladores — tales controladores. Para escribir un controlador, debes saber mucho sobre tu dispositivo y, ya sabes, los controladores son como una capa de abstracción para ayudar a nuestra aplicación a trabajar con el sistema operativo. Si tenemos alguna aplicación y quiere comunicarse con algún dispositivo real, con hardware, debe llamar a alguna biblioteca del sistema operativo que puede ser un controlador. Y este controlador usará algunos datos en bruto para comunicarse con este dispositivo real. Pregunta al dispositivo real, ¿tienes algunos datos?, el hardware puede responder, sí, los tengo, tómalo. El sistema operativo procesa estos datos y devuelve el resultado de dicho procesamiento a la aplicación. Así que, es como una capa de abstracción, puedes escribir esta capa y nombrarla controlador. Pero para ser honesto, tenemos una encuesta en nuestro sistema operativo. Así que, cuando conectas algún dispositivo real a través de USB al sistema operativo, pregunta al dispositivo real, ¿tienes algo? Dispositivo real, no, no tengo.
Comments