数码之家

标题: 256*64双ESP8266点阵时钟制作 支持微信开关 [打印本页]

作者: 水表君    时间: 2020-1-29 11:00
标题: 256*64双ESP8266点阵时钟制作 支持微信开关
这个制作其实在去年就已经开始着手制作了,但是有很多问题没有解决就一直懒得去做,其实过年之前就应该做好的。当然这个过程很曲折!
之前做过很多点阵32*64的16*64的16*80的单双色都搞过,没太大的区别大同小异,这次使用的屏是一个坛友送的,一共有六块用了四块来制作本次点阵时钟。这次包含基本时间日期信息,还有天气预报。

边制作边说这过程吧
第一次制作使用的是洞洞板手工焊接的,不太理想。而且主控使用的传统STC12C系列的,发现带不动这么大的屏扫描一轮下来闪烁很严重,肉眼清晰可见那种,就放弃使用51单片机了后来发现NodeMCU也不错,arduino编程就选用这个了。既然选择ESP8266做主控就心思能不能连个网整个天气预报啥的。后来实验证明8266CPU主频率开到160MHZ勉强带动屏幕,就不要提连WiFi获取API了。所以才用两个ESP8266。
听到捷配有薅羊毛活动,就画了自己第一个PCB打样用,不过毕竟是第一次,有很多错误,后面再说

捷配发的顺丰,还是很快的!
[attach]584533[/attach]

一共六片,用到一片就好了
[attach]584534[/attach]

原理电路图
[attach]585403[/attach]

用的立创EDA画的,不得不说立创EDA很强大,封装库很全!适合我这种不专业的新手画PCB。
其实这张图就能看出问题,画的时候一个劲画,都没改线宽,导致什么线都一样宽。。。
[attach]584535[/attach]

把元器件都焊上。是不是有个疑问,ESP8266不是用3.3V供电么,怎么没有1117(后面没有元件)
很简单NodeMCU自带一个1117-3.3V也有3.3V引脚所以直接给8266用了,哈哈很偷懒
[attach]584536[/attach]

和之前洞洞板做的对比一下,当初以为加工异样板要多花钱,打样回来自己手动切下去一块。后来才知道一样不花钱。。。
[attach]584537[/attach]

因为包含温湿度检测,所以用DHT12其实和DHT11一样,只是多了一个可以I2C通讯,而且体积也小了
[attach]584542[/attach]

和光敏电阻放到一起
[attach]584543[/attach]

为了测温的准确性,伸出去一块是有必要的
[attach]584544[/attach]

前面看的效果就是这样
[attach]584545[/attach]

之前说是四块点阵屏拼接的,屏与屏之间就用一段4平方铜线焊上
[attach]584548[/attach]

因为DHT12排针太高了,所以去掉黑色那个头
[attach]584549[/attach]

这就是为啥板子要切下去一块,把点阵屏接口让出来
[attach]584550[/attach]

板子固定方式是把四颗螺丝直接粘到屏的背面
[attach]584551[/attach]

这就是另一个错误,ESP8266外部没接EN和复位电阻就不运行,手动跳线接一下
[attach]584552[/attach]

设计时候用NodeMCU做亮度检测和亮度调整,现在有点后悔了,因为控制屏的亮度用PWM,arduino编程的PWM是使用CPU模拟出来的,占用CPU内存的,最后的解决办法还是用传统的delay来凑合用
[attach]584553[/attach]

电源线就差这一截,就找个粗的电源线凑合一下
[attach]584554[/attach]

这次固定挂墙上也不想之前那样,这次在墙上固定一个铁板,屏后面用磁柱吸在上面
[attach]584546[/attach]

不够高用铜柱加高一下。实际证明这很结实!
[attach]584547[/attach]

这个地方还是高,就趴下一点
[attach]584556[/attach]

所有线都接好,最后还是出了问题,DHT12坏了
[attach]584555[/attach]

因为手头没有多余备件了,就用DHT11凑合一下,其实在程序里读DHT12还是用单总线方式。
DHT11做一下手脚,把光敏电阻也挤到里面,这样省的外部接线乱了
[attach]584557[/attach]

正面就是这个效果,里面塞不下就放外面了
[attach]584558[/attach]

会比DHT12大不少,不过也不影响
[attach]584560[/attach]

最后还是有问题。不知为何每次上电都死机,一查电压只有2.8V肯定哪里有短路!但是吧先上电,再把NodeMCU插上就没事一切都正常,邪门了。一开始以为是GPIO0和GPIO2干扰的?上电这时候拉低了?也不能啊,有245做缓冲。最后查到原来是屏的EN。只要上电时EN和GPIO断开就正常,之后再把EN和GPIO接在一起,所有都正常了。。。我也搞不懂为啥,就接个开关吧
[attach]584559[/attach]



