Awtrix网红像素灯DIY指南

什么是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/awtrixcd /usr/local/awtrixsudo wget https://blueforcer.de/downloads/awtrix.jar

创建自动启动程序

sudo nano /etc/systemd/system/awtrix.service

粘贴这个

[Unit]Description = AWTRIX ServiceAfter network.target = awtrix.service[Service]Type = forkingWorkingDirectory =/usr/local/awtrixExecStart = /usr/local/bin/awtrix.sh startExecStop = /usr/local/bin/awtrix.sh stopExecReload = /usr/local/bin/awtrix.sh reload[Install]WantedBy=multi-user.target

创建启动脚本

sudo nano /usr/local/bin/awtrix.sh

粘贴脚本内容

#!/bin/shSERVICE_NAME=awtrixPATH_TO_JAR=/usr/local/awtrix/awtrix.jarPID_PATH_NAME=/tmp/awtrix-pidcase $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 startsudo /usr/local/bin/./awtrix.sh stopsudo /usr/local/bin/./awtrix.sh restart

开启服务,然后让其后台运行

sudo systemctl enable awtrixsudo systemctl start awtrix.service

更新脚本(有更新才需要更新)

sudo -icd /usr/local/awtrixsystemctl stop awtrix.servicewget -N awtrix.jar https://blueforcer.de/downloads/awtrix.jarsystemctl 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


作者:极客头条

传播有价值的资讯

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注