【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]自从之前做了个智能插排后,近期事忙,也就没时间搞新东西(其实是懒),最近老婆说要装个窗帘,突发奇想,要不装个智能窗帘算了,上某宝搜了一下,这玩意还挺贵,后来想想,算了,不如自己开发一个算了,顺便练练手,以后连上我之前开发的控制端,还可以统一控制。

大家好,又见面了,我是你们的朋友全栈君。

        自从之前做了个智能插排后,近期事忙,也就没时间搞新东西(其实是懒偷笑),最近突发奇想,要不搞个智能窗帘算了,上某宝搜了一下,这玩意还挺贵,后来想想,算了,不如自己开发一个算了,顺便练练手,以后连上我之前开发的控制端,还可以统一控制。

        好事多磨,由于手头工具材料有限,很多部件根本没有现成的可以用,只能自己想办法弄,真羡慕那些创客工作室,可以自己3D打印需要的部件,这样更能做出满意的作品,牢骚不说了,有条件要上,没条件自己创造条件也一样要上~~~~

先来说说用到的零件

        首先是装窗帘用的铝材滑轨、滑轮、安装码之类的,这个直接在某宝淘就好,也不是很贵,一般商家都会配一套现成的给你。然后是线材,一些杜邦线,还需要一些长点的细线,用来进行模块控制,我直接用手头上有的跳线用的细线,太细了,容易断,可以用其它的细电线。这里主要是用于实验和方案研究,所以为方便编程和调试,我这里使用的控制板是某宝买的那种小黄板,上面已经焊接了电源和一些led灯,并引出了gpio接口。还有就是电机控制模块,我这里用的是以前智能小车上的L298N。还有就是需要一些亚克力板、同步带、同步轮、18650电池盒、还有就是小车用的那种黄色电机以及M3的螺丝螺母,还有就是手头需要一些必备的工具,小电钻、电烙铁之类的,下面是一些材料的照片。

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

一、硬件部分

        首先是硬件组装,之前有考虑过小体积的N20减速电机来做动力,后来看了一下同步轮的尺寸,轴径差太远,不好组装,所以用了智能小车的那个黄色电机,接上12V的供电,扭力杠杠的,带动窗帘应该问题不大。其实硬件部分也没啥科技含量,主要的问题在于很多部件没有现成的,需要自己动手做,手头只有亚克力板,凑合用了,由于没有方便的切割工具,切割这种厚的亚克力手都快磨烂了。下面是电机固定的一些亚克力部件。

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

        电机跟同步轮同步带的固定基本上就靠亚克力板和螺丝,窗帘两端需要装两个带柄的触控开关,用于停止电机,一开始手头没有,用了两个废鼠标上面的拆下来的微动开关,由于触点太小,实验失败。后来还是乖乖淘宝淘了几个换上了,用哥两好(AB胶)和亚克力固定,如下图。

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

        上面的是失败的,下面的是后来重新买的。还有一个比较难的部件就是动力滑轮,就是跟随同步带推拉窗帘的,这个部件设计了好久,测试了好几个方案效果都不好,一开始用亚克力板黏上滑轮做了一个,因为轨道尺寸不大,使用起来不是太顺畅,后来经过几次反复改造,最终直接用绳子绑上完事了,如果有3D打印的条件就好了,打印一个部件B格会高很多,反正凑合着用吧。

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

        上面两张是一开始的方案,不过不太好用,后来直接用下面的方式拿绳子绑上固定了,这绳子是不是有点眼熟,没错就是绑粽子用的偷笑,机械部分,大概就是这样了,也没啥好说的,这里主要来说说控制部分。

        控制部分的思路是使用ESP8266模块通过TCP协议接收电脑传输过来的指令,控制L298N来操纵电机的正反转来达到打开关闭窗帘的功能,微控开关主要是告知控制端窗帘是否已经打开关闭完毕,当窗帘到轨道两端后,停止电机。

这里只用到了L298N的两路中的一路,通过控制IN1、IN2的高低电平来控制电机的正反转。ESP8266主要用到四个GPIO口,GPIO3、GPIO4接微控开关,接受停止信号,GPIO12、GPIO13接L298N的IN1、IN2,根据控制指令输出高低电平,电路图如下。

【小制作】WIFI智能窗帘的制作[通俗易懂]

        灵魂画手的图大家凑合看吧,电路也是很简单,先凑合用,以后将电源重新设计一下。以下是实物图。

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

        控制电路部分也就这样了,因为本身客户端功能也比较简单,主要也就是接受指令执行GPIO控制,就没有再使用单片机进行逻辑处理了,直接使用esp8266的mcu控制,然后剩下的就是代码部分了。