硬件也就这样了,下面搞定软件程序部分,时间联网用NTP授时,计算农历节气都在本地计算。之后是天气预报API获取,可谓是翻遍全网找遍所有API(这里可能要说的多一点)

花钱的吧还不想花,免费的吧又怕某一天挂了,就很纠结。找过和风天气,丫丫天气,甚至都找到了高德,百度,阿里巴巴等等很多平台的API,不是用HTTPS就是没有符合我的要求,后来找到一个个人开发的API网站里面有很多API免费使用,天气,油价,农历等等很多免费API但是没有说明,后来我也没采用。免费API网站如果大家使用的话且用且珍惜,虽然没说调用次数和调用频率,那也不要疯狂获取,毕竟是个人的。而且这个网站的站主人也不错,API有什么问题都会及时解决。后来我进行全网地毯式搜索,终于找到一个让我满意的API!是在京东一个开发平台上(虽然最近京东发生很多不愉快的事情,那和我无关,我只用京东的API)每天限量5000次,算一分钟调用一次一天需要1440次,完全足够了;信息也很全,有天气实况,还有逐小时预报,7天预报,还有各种生活指数都一次获取。也很满意京东万象和风天气需要的坛友自己去注册使用吧,每天还以邮箱方式给你发送昨天API调取状况,嗯——不错。

API接口搞定了,接下来就是显示了,既然涉及到天气预报,就要汉字显示,不可能把所有天气用到的汉字都做好吧,而且为了以后增加节日等显示所以制作一个字库是很有必要的选择!因为ESP8266使用的汉字是UFT-8编码,所以就要知道汉字字库所有汉字编码,这要感谢“落叶风”坛友,他的帖子里有UFT-8编码。但是最坑的是汉字编码是不安顺序的,一个汉字是三个字节,因为我没有用外挂flash做字库,就用NodeMCU自带的Flash存字库吧。我先手动把这些无序编码重新排版,编程有序的,唉这里的苦只有做了才知道。6763个无序汉字,排好序以后是2万多个汉字;耗时三天,用到了Excel排序,那也很费事。

这就是没排序和排序的区别,这样是看不出啥,但是对于汉字编码来讲,变得有顺序之后就能更好的显示出来,ESP8266给NodeMCU发送汉字,接收是一个字节方式接收,连续接收三个字节组成一个汉字,就要根据这三个字节判断是什么字
[attach]584580[/attach]

用Excel排字
[attach]584538[/attach]

分两个屏使用,必要时候还要分成8个窗口
[attach]584539[/attach]

最后排完的样子,还要验证有没有错,不过还是很满意的,没有错误
[attach]584540[/attach]

可以显示的汉字,可能有的字这辈子都用不上,但是必须要有。你说无不无奈
[attach]584541[/attach]

之后就是挂起来,替换我家之前那个1680时钟,这次显得很大气,哈哈
打眼,一开始打算用那种粘墙上的挂钩,后来我爸怕粘不住,就打眼了
[attach]584561[/attach]

而且我爸为了防止那个贴条上锈染黄墙皮,还怕划到墙皮就粘了一层泡沫胶在上面做防护
[attach]584562[/attach]

正面就挂时钟用
[attach]584563[/attach]

之所以做这么长,是为了和上面那个百寿图长度显得和谐点
上面固定显示时间日期还有温度。下面一直流动显示天气预报和倒数节气日
[attach]584564[/attach]

最主要的是这次也加入了贝壳物联,可以控制显示开关,以后反馈温湿度数据可以远程查看家里温度
[attach]584566[/attach]



最后祝大家鼠年大吉!近期就不要参加聚会串门等集体活动了,这个病毒闹得还是挺凶的,做好防护!
[attach]584565[/attach]

next


作者: 水表君    时间: 2020-1-29 11:01
程序代码和电路图都放在里面了:[attach]584658[/attach]

联网程序要改的地方
[attach]584656[/attach]

这个地方每个人的key都不一样,去上面我说的京东万象申请个账号填上key就行
[attach]584657[/attach]

另外注明一下:本程序有web-OTA功能,只需连接在同一网络用电脑输入web地址即可,然后导出bin文件就好



