[{"data":1,"prerenderedAt":53},["ShallowReactive",2],{"docsTree":3,"0221":51},[4,8,19,41],{"id":5,"type":6,"name":7},"0000","doc","文档概述",{"id":9,"type":10,"name":11,"documents":12},"01","category","准备",[13,16],{"id":14,"type":6,"name":15},"0101","通用规范",{"id":17,"type":6,"name":18},"0102","身份认证",{"id":20,"type":10,"name":21,"documents":22},"02","接口",[23,26,29,32,35,38],{"id":24,"type":6,"name":25},"0201","获取账户信息",{"id":27,"type":6,"name":28},"0210","获取设备列表",{"id":30,"type":6,"name":31},"0211","获取设备状态信息",{"id":33,"type":6,"name":34},"0212","获取设备测量数据",{"id":36,"type":6,"name":37},"0220","数据推送",{"id":39,"type":6,"name":40},"0221","云图同步",{"id":42,"type":10,"name":43,"documents":44},"99","FAQ",[45,48],{"id":46,"type":6,"name":47},"9901","错误码",{"id":49,"type":6,"name":50},"9902","常见问题",{"name":40,"content":52},"### 云图推送服务\n\n> 云图同步服务是一个用于将设备采集到的云图数据同步到您自己的平台或者其他平台的服务。\n> \n> 您可以登录到雷登云平台的系统管理 → 云图配置 → 同步配置 → 同步服务管理, 将您的 HTTP 服务配置到雷登云平台中, 然后新增设备绑定，绑定后的设备将会自动同步云图数据到您的服务器中。\n\n需要在您的服务器上部署一套文件上传服务，可以是 **HTTP** 或者 **FTP** 服务。在本文档中, 将会介绍如何快速部署 HTTP 或 FTP 服务。\n\n#### 自部署 HTTP 服务\n\n> 环境要求: python3.9+\n\n1. 安装依赖\n\n```bash\npython  -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple uploadserver\n```\n\n2. 启动服务\n\n注意: 请确保 uploaded 目录存在\n\n```bash\npython -m uploadserver -d ./uploaded 3000\n```\n\n3. 开放防火墙端口\n\n如果是 Windows 上, 则需要手动开放入栈端口, 如果是 CentOS 8 上, 需要手动开启防火墙端口。\n\n```bash\nsudo firewall-cmd --zone=public --add-port=3000/tcp --permanent\nsudo firewall-cmd --reload\n```\n\n4. 测试服务\n\n通过 curl 测试服务\n\n```bash\ncurl -v -F \"files=@./1.png\" http://127.0.0.1:3000/upload\n```\n\n5. 配置设备同步服务\n\n您可以登录到雷登云平台的系统管理 → 云图配置 → 同步配置 → 同步服务管理, 将您的 HTTP 服务配置到雷登云平台中, 然后新增设备绑定，绑定后的设备将会自动同步云图数据到您的服务器中。\n\n\n#### 自部署 FTP 服务\n\n> 环境要求: python3.9+\n\n1. 安装依赖\n\n```bash\npython  -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyftpdlib\n```\n\n2. 准备 FTP 服务脚本\n\n```python\n#!/usr/bin/env python3\n# FTP 服务: 端口 12606, 匿名可读写, 支持公网访问\nimport os\nimport sys\n\nfrom pyftpdlib.authorizers import DummyAuthorizer\nfrom pyftpdlib.handlers import FTPHandler\nfrom pyftpdlib.servers import FTPServer\n\n# --------------------------------- configuration ---------------------------------\nPUBLIC_IP = \"172.26.95.113\"          # ← 公网 IP 地址\nPASSIVE_PORTS = range(60000, 60100)  # ← FTP 被动模式数据端口, 与防火墙放行范围保持一致\nFTP_PORT = 12606\n# ---------------------------------------------------------------------------------\n\nDIR = os.path.abspath(sys.argv[1] if len(sys.argv) > 1 else \"./uploaded\")\nos.makedirs(DIR, exist_ok=True)\n\nauthorizer = DummyAuthorizer()\n# 权限说明\n#   e - 更改目录（CWD）\n#   l - 列出文件（LIST、NLST、MLSD）\n#   r - 从服务器检索文件（RETR）\n#   a - 追加数据到现有文件（APPE）\n#   d - 删除文件或目录（DELE、RMD）\n#   f - 重命名文件或目录（RNFR、RNTO）\n#   m - 创建目录（MKD）\n#   w - 将文件存储到服务器（STOR、STOU）\n#   M - 更改文件模式（SITE CHMOD）\n#   T - 更改文件修改时间（MFMT）\nauthorizer.add_anonymous(DIR, perm='elradfmwMT')\n\nhandler = FTPHandler\nhandler.authorizer = authorizer\nhandler.masquerade_address = PUBLIC_IP\nhandler.passive_ports = PASSIVE_PORTS\n\nserver = FTPServer(('0.0.0.0', FTP_PORT), handler)\nserver.serve_forever()\n\n```\n3. 启动服务\n\n```bash\npython ftp_server.py ./uploaded\n```\n\n4. 开放防火墙端口\n\n如果是 Windows 上, 则需要手动开放入栈端口, 如果是 CentOS 8 上, 需要手动开启防火墙端口。\n\n```bash\nsudo firewall-cmd --zone=public --add-port=12606/tcp --permanent\nsudo firewall-cmd --reload\nsudo firewall-cmd --zone=public --add-port=60000-60100/tcp --permanent\nsudo firewall-cmd --reload\n```\n\n5. 测试服务\n\nWindow 自带的 FTP 客户端可以测试服务, 示例如下\n\n```bash\n\nE:\\>ftp\nftp> open 172.26.95.113 12606\n连接到 172.26.95.113。\n220 pyftpdlib 2.2.0 ready.\n530 Log in with USER and PASS first.\n用户(172.26.95.113:(none)): anonymous\n331 Username ok, send password.\n密码:\n\n230 Login successful.\nftp> lcd E:\\\n目前的本地目录 E:\\。\nftp> mkdir test\n257 \"/test\" directory created.\nftp> cd test\n250 \"/test\" is the current directory.\nftp> put 1.png\n200 Active data connection established.\n125 Data connection already open. Transfer starting.\n226 Transfer complete.\nftp: 发送 6305061 字节，用时 0.03秒 242502.35千字节/秒。\nftp> ls\n200 Active data connection established.\n125 Data connection already open. Transfer starting.\n1.png\n226 Transfer complete.\nftp: 收到 10 字节，用时 0.00秒 10000.00千字节/秒。\nftp> bye\n221 Goodbye.\n\nE:\\>\n\n```\n\n6. 配置设备同步服务\n\n您可以登录到雷登云平台的系统管理 → 云图配置 → 同步配置 → 同步服务管理, 将您的 HTTP 服务配置到雷登云平台中, 然后新增设备绑定，绑定后的设备将会自动同步云图数据到您的服务器中。\n\n",1791786820575]