阅读 993

程序员送给女朋友的新年礼物

冬天来了,又到了男生送礼物的季节了。这可是让大多数男生头疼的问题😶。

无意中发现了国外的一个项目 Awtrix。项目可以完成一个矩阵显示器,来展示数据,例如时间日期,Github Followers 等。

先上个效果图

瞬间让你的女友惊呆了😏!

材料

  • 精品WS2812B全彩8x32显示可编程像素软屏 x1
  • -ESP8266 带CP2102 WIFI模块 x 1
  • 杜邦线,母对公 x 3
  • 服务器或者其他可以跑 jar 的环境
  • 胶水,胶带,双面胶,剪刀,刀等

上述材料淘宝就可以购买,也是必要材料。下面的材料为可选材料,网站上提供有3d打印材料,问了一下淘宝有点小贵,你可以用其他材料替代。

  • ① 背后的亚克力板,中间镂空 325x85x9.5 mm
  • ② 前面的亚克力板,茶黑色,透光 325x85x2 mm

上述材料淘宝都可以定制,我的做的尺寸有点略小,组合的时候有点麻烦,如果你要做可以适当调整一下尺寸,宽一点和长一点。

连接线路

这个是Awtrix官网-电路连接上的线路连接图,但是我们可以将电阻去掉,也不需要电源接口。

我们的开发板上没有 5v 接口,只有 3v 电源。按照图上所示将电路连接好。

安装服务器程序

首先确保服务器上安装了 Java 环境。

然后输入下面命令

sudo mkdir /usr/local/awtrix
cd /usr/local/awtrix
sudo wget https://blueforcer.de/downloads/awtrix.jar
复制代码

配置程序自动启动

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

[Unit]
Description=AWTRIX SERVER
After=network.target

[Service]
Type=simple
WorkingDirectory=/usr/local/awtrix/
ExecStart=/usr/bin/java -jar /usr/local/awtrix/awtrix.jar

[Install]
WantedBy=multi-user.target
复制代码

如果上述配置正确,接下来就可以启动了。

sudo systemctl enable awtrix
复制代码

运行 awtrix

sudo systemctl start awtrix
复制代码

停止 awtrix

sudo systemctl stop awtrix
复制代码

重启 awtrix

sudo systemctl restart awtrix
复制代码

此刻打开我们的网站 http://[IP]:7000,会看到下面的画面

此刻已经完成了安装。

烧录程序

首先按照 vscode,在插件中搜索 platformio-ide,按照插件之前保证你的系统中有python环境。

从 Github 上 clone Awtrix2.0-Controller 程序。

git clone https://github.com/awtrix/AWTRIX2.0-Controller.git

通过 vscode 打开。打开文件 src/awtrix-config.h 里面定义了 ssidpasswordawtrix_server,分别是 wifi 名称,wifi 密码,服务器地址。

配置好这些就可以点击下面的 进行烧录程序了。

如果程序烧录成功,那么此刻的显示屏上回显示当前时间和日期。

我在这里出现个问题, lib/ota 报错,我把这个包删除后,才可以完成烧录。

如开头的图。

美化

最后我们用亚克力板/3d打印模型将屏幕电路板等进行封装,美化一下,太棒了是不是!

我们可以在 web 页面上进行 app 安装,但是需要注意一点,比如 Facebook 等国外的服务App,需要服务器可以连接上这些服务,否则无法使用,而且屏幕只能显示英文和数字,无法显示汉字。

但是骚年,你以为这样就结束了?

to young,too simple

首先,官方给的 web 页面太难用了,不相信你体验一下。还有就是无法直观的给显示屏上绘制自定义图案,虽然官方给了接口,但是都是 json。不至于我每次都有写一大段 json 吧。

下面才是重头戏!

编写我们的APP

首先感谢 flutter,强大的跨平台技术使我开发出来 Windows、 Android、 ios(未验证)、macOS(未验证),Linux(未验证)程序。是的,你没有看错。

先上图

目前 App 可以控制显示屏开关、App 切换、App配置(目前适配4个,日后再慢慢适配)、应用安装,自定义图案和文字。

只需要在 App 上绘制,就可以在显示屏上绘制。

程序在日后整理后会开源。

欢迎各位大佬关注微信公众号