原价 ¥1500+ 的 Wi-Fi 像素时钟,手把手教你用 ¥150 做一个

2019 年 5 月 3 日 少数派

原文:https://sspai.com/post/54225 

标题:《如何制作一个 WIFI 像素时钟,只要Lametric十分之一的价格》

第一次看到 Lametric 就是心动的感觉,但是无奈太贵(国外 200 刀,淘宝要卖到 1500-2000 人民币),所以一直没舍得买。直到看到了 AWTRIX 2.0 这个项目,花很少的钱就能自己 DIY 一个 WIFI 像素时钟。看到 AWTRIX 论坛晒的作品都超级棒,于是我就上路了。

左图:Lametric;右图:AWTRIX 论坛网友晒的作品

做这个东西其实不难,但是你得稍微有点动手能力。你至少得知道 Linux 是啥或者会复制粘贴命令。你至少得能看一点点英文文档。不需要焊接、不需要硬件知识,如果还想做就看看我写的教程吧。

材料准备

以下材料为必备:

  • WS2812B 全彩 8*32 全彩可编程像素软屏(淘宝 115 元)

  • ESP8266 WIFI 模块 CP2102 ESP-12E (淘宝 27.83 元)

  • 杜邦线 公对母(一头插一头被插)(1-2 元可以和 WIFI 模块一起买,短的就行 )

  • 3D 打印光栅(70 元左右,这个后面会讲)记得打印两个素材里也标注了 ×2!

  • A3 白纸一张(A4 太小)

  • micro usb 线

  • 树莓派(买斐讯便宜的盒子刷 Linux 也是可以的)、或长期开机的电脑 NAS 软路由等、或者云服务器、或者手机。都可以

  • 胶水、剪刀等工具

这里我自己的杜邦线买错了!(害我插错了口,折腾大半天,记得买公对母的),这里没有任何广告,只要东西对买便宜的就行。

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/awtrixcd /usr/local/awtrixsudo 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,就能看见管理后台了。(这时候提示客户端没连接是正常的)

客户端固件刷写

我这里测试了 Linux 和 Windows 平台都是不需要单独安装驱动的,Mac 驱动可以参考 这个网页

第一步,安装好 Visual Studio Code,然后下载 这个文件 后用 Visual Studio Code 打开。

第二步,打开根目录下 awtrix-conf.h 文件,修改 Wi-Fi 和服务器设置。ssid 填写 Wi-Fi 名,password 填写 Wi-Fi 密码,awtrix_server 填写自己 awtrix 服务器的 IP(不需要填端口)

第三步,在 Visual Studio Code 里安装 Platform.IO 插件,超级无敌方便。(Linux 下会自己安装)USB 插上 ESP8266 后点 Devices 应该能看到你的设备,如果找不到,可以重启下 VS Code 或者查看插件是否安装好、USB 线等。

第四步,USB 插上设备(ESP8266),点击箭头刷写固件就 OK。

刷写好后,把 ESP8266 插上电就能连接上 WIFI 了。这时你可以去路由器后台,或者你的 AWTRIX 服务端查看检查是否都正确连接了。(路由器后台设备的名字应该是 ESP 开头)

组装连接和装饰

ESP8266 和像素屏幕用杜邦线连接(记住是接 DIN 的那三个,之前因为买错线接反的我 = =)。像素屏上的 DIN 接 ESP8266 上的 D2 口,像素屏 GND 接 ESP8266 的 GND,像素屏 5V 接 ESP8266 的 3V3(不要问为啥 3V3,其实 3v 的也可以)。如果你之前的做的是对的,这时应该就已经亮了,显示时间。(没亮也正常,多找找自己哪错了)

粘贴好两块 3D 打印的光栅,然后将柔性屏幕贴上去(我是旁边用胶布粘的)。光栅的作用是让圆的光点变成四方的像素,看起来更大更舒服。

下一步,将 A4 纸或者其他纸,粘贴到光栅上去,可以用胶棒。

当然组装多样,你可以看自己需求和创意。我在后面直接绑了个大的移动电源。

AWTRIX 论坛网友有这些创意你可以看下


总结

官方文档在:https://docs.blueforcer.de/#/v2/,有问题可以多看看,后台操作也很方便。有些 app 需要绑定账户,或者 API 的 Key。做完这个还是很开心的,我觉得特别酷,以后还可以自己写一些显示的 app。

我做完的样子:

看 Youtube 的 follower 数量

看天气

看 B 站粉丝

awsl,实在太酷了。后悔 3D 打印选错了选了透光的材料,看起来差很多。

感谢 @黑影儿TV 的视频和回复,大家也可以看看他在 B 站的视频,没弄错的话 B 站粉丝统计是他写的。

登录查看更多
1

相关内容

【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
225+阅读 · 2020年3月22日
【资源】100+本免费数据科学书
专知会员服务
107+阅读 · 2020年3月17日
【GitHub实战】Pytorch实现的小样本逼真的视频到视频转换
专知会员服务
35+阅读 · 2019年12月15日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
22+阅读 · 2019年11月7日
用 Python 开发 Excel 宏脚本的神器
私募工场
26+阅读 · 2019年9月8日
告别 PS !3 行代码 5 秒搞定抠图的 AI 神器!
程序人生
6+阅读 · 2019年7月11日
手把手教你用Python做一个哄女友神器,小白可上手
网易智能菌
5+阅读 · 2019年6月15日
手把手教你用Python实现“坦克大战”,附详细代码!
机器学习算法与Python学习
11+阅读 · 2019年6月8日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
教你用Python来玩跳一跳
七月在线实验室
6+阅读 · 2018年1月2日
无需一行代码就能搞定机器学习的开源神器
人工智能头条
6+阅读 · 2017年11月7日
Arxiv
12+阅读 · 2019年1月24日
3D-LaneNet: end-to-end 3D multiple lane detection
Arxiv
7+阅读 · 2018年11月26日
Arxiv
11+阅读 · 2018年4月8日
Arxiv
6+阅读 · 2017年12月2日
Arxiv
3+阅读 · 2017年11月21日
Arxiv
5+阅读 · 2015年9月14日
VIP会员
相关VIP内容
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
225+阅读 · 2020年3月22日
【资源】100+本免费数据科学书
专知会员服务
107+阅读 · 2020年3月17日
【GitHub实战】Pytorch实现的小样本逼真的视频到视频转换
专知会员服务
35+阅读 · 2019年12月15日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
22+阅读 · 2019年11月7日
相关资讯
用 Python 开发 Excel 宏脚本的神器
私募工场
26+阅读 · 2019年9月8日
告别 PS !3 行代码 5 秒搞定抠图的 AI 神器!
程序人生
6+阅读 · 2019年7月11日
手把手教你用Python做一个哄女友神器,小白可上手
网易智能菌
5+阅读 · 2019年6月15日
手把手教你用Python实现“坦克大战”,附详细代码!
机器学习算法与Python学习
11+阅读 · 2019年6月8日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
教你用Python来玩跳一跳
七月在线实验室
6+阅读 · 2018年1月2日
无需一行代码就能搞定机器学习的开源神器
人工智能头条
6+阅读 · 2017年11月7日
Top
微信扫码咨询专知VIP会员