Skip to main content

Linux应用层开发工程师

Technology
银星智能
¥20,000 - ¥40,000 /年2天前截至 2026/6/9
全职

职位描述

该职位来源于猎聘 职责描述: 1. 核心业务逻辑实现 清扫任务调度:负责扫地机核心业务状态机的设计与实现,包括待机、清扫、回充、脱困、异常处理等状态流转与控制。 用户指令处理:实现来自APP、语音、按键等多种交互方式的指令解析与响应机制。 日志与诊断:设计并实现设备端日志系统,支持分级输出、远程上传、故障现场信息保留等功能,便于问题追溯。 2. 通信与云服务对接 协议开发:负责机器人与APP、云端之间的通信协议设计与实现,保障指令下发、状态上报的实时性与可靠性。 数据传输:实现设备配置、地图数据、清扫记录等信息的同步与持久化存储。 网络管理:负责Wi-Fi连接、断线重连、网络状态监测、动态IP管理等网络相关功能的稳定性保障。 3. OTA与系统维护 升级系统开发:设计并实现OTA升级客户端,支持升级包下载、完整性校验、安全验证、升级执行与失败回滚。 系统守护:开发看门狗或系统监控服务,确保应用异常时能够自动恢复。 启动管理:优化应用自启流程,控制开机启动速度,确保系统快速进入工作状态。 4. 软硬协同与性能调优 硬件接口对接:通过串口、Socket或共享内存等方式,与底层MCU或算法模块进行数据交互,下发控制指令,接收传感器状态。 资源监控与优化:监控应用运行时对CPU、内存的占用情况,持续优化代码效率,防止内存泄漏与资源耗尽。 异常排查:快速定位并解决线上反馈的死机、卡顿、通信中断、升级失败等Linux应用层相关问题。 5. 文档与版本管理 文档撰写:维护应用层软件设计文档、接口说明、配置文件说明、版本发布记录等。 版本管理:使用Git/SVN进行代码管理,遵循规范的版本分支策略与提交规范。 任职要求: 1. 教育背景与经验 学历专业:本科及以上学历,计算机、电子、自动化、通信等相关专业。 工作经验:5年以上嵌入式Linux应用开发经验,有扫地机器人、割草机器人或消费级智能硬件量产项目经验者优先。 2. 编程与系统能力 编程语言: 精通C++,具备良好的编码风格与面向对象设计思想。 熟悉Shell/Python脚本,能够编写辅助工具与自动化测试脚本。 Linux系统编程: 深入理解Linux环境下的多线程/多进程编程,掌握互斥锁、条件变量、信号量等同步机制。 熟悉进程间通信(IPC)机制,如共享内存、消息队列、Socket、DBus等。 掌握Linux网络编程,熟悉TCP/IP、UDP协议栈,具备高并发连接处理经验。 开发与调试工具: 熟练使用GCC/G++、Makefile、CMake等编译构建工具。 掌握GDB调试、Core Dump分析、Valgrind内存检测、Strace系统调用跟踪等调试手段。 熟悉Systemd服务管理、Syslog/Logcat日志系统的配置与使用。 3. 业务与技术栈要求 物联网与通信协议: 熟悉MQTT、HTTP/HTTPS、WebSocket等物联网常用协议,具备设备与云端/APP数据交互开发经验。 熟悉Wi-Fi配网流程(SmartConfig、SoftAP、蓝牙辅助配网),了解网络异常处理机制。 熟悉JSON/Protobuf等数据序列化格式,具备协议设计与解析能力。 OTA升级: 熟悉嵌入式Linux环境下的OTA差分/全量升级方案设计,包括升级包下载、校验、备份与恢复机制。 了解AB分区升级、双系统切换等可靠性设计。 4. 系统架构能力 框架设计: 具备模块化设计思维,能够设计可复用的应用层软件架构。 了解状态机设计模式,能够实现复杂的业务逻辑流转(如清扫任务状态管理)。 性能优化: 熟悉Linux系统资源监控(CPU/内存/IO),具备应用层性能瓶颈分析与优化经验。 了解低功耗场景下的应用层优化策略,如待机模式的任务调度控制。

Keywords
monthsOfExperience: 60LinuxIoMakefile

¿Te interesa este puesto?