Matrix 精选
Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的互联网领域经验、思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。
文章代表作者个人观点,少数派仅对标题和排版略作修改。
第一次看到 Lametric 就是心动的感觉,但是无奈太贵(国外 200 刀,淘宝要卖到 1500-2000 人民币),所以一直没舍得买。直到看到了 AWTRIX 2.0 这个项目,花很少的钱就能自己 DIY 一个 WIFI 像素时钟。看到 AWTRIX 论坛晒的作品都超级棒,于是我就上路了。
![](https://cdnfile.sspai.com/20190430105223.png?imageView2/2/w/1120/q/40/interlace/1/ignore-error/1)
做这个东西其实不难,但是你得稍微有点动手能力。你至少得知道 Linux 是啥或者会复制粘贴命令。你至少得能看一点点英文文档。不需要焊接、不需要硬件知识,如果还想做就看看我写的教程吧。
材料准备
以下材料为必备:
- WS2812B 全彩 8*32 全彩可编程像素软屏(淘宝 115 元)
- ESP8266 WIFI 模块 CP2102 ESP-12E (淘宝 27.83 元)
- 杜邦线 公对母(一头插一头被插)(1-2 元可以和 WIFI 模块一起买,短的就行 )
- 3D 打印光栅(70 元左右,这个后面会讲)记得打印两个素材里也标注了 ×2!
- A3 白纸一张(A4 太小)
- micro usb 线
- 树莓派(买斐讯便宜的盒子刷 Linux 也是可以的)、或长期开机的电脑 NAS 软路由等、或者云服务器、或者手机。都可以
- 胶水、剪刀等工具
这里我自己的杜邦线买错了!(害我插错了口,折腾大半天,记得买公对母的),这里没有任何广告,只要东西对买便宜的就行。
![](https://cdnfile.sspai.com/20190430110558.png?imageView2/2/w/1120/q/40/interlace/1/ignore-error/1)
3D 打印的光栅素材在 这里,有钱的可以全打印了(我只打印了光栅、后盖打印比较贵、前盖也可以不要,有钱还是全打印吧,方便点)。这里一定要注意打印材料别选透光的,我就选错了 = = ,导致效果差很多。国内有很多 3D 打印平台,上传下 STL 文件就能打印,很方便。速加网、未来工场、云工厂、魔猴等等。(我未来工厂打印的、纯属名字好听,相对便宜)
安装 AWTRIX 2.0 服务端
官方的文档:https://docs.blueforcer.de/#/v2/
服务端我装过三次很简单,复制粘贴下命令就行了。
设置时区
sudo timedatectl set-timezone 'Asia/Shanghai'
安装 JAVA
sudo apt-get install oracle-java8-jdk
下载 AWTRIX 服务端
sudo mkdir /usr/local/awtrix
cd /usr/local/awtrix
sudo wget https://blueforcer.de/downloads/awtrix.jar
创建自动启动程序
sudo nano /etc/systemd/system/awtrix.service
粘贴这个
[Unit]
Description = AWTRIX Service
After network.target = awtrix.service
[Service]
Type = forking
WorkingDirectory =/usr/local/awtrix
ExecStart = /usr/local/bin/awtrix.sh start
ExecStop = /usr/local/bin/awtrix.sh stop
ExecReload = /usr/local/bin/awtrix.sh reload
[Install]
WantedBy=multi-user.target
创建启动脚本
sudo nano /usr/local/bin/awtrix.sh
粘贴这个
#!/bin/sh
SERVICE_NAME=awtrix
PATH_TO_JAR=/usr/local/awtrix/awtrix.jar
PID_PATH_NAME=/tmp/awtrix-pid
case $1 in
start)
echo "Starting $SERVICE_NAME ..."
if [ ! -f $PID_PATH_NAME ]; then
sudo nohup java -jar $PATH_TO_JAR /tmp 2>> /dev/null >> /dev/null &
echo $! > $PID_PATH_NAME
echo "$SERVICE_NAME started ..."
else
echo "$SERVICE_NAME is already running ..."
fi
;;
stop)
if [ -f $PID_PATH_NAME ]; then
PID=$(cat $PID_PATH_NAME);
echo "$SERVICE_NAME stoping ..."
kill $PID;
echo "$SERVICE_NAME stopped ..."
rm $PID_PATH_NAME
else
echo "$SERVICE_NAME is not running ..."
fi
;;
restart)
if [ -f $PID_PATH_NAME ]; then
PID=$(cat $PID_PATH_NAME);
echo "$SERVICE_NAME stopping ...";
kill $PID;
echo "$SERVICE_NAME stopped ...";
rm $PID_PATH_NAME
echo "$SERVICE_NAME starting ..."
sudo nohup java -jar $PATH_TO_JAR /tmp 2>> /dev/null >> /dev/null &
echo $! > $PID_PATH_NAME
echo "$SERVICE_NAME started ..."
else
echo "$SERVICE_NAME is not running ..."
fi
;;
esac
给权限
sudo chmod +x /usr/local/bin/awtrix.sh
测试、启动、重启、停止
sudo /usr/local/bin/./awtrix.sh start
sudo /usr/local/bin/./awtrix.sh stop
sudo /usr/local/bin/./awtrix.sh restart
开启服务,然后让其后台运行
sudo systemctl enable awtrixsudo systemctl start awtrix.service
更新脚本(有更新才需要更新)
sudo -i
cd /usr/local/awtrix
systemctl stop awtrix.service
wget -N awtrix.jar https://blueforcer.de/downloads/awtrix.jar
systemctl start awtrix.service
官方文档还有安卓手机上安装服务端的教程,可以自行去看。
安装好后浏览器打开这个服务端的 IP,然后端口默认都是 7000
,就能看见管理后台了。(这时候提示客户端没连接是正常的)
![](https://cdnfile.sspai.com/20190430110836.png?imageView2/2/w/1120/q/40/interlace/1/ignore-error/1)
客户端固件刷写
我这里测试了 Linux 和 Windows 平台都是不需要单独安装驱动的,Mac 驱动可以参考 这个网页。
第一步,安装好 Visual Studio Code,然后下载 这个文件 后用 Visual Studio Code 打开。
第二步,打开根目录下 awtrix-conf.h 文件,修改 Wi-Fi 和服务器设置。ssid
填写 Wi-Fi 名,password
填写 Wi-Fi 密码,awtrix_server
填写自己 awtrix 服务器的 IP(不需要填端口)
![](https://cdnfile.sspai.com/20190430111215.png?imageView2/2/w/1120/q/40/interlace/1/ignore-error/1)
第三步,在 Visual Studio Code 里安装 Platform.IO 插件,超级无敌方便。(Linux 下会自己安装)USB 插上 ESP8266 后点 Devices 应该能看到你的设备,如果找不到,可以重启下 VS Code 或者查看插件是否安装好、USB 线等。
![](https://cdnfile.sspai.com/20190430111409.png?imageView2/2/w/1120/q/40/interlace/1/ignore-error/1)
第四步,USB 插上设备(ESP8266),点击箭头刷写固件就 OK。
![](https://cdnfile.sspai.com/20190430111514.png?imageView2/2/w/1120/q/40/interlace/1/ignore-error/1)
![](https://cdnfile.sspai.com/20190430111522.png?imageView2/2/w/1120/q/40/interlace/1/ignore-error/1)
刷写好后,把 ESP8266 插上电就能连接上 WIFI 了。这时你可以去路由器后台,或者你的 AWTRIX 服务端查看检查是否都正确连接了。(路由器后台设备的名字应该是 ESP 开头)
组装连接和装饰
ESP8266 和像素屏幕用杜邦线连接(记住是接 DIN 的那三个,之前因为买错线接反的我 = =)。像素屏上的 DIN 接 ESP8266 上的 D2 口,像素屏 GND 接 ESP8266 的 GND,像素屏 5V 接 ESP8266 的 3V3(不要问为啥 3V3,其实 3v 的也可以)。如果你之前的做的是对的,这时应该就已经亮了,显示时间。(没亮也正常,多找找自己哪错了)
![](https://cdnfile.sspai.com/20190430111649.png?imageView2/2/w/1120/q/40/interlace/1/ignore-error/1)
粘贴好两块 3D 打印的光栅,然后将柔性屏幕贴上去(我是旁边用胶布粘的)。光栅的作用是让圆的光点变成四方的像素,看起来更大更舒服。
下一步,将 A4 纸或者其他纸,粘贴到光栅上去,可以用胶棒。
当然组装多样,你可以看自己需求和创意。我在后面直接绑了个大的移动电源。
AWTRIX 论坛网友有这些创意你可以看下
![](https://cdnfile.sspai.com/20190430111740.png?imageView2/2/w/1120/q/40/interlace/1/ignore-error/1)
![](https://cdnfile.sspai.com/20190430111749.png?imageView2/2/w/1120/q/40/interlace/1/ignore-error/1)
![](https://cdnfile.sspai.com/20190430111757.png?imageView2/2/w/1120/q/40/interlace/1/ignore-error/1)
总结
官方文档在 这里,有问题可以多看看,后台操作也很方便。有些 app 需要绑定账户,或者 API 的 Key。做完这个还是很开心的,我觉得特别酷,以后还可以自己写一些显示的 app。
![](https://cdnfile.sspai.com/20190430111850.png?imageView2/2/w/1120/q/40/interlace/1/ignore-error/1)
我做完的样子:
![](https://cdnfile.sspai.com/20190430111902.png?imageView2/2/w/1120/q/40/interlace/1/ignore-error/1)
![](https://cdnfile.sspai.com/20190430111912.png?imageView2/2/w/1120/q/40/interlace/1/ignore-error/1)
![](https://cdnfile.sspai.com/20190430111946.png?imageView2/2/w/1120/q/40/interlace/1/ignore-error/1)
awsl,实在太酷了。后悔 3D 打印选错了选了透光的材料,看起来差很多。
感谢 @黑影儿TV 的视频和回复,大家也可以看看他在 B 站的视频,没弄错的话 B 站粉丝统计是他写的。
> 分享有趣的观点,了解更丰富的数字生活体验,欢迎 申请加入 少数派 Matrix 社区 ✏️