作者: 人艰不拆了    时间: 2020-1-29 11:31
ESP8266,这个东西比arduino的板子功能强大吗:loveliness:
作者: 老张37475    时间: 2020-1-29 12:17
直接用ESP32吧:titter:双核够不够
作者: 社會忒墟僞    时间: 2020-1-29 13:12
贝壳物联怎么玩呢  可以加在以前的程序上使用吗
作者: -=杰作=-    时间: 2020-1-29 13:48
人艰不拆了 发表于 2020-1-29 11:31
ESP8266,这个东西比arduino的板子功能强大吗

arduino的板子也有很强的,但8266是最有性价比的
作者: 桃源客    时间: 2020-1-29 14:14
做得很好,不过加一个滤光片比较好看吧,
作者: Ω囿圉Ω    时间: 2020-1-29 16:31
天气接口很赞,GOOD

作者: 水表君    时间: 2020-1-29 17:49
老张37475 发表于 2020-1-29 12:17
直接用ESP32吧双核够不够

哈哈,一直没有买,而且ESP32好贵
作者: 水表君    时间: 2020-1-29 17:49
社會忒墟僞 发表于 2020-1-29 13:12
贝壳物联怎么玩呢  可以加在以前的程序上使用吗

可以去贝壳物联官网看看,有很多介绍
作者: 750123208    时间: 2020-1-29 19:00
两个esp8266有点多余了,直接IDE里面变不就好了,联网又不是一直需要查的
作者: 水表君    时间: 2020-1-29 19:23
750123208 发表于 2020-1-29 19:00
两个esp8266有点多余了,直接IDE里面变不就好了,联网又不是一直需要查的

第一,首先IO口不够用,第二ESP8266在访问API过程不能干其他事所以每次访问API时就不能显示屏幕,访问API还是需要延迟的
作者: aacyxjz    时间: 2020-1-29 21:48
非常牛掰,点个赞
作者: jjy8372980    时间: 2020-1-30 11:24
想法不错
作者: xiaopang    时间: 2020-1-30 12:30
高手就是高手,挂家里就是看起来有点门店的感觉。
作者: zhiyiyunmeng    时间: 2020-1-30 14:23
水表君 发表于 2020-1-29 11:01
程序代码和电路图都放在里面了:

联网程序要改的地方

猛一看以为那个框是屏幕呢
作者: 时师傅    时间: 2020-1-30 15:03
挺好的东西,会的东西真多,羡慕的不行不行的
作者: snowrose2000    时间: 2020-1-30 17:35
折腾的不错!不过个人觉得挂在家里有点太大了。
作者: 水表君    时间: 2020-1-30 17:57
snowrose2000 发表于 2020-1-30 17:35
折腾的不错!不过个人觉得挂在家里有点太大了。

悄悄告诉你,这我都觉得小,哈哈;
我喜欢那种简约的,直白的,没有那些花里胡哨动作,毕竟是显示信息又不是广告为了引人注目。所以尽可能都把所有信息显示全,静态显示。所以就要大了
作者: cj8510    时间: 2020-1-30 18:45
前面加个茶色或者黑色半透明的亚克力吧,这样不好看。
作者: 水表君    时间: 2020-1-30 18:47
cj8510 发表于 2020-1-30 18:45
前面加个茶色或者黑色半透明的亚克力吧,这样不好看。

不好搞这么大张的,得有1.2米长
作者: cj8510    时间: 2020-1-30 19:08
水表君 发表于 2020-1-30 18:47
不好搞这么大张的,得有1.2米长

可以的,弄个做灯箱用的铝合金支架,搞个框框,把亚克力卡到里面。完美。
作者: 水表君    时间: 2020-1-30 19:13
cj8510 发表于 2020-1-30 19:08
可以的,弄个做灯箱用的铝合金支架,搞个框框,把亚克力卡到里面。完美。 ...

我的意思是说这么大的亚克力搞不到,不好搞,买的话肯定不便宜
作者: cj8510    时间: 2020-1-30 20:23
水表君 发表于 2020-1-30 19:13
我的意思是说这么大的亚克力搞不到,不好搞,买的话肯定不便宜

亚克力不贵的,我之前做流水线用的那种2mm的才78十块一张大板子。
作者: zhkrid    时间: 2020-1-30 21:44
楼主东北的啊,外面这么冷,家里这么热,我家里8-9度,外面7度
作者: 3797    时间: 2020-1-30 23:07
刚打板这个,要的就是小https://www.bilibili.com/video/a ... 333.788.videocard.4
https://mp.weixin.qq.com/s?__biz ... 7kUAne94xpKQ9DFb#rd

作者: 水表君    时间: 2020-1-31 01:05
zhkrid 发表于 2020-1-30 21:44
楼主东北的啊,外面这么冷,家里这么热,我家里8-9度,外面7度

