NI Remote-Ability permite la interacción remota con la instrumentación de NI, utilizando la tecnología gRPC Remote Procedure Calls (gRPC). NI ha invertido para garantizar que nuestros productos funcionen con gRPC, para que nuestros clientes puedan interactuar de forma remota con los productos de NI para realizar medidas de alta calidad y baja latencia. Al usar NI Remote-Ability, los ingenieros pueden aprovechar los flujos de trabajo de pruebas existentes con flexibilidad.
NI software Remote-Ability es la capacidad de interactuar de forma remota con hardware y servicios de NI para realizar medidas de alta calidad y baja latencia. NI Software Remote-Ability utiliza aplicaciones autónomas predefinidas y/o APIs y/o comandos de una manera holística e independiente del sistema operativo y aprovecha una arquitectura cliente/servidor.
NI Remote-Ability utiliza gRPC en segundo plano. Usar un servidor basado en gRPC le brinda la posibilidad de acceder y controlar equipos de pruebas y medidas desde diferentes entornos de programación, plataformas y sistemas operativos.
gRPC usa búferes de protocolo (Proto3) como su formato de intercambio de mensajes. La siguiente figura muestra cómo se envían las solicitudes y respuestas de prototipos entre el servidor gRPC y los stubs.
Figura 1: Solicitudes y respuestas del servidor gRPC
NI Remote-Ability es compatible con Windows, Linux y Mac, para una variedad de lenguajes de programación. Para obtener una lista completa de los lenguajes compatibles y sus sistemas operativos, consulte nuestros recursos de soporte de gRPC.
gRPC es un framework de llamada a procedimiento remoto (RPC) de código abierto que puede ejecutarse en cualquier lugar. Permite que las aplicaciones de cliente y servidor se comuniquen de manera transparente y permite que sea más fácil construir sistemas conectados de forma remota.
En gRPC, una aplicación cliente puede llamar directamente a un método en una aplicación de servidor en una máquina diferente como si fuera un objeto local, lo que le facilita la creación de aplicaciones y servicios distribuidos. En el lado del servidor, el servidor implementa esta interfaz y ejecuta un servidor gRPC para manejar las llamadas de los clientes. En el lado del cliente, el cliente tiene un stub, denominado simplemente cliente en algunos lenguajes, que proporciona los mismos métodos que el servidor.
Un aspecto principal de usar gRPC es que es independiente del sistema operativo y del lenguaje en el lado del cliente, le brinda flexibilidad y se puede adaptar al sistema operativo actual o a los lenguajes de programación que ya se utilizan en su proyecto.
Al usar gRPC para NI Remote-Ability, NI se une a otras grandes compañías como Google, Netflix y Square. gRPC tiene sólidas capacidades de las que carecen otras opciones como RPyC, SCPI y HiSLIP:
NI Remote-Ability utiliza los mecanismos pre determinados de autorización de gRPC . La conexión se puede proteger mediante TLS del lado del servidor o TLS mutuo (Zero Trust), lo que garantiza que la comunicación esté encriptada y que se pueda confiar en el cliente/servidor. Puede actualizar el servidor para incluir autorización personalizada integrándolo con un servidor de autorización.
Usar NI Remote-Ability es una manera de ayudar a garantizar que mantenga baja la latencia al realizar medidas de alta calidad. El siguiente ejemplo muestra las pruebas de rendimiento al leer un voltaje de entrada analógica de un chasis cDAQ-9179 simulado con un módulo NI-9207 de la serie C.
Servidor transfiere datos al cliente:
Localhost Linux
Localhost Windows 10: 4 GB/s1
Linux a Linux: 11 MB/s
Red local de enlace Thunderbolt 3
1 Cuidado con CISO AMP
NI-DAQmx con un chasis cDAQ-9179 simulado y módulos NI-9207:
Como se ve en estos puntos de referencia, las llamadas de gRPC son comparables a las llamadas de controladores nativos y tienen una latencia mínima. Con gRPC, los clientes de NI pueden interactuar de forma remota con los productos de NI para realizar medidas de alta calidad y baja latencia y aprovechar los flujos de trabajo de las pruebas existentes.