mappers-go is a collection of device mappers written in Go that enable KubeEdge to connect to edge devices using various protocols.
The project solves the problem of integrating diverse edge devices into KubeEdge clusters by providing protocol-specific mappers and a framework for building custom ones. It includes ready-made implementations for Modbus, Bluetooth, ONVIF, and OPC UA protocols. For protocols not covered by existing mappers, the mapper-sdk-go framework abstracts the connection to KubeEdge, device property and status management, and data conversion, allowing developers to focus on implementing only the protocol-specific driver interface for their device type.
Teams should adopt this tool if they need to connect edge devices to KubeEdge and their devices use one of the supported protocols, or if they need to build a custom mapper for a proprietary or less common protocol. The project is suited for edge computing deployments where devices must be managed and monitored through a Kubernetes-based control plane. The mapper-sdk-go framework significantly reduces development effort by handling boilerplate integration work, making it practical to create mappers for custom protocols without reimplementing core KubeEdge connectivity logic.
The project maintains active development with regular updates to both the protocol implementations and the SDK framework. Contributions flow steadily across multiple mapper implementations and the core SDK, indicating ongoing refinement of existing functionality. The codebase shows consistent attention to the mapper-sdk-go framework, suggesting the maintainers view it as a critical component for extensibility. Documentation is maintained in multiple languages, reflecting an effort to serve a geographically distributed user base.