|
发表于 2020-2-26 12:52:08
|
显示全部楼层
|
大半年前想搞个副屏显示主机参数的,但是中间一直忙于学业就咕到现在。正好赶上疫情,闲的无聊于是开搞。目前大部分我看到的diy产品都是通过串口连接电脑,感觉有点局限还要走机箱拖根线。于是决定用8266来做个局域网无线参数显示版。应用范围更广,比如你可以在房间摆一个看看服务器的状态什么的。下面开始动工。
开发环境arduino,开发板8266,屏幕0.96 iic oled屏幕。上位机aida64。一套下来¥20左右比自带oled的主板便宜多了。
首先在aida64中可以创建个lcd的项目,选remotesensor这一栏。之后导入我配置好的文件,在右上角可以找到导入按钮。我基本上把常用的已经全部给列出来了。
然后在浏览器中可以输入你本机ip加端口号看看显示正常不。
这时候我们就需要用8266来获取这个网页中的数据。但是有个问题,你直接http.request()请求到的源码是不变的。因为这个数据会被js代码中ajax请求给局部刷新。我直接人傻了,8266咋跑js啊,然后不甘心的我决定自己搞个上位机。用python写了个上位机利用aida64的共享注册表的机制来获取所需要的参数,之后把获得的数据打包成json格式用tcp协议给8266发过去。
大概是这样
然后又出现了一个问题,那就是貌似这样一操作的话副屏刷新跟不上主机的状态变化啊,要滞后个1-2s,这能忍?我打着游戏呢显卡都开始咆哮了,这里风扇转速还是几百转,很烦。于是又开始研究起来html,在论坛里发帖求助求助被@ 老哥找到了解决方法,那就是直接看这个网页在刷新的时候请求了哪些url,然后直接访问这个url就可以获得变动的数据了。这就很妙了。
简简单单的发现就是这个url里有我们所需要的数据,这也算是一种巧妙的解决思路吧。
最后在8266中用get来请求html数据,得到后并解析字符串获取我们所要的数据
然后就可以在oled上显示出来了!简单的取了几个图片的模来使得我们的这个小玩意更有质感。效果图:
目前只大概写了gpu和cpu两种面板的绘制。但是内存的图片我也已经给你们取好了模,需要的可以自行添加:lol:。频率和转速不是我不想加单位而是加不下了啊!:sweat:
(32.96 kb, 下载次数: 31)
1.按照我途中所给的把aida64的项目配置好 2.导入我备份的aida64工程文件 3.打开路由器管理界面看一看你自己的ip地址 4.到html.ino中把路由器的账号密码换成你自己的,ip地址改成你要配置的。 5.刷机刷进8266.
最后附上github链接,给大家省省m币,这不得打赏打赏我?:lol:
|
, , , ,
打赏
-
| 家元 451 |
理由
|
| 8 |
|
| 20 |
歡迎探討 |
| 16 |
優秀文章 |
| 2 |
|
vicdoo
| 20 |
優秀文章高手 我用的ax206显示,不用编程,. |
| 20 |
優秀文章 |
| 16 |
很棒,有闲心了也做个 |
沙漠臭屁虫
| 20 |
|
| 20 |
謝謝分享 |
| 20 |
優秀文章 |
|