最初的目的是为了远程控制家里的一台NAS的开机,最终变成了一个小小的物联网项目,在折腾过程中踩了一个又一个的坑,作为记录,下面我来带大家解开一个小小的物联网项目神秘面纱。如果有一点电路和编程基础最好,没有基础的话完全按照如下步骤也没问题。
家里有一台NAS,主要作为照片备份和影音服务器用。由于使用频率不是很高。一般都是用的时候开机,用完就关机了

这样就有了一个问题,偶尔出差的时候需要用,又不想一直保持开机状态。怎么办?家里如果有人还可以帮忙开机,没人的时候就只能干着急了。
作为一个理工科的大叔, 这种事情怎么能忍受, 为了远程控制家里NAS开机的目的,经过度娘搜索,最简答成本又低的办法是实现网络唤醒开机,经过确认我的NAS主机的BIOS不支持网络唤醒,无奈放弃。
那么只能通过远程控制按下开机按钮的办法了,其实开机过程就是开机按钮的两根线短接一下就可以实现开机了,转化为控制过程就是远程控制一个继电器闭合一下让两根开机信号线短接一下就开机了
万能的某宝应该有这类产品,搜索了一下,要三十多块钱。

其实现在流行的智能插座,wifi插座也能实现这个功能。这背后是怎么实现的呢,能不能利用手头的设备实现这个功能,经过一番折腾结果如下:
最终实现方案有两种
第一,利用手头现有的一片树莓派和5V继电器,利用远程SSH登录来控制树莓派的GPIO输出信号来控制继电器实现短接开机信号,有感兴趣的可以留言,单独再说这个。
第二,就是本文的重点,利用现在比较热门的物联网控制芯片ESP8266来实现控制继电器,现在很多的物联网设备都是使用的这个模组。
那么为什么没有利用第一种方案,首先树莓派功率大约有5W左右,长期运行还是有点高,体积也比较大,并且控制界面比较麻烦,需要在命令行界面输入命令,在手机上操作命令行确实是比较痛苦!
方案二就是用一片ESP8266 12F加一个继电器,运行功率约0.5W,体积也很小,主要的是可以使用手机APP直接控制,使用比较方便.
实际成本如下:
一片ESP8266 万能某宝大约6元多点包邮。
一片5V低电平触发的继电器大约2元多点包邮。
四个10K电阻 - 10个大约1到2元包邮。
一个10UF电容 - 10个大约1到2元包邮。
一个100NF电容 - 10个大约1到2元包邮。
两个AMS11173.3的LD0芯片某宝10片1元多包邮。
一个家里闲置的手机充电器作为5V供电。
总成本不含充电器不超过10元就实现了远程控制NAS开关的功能,为了避免广告嫌疑不发链接了,真需要买找不到的可以留言。
实际上一片ESP89266 12F可以实现7路开关的控制,可以控制7个灯或者其他设备的开关,扩展空间很大,啰嗦了这么多,下面我们进入正题。到底这么用不到10元的成本来做一个小小的WIFI开关呢?
首先我们要买一片ESP8266 12F,邮寄到手之前我们先简单了解一下这个芯片,网上查一下资料很多,我们需要的官方的资料来自乐鑫和安信可,简单来说芯片是乐鑫做的,安信可给封装成了模组,一般我们用到的都是模组,单独的芯片我们是用不了的

ESP8266模组的型号也特别多,某宝的价格也有差别,最新的是ESP826612F,引出的接口也比较多,扩展性较大,我们也就用使用这个模组,某宝搜索的时候型号也特别多,有NODEMCU模组,arduino模组等等,价格也不一样,我们这里只需要单纯的ESP826612F模组,其他的都不需要,注意别买错了

