AWTRIX像素灯DIY制作

一、前言

Lametric像素时钟很好看,但是无奈太贵(国外 200 刀,淘宝要卖到 1500-2000 人民币)。但 AWTRIX 2.0 项目,花很少的钱就能自己 DIY 一个 WIFI 像素时钟。下面提供一种DIY方案。

AWTRIX实现原理:使用一台电脑或者树莓派作为AWTRIX时钟的服务器用来部署相关服务用来运行APP和数据传输,AWTRIX时钟连接服务器后获取数据进行显示。

二、准备材料

  1. ESP8266开发板一块,最好是买官方推荐D1 Mini,其他ESP8266开发版也可以。(核心配件)
  2. 杜邦线、或其他焊接线若干(必须配件)
  3. BME280温湿度、大气压力传感器一个3.3V版本(非必须配件)
  4. 光敏电阻一个(非必须配件)
  5. 1K金属膜电阻一个,配合光敏电阻分压,供ESP8266进行AD转换(非必须配件)
  6. 10V 1000uF电容一个,电源输出端稳压用(非必需配件)
  7. 8*32 WS2812BRGB灯板一块(核心配件)
  8. 灯板光栅一块,3D打印或者自行制作,对显示效果影响很大(必须配件)
  9. 外壳可以使用积木自己拼装,或者纸板、红酒盒(非必须配件)
  10. 电源最好满足5V4A输出,因为灯板功耗较大,虽然一般USB电源也能驱动,但非常不推荐。(必须配件)
  11. 能当做服务器的树莓派、友善之臂单板电脑或者电脑、虚拟机、云服务器均可,用于部署时钟APP服务(必须配件)
  12. DF mini MP3 Player开源模块,用来播放带声音APP(非必须配件)
  13. 小扬声器(非必需配件)
  14. 触摸按键模块,设定时钟相关功能(非必须模块)

按以上方案整机预算不到200元甚至更低(去除服务器价格),淘宝成品时钟价格大约在388元左右。型号样式在官网上都能看到,所有配件在淘宝均有销售,很便宜,可以自行购买

三、下载ESP8266固件烧写软件和最新固件

登陆官网,地址如下:

https://awtrixdocs.blueforcer.de/#/en-en/

该项目发起者为德国人,网站支持德语和英语,网站语言选择英语,主页功能模块大致如下:硬件模块、软件模块、使用说明、API等几部分。

我们关心以下几部分(下图中有标示):

硬件模块里分为标准版和Pro版,功能没什么区别,Pro版本尺寸小,灯板尺寸也小,淘宝上不好买对应灯板,除非自己画板或者购买比较昂贵的成品件,标准版灯板尺寸8*32cm,淘宝上比较好买,个人DIY建议这款,有几家卖的比较便宜。有渠道的朋友也可以选择Pro版本进行DIY。

我们打开网站Software ->Controller控制器模块,下载相应的刷机软件工具包和最新刷机固件。

刷机方法:将ESP8266开发板用USB数据线插入电脑(电脑提前装好CH340串口驱动,因为固件下载是通过串口形式下载),打开固件刷写软件按照下面步骤进行操作:

固件烧写完成后重启ESP8266即可,此时模块未进行配网,模块处于AP状态,配网过程稍后再讲。

四、硬件电路连接示意图

图片均采自官方,下面介绍几种方案:

4.1、最基础版本:只包含控制器模块和点阵屏幕模块,下面是接线示意图。

4.2、增加光线传感器版本,包含控制器模块、光敏电阻和点阵屏幕模块,比基础版本增加屏幕亮度的自动调节,光敏电阻可选型号5528。接线图如下:

4.3、增加声音模块版本,基础硬件版本基础上增加DFPlayer Mini开源MP3模块,可配合某些APP进行声音播放(如天气预警)。接线示意如下:

4.4、增加温湿度模块,该版本在基础硬件版本基础上增加BME280传感器,可配合服务器端BME280 APP用来显示室内温湿度大气压等数据。

4.5、增加触摸按键版本,该版本增加了3个TTP223触摸按键,可以对时钟功能进行设定

以上版本可以单独实现或者叠加实现(Pro版本),接线并不冲突。

