zoukankan      html  css  js  c++  java
  • 使用Siri+捷径控制ESP8266+WS2812B

    因为一直在玩ESP8266模块,正好又遇有个姑娘说冬天太冷,不想起床开关灯,想要一个手机控制的灯。这个姑娘是家里人介绍认识,就加了个微信,刚开始不熟没咋聊,后来有次因为一条朋友圈聊起来,发现蛮多共同话题,小姑娘竟然炒股,还搞过创业投资,而我正好又不太懂想学这些,她则需要一些技术支持。就这样,促使我开始研究这一套无线控制,其实我也需要这样个东东,因为住得出租屋也不能在床头关灯,哈哈哈!好了,言归正传,说说这一套技术操作,先上视频:

    https://weibo.com/tv/v/Hj1TBdEea?fid=1034:4345355199022840

    https://weibo.com/tv/v/Hj1Vnr8IL?fid=1034:4345356314469345

    先感谢之前就提到过的 http://wenzheng.club 极客阿正,源码基于他的siri_mini程序。

    在上一次完成Siri+捷径与EPS8266的通信后,事情就变得简单了,只要加入RGB的灯控制就好。网上搜了一下,WS2812B的Arduino已经开源,而且硬件也简单便宜,用5V供电就行,不就可以直接从ESP8266板子直接供电吗!哈哈!当然,我买的是接口引出了的,ESP8266本身是要3.3V的,买的模块有UV接口,我用万用表测了一下,直接从USB引电,没有电阻减压,简直完美啊!10来块钱买一个WS2812B的灯条,有30个灯珠,应该是有90个,因为RGB每一种都有一个,每个最亮用20mAh,白色是三个一起亮,就需要60mAh,计算一下供电电流来确定要留的灯珠个数。淘宝网会有详细介绍WS2812B的接线和注意事项,反正挺简单的,只需要供电后,给Data_Pin发送数据(脉冲信号),它和自动向后传递,使灯都按要求点亮,这个设计还挺神奇的,不过一定要注意灯条的输入和输出,不能反用,我就掉坑里,后来在一个博客中看到注意说明,浪费一个小时,我还以为定义的口不对。。。这次的程序还有一个难点是,需要用到定时器循环,而又不能影响ESP8266的Wifi数据接收,普通的delay肯定不行,我之前有一篇文章介绍了不用delay做定时器,mills,这里就用上了。灯的闪烁,变色都需要用到这个,所以要把这段代码封装在一个函数里,调用就行,以提高代码运行效率,程序看起来结构也清晰。控制RGB的灯需要注意的是:1、切换RGB的值;2、是否需要闪烁,闪烁的时间;3、是否需要颜色变化,变化时间和方式。三个点对应了不同的RGB值、地址和定时器,在解析收到的程序时要区分并特殊处理。程序中我都写了注释,容易看懂。此次我还弄清楚了iOS的捷径如何制作,感觉像是模块化编程,组合排序就行,如果有需求,我也可以出一个文章或者视频讲解。

       

    具体的代码我放在Github中了,需要的评论索取哈!

    项目都是晚上或周末自己在家做,常常因为代码头疼,不过最终看到效果还是小骄傲的!​

  • 相关阅读:
    bzoj3676 [Apio2014]回文串
    bzoj4199 [Noi2015]品酒大会
    bzoj3171 [Tjoi2013]循环格
    bzoj4709 [Jsoi2011]柠檬
    bzoj2668 [cqoi2012]交换棋子
    bzoj1458 士兵占领
    25号搜索的一些例子,。。Oil Deposits&&Red and Black&&Knight Moves&&Catch That Cow&&Tempter of the Bone
    第一次超水(我错了,有难度的)的组队赛!!!The Coco-Cola Store &&Multiple of 17&& Box Game
    博弈 7月24号:HDU 2176(Nim博弈)
    2013年7月23号:大数的加与乘I-number&&Power of Cryptography
  • 原文地址:https://www.cnblogs.com/qiuya/p/10853372.html
Copyright © 2011-2022 走看看