二、软件部分

        这里软件部分就不提供完整的代码了,就将其中用到的一些要点跟大伙提一下,里面用到的代码其实也不复杂,自己上官网或者百度一下,里面涉及到的大部分代码都能找到。

        首先是说说网络控制部分,我这里用的是TCP协议进行通信,服务端用的是有人科技有限公司的串口转网络调试助手,8266客户端配置好连接的服务器IP地址和服务端口后,通过TCP协议与服务端连接,服务端发送指令控制8266的GPIO的高低电平,然后通过L298N模块对电机进行控制。

【小制作】WIFI智能窗帘的制作[通俗易懂]

        里面主要涉及到的技术内容包括网络的配置及连接(可参考乐鑫官网的案例代码)、8266GPIO的输出及输入状态的获取技术(可参考本人之前整理的《关于ESP8266 GPIO中断使用的总结》文章,里面涉及到了这方面的内容)、定时器的使用(乐鑫官网网络连接代码里面涉及到了这一部分内容,并结合官方的SDK开发文档)、L298N的控制(没啥好说的,度娘很多资料)

        这里说一下软件开发中遇到的一些问题,由于本人连接网络部分参考了官方的案例代码,代码中使用了定时器来获取连接,本来微动开关控制部分打算用中断来实现的,测试发现单独使用中断没有问题,但是集成到我的代码里面后,一直没法正常工作,不知道是不是跟里面的定时器有冲突,后来也改用了定时检测的方式来做,虽然做法不是太优雅,但是也算实现了功能,日后再做测试改进,其它的就真的没啥了,倒是双手割亚克力板割得痛不欲生。


有兴趣的朋友也可以加入企鹅群(254267969)一起学习讨论。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152465.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • nginx配置ssl证书实现https访问_ssl证书有效期

    nginx配置ssl证书实现https访问_ssl证书有效期1,登录阿里云,工作台找SSL证书或者安全下找CA证书2,点击创建证书(或购买证书),创建好以后点击证书申请、3,设置配置以及域名信息,仅填写圈住内容,其他默认即可4,随后等待一会,查看状态,是否为 已签发5,为已签发时,点击下载选择下载类型6,下载后解压文件7,上传至服务器,存放位置,先找到nginx所在位置 “/nginx/conf/”找到该位置创建“cert”把刚才解压的两个文件存放至此。8,开始nginx配置内容`server { #SSL 访问端口号为 443 li

    2022年8月19日
  • git和github gitlab的区别_gitlab和git区别

    git和github gitlab的区别_gitlab和git区别GitHub是在线代码仓库,全世界只有GitHub一家,大家把代码存储在人家的服务器上。Gitlab相当于小型的GitHub,你可以在本地搭建一个属于你自己的类似GitHub仓库,让小伙伴把代码存储在上面,这样代码只有你们几个人能看见,但是你要存在GitHub上,全世界都能看见git是一种版本控制系统,是一个命令,是一种工具gitlib是用于实现git功能的开发库github是一个基于git实现的在线代码仓库,包含一个网站界面,向互联网开放gitlab是一个基于git实现的在线代码仓

    2022年10月23日
  • latex 双引号 “

    latex 双引号 “别在latex敲,在记事本上敲完后,拷贝到latex中。转载于:https://www.cnblogs.com/cmyg/p/9851425.html

    2022年6月25日
  • centos系统不识别u盘_Unable to locate package vim

    centos系统不识别u盘_Unable to locate package vim在修改源后使用sudoapt-getupdate 显示 W:GPGerror:https://mirrors.ustc.edu.cn/kalikali-rollingInRelease:Thefollowingsignaturescouldn’tbeverifiedbecausethepublickeyisnotavailable:…

    2022年10月13日
  • 欧拉函数最全总结

    欧拉函数最全总结文章目录欧拉函数的内容一、欧拉函数的引入二、欧拉函数的定义三、欧拉函数的性质四、欧拉函数的计算方法(一)素数分解法(二)编程思维1.求n以内的所有素数2.求φ(n)3.格式化输出0-100欧拉函数表(“x?”代表十位数,“x”代表个位数)五、欧拉函数相关定理以及证明(一)定理1:缩系与欧拉函数的关系(二)定理2:缩系的充要条件(三)定理3:缩系拓展1.简单证明:(a,m)=1,(x,m)=1,故(ax,m)=1。(四)定理4:设m>1,(a,m)=1,则aφ(m)≡1(modm).1.**若ac≡bc

    2022年8月22日
  • burpsuite简单抓包教程[通俗易懂]

    burpsuite简单抓包教程[通俗易懂]一.配置浏览器(以火狐为例)1.打开菜单,找到选项,点击翻到最下面点击设置,将配置的代理服务器改为手动代理配置,HTTP代理设为127.0.0.1,端口设置为8080(为了burpsuite能截到浏览器发送出来的请求),点击确定。二.burpsuite的设置点击proxy选择Options观察图中的IP地址及端口,如果不是127.0.0.1:8080,则点击add,添加端口和IP地…

    2022年6月14日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号