Ir al contenido

Referencia de comandos

Firmware 1.3-rc10Revisado: 7 de septiembre de 2026

Estado, sesión y mantenimiento

ComandoFunción
?Muestra los grupos principales de comandos.
infoInforma producto, versión, ID y dirección LILO.
statusMuestra segundos encendido, causa y banderas de reset, y estado del watchdog.
estadoMuestra el estado de Ethernet, la IP efectiva y los valores activos.
m1 / m0Activa o detiene el monitor de valores cada dos segundos. El monitor se detiene solo después de 15 minutos.
se1 / se0Activa o desactiva el eco de caracteres por USB. Requiere config.save para persistir.
rebootReinicia el microcontrolador por software aproximadamente un segundo después.
killmeFuerza un bloqueo para probar el IWDG. Usar únicamente durante una prueba controlada.
passwdCambia interactivamente la contraseña de Telnet y la guarda de inmediato. Se usa desde una sesión Telnet autenticada.
exitCierra la sesión Telnet.

Las causas más habituales informadas por status son software, watchdog independiente (IWDG), encendido/baja tension y pin NRST. El reinicio manual y el automático de 24 horas aparecen como reinicio por software.

Identidad y bus

ComandoFunción
id?Consulta el ID de inventario, de hasta siete caracteres.
id: GW-001Asigna el ID. Una vez asignado, primero debe restablecerse con id: #### para poder cambiarlo.
bus?Consulta el modo de bus actual.
bus: liloActiva el bus LILO por PB12.
bus: dallasActiva un DS18B20 por PB11; utiliza param1 con código temp. Al seleccionar este modo se reconstruye la tabla de parámetros en RAM.
lilo?Consulta dirección, tipo y nombre LILO del gateway.
lilo.address: G01Configura la dirección LILO del gateway. Debe contener exactamente tres caracteres y ser única en el bus.
lilo.name: GW1Configura el nombre LILO; en esta versión se conservan tres caracteres.
lilo: 007v0?Envía a 007 el mensaje v0? y muestra la respuesta o un timeout. Es una prueba de diagnóstico.

Ethernet

El prefijo ethernet es alias de net; por ejemplo, ethernet? equivale a net?.

ComandoFunción
net?Muestra la configuración, IP efectiva, estado interno, enlace físico, segundos desde la última actividad y diagnóstico de reinicios de Ethernet.
net.mac: 18:0a:1a:91:40:01Configura la MAC. Debe ser única para cada equipo.
net.ip: 192.168.1.20Configura una IP fija. Usar 0.0.0.0 para DHCP.
net.subnet: 255.255.255.0Configura la máscara de red.
net.gateway: 192.168.1.1Configura la puerta de enlace.
net.dns: 192.168.1.1Configura el servidor DNS.
net.startReinicia la inicialización de Ethernet con los valores que están en RAM.

La máscara (net.subnet) debe corresponder a la red: por ejemplo, 255.255.255.0 en una red /24. No ingresar allí la dirección del gateway. Después de modificarla, ejecutar config.save y net.start. El firmware conserva la máscara guardada al actualizar; no la corrige automáticamente.

En la respuesta de net?, .status describe el estado interno de la máquina Ethernet y .link consulta el enlace físico real del ENC28J60 (up, down o unknown). Un .status: ok por sí solo no demuestra conectividad extremo a extremo.

.last_activity_seconds cuenta el tiempo desde la última solicitud SNMP válida, conexión o comando Telnet, o comando serie. .restart_count cuenta los reinicios de Ethernet solicitados desde que arrancó el microcontrolador y .last_restart_reason puede indicar startup, manual, periodic, idle, link_restored o error.

Ethernet se reinicia preventivamente cada seis horas. Además, si transcurren 30 minutos sin las actividades anteriores, se reinicia y el temporizador vuelve a quedar armado. Cuando se detecta que un enlace caído volvió a subir, también se reinicializa la interfaz.

SNMP

Usar SNMPv1, la comunidad de lectura configurada (public de fábrica) y el puerto UDP configurado (161 de fábrica). Cada solicitud admite un solo OID. Para recorrer el árbol, usar WALK basado en GET NEXT con un OID por paquete; GET BULK y SNMPv2c/v3 no están implementados.

