// Install Skill
Install Skill
Skills are third-party code from public GitHub repositories. SkillHub scans for known malicious patterns but cannot guarantee safety. Review the source code before installing.
Install globally (user-level):
npx skillhub install beriberikix/zephyr-agent-skills/industrialInstall in current project:
npx skillhub install beriberikix/zephyr-agent-skills/industrial --projectskill.install.customTargetHelp
npx skillhub install beriberikix/zephyr-agent-skills/industrial --target-dir /path/to/skillsSuggested path: ~/.claude/skills/industrial/
SKILL.md Content
---
name: industrial
description: Industrial communication protocols for Zephyr RTOS. Covers Modbus RTU (serial), Modbus TCP (Ethernet/Wi-Fi), and CANopen basics. Trigger when building factory automation controllers, industrial sensors, or medical equipment interfaces.
---
# Zephyr Industrial Protocols
Build robust, industry-standard communication systems using Zephyr's modular industrial protocol stacks.
## Core Workflows
### 1. Modbus RTU (Serial)
Implement serial-based industrial communication for meters, PLCs, and sensors.
- **Reference**: **[modbus_rtu.md](references/modbus_rtu.md)**
- **Key Tools**: `CONFIG_MODBUS`, RS-485 DE/RE handling, Register Mapping.
### 2. Modbus TCP
Bridge industrial data over standard Ethernet or Wi-Fi networks.
- **Reference**: **[modbus_tcp.md](references/modbus_tcp.md)**
- **Key Tools**: Port 502, TCP/IP networking, Client/Server patterns.
### 3. CANopen Basics
Integrate with complex automation networks using the CANopenNode stack.
- **Reference**: **[canopen_basics.md](references/canopen_basics.md)**
- **Key Tools**: Object Dictionary (OD), PDO/SDO, Network Management (NMT).
## Quick Start (Modbus RTU Server)
```kconfig
# prj.conf
CONFIG_MODBUS=y
CONFIG_MODBUS_SERIAL=y
```
```c
// Initialize a server on a serial device
const struct device *dev = DEVICE_DT_GET(DT_CHOSEN(zephyr_modbus_serial));
struct modbus_iface_param param = {
.mode = MODBUS_MODE_RTU,
.server = { .node_addr = 1, .cb = &my_callbacks },
.serial = { .baud = 115200, .parity = UART_CFG_PARITY_NONE },
};
modbus_init_server(dev, param);
```
## Professional Patterns (Reliability & Safety)
- **RS-485 Hardware Handling**: Always use the devicetree `uart-rs485` property to handle transceiver direction signals automatically at the driver level.
- **Isolated Communication**: Use galvanically isolated transceivers for both serial and CAN lines in factory environments to prevent damage from ground loops.
- **Watchdog Integration**: In industrial control, always pair your communication loops with the **watchdog_reliability** pattern (see **specialized** skill) to ensure the system enters a fail-safe state on protocol lockup.
## Automation Tools
- **[modbus_register_lint.py](scripts/modbus_register_lint.py)**: Validate register map CSV files for duplicate addresses and overlaps.
## Examples & Templates
- **[modbus_register_map_template.csv](assets/modbus_register_map_template.csv)**: Starter register allocation sheet for Modbus projects.
## Validation Checklist
- [ ] Modbus RTU request/response exchange succeeds against a known test slave/master.
- [ ] Modbus TCP endpoint responds on port 502 with correct register mappings.
- [ ] CANopen node transitions through expected NMT states during startup.
- [ ] Communication faults trigger safe retry or watchdog-protected recovery behavior.
## Resources
- **[References](references/)**:
- `modbus_rtu.md`: Serial Modbus master/slave setup.
- `modbus_tcp.md`: Ethernet Modbus client/server patterns.
- `canopen_basics.md`: Object Dictionary and PDO mapping.
- **[Scripts](scripts/)**:
- `modbus_register_lint.py`: Register-map consistency checker.
- **[Assets](assets/)**:
- `modbus_register_map_template.csv`: Register planning template.
License
Declared license: Apache-2.0
The full license text is available in the source repository.
View the license in the source repository — the version published there is authoritative.
// Install Skill
Install Skill
Skills are third-party code from public GitHub repositories. SkillHub scans for known malicious patterns but cannot guarantee safety. Review the source code before installing.
Install globally (user-level):
npx skillhub install beriberikix/zephyr-agent-skills/industrialInstall in current project:
npx skillhub install beriberikix/zephyr-agent-skills/industrial --projectskill.install.customTargetHelp
npx skillhub install beriberikix/zephyr-agent-skills/industrial --target-dir /path/to/skillsSuggested path: ~/.claude/skills/industrial/