[[toc]]
这个项目当前功能还比较简单,配置功能的完善比我预期的要麻烦,但是耐不住大家都很期待,因此就先开源再完善,有能力的小伙伴可以先玩起来,也欢迎贡献PR.
作者是一个对监测类软件情有独钟的人,比如windows上常用traffic monitor, mac就用腾讯的柠檬助手。 会把网速、cpu占用、温度等等信息挂在菜单栏,以此来作为一些程序是否正常运行的判断依据。
年初的时候意外接触到了ESP8266做的墨水屏日历,后来家里添置了软路由后,便鬼使神差的想着能不能做一个监视屏,然后就做了这个,起初的版本还没有图表,后来看到了Uinify路由器的小屏幕,便增加了图表的功能。
RouterMonitor | 皮卡丘涂装 |
---|---|
由于最初对这个功能的定位就是监视屏,也比较了市面上很多开源项目,出于成本考虑选择了SD2小电视的方案 https://oshwhub.com/Q21182889/esp-xiao-dian-shi
NetData 提供了Web API 用于获取数据信息 https://learn.netdata.cloud/docs/rest-api/api
数据信息 | 接口 |
---|---|
CPU数据 | /api/v1/data?chart=system.cpu&after=-10&format=array&points=10 |
内存占用 | /api/v1/data?chart=mem.available&format=array&points=1&group=average |
网速监控-下行 | /api/v1/data?chart=net.eth0&format=array&after=-10&points=10&dimensions=received |
网速监控-上行 | /api/v1/data?chart=net.eth0&format=array&after=-10&points=10&dimensions=sent |
温度信息 | /api/v1/data?chart=system.cpu&after=-10&format=array&points=10 |
参考官方文档 https://docs.lvgl.io/7.11/ 由于ESP8266使用的 lvgl版本比较低,无法使用官方的UI制作工作SquareLine Studio 所以只能看文档写好了。
Windows和mac都可以配置,M1的也可以,这里只提供windows的环境配置教程
提供了三种方案和成本供大家评估选择
选择购买成品的小伙伴请务必跟卖家确认小电视是不是带CH340芯片,支持自己烧录固件,因为这个芯片单价就2块钱,有些卖家会选去掉这个芯片节约成本
根据自己的平台下载对应的版本然后安装。
使用usb的数据线连接小电视或者开发板,如果 资源管理器
面板可以看到新增了串口,说明安装成功
代码很简单,只有两个文件,应该很容易看得懂
扛不住大家的热情(嗯,不是因为我懒)配置功能还没有完善,我就决定先开源了,所以有能力的小伙伴可以先改代码定制自己的RouterMonitor
修改默认的连接Wifi的账号和密码
修改软路由的地址
修改内存大小
由于我r2s内存就是1G,图方便写了1024,大家根据实际情况修改,不然会出现内存显示错误,参见Issue
Upload and Monitor
等待编译烧录完成即可
参考资料: https://hiwbb.com/2021/10/openwrt-netdata-show-temperature/
原因:
解决办法:
登录openwrt终端
opkg install coreutils-timeout
/etc/netdata
./edit-config charts.d.conf
来编辑配置文件,这个edit-config等于是一个配置工具能够从/usr/lib拉取默认配置过来,在配置里最后加入sensors=force
。不加一定不会有温度,原因未知。/usr/lib/netdata/plugins.d/charts.d.plugin sensors
测一下,如果有一直跳数据出来,就说明成功了。/etc/netdata/netdata.conf
把charts.d = no
改为charts.d = yes
或直接注释掉那一行,若没有这行则不需要/etc/init.d/netdata restart
如果netdata已经能够正常显示温度,大概率是因为 monitor 请求的key不对,不同的系统版本,温度sensor对应的key存在差异,修改方式如下. 从Netdata中找到温度曲线的key,替换到代码中getTemperature()方法请求温度的参数,两者需要保持一致
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。