那么这些模组有什么区别呢?
简单来说,其他的模组都是在ESP826612F模组外接了一个MCU,仅仅把ESP8266当做了wifi信号转串口信号的一个工具,优点是对于熟悉各种MCU的人比较好入门,开发难度较低,缺点则是增加了额外的芯片,价格贵一些,体积和功耗也会变大 ,并且只用了8266的TX和RX接口,其他的接口都浪费了,没有充分发挥ESP826612F的功能。
那么为什么不单独使用ESP8266模组呢,主要是因为ESP8266的开发编程是基于官方SDK进行开发的,相对入门难度略大一点,需要一定的学习。
了解了以上这些,下面我们就需要到安信可官网去查找一下826612F的资料了,查资料时我们会发现开发方式也分为SDK开发和AT开发,分别对应了以上两种模式。
AT开发就是把826612F当做WIFI转串口的工具,AT指令就是外接单片机跟模组通讯的格式要求。
SDK开发则是直接使用ESP826612F本身进行,要使用官方的开发环境和官方SDK进行开发,固件直接写入模组本身,不需要外接其他MCU。
说了这么多,下面我们来看看ESP 8266的真身吧,到手后这样

下面到底怎么用呢?我们去安信可官网看看,在产品中心,找到ESP12

点击查看文档,找到文档中心

找到12F产品规格书

找到第13页应用电路

按照官方的电路推荐,最小工作电路一共需要6个外围元件,4颗10K电阻,1颗10UF电容,1颗100NF电容。实际第18脚的电阻是不需要的,因为我们看第12页的引脚说明,GPIO0可以悬空

所以我们实际上需要3颗10K电阻和2颗电容即可,按照官方文档焊接后成品如下

为了调试方便,我使用了面包板和杜邦线,成品是不需要的,当然有面包板会方便很多。为了调试方便,我引出了两个3.3的正极和三个地,其中下面那排靠中间的地是为了方便下载程序时GPIO0接地方便使用的。

分别了用了两颗电容,黄色的小电容为100NF无极性陶瓷电容,黑色的为10UF无极性电解电容,注意使用电容要注意有的是有极性的,正负极不要弄错。

按照官方推荐接了R1 R2和R4,没有接R3,但是增加了R5,接在GPIO0对地线路上,这个可以不接。到此为止。已经按照官方的推荐接好了外围电路。下面就是上电看看成果的时候了。这时候还需要一个TTL转接口,做为下载程序和调试的接口,成品不需要。这个东西长这个样子

注意TTL上面有跳线帽要接到3V3那边,以为ESP8266是使用3.3V工作电压的,千万别弄错了。连接好以后是这样的

确认TTL转接板装好驱动,每个电脑的COM后面的数字是不一样的,这个没关系

再去安信可的产品页面选择开发工具清单

把这个页面的工具都下载下来,我们首先使用串口调试助手

下载后解压打开,界面如下

TTL转接板安装正常后会自动识别串口,如果有多个串口,选择TTL转接板使用的那个,波特率设定115200,打开串口,然后给8266上电

一般出厂都是默认AT固件,因为出厂固件版本不一样,显示的信息不一定完全相同,一般最后显示ready,说明ESP826612F工作正常,可以进行下一步的开发调试了。显示其他的信息也不要急,下一步我们来给ESP8266更新固件,进行初步调试。

