好久没有来坑网更新了。平时也就是随手打开翻一翻,都忘记登陆了。
今天我把我刚做的一个不太成熟的小玩意发上来给大伙乐呵乐呵~~
文章我发在我的微信公众号里了,感兴趣可以搜索‘平头创意’。不过这里我还是全文搬运过来,以示尊重。
过年了,今天已经是初四,给大伙拜个晚年吧!
今年在本地过年,这边禁止燃放烟花爆竹,整个过年期间,几乎没有什么爆竹声,也几乎没有感受到老家的那种过年气息。
为了营造一些过年氛围,我提前购买了一些灯带,想着过年期间把客厅装扮一下。本着技术人的严谨,我还提前做了个思维导图:
好家伙……刚才找了下,发现没保存……丢了……不得不得吐槽下Windows,某些方面做的还是不够好,莫名重启后,原先的工作几乎都丢了。
不过没关系,我现画一个吧!
整体架构就是这样子了。
忘了说了,这次小制作的目标:制作一个烟花形状灯带,可以通过B站的直播间弹幕进行互动,发送指定的关键词就可以点亮烟花。是不是感觉有点意思?
话不多说,开搞吧!
我选购了一条5米的WS2812灯带,按照烟花的大致形状,把它剪接了很多段。在开始前,我没想到这个工作会花费我三倍的预期时长……
在客厅与阳台的推拉门上,我量好尺寸,减好灯带,减好连接线,打开烙铁,开始焊接……一切看着是那样顺利,只是我没想到我的焊工是那样的烂,因为最开始有一根电线的一细丝分叉被我不小心短接焊到了旁边焊盘上,最终导致了我焊接工作结束,用万用表测试时,才发现有短路,只好返工……
最终焊接完成,往玻璃门上贴的工作很顺利,像是蒲公英一样,直接贴上就可以,灯带背面自带有双面胶。
接上一个成品WS2812控制器,就可以看到对应的效果了。很好看。
虽然第一版效果很赞,但是毕竟没有达到自己期望的效果,还是需要自己动手丰衣足食。
服务器端程序比较简单,有原先做好的代码。电脑端其实是现成的测试软件。
头疼的是嵌入式端。
这里有三个硬件可以选择,分别是树莓派/W600/Air724。分别对应着使用Python/C、RT-Thread(C)、LuatOS。
树莓派环境被我首先放弃了,因为难度不大,成本也高,不够极客。
W600上跑RT-Thread我有犹豫过,因为做过类似的东西,上手简单,实现快。但是,也放弃了。
最终我选择了使用合宙的LuatOS。因为恰巧最近学习了一些相关知识,想实践一下,既能够实现预期目标,又有可玩性,还能锻炼一下自己。
就这样,我使用Air724+Luat开始进行代码编写,并且选择了Miuser的Midemo作为基础进行编写,这里需要大力宣传下,Miuser其人幽默风趣,在B站有个直播间【https://live.bilibili.com/22099149】懒懒笨笨,我很多知识都是在这里学习的,大家也可以常去看看。
当我代码逻辑基本完成时,我突然意识到一件很重要的事情:我手上的这款Air724开发板,电平电路和WS2812不兼容……直白的的说,就是没办法直接控制我的灯带……没办法,我只好放弃了Air724这个开发板了。
不过,好在LuatOS同样也支持W600。于是我使用了飞思创的一款FSC-MKR-W600开发板,按照之前的思路,又迅速将代码编写完成,只是它运行的时候,发现跟我的预期不太一致……灯带色彩乱了……
基于经验,我迅速定位到了是硬件SPI的问题,从LuatOS的代码翻阅定位到了RT-Thread的代码,并且认识到了LuatOS是一个跑在RT-Thread上面的一个Lua虚拟机。不过,在RTT中,发现相关的硬件SPI与DMA使用,并未实现,而是通过WMLibraries软件包去实现的,到这里,不得不提一下联盛德,W600就是联盛德开发生产的一款高性能的Wifi芯片,之前我有小作品使用过,非常好用,媲美ESP8266。
问题定位到这里,修改了下底层的调用函数,重新编译RT-Thread系统,烧写固件,看到自己的代码顺利运行了。
效果一般般吧,只是原理上都走通了而已。欢迎大家有空来我的B站测试一下!
【 https://live.bilibili.com/21730165 】
【 https://space.bilibili.com/390751623/video 】
很开心用了过年的几天时间制作了这样一个小作品,满足了自己的一些精神需求,愉悦了自己。
我也了解了一些新知识,为未来的 #航海计划 储备了一些经验。
离线
看了前面几个精华帖, 楼主真是一个充满激情的又有能力的年轻人!
离线
看了前面几个精华帖, 楼主真是一个充满激情的又有能力的年轻人!
感谢你的认可~~生活嘛,能开心就好
离线
那不是天天可以看烟花了!有人想你了就来一串烟花?烟花,言花,漫天飞……
离线