哈哈,这都看出来了,现在还好点,年前三九时候能达到零下三十多度
作者: junyee    时间: 2020-1-31 12:47
用上硬件 SPI 的话,刷 256*64 应该不难呀.

作者: 水表君    时间: 2020-1-31 13:14
junyee 发表于 2020-1-31 12:47
用上硬件 SPI 的话,刷 256*64 应该不难呀.

这是双色的,扫描方式是上下屏分开扫,一共四个数据。硬件就一个,咋搞。。
作者: netbeetle    时间: 2020-1-31 16:04
都画了板了,不能全部一次焊板上?
作者: 水表君    时间: 2020-1-31 17:33
netbeetle 发表于 2020-1-31 16:04
都画了板了,不能全部一次焊板上?

焊板上?温度探头是我故意引出的,放在板上会测温不准
作者: ploestar    时间: 2020-1-31 22:41
水表君 发表于 2020-1-31 13:14
这是双色的,扫描方式是上下屏分开扫,一共四个数据。硬件就一个,咋搞。。 ...

看人用245和595扩展,点过8块屏,理论可以更多
作者: netbeetle    时间: 2020-2-1 09:29
水表君 发表于 2020-1-31 17:33
焊板上?温度探头是我故意引出的,放在板上会测温不准

除了温度探头,全部都可以芯片级别焊在板上,不需要再用现成的模块了。而且都网络获取天气了,这个温度探头意义不大。
作者: sz1988    时间: 2020-2-1 09:35
xiaopang 发表于 2020-1-30 12:30
高手就是高手,挂家里就是看起来有点门店的感觉。

我也想说这话:lol:
作者: 水表君    时间: 2020-2-1 11:06
ploestar 发表于 2020-1-31 22:41
看人用245和595扩展,点过8块屏,理论可以更多

这个屏就是245+595+138驱动的,一块屏就四个数据,R1R2G1G2,他是上下屏分开扫描的
作者: 水表君    时间: 2020-2-1 11:09
netbeetle 发表于 2020-2-1 09:29
除了温度探头,全部都可以芯片级别焊在板上,不需要再用现成的模块了。而且都网络获取天气了,这个温度探 ...

模块化更新程序修改起来更方便,NodeMCU里面用来存字库了,Flash还生不到10%就被写满了,不能使用OTA更新,所以要更新NodeMCU还是需要拿下来升级更新,以后还会加上手动亮度速度调节等,都需要修改NodeMCU
作者: ploestar    时间: 2020-2-1 11:26
水表君 发表于 2020-2-1 11:06
这个屏就是245+595+138驱动的,一块屏就四个数据,R1R2G1G2,他是上下屏分开扫描的 ...

是另外加245和595,确实点亮了[attach]587579[/attach]

作者: junyee    时间: 2020-2-1 12:07
本帖最后由 junyee 于 2020-2-1 12:16 编辑
水表君 发表于 2020-1-31 13:14
这是双色的,扫描方式是上下屏分开扫,一共四个数据。硬件就一个,咋搞。。 ...

那可以 SPI 驱动  595 再接到08接口上,不过性能损失有点大.

或者改屏, 把  r0 r1 g1 g2 级联起来. 飞3根线就可以.

或看看 esp8226 有没有 QUAL SPI,..




~~~~记得十年前我用 STC89C58RD 刷过 128*32, 软件SPI, 还要实现 向左滚动效果.
ESP性能这么强,单片完成工作应该不在话下



作者: 水表君    时间: 2020-2-1 13:21
junyee 发表于 2020-2-1 12:07
那可以 SPI 驱动  595 再接到08接口上,不过性能损失有点大.

或者改屏, 把  r0 r1 g1 g2 级联起来. 飞3根 ...

第一种就不说了,那肯定是来不及
第二种就更麻烦了,那就相当于往128个595传数据,速度更慢
ESP有SPI,但是不知道是硬件还是软件的,要是软件就算了。
滚动显示很简单,因为滚动显示LED一直处于闪烁状态,闪烁问题很好解决,要是静态显示就不行了
作者: junyee    时间: 2020-2-1 16:25
本帖最后由 junyee 于 2020-2-1 16:30 编辑
水表君 发表于 2020-2-1 13:21
第一种就不说了,那肯定是来不及
第二种就更麻烦了,那就相当于往128个595传数据,速度更慢
ESP有SPI,但 ...

别说你才256*32,
硬件SPI刷个 256*320 也不会觉得累.当然,不要用 arduino,这货是没有效率可言的,

滚动比静态显示简单,你试试就知道坑有多大了!
大量的移位运算,比刷屏要的时间还要多几个数量级.

