Skip to content

Small-SaltedFish/mcompass

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

一个现实世界中的Minecraft罗盘

Index

Front Bottom
Front Bottom

声明

  • Minecraft游戏素材版权均归微软所有, 所以本项目不提供游戏中罗盘的图片素材
    • 面板文件仅提供外形, 像素块已绘制好
    • 罗盘取模原始图片恕不提供
    • PCB背面丝印的标准银河字母字体版权不明确. 如果有任何借此项目进行商业的行为, 请删除背面标准银河字母

编译说明

不会编译

仓库已添加Github Actions, 可以直接点击Actions找到最近一次的"Build Firmware Workflow"构建成功的记录,

点击后的页面下方有个类似于"mcompass-639b762"的文件, 下载后解压文件得到mcompass.bin文件使用Flash Download Tool选择ESP32C3->USB下载固件.

固件已将bootload.bin, partitions.bin, firmware.bin, littlefs.bin合并, 直接烧录到地址0x0即可, 其余参数保持默认, SPI SPEED:40Mhz;SPI MODE:DIO

手动编译

固件使用PlatformIO平台Arduino框架编写, 已将依赖库迁移至本地lib文件夹下. PlatformIO的安装方式请自行搜索;

Firmware/assets文件夹内附带了一个extract_pixels.py脚本, 会检测Firmware/assets文件夹内compass{id}.bmp的10x5图像, 根据LED灯珠排布取模,生成对应的头文件.

服务端程序使用next.js. 安装好node.js后,进入Server文件夹执行npm i安装依赖.

执行npm run build拷贝生成的Server/out文件夹内容到Firmware/data文件夹下,使用PlatformIO自带的Build Filesystem ImageUpload Filesystem Image指令上传到设备.

功能说明

  • 首次插上电脑启动会创建一个The Lost Compass的热点, 连接后打开浏览器输入esp32.local, 输入WiFi和密码进行配网,配网完成后装置会重启;
  • 当罗盘插上电脑后开机, 此时会启动后台服务, 使用esp32.local访问后台;
  • 开机后显示彩虹图案时按住按钮会进入罗盘校准模式, 请举着罗盘飞来飞去, 尽可能多的让罗盘在各个方向旋转.
  • 在室外开阔环境下才能够有GPS信号, 没有GPS信号指针会乱转的.
  • 在有GPS信号的情况下, 长按按钮可以设置当前地点为新的出生点.

API

path 类型 描述 参数
/ip GET 获取当前设备IP
/setIndex POST 调试用, 直接显示第N帧 index: Int
/info GET 获取设备基本信息
/wifi GET 获取设备保存的WiFi
/wifi GET 获取设备保存的WiFi
/spawn GET 获取当前出生点
/spawn POST 设置当前出生点 latitude:Float,longitude:Float
/setColor POST 调试用,所有灯珠显示该颜色 color: String, eg: #ff5252
/setAzimuth POST 设置方位角, Mod用的就是这个接口 azimuth: Float
/setWiFi POST 设置WiFi ssid: String, password: String

材料说明

  • PCB板厚选择1.0mm, 黑色;
  • 面板选择1.0mm 半透黑色亚克力,无需背胶;
  • 匀光材料选择PET LGT075J,无需背胶;
  • 电池选择 213455 500MAH
  • 滚花螺母 M233.2
  • 螺丝 M2*4 内六角

模型

MakerWorld MakerWorld CN

PCB工程及面板文件

PCB工程文件和面板

参考资料

使用GPS坐标来计算距离和方位角 by 蓝色的飘漂

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 82.7%
  • C 8.9%
  • HTML 2.4%
  • Python 2.3%
  • JavaScript 1.7%
  • TypeScript 1.1%
  • Other 0.9%