五、对服务器进行部署,Linux环境搭建(树莓派、友善之臂、云服务器、win平台虚拟机装linux均可)

    AWTRIX 2.0可以在任何平台(Windows,MacOS,Linux)上运行,唯一的要求就是对Java 8(1.8_232)的支持。它是非GUI应用程序,因此不需要桌面环境。
    请注意,Java的资源效率不是很高。如果要使用树莓派,建议至少使用树莓派3+及以上类似机能的产品。 AWTRIX可以在树莓派ZeroW运行,但速度较慢。
    本教程描述了在Linux机器上的安装部署过程。分为官方版快速安装和脚本安装两种方式,还有一种比较稳定的方式。

============================快速安装方式=======================

5.1、安装java

    sudo apt install oracle-java8-jdk

树莓派目前只能运行32位操作系统,只能安装32位java包,需从官网下载,安装过程自行百度。

5.2、下载java包

5.3、安装jar包

sudo java -jar awtrix.jar

服务自此可以运行

=========================使用脚本安装方式=========================

5.4、下载并运行

    wget -N https://blueforcer.de/awtrix/awtrix.sh

    sudo sh awtrix.sh

5.5、启动服务

    sudo service awtrix start

5.6、停止服务

    sudo service awtrix stop

5.7、重启服务

    sudo service awtrix restart

=========================以上两种方式均可=========================

时钟服务到此可以运行了,使用ipconfig指令查看机器ip地址,在浏览器输入http:// [HOST-IP]:7000/  ([HOST-IP]为服务器地址),在里面可对时钟进行配置、APP安装等,可以将启动脚本加入开机自启动中,时钟服务受机器开关机影响较小,不用每次都手动启动服务。

另一种部署方式可以参考这篇文章   

文章来源:https://zhuanlan.zhihu.com/p/64311328

5.8、创建文件夹

        sudo mkdir /usr/local/awtrix

5.9、将jar包拷贝到该文件夹下

        sudo cp xx/ awtrix.jar /usr/local/awtrix

5.10、创建自动启动程序

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

5.11、填充以下内容

[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

    5.12、创建启动脚本

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

    5.13、填充以下内容

#!/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

    5.14、给脚本分配权限

        sudo chmod +x /usr/local/bin/awtrix.sh

    5.15、测试启动、停止、重启

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

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

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

    5.16、开启服务、让其后台运行

        sudo systemctl enable awtrix

sudo systemctl start awtrix.service

     5.17、将启动脚本放入开机自启动中

        sudo vi /etc/rc.local

        exit 0之前添加

        /usr/local/bin/awtrix.sh start

六、ESP8266进行配网

前面说到对ESP8266进行刷固件,刷固件完成后模块本身未进行配网,接上屏幕会显示wifi查找画面

时钟配网流程如下:

手机或者电脑使用wifi连接AWTRIX Controller名称的热点,密码为awtrixxx,连接成功后会弹出wifi配置界面。如果界面没有弹出,使用浏览器访问172.217.28.1,或者浏览任意联网的页面会弹出wifi配置界面。

页面内需要填写以下信息

SSID          填写服务器连接的wifi名称(家里的wifi名称)

Passworld     填写对应wifi的密码

AWTRIX Server 填写服务器的IP地址(树莓派等可用ifconfig查看ip信息)

模块重置方法如下:

如果发生其他问题,可以尝试重置时钟模块。如果需要再次输入主机IP。 这将删除所有已保存的wifi信息,可以通过热点再次进行设置。

有四种方法可以做到这一点:

1、

关闭wifi路由器

重新启动ESP8266

ESP8266如果找不到wifi,它将进入热点模式

类似配网过程,对模块重新进行配网配置

2、

直接通过ESP8266的复位按钮

重置ESP8266

等待3-4秒

再次重置ESP8266

屏幕以红色显示RESET

3、

关闭机器

按住左右键的同时打开机器。

等到重置倒数计时结束完成重置

4、

下载ESP8266下载工具

将您的机器连接到PC,打开软件,然后单击“擦除

七、外壳制作

外壳3D形状文件可以去下面网站下载(这里的外壳对应的是标准版大尺寸外壳,不是Pro版本的)

https://www.thingiverse.com/thing:2791276/files

3D打印较贵,对预算要求严格的朋友可以只选择打印光栅(必须必须)。光栅是拼接的,打印图纸只有一半,打印时需要打印数量为2的倍数。打印回来后进行对拼,光栅文件名称为LEDGrid2x.stl

八、制作完成

时钟连上网络后,可以在服务器端进行功能配置,尽情享受吧!

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