Desde 1.3-rc9, una consulta incompatible, con comunidad incorrecta o malformada se descarta liberando la escucha para los demás clientes. Se corrige además una pérdida de consultas introducida en rc8 cuando llegaban entre dos comprobaciones de recepción. No se requiere net.start para recuperarse de esos descartes.

Una vez obtenida una IP válida, SNMP y Telnet se inicializan en las siguientes pasadas del programa, sin la espera adicional de cinco a siete segundos de versiones anteriores. La obtención de IP por DHCP conserva sus tiempos internos.

ComandoFunción
snmp?Consulta comunidades, puerto, contacto, nombre y ubicación.
snmp.getcom: lecturaConfigura la comunidad de lectura, máximo 20 caracteres.
snmp.setcom: escrituraConfigura la comunidad de escritura, máximo 20 caracteres.
snmp.port: 161Configura el puerto UDP del agente SNMP.
snmp.contact: soporte@empresaConfigura sysContact.
snmp.name: SalaMaquinasConfigura sysName.
snmp.location: Planta 1Configura sysLocation.

Desde 1.3-rc10 se eliminaron el envío de traps, los comandos trap?, trap.* y paramN.ttl, y el OID de destino 1.3.6.1.2.1.52686.4.1. Los ajustes antiguos se ignoran aunque estuvieran habilitados. Las consultas de mediciones, GET NEXT/WALK y los demás SET SNMP siguen disponibles; no es necesario borrar la configuración al actualizar desde otra versión 1.3.

Después de cambiar el puerto o las comunidades SNMP, guardar y ejecutar net.start o reboot para reinicializar el agente.

Los nueve valores están disponibles en los OID 1.3.6.1.2.1.52686.1.0 a 1.3.6.1.2.1.52686.1.8. También se exponen los objetos estándar sysDescr, sysUpTime, sysContact, sysName y sysLocation. El agente implementa SNMPv1.

Parámetros y aprendizaje LILO

N puede valer de 0 a 8; la capacidad total es de nueve parámetros.

ComandoFunción
params?Lista los nueve códigos y muestra .auto: on si hay una ventana de aprendizaje activa.
paramN?Muestra código, valor, calificador y errores del parámetro N.
paramN.code: 007v0Asocia manualmente el parámetro N a la medición v0 del nodo 007.
paramN.code:Deja libre el parámetro N.
params.autoAbre durante cinco minutos una ventana de aprendizaje. Agrega los nodos nuevos que reporten v0, conserva los existentes y guarda la tabla al terminar.
params.clearVacía la tabla en RAM y cancela el aprendizaje. No guarda automáticamente.

El antiguo comando params.discover ya no está disponible.

Alta por pulsador: en modo LILO no hace falta abrir una ventana. Cuando un nodo transmite addme por broadcast, el gateway toma los tres caracteres de origen, guarda el código <ID>v0 en el primer lugar libre y recién entonces responde added a la dirección específica del nodo. Si el nodo ya estaba asociado, conserva su configuración y vuelve a responder. Si la tabla está llena o falla la escritura en Flash, no envía la confirmación.

Persistencia y diagnóstico

ComandoFunción
config.saveGuarda y verifica la configuración. Alterna entre las copias A y B; si nada cambió evita otra escritura.
config.loadRecupera la última copia válida. Se recomienda reiniciar después para reinicializar todos los servicios.
config.defaultRestaura en RAM la mayoría de los valores de fábrica. Conserva la MAC actual y no reasigna el ID ni la dirección LILO. Luego debe ejecutarse config.save.
config?Muestra la copia activa (config_slot), su secuencia (config_sequence) y el resultado del último guardado (config_last_save).
debug?Muestra los diagnósticos activos.
debug: 1 / debug: 0Activa o desactiva todos los diagnósticos.
debug.main: 1Diagnóstico general. También existen debug.ethernet, debug.lilo, debug.snmp, debug.params y debug.dallas; usar 0 para desactivar.