﻿========================================================
  掌控板 超重失重实验系统 · 便携包 使用说明
========================================================

【这是什么】
把整个文件夹拷到任何一台 Windows 电脑（同一 WiFi「99」下），
双击「启动MQTT.bat」即可运行，无需安装 Node.js（已内置）。

【文件夹内容】
  启动MQTT.bat            双击启动 MQTT 服务 + 网页伺服
  查看本机IP.bat          查看本机在「99」WiFi 下的 IP
  node.exe                Node.js 运行时（已内置，勿删）
  node_modules/           依赖库（已内置，勿删）
  mqtt_broker.js          MQTT 服务端（板子 1883 / 网页 8080）
  mqtt.min.js             网页端 MQTT 库
  超重失重多板可视化.html  8 板主页面（启动后浏览器打开）
  超重失重可视化.html      单板页面（参考/调试用）
  掌控板加速度采集_MQTT_1.py ... _8.py
                          8 块板的固件（每块板号不同）
  掌控板加速度采集_MQTT.py 单板版固件（参考）
  gen_boards.py           固件生成器（换 IP 时重新生成用）
  upload_board.py         刷板工具（需 Python + mpremote）
  _rawupload.py           刷板工具（需 Python + pyserial，推荐）

【新电脑上手步骤】
1. 把本文件夹整个拷到新电脑（U盘/局域网均可）
2. 新电脑连上 WiFi「99」（密码 78787878）
3. 双击「查看本机IP.bat」——看「99」网卡的 IPv4 地址：
     ● 若是 10.94.210.218 ：板子免改，跳到第 5 步
     ● 若是其他地址（如 10.94.210.xxx）：按下面「换 IP 两种办法」处理
4. 换 IP 两种办法（任选其一）：
     办法一（推荐，免刷板）：把新电脑的无线网卡设为静态 IP
       10.94.210.218。管理员 PowerShell 执行（WLAN 换成实际网卡名，
       用 Get-NetAdapter 查看）：
         netsh interface ip set address name="WLAN" static 10.94.210.218 255.255.255.0
       恢复自动获取：
         netsh interface ip set address name="WLAN" dhcp
     办法二（需重刷板子）：
         python gen_boards.py 新IP
       然后逐块刷入（板号与物理标签一致）：
         python _rawupload.py COM口号 掌控板加速度采集_MQTT_N.py
5. 双击「启动MQTT.bat」，窗口会打印本机 IP 列表
6. 浏览器打开 http://本机IP:8080/ 即可看到 8 板页面
7. 掌控板上电 → 按 A 连网（蓝灯）→ 按 B 开始测量（绿灯）
   曲线出现在对应板号的面板里，点击曲线可放大，
   放大后可单独「暂停本板 / 清空本板」

【原理】
  板子 ──WiFi 99──> 电脑(IP:1883 TCP) <──ws://IP:8080── 浏览器网页
  板子发布到 mp/acc/1...8，网页订阅 mp/acc/# 分通道显示。
  板子固件里写死了 broker IP（默认 10.94.210.218），
  所以电脑 IP 变了要么改电脑 IP，要么重新生成并刷写固件。

【常见问题】
  · 页面打不开          → 先双击 启动MQTT.bat；确认浏览器 IP 与窗口打印一致
  · 板子按 A 连不上     → 确认电脑与板子都在「99」；看 启动MQTT.bat 窗口
                           有无「客户端接入」；板子 IP 需与电脑同网段
  · 换了路由器/网段     → 按「换 IP 两种办法」处理
  · 刷板提示进不了 REPL → 用 _rawupload.py（不依赖 mpremote，更稳）
  · 刷板需要的 Python 环境：
        pip install pyserial
      （upload_board.py 另需：pip install mpremote）

【注意】
  node.exe 和 node_modules 是运行必需的，拷贝时务必带上，
  否则新电脑若没装 Node.js 将无法启动。