手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记(一)相关推荐

  1. esp8266 蓝牙耳机_手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记(三)...

    手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记(三) 2020-05-11 19:43:10 12点赞 137收藏 10评论 上一次我们初步认识了SDK编程和透传,给模组更新FW. ...

  2. 手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记(三)

    上一次我们初步认识了SDK编程和透传,给模组更新FW. 这一次我们直接用一个开源平台实现我们最终的目的,用一个APP远程控制模组开关. 我们使用的平台是机智云提供的开发平台. 开始之前我们先把硬件搭建 ...

  3. 手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记(四)

    今天我们将利用机智云的开源APP来生成我们独家定制的手机APP 首先我们打开机智云开发者中心 第一步,我们使用机智云生成APP代码,选择应用配置,填写你想要的APP名字.平台选择Android,添加 ...

  4. 手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记(二)

    上一次我们的8266模组已经可以上电正常工作了.这次我们要做的是 1.更新设备固件: 2.初步验证设备远程控制的方式: 3.认识SDK和开发环境,实现我们的第一个程序,惯例输出 HELLO WORD: ...

  5. esp8266 蓝牙耳机_走进物联网智能家居-手把手带你制作wifi智能开关-ESP8266学习笔记(二)...

    走进物联网智能家居-手把手带你制作wifi智能开关-ESP8266学习笔记(二) 2020-05-09 13:44:11 9点赞 72收藏 6评论 小编注:此篇文章来自即可瓜分10万金币,周边好礼达标 ...

  6. Django网站实战——手把手带大家制作一个经典的网站

    一.前言 今天小编带大家制作一个经典的网站的案例,功能包括登录.注册.注销.改密.免密登录.忘记密码,那么下面就让我们开始吧. 二.创建项目并创建子应用 首先创建项目,然后在项目根目录下创建子应用,如 ...

  7. 哥们哥们,人机大战晓得吧玩家对战晓得吧,简易三子棋,呕心沥血500行代码手把手带你制作第一个小游戏,可以保存收藏以后接着看哟,最后有源码哦

    目录 前言 一.游戏想要有意思,函数不可少,整活的函数 二.三子棋的游戏界面 三.三子棋的功能步骤分析      1.菜单     2.三子棋实现的总体框架     3.棋盘创建     4.棋盘初始 ...

  8. MATLAB 手把手带你制作第一个APP designer程序(电子词典)

    注:左上角图标的添加方式(老版本和新版本俩种方法)放在文章最后 注此方法针对的为2019版本及之前的版本,比较新版本以增添该功能,直接设置uifigure的Icon属性即可,使用压缩包内文件可将sta ...

  9. 手把手教你制作easyUI+bootstrap工作站,主要学习tabs方法

    demo下载地址:http://download.csdn.net/detail/cometwo/9466657 登陆页 <!DOCTYPE html> <html><h ...

最新文章

  1. Gartner 2019 年供应链技术八大趋势:AI、高级分析、物联网、RPA、自主设备、数字孪生...
  2. TortoiseSVN找不到系统指定路径
  3. MySQL学习笔记07【事务、用户管理和权限管理】
  4. 详解图示+例题演练——BF算法+KMP算法基本原理
  5. matlab2c使用c++实现matlab函数系列教程-mean函数
  6. 图像特征描述_如何判断ORB特征点的好坏(得分)_FAST_SCORE对比HARRIS_SCORE
  7. Chrome安装Axure RP插件
  8. PHP+txt聊天室
  9. 【Homography Estimation】《Deep Image Homography Estimation》
  10. 网易云音乐8.0版本背后的野心
  11. ply补全为立方体_PLY文件格式及其解析 | 学步园
  12. python做学生管理系统数据库模型_数据库建模:学生信息系统搭建实验
  13. win10、win7 脚本导证书到系统中
  14. linux修复笔记本电池电量,我戴尔笔记本电池损耗到百分之三十了!怎么修好啊!晕...
  15. 微信公众平台定制开发
  16. web开发中,中文乱码问题汇总
  17. “国际软件自由日”头脑风暴成果
  18. html实现Marquee无缝衔接
  19. 无法安装此app,因为无法验证其完整性 解决方案
  20. 平台2.0数据采集软件

热门文章

  1. 传世单机 设置GM账号
  2. Sigmoid类神经网络的鲁棒性验证
  3. java中位运算详解
  4. Blender骨骼绑定:Auto-Rig Pro 使用图解
  5. 2019年TI杯全国大学生电子设计竞赛总结反思与经验交流
  6. [置顶] Java 设定工作日日历
  7. SSM项目 —— 在线五子棋
  8. .xlsx文件新建提示扩展名无效问题
  9. EtherCAT的实现和应用 - 从站驱动和应用
  10. Chapter Three:实战 js 混淆 - 源码乱码(简单)