看来玩得不够深入呀 :titter:
你先用熟悉的单片机试试再来推翻我的结论吧~~
加油吧 :victory:

玩单片机至少要入门一种windows 开发工具吧,脚本也行,看到用 excel 辅助做字库真替你心疼:shutup:

作者: hu2011q    时间: 2020-2-1 20:51
要半分钟看完整的万年历。
作者: sunnyquan    时间: 2020-2-2 16:05
真漂亮,制作还是需要挺多知识的!
作者: qiujian    时间: 2020-2-2 16:11
楼主是高手呀,这个必须顶
作者: ljlun    时间: 2020-2-2 20:51
谢谢分享,加上滤色片就更好了
作者: 辣条    时间: 2020-2-3 03:51
太厉害了
作者: 三硝基甲苯    时间: 2020-2-3 21:04
做的很棒,先赞一个!我这里有两块P4的单元板,不知能否改造成万年历时钟之类的。。。
作者: 学海无崖    时间: 2020-2-4 12:05
看着看着,玩不来了!没时间玩太大!看小孩
作者: limcs51    时间: 2020-2-4 13:35
本帖最后由 limcs51 于 2020-2-5 20:10 编辑

给楼主点个赞,特别是API网站很好,已经移植到我的时钟上,还加了湿度,紫外线等。

作者: se7ens    时间: 2020-2-4 17:19
带定时功能吗,比如晚上睡觉会自动关掉:biggrin:
作者: 水表君    时间: 2020-2-5 10:09
hu2011q 发表于 2020-2-1 20:51
要半分钟看完整的万年历。

万年历部分是固定不动的,下面流动显示的是天气
作者: 水表君    时间: 2020-2-5 10:10
三硝基甲苯 发表于 2020-2-3 21:04
做的很棒,先赞一个!我这里有两块P4的单元板,不知能否改造成万年历时钟之类的。。。 ...

那种户外的?我驱动过P1的
作者: 水表君    时间: 2020-2-5 10:10
学海无崖 发表于 2020-2-4 12:05
看着看着,玩不来了!没时间玩太大!看小孩

哈哈,我兴许也有那一天
作者: 水表君    时间: 2020-2-5 10:11
limcs51 发表于 2020-2-4 13:35
给楼主点个赞,特别是API网站很好,已经移植到我的时钟上,还加了湿度。
...

你这是ESP8266直驱的?用的是京东那个?
作者: 水表君    时间: 2020-2-5 10:12
se7ens 发表于 2020-2-4 17:19
带定时功能吗,比如晚上睡觉会自动关掉

贝壳物联网站有定时功能,可以实现定时打开和关闭功能
作者: limcs51    时间: 2020-2-5 11:17
水表君 发表于 2020-2-5 10:11
你这是ESP8266直驱的?用的是京东那个?

用的是收音机面板,天气预报参考你的一样的
[attach]592456[/attach][attach]592457[/attach]

作者: meteor2003x    时间: 2020-2-5 14:20
这么大,挺费电的吧
作者: abcd5690    时间: 2020-2-6 11:50
楼主威武,这算是大型工程了。。。
作者: 21006091    时间: 2020-2-9 16:26
刚好我手上还有几十块双色点阵板,不知道能不能用?
有空研究研究
作者: shaohabbit    时间: 2020-2-9 17:04
哈哈,看到了诺基亚的USB数据线。
作者: flishmen    时间: 2020-2-12 12:04
limcs51 发表于 2020-2-5 11:17
用的是收音机面板,天气预报参考你的一样的

老大,我也有这面板,可以分享一下源程序或者固件吗?
作者: fryefryefrye    时间: 2020-2-15 18:14
水表君 发表于 2020-1-29 17:49
哈哈,一直没有买,而且ESP32好贵

淘宝ESP32开发板,有人卖60,有人卖15。我买了15元的,没问题。买东西多搜搜就行了。

15元一个如果能搞定的话,比你两个ESP8266便宜。
作者: fryefryefrye    时间: 2020-2-15 18:25
本帖最后由 fryefryefrye 于 2020-2-15 18:36 编辑
ploestar 发表于 2020-1-31 22:41
看人用245和595扩展,点过8块屏,理论可以更多

