什么是Awtrix?
在说到Awtrix的时候不得不提起LaMetric
LaMetric可以追踪时间、天气、话题、新邮件、CrossFit定时和健康目标、股票行情和社交网络通知。也可以显示Facebook的赞数、网站访问量、付费转换率,以及在应用商店的排名、下载量和收入等指标。奈何价格不够亲民要1000多RMB,相比起来Awtrix虽然没有外观这么好,但是足够开放,性价比也足够高!
Awtrix是一款德国团队做的开源的可编程LED像素时钟,项目涉及的软件和硬件均开源,并且我们可以在后台根据我们的需要安装各种应用,甚至对于动手能力高的同学可以直接在后台编程去控制你的LED像素屏。可以说是非常开源,非常极客。
你可以通过连接服务器,来让时钟显示显示时间,天气,B站粉丝数,网易云音乐听歌数,甚至可以通过像素屏玩一些简单的游戏。如果加上温湿度模块可以显示当前温湿度,mp3模块可以当做音响,光感模块可以实现光线感应。
德国开源官网 : 官网地址
选择英文,根据你选择的要做的像素灯的尺寸,官网有手把手的教程。
PCB硬件相关资料:https://awtrixdocs.blueforcer.de/#/en-en/hardware?id=light-sensor-for-brightness-control-optional
外壳资料链接:https://www.thingiverse.com/thing:4749750,有3D打印机的同学可以调好打印机开动了。
代码库:https://github.com/awtrix
Awtrix的最基本功能就是显示信息,所有的信息都是通过这一块 8 * 32 的WS2812(可寻址RGB LED)点阵屏来显示的。这块屏幕有256个像素,每个像素理论上有 16.7百万(256*256*256)种颜色。
想进一步了解WS2812可寻址RBG LED工作原理的可以参考B站视频:https://www.bilibili.com/video/BV1QM4y1g7Uk?spm_id_from=333.999.0.0
DIY教程从此开始:
一:必备材料:
-
ESP8266开发板一块,最好是买官方推荐D1 Mini,其他ESP8266开发版也可以。(核心配件)
-
杜邦线、或其他焊接线若干(必须配件)
-
BME280温湿度、大气压力传感器一个3.3V版本(非必须配件)
-
光敏电阻一个(非必须配件)
-
1K金属膜电阻一个,配合光敏电阻分压,供ESP8266进行AD转换(非必须配件)
-
10V 1000uF电容一个,电源输出端稳压用(非必需配件)
-
8*32 WS2812BRGB灯板一块(核心配件)
-
灯板光栅一块,3D打印或者自行制作,对显示效果影响很大(必须配件)
-
外壳可以使用积木自己拼装,或者纸板、红酒盒(非必须配件)
-
电源最好满足5V4A输出,因为灯板功耗较大,虽然一般USB电源也能驱动,但非常不推荐。(必须配件)
-
能当做服务器的树莓派、友善之臂单板电脑或者电脑、虚拟机、云服务器均可,用于部署时钟APP服务(必须配件)
-
DF mini MP3 Player开源模块,用来播放带声音APP(非必须配件)
-
小扬声器(非必需配件)
-
触摸按键模块,设定时钟相关功能(非必须模块)
二、下载ESP8266固件烧写
刷机方法:将ESP8266开发板用USB数据线插入电脑(电脑提前装好CH340串口驱动,因为固件下载是通过串口形式下载),打开固件刷写软件按照下面步骤进行操作:
1、下载固件文件:
2、安装CH340或者CP2012驱动,开始烧录ESP8266
三、根据自己的硬件结构,按照相应的接线方式连接好
1、最基础版本:只包含控制器模块和点阵屏幕模块,下面是接线示意图。
2、增加光线传感器版本,包含控制器模块、光敏电阻和点阵屏幕模块,比基础版本增加屏幕亮度的自动调节,光敏电阻可选型号5528。接线图如下:
3、增加声音模块版本,基础硬件版本基础上增加DFPlayer Mini开源MP3模块,可配合某些APP进行声音播放(如天气预警)。接线示意如下:
4、增加温湿度模块,该版本在基础硬件版本基础上增加BME280传感器,可配合服务器端BME280 APP用来显示室内温湿度大气压等数据。
5、增加触摸按键版本,该版本增加了3个TTP223触摸按键,可以对时钟功能进行设定。
四、安装 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,就能看见管理后台了。
五、ESP8266进行配网
前面说到对ESP8266进行刷固件,刷固件完成后模块本身未进行配网,接上屏幕会显示wifi查找画面。
时钟配网流程如下:
手机或者电脑使用wifi连接AWTRIX Controller名称的热点,密码为awtrixxx,连接成功后会弹出wifi配置界面。如果界面没有弹出,使用浏览器访问172.217.28.1,或者浏览任意联网的页面会弹出wifi配置界面。
页面内需要填写以下信息:
SSID :填写服务器连接的wifi名称(家里的wifi名称)
Password:填写对应wifi的密码
AWTRIX Server 填写服务器的IP地址(树莓派等可用ifconfig查看ip信息)
模块重置方法如下:
如果发生其他问题,可以尝试重置时钟模块。如果需要再次输入主机IP。这将删除所有已保存的wifi信息,可以通过热点再次进行设置。
有四种方法可以做到这一点:
1、关闭wifi路由器,重新启动ESP8266,ESP8266如果找不到wifi,它将进入热点模式。类似配网过程,对模块重新进行配网配置。
2、直接通过ESP8266的复位按钮,重置ESP8266,等待3-4秒。再次重置ESP8266,屏幕以红色显示RESET。
3、关闭机器
按住左右键的同时打开机器,等到重置倒数计时结束完成重置。
4、下载ESP8266下载工具
将您的机器连接到PC,打开软件,然后单击擦除。
打完结束:
像素等连接上服务器之后的后台应用,可以根据自己的需求安装各种应用,也可以通过写代码来控制像素灯显示。
关注极客石头,带你玩更多有意思的物件!
参考文章:
https://blog.csdn.net/z961968549/article/details/110248331
https://www.gcores.com/articles/109893