Instalar y empezar a usar JSD
Instala el paquete público compilado en tu propia aplicación Node.js. El repositorio fuente es privado; usar el paquete no requiere acceso a él. No necesitas compilar la biblioteca, iniciar sesión en el registro ni publicar nada.
Usa Node.js 20+ para hardware o 20.6+ para el simulador incluido.
1. Instalar en tu aplicación
Si tienes un proyecto Node, usa su carpeta. De lo contrario crea uno:
mkdir my-jsd-app
cd my-jsd-app
npm init -yInstala el cliente y sus dependencias de ejecución con el gestor que prefieras:
npm install @danidoble/serial-node-jsd "serial-core@^0.3.0" "serialport@^13.0.0"pnpm add @danidoble/serial-node-jsd "serial-core@^0.3.0" "serialport@^13.0.0"bun add @danidoble/serial-node-jsd "serial-core@^0.3.0" "serialport@^13.0.0"yarn add @danidoble/serial-node-jsd "serial-core@^0.3.0" "serialport@^13.0.0"Bun puede administrar las dependencias; estos ejemplos ejecutan Node, no el runtime Bun.
2. Probar sin una máquina
El paquete instalado incluye un ejemplo completo y un equipo virtual. Ejecútalo desde la carpeta de tu aplicación, sin clonar nada:
npx --no-install jsd-example simulatepnpm exec jsd-example simulatebun run jsd-example simulateyarn jsd-example simulateSe conecta a un puerto virtual, imprime eventos JSD reales, consulta la máquina, lee registros, simula una entrega y cierra automáticamente. No abre puertos físicos.
Continúa con el ejemplo completo para explorar comandos, resultados fallidos y el script que puedes copiar.
3. Usar una máquina real
Enumera los puertos disponibles:
npx --no-install jsd-example portsProporciona después la ruta y velocidad reales:
JSD_PORT=/dev/ttyUSB0 JSD_BAUD_RATE=9600 npx --no-install jsd-example connect$env:JSD_PORT = "COM3"
$env:JSD_BAUD_RATE = "9600"
npx --no-install jsd-example connectEn macOS usa tu ruta /dev/cu.usbserial-... en lugar de /dev/ttyUSB0. Con pnpm, Bun o Yarn, usa el ejecutor del paso 2 y cambia simulate por ports o connect.
Escribe help, status, version, id o temperature. El ejemplo mantiene deshabilitado el dispensado real por defecto. Usa quit o Ctrl+C para cerrar.
4. Escribir tu aplicación
Importa desde la raíz del paquete y registra los listeners antes de iniciar:
import { JSD } from '@danidoble/serial-node-jsd';
const jsd = new JSD({
path: '/dev/ttyUSB0', // Sustituye por la ruta real.
baudRate: 9600,
autoConnect: false,
maxReconnectAttempts: 3
});
jsd.on('serial:error', error => console.error(error.message));
jsd.on('serial:jsd-error', message => console.error(message));
jsd.on('serial:connected', info => {
console.log('Ready:', info.path);
void jsd.vision.requestMachineIdentification({ machine: 1 })
.catch(error => console.error(error));
});
jsd.on('vision:machine-id', data => console.log(data));
jsd.on('vision:machine-status', data => {
console.log(data.machine, data.availabilityToDispense);
});
const shutdown = () => {
void jsd.stop().catch(error => {
console.error(error);
process.exitCode = 1;
});
};
process.once('SIGINT', shutdown);
process.once('SIGTERM', shutdown);
jsd.start();También es JavaScript válido: guárdalo como connect.mjs y ejecuta node connect.mjs. El bloque ts activa resaltado y verificación de tipos; no implica compilar la biblioteca.
start() devuelve void. La disponibilidad serial llega en serial:connected y la disponibilidad de máquina por separado. JSD consulta automáticamente las máquinas 1–4 tras conectar. Espera stop() en el flujo de cierre de tu aplicación.
Para plazos, comandos, simulación y limpieza completa, copia el script completo.
CommonJS
const { JSD, SerialStatus } = require('@danidoble/serial-node-jsd');El paquete incluye declaraciones ESM y CommonJS. Continúa con configuración de conexión, eventos tipados y errores y recuperación.