这个屏的通信接口,本身就是可以无限级联的。
只是级联的越多,每次扫描需要串行输出的数据越多,耗时增大,会导致刷新率越低。
而且主控器的显存可能不够用。
作者: bfantasy    时间: 2020-2-25 14:23
家里挂这个看起来还是不很合适。
作者: fryefryefrye    时间: 2020-2-25 14:35
你那个字模文件,里面好像有很多空位,是不是浪费空间了啊?
如果把空位都去掉,再另作一个转换表,是不是能够更省空间呢?
这种东西,难道就找不到一个现成的。我之前做的一个要显示汉字的,也是没啥办法,最后只能把用到的10多个汉字的编码用软件取出来,放到代码里面。用自己定义的顺序码去查找汉字。
作者: 水表君    时间: 2020-2-25 15:39
fryefryefrye 发表于 2020-2-25 14:35
你那个字模文件,里面好像有很多空位,是不是浪费空间了啊?
如果把空位都去掉,再另作一个转换表,是不是 ...

这是UTF8编码决定的,我也不想有空位,但是要使用的汉字太多,如果那样自己编码的话更费事,不如这样搞,如果以后需要加的话,直接改字模就好
作者: kelchdeng    时间: 2020-2-25 23:46
点赞。是个不错的东西。
作者: fryefryefrye    时间: 2020-2-29 16:01
本帖最后由 fryefryefrye 于 2020-2-29 16:05 编辑
水表君 发表于 2020-2-25 15:39
这是UTF8编码决定的,我也不想有空位,但是要使用的汉字太多,如果那样自己编码的话更费事,不如这样搞, ...

但是你的数据储存方式太浪费空间了,你把每个空位也占用了32字节的空间。

我花了点时间,把Unicode到GBK码的转换表搞出来。虽然网上也能下载到,但都是要登录扣积分的那种,还不如自己动手做做试试看了。
https://github.com/fryefryefrye/ ... _gb/UnicodeGbkMap.h
其中包括
0X4E00到0X9FA0之间的常用汉字。
0xFF01到0xFF5F之间的常用全角标点。

按照Unicode码顺序排列, 每一个Unicode码使用2字节储存对应的GBK码。

另外还有个网上常见的GB2312所有汉字的16*16点阵字库。
https://github.com/fryefryefrye/ ... led_unit_gb/hzk16.h

另外写了一些函数,
https://github.com/fryefryefrye/ ... it_gb/LedUnitChat.h
1:UTF-8的3个字节转换成Unicode码
2:Unicode码转换成GBK码
3:GBK码转换成在16*16字库里面的偏移量
4:另外ACSII的8*16点阵字库也放在里面了。


反正用了这种方式储存之后,ESP8266可以用OTA的方式更新程序了。而且我也没像你那样用双CPU,就一个ESP8266,即作屏幕扫描,也做数据处理,效果还是不错的。

作者: fryefryefrye    时间: 2020-2-29 16:28
我很早就在玩这个点阵屏的,喜欢挂在墙上,抬头就能看到天气预报,而不是掏出手机,一番操作之后才能看到。
不过当年还没了解ESP8266,还是用的有好几十个IO口的Mega2560 Arduino驱动的。
后来开始用8266之后,觉得这货IO口太少了,也没有详细的去看,一直以为不能直接驱动点整屏。
经过你的分享,我也搞定了用ESP8266驱动LED单元显示板了。

不过我发生了一个问题,我用的是那种Mini板子的ESP8266, 淘宝一般名为:“ESP8266 D1”的板子,在这个板子上并没有GPIO9 和 GPIO10, 但是在8266模块上是有的,我就把这两根线焊出来。

不过就算焊出来,也不能用,设置这两个端口为输出模式的时候,程序就崩溃了,所以我也没搞定双色显示,现在只能单色显示。
作者: 水表君    时间: 2020-2-29 18:44
fryefryefrye 发表于 2020-2-29 16:01
但是你的数据储存方式太浪费空间了,你把每个空位也占用了32字节的空间。

我花了点时间,把Unicode到GBK ...

汉字编码确实欠考虑了,用起来没问题就行,想升级以后去升级。
至于你说的,我用双CPU,第一IO口不够用,除了显示屏幕外还需要3231时钟芯片,还有DHT12温湿度,还有光敏ADC。这早就超出了NodeMCU的IO口数量了。
还有如果你用单CPU,扫屏幕的同时不能访问API,因为访问API时候啥也干不了。甚至有的时候访问超时。会严重影响扫描屏幕。对于我来说,使用双CPU,这个负责显示的8266可以不需要OTA。那个计算的8266需要OTA就行了。
作者: 水表君    时间: 2020-2-29 18:48
fryefryefrye 发表于 2020-2-29 16:28
我很早就在玩这个点阵屏的,喜欢挂在墙上,抬头就能看到天气预报,而不是掏出手机,一番操作之后才能看到。 ...

