跳转至

JanPNP Docs

- :material-cloud:{ .lg .middle } __Cloud API 服务__ --- WebSocket 设备网关 + RESTful HTTP API,连接管理控制台与现场贴片机。 [→ 快速开始](quickstart.md){ .md-button } - :material-cogs:{ .lg .middle } __系统架构__ --- 了解 JanPNP 云端服务的分层设计、核心模块与数据流。 [→ 查看架构](architecture.md){ .md-button } - :material-api:{ .lg .middle } __API 参考__ --- 完整的 RESTful API 文档,包括请求/响应示例与错误码。 [→ 浏览 API](api/overview.md){ .md-button } - :material-lan:{ .lg .middle } __设备协议__ --- 设备与云端 WebSocket 通信协议详细规范。 [→ 阅读协议](protocol/device-protocol.md){ .md-button }

项目概述

JanPNP 是一个智能桌面贴片机项目。Web Server 是 JanPNP 的云端服务套件,由三个独立服务组成:

服务 端口 职责
Cloud API 8765/8766 WebSocket 设备网关 + RESTful HTTP API
Admin Console 8770 设备管理、固件发布与运维控制面
Public Site 8771 JanPNP 官方网站与产品展示

Cloud API 通过 WebSocket 与现场贴片机保持长连接,通过 REST API 向上层管理控制台暴露设备状态、任务控制、料仓管理、机器视觉、硬件调试和固件发布能力。

主要功能

  • 设备网关 — WebSocket 长连接管理、设备注册与心跳保活、请求代理转发
  • 设备管理 — 在线状态、设备绑定、用户权限隔离
  • 贴装任务 — 创建、启动、暂停、恢复、停止全生命周期控制
  • 料仓管理 — 元件库、BOM 校验、飞达槽位与物料可用性检查
  • 机器视觉 — 相机状态、目标切换、模型切换与元件检测
  • 硬件调试 — 实时位置、轴同步、运动控制、泵阀灯光与串口日志
  • 固件发布 — 签名镜像上传、版本管理、发布激活与审计日志
  • 订单管理 — 贴装工单的创建、解析、取消与历史查询
  • 相机流 — 设备相机状态查询与帧获取
  • 扩展市场 — 扩展安装、卸载与统计
  • 用户认证 — JWT 登录、微信小程序登录与令牌刷新
  • 反馈收集 — 用户反馈提交

技术栈

组件 选型
HTTP 框架 aiohttp
WebSocket websockets
JWT PyJWT (HS256)
配置 python-dotenv
并发 asyncio
Python ≥ 3.11