我最早玩点阵还是用51,随着玩的越来越大,扫描屏幕明显吃力,速度不够。还没接触stm32,就用8266来驱动屏幕的方式了。除了NodeMCU是全部IO口引出的,其他都不是全部引出的,即使有标号也不能用。
作者: fryefryefrye    时间: 2020-2-29 19:40
本帖最后由 fryefryefrye 于 2020-2-29 19:43 编辑
水表君 发表于 2020-2-29 18:48
我最早玩点阵还是用51,随着玩的越来越大,扫描屏幕明显吃力,速度不够。还没接触stm32,就用8266来驱动 ...

我家里有个树莓派,作为数据中心使用,不管是从网站API拿数据,还是家里的其他节点送来的温度,湿度,亮度,甚至门口有人出现这样的数据。

做这个单CPU驱动的点阵的时候,我直接把8*32字节的显存数据在树莓派上计算好了,每秒一次,直接发给8266,所以刷新的时候,就一个memcpy, 所以几乎没什么闪烁。

相信你的500ms一次的串口接收数据也会有点闪烁的吧,另外你那块CPU还要查询字库呢,只是速度够快的话,人眼就跟不上了:lol:
还有你的API是不是 https的? 当年找API的时候,不加密的太难找了,虽然8266也能连接https,但是对于8266来说,的确是一个非常大的负担。后来搞树莓派之后,我干脆把这个艰巨的任务给树莓派了。

作者: 水表君    时间: 2020-3-1 10:44
fryefryefrye 发表于 2020-2-29 19:40
我家里有个树莓派,作为数据中心使用,不管是从网站API拿数据,还是家里的其他节点送来的温度,湿度,亮度 ...

那你这不还是用“双CPU”了,我用双的目的就是一个访问数据。
我500ms一次没有闪烁。查字库速度也很快!看不出来。
我的API用HTTP和HTTPS都可以,要是HTTPS还要证书,太费劲。
作者: itangel    时间: 2020-3-12 15:30
不错啊..技术贴啊
作者: zxy882266    时间: 2020-4-1 20:18
人艰不拆了 发表于 2020-1-29 11:31
ESP8266,这个东西比arduino的板子功能强大吗

强大的不是一丁点,是很强大,我近来都要换这个NODEMCU玩
作者: zxy882266    时间: 2020-4-1 20:22
limcs51 发表于 2020-2-4 13:35
给楼主点个赞,特别是API网站很好,已经移植到我的时钟上,还加了湿度,紫外线等。
...

共享下你的代码呗
作者: qingkong    时间: 2020-4-1 20:32
fryefryefrye 发表于 2020-2-29 16:28
我很早就在玩这个点阵屏的,喜欢挂在墙上,抬头就能看到天气预报,而不是掏出手机,一番操作之后才能看到。 ...

没引出的那几根基本上都连着内部的flash
所以……其实没啥用处

需要腿多的话不如直接上esp32
d1已经把所有可以用的腿都引出来了……
作者: 柏能球會    时间: 2020-4-3 00:31
赞叹不已:kiss:
作者: 柏能球會    时间: 2020-4-3 00:32
赞叹不已,欣赏你。
作者: XYJD426    时间: 2020-4-4 19:10
看着都精彩 ,可惜下载不
作者: cykhyk    时间: 2020-4-8 10:23
楼主方便共享一下“aJSON.h”,这个文件吗?
作者: kxwfy    时间: 2020-8-2 19:25
cykhyk 发表于 2020-4-8 10:23
楼主方便共享一下“aJSON.h”,这个文件吗?

贝壳物联有这个库
作者: chobitming    时间: 2020-8-5 11:17
不错 能力超强 学习了  啥时候能成大神啊!
作者: jjbboox    时间: 2020-8-5 15:44
后来实验证明8266CPU主频率开到160MHZ勉强带动屏幕?

这个貌似不太可能吧,595的屏,8266带起来应该感觉不到压力吧!
软件不行的话用硬件SPI接口,轻松就能搞定。

我以前用墨水屏做过一个,用和风天气的API,有免费版的,能获得3天的天气预报,还是挺好用的。
API一定不要用一些个人搭建的服务器,不是信不过他们,但是说没就没了。
还是要选一些品牌大一点的,服务比较稳定,至少不会说关就关。

另外不用担心https,那个也挺容易解决的,网上有很多教程的。
作者: 水表君    时间: 2020-8-7 09:57
jjbboox 发表于 2020-8-5 15:44
后来实验证明8266CPU主频率开到160MHZ勉强带动屏幕?

这个貌似不太可能吧,595的屏,8266带起来应该感觉不 ...

扫描其实不是问题,问提示送数据,数据太多了,屏是分上下屏,共用行数据,不是标准08接口,是08接口的两倍,所以会吃力
现在用京东的API也是和风天气的,免费,七天预报,还有实时天气,以及生活指数什么的。
HTTPS解起来确实要麻烦很多,有简单的就不用麻烦的
作者: 轻烟    时间: 2020-8-10 13:17
真漂亮。就是耗电不少吧
作者: 180066542    时间: 2020-8-10 17:32
我也是用天气API,用的腾讯的,访问很快啊,加上json解析10ms以内,这样双核确实浪费了一个8266,可以用F4代替也不错。IO还多
作者: 180066542    时间: 2020-8-10 17:36
而且我是用SDK开发ESP8266的,没试过ARDUINO,这样看来ARDUINO的效率真的差很多?我用ESP8266的SPI,最高可以到80M,刷480*320的彩色屏幕可以60帧左右,你这个只是单色,数量就少了个量级,可以试一下SPI,很香的
作者: wpll    时间: 2020-8-22 15:50
到底是怎么回事呢 我这里是断开LED屏的电源线 断开tx 和rx 上电 启动后接上这三根线就能用了 要不然不启动 楼主有别的法子吗
作者: 水表君    时间: 2020-8-23 09:35
wpll 发表于 2020-8-22 15:50
到底是怎么回事呢 我这里是断开LED屏的电源线 断开tx 和rx 上电 启动后接上这三根线就能用了 要不然不启动  ...

你可以断开屏幕的EN试试,我也有这种情况,上电时候断开屏幕EN,然后通电在接通EN就好了
作者: 水表君    时间: 2020-8-23 09:37
180066542 发表于 2020-8-10 17:36
而且我是用SDK开发ESP8266的,没试过ARDUINO,这样看来ARDUINO的效率真的差很多?我用ESP8266的SPI,最高可 ...

这是双色屏,而且我很好奇,用SPI怎么驱动08接口,有四个行线,而且行线还是16/1扫的,屏幕一块是32行需要扫两次行,用spi接口数据还要来回切换?
作者: aspirine520    时间: 2020-9-3 08:07
我有点想不通的是为啥整两个8266
作者: 水表君    时间: 2020-9-3 09:46
aspirine520 发表于 2020-9-3 08:07
我有点想不通的是为啥整两个8266

一个负责刷新屏幕装字库,另一个联网读数据
作者: fryefryefrye    时间: 2020-9-4 12:44
本帖最后由 fryefryefrye 于 2020-9-4 12:46 编辑
wpll 发表于 2020-8-22 15:50
到底是怎么回事呢 我这里是断开LED屏的电源线 断开tx 和rx 上电 启动后接上这三根线就能用了 要不然不启动  ...

请看下面这个表格,最后一列,有些脚在启动的是否必须符合要求,才能正常启动,否则会进入烧写或者其他模式。
另外按楼主的接线方式,屏幕和ESP8266同时上电,是可以正常启动的。可能你的屏幕和别人的不大一样,把某些引脚的电平搞错了。

[attach]890994[/attach]


作者: bfql    时间: 2021-3-8 11:24
楼主字库是直接放在Esp8266的闪存里吗?
作者: monicalike    时间: 2021-3-11 09:05
水表君 发表于 2020-1-29 19:23
第一,首先IO口不够用,第二ESP8266在访问API过程不能干其他事所以每次访问API时就不能显示屏幕,访问API ...

感谢楼主解释,我使用单ESP8266,联网获取天气信息是屏幕必定会闪一下,原因应该就是第二点吧。
想请教下,如果是单个ESP8266有何改进方法么?谢谢
作者: 水表君    时间: 2021-3-11 17:56
monicalike 发表于 2021-3-11 09:05
感谢楼主解释,我使用单ESP8266,联网获取天气信息是屏幕必定会闪一下,原因应该就是第二点吧。
想请教下 ...

ESP8266应该解决办法也不是那么完美,使用定时器库。不过据说ESP32是双核的,应该问题就不大了
作者: 水表君    时间: 2021-3-11 17:57
bfql 发表于 2021-3-8 11:24
楼主字库是直接放在Esp8266的闪存里吗?

是的,直接存在闪存里
作者: chun_hua80    时间: 2021-3-31 11:17
牛!:praise: 下来学习
作者: 奶瓶_NP    时间: 2021-3-31 15:31
生命不息 折腾不止! 折腾路上 感谢有你~!
作者: njchenmin    时间: 2024-5-28 06:09
不错呀




欢迎光临 数码之家 (https://www.mydigit.cn/) Powered by Discuz! X3.4