我是电子DIY爱好者,也是一名程序员,平时业余生活比较枯燥,闲暇之余喜欢捣鼓一些东西玩玩,从硬件设计、驱动开发到手机客户端开发,都有做过,不过只是些皮毛,没有很深入的钻研,所以做出来的东西纯粹是玩一玩而已,我现在就是想把在做的东西整理一下放到博客里面,看看有没有志同道合的爱好者感兴趣,然后一起做点东西来玩一玩。

我最早的想法是围绕着家庭设备的远程/自动控制来做点东西,其实就是智能家居的范畴了,最开始计划选一个合适的硬件平台做成家庭主机,按现在的叫法就是家庭网关,比如小米智能家居套件里面的网关,有了网关作为控制中心,就可以慢慢外扩一些传感器和控制设备了,然后形成一套自己的智能家居套件,早些年的时候还不知道有openwrt的开源项目,更不知道有些路由器还可以自己刷机、自己编译系统、自己定制软件功能,还以为必须得拿一个ARM板来做网关才行,既然openwrt可以定制自己的软件功能,那拿路由器来DIY自己的家庭网关就成顺理成章的事情了。

从有这个想法开始,陆陆续续就开始着手实施,先是买了一个可以刷openwrt的路由器进行改装、刷系统和尝试自己编译一些应用,然后用单片机做了一个433M无线接收解码板,通过串口接到路由器上,可以接收门磁或遥控器信号;接着研究蓝牙BLE,相比普通蓝牙,功耗更低,可以接一些传感器做成环境采集器,或者接继电器控制家电,我先是买了一块开发板进行学习,然后做了一个可以通过手机控制开关的插排,为了配套使用,还自个摸索写了一个IPHONE的控制软件;后来偶然知道上海乐鑫推出了串口WIFI芯片ESP8266,特别适合做智能家居产品,方案简单,功耗低,很容易集成,拿来DIY非常合适,当时设计了一块板想做一个WIFI门磁,做了两次PCB,但是最终因为板子有问题就没有继续做下去了;中间断断续续,隔一段时间停一下又搞一下,最终没有做出一套像样的东西出来,后来就一直搁置了。

前段时间想直接买小米的智能套件来玩,省得去折腾,但是后来发现小米定义的场景还得手动才能触发,一点都不方便不人性化,要我每天回家或离家时还要掏出手机来触发场景那我宁愿不用,刚开始感觉新鲜,可能会这样搞一下,但是到后面我估计没有人会坚持用下去,也有可能我了解得不够清楚,或许小米还提供了其他更高级的玩法,只是我不知道而已;既然小米的用不上了,那我还是得自己搞,所以我下定决心重新把原来的计划继续做下去。

经过近几个星期的努力,白天上班没时间,只能利用晚上和周末零散的时间来搞,基本实现了如下功能:

  1. 通过手机软件添加433M无线门磁或遥控器
  2. 通过手机软件自己定义场景,触发场景事件目前有时间、手机连接/断开WIFI事件和门磁或遥控器,场景被触发后 执行的动作目前有推送消息和控制WIFI插座

目前可以实现的场景主要是回家和离家,手机一旦连接到路由器判断为回家,触发回家场景,这个时候可以打开WIFI插座点亮客厅的灯光;手机一旦断开路由器,判断为离家,触发离家场景,关闭客厅灯光;后续还可以增加一些传感器,作为辅助判断条件,比如光线传感器,回家场景触发后可以根据室内光线强弱来决定要不要打开灯光。回家和离家场景触发是不需要其他硬件设备辅助的,没有硬件DIY能力的同学,也可以有其他的玩法,比如通过WOL包打开家里的电脑,路由器接一个USB声卡播放音乐等。

我现在准备把所有的制作过程一步步写出来,看看有没有感兴趣的同学可以一起参与,有建议的提供建议,有动手能力的可以帮忙开发,不然我自己一个人玩就缺少了点乐趣,有兴趣的同学可以把QQ留下,到时候我建个群一起讨论。

最后贴几张手机软件截图,界面参照了一下小米的

  

  

DIY个人智能家庭网关—— 前言相关推荐

  1. DIY个人智能家庭网关——硬件篇之433M无线接收解码器(二)

    为了降低DIY难度,我提供了方案二:采用现成的模块来搭建解码器,需要如下模块 1.STM8S103F单片机模块和编程器 2.433M无线接收模块 3.PL2303 USB转串口模块 或带线的 另外还需 ...

  2. DIY个人智能家庭网关—— 手机篇之Jpush推送平台

    之前在公司参与IPCAM项目开发,手机客户端的报警推送采用的是国内的极光推送Jpush,Jpush使用起来很简单,很容易就能集成到产品开发中去,SDK.文档.Demo资料都很齐全,很快就能上手:个人比 ...

  3. DIY个人智能家庭网关—— 路由器篇之申请公网IP

    这篇内容是从我另一篇文章摘抄过来的. 首先要确认一下路由器拨号获得的是不是公网IP,最简单的办法是在百度上查看一下自己的外网IP,然后对比一下与路由器页面pppoe的IP地址是否一致,如果不一样,说明 ...

  4. DIY个人智能家庭网关—— 路由器篇之安装python

    Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. 在openwrt上进行二次开发编写自己的程序,python肯定是最方便最快捷的编程语言,因为它是解释型语言,无需openwrt的编 ...

  5. DIY个人智能家庭网关—— 路由器篇之刷机

    先选择合适的路由器型号,要求有两个,一:有USB口,二:可以刷openwrt系统,我的首选是newifi mini,比较喜欢折腾的可以刷openwrt官方固件,小白可以选择刷pandorabox,目前 ...

  6. DIY个人智能家庭网关—— 路由器篇之配置DDNS

    先申请了一个免费的域名 打开openwrt DDNS配置页面,配置如下,主机名就是申请的动态域名,用户名是3322的账号,保存并应用,如果配置没有问题,就可以在3322域名管理页面看到更新上去的路由器 ...

  7. DIY个人智能家庭网关——硬件篇之433M无线接收解码器(一)

    方案一: CP2102USB转串口芯片+ATTINY13单片机+SYN480R超外差接收芯片 通过USB接口插到路由器上,最简单的就是作为串口设备,选用CP2102是因为它封装比较小,这样PCB可以尽 ...

  8. DIY个人智能家庭网关—— python篇之获取路由器外网地址

    免费的DDNS域名服务有时候刷新不及时,解析不到路由器的IP,就可以采用这种方法来解决 #!/usr/bin/env python # -*- coding: utf-8 -*- import soc ...

  9. 中国移动公布2019年智能家庭网关集采结果:华为、中兴中标

    [TechWeb]近日,中国移动公布2019年智能家庭网关产品集中采购(GPON公开部分). 其中,标包1智能家庭网关类型二的中选人为中兴通讯股份有限公司.烽火通信科技股份有限公司.华为技术有限公司. ...

最新文章

  1. 记录CSS3 target伪类简介
  2. 开源库libuuid简介及使用
  3. 人工智能改变未来教育的5大方式
  4. 聊聊flink的ConnectionManager
  5. Android获取程序路径 (/data/data/appname)
  6. 前端页面加水印插件_没用过这7款浏览器插件,你一定是假的程序员
  7. 做微信营销你知道男女用微信的习惯吗?
  8. python3.7.4安装教程win7_Window10下python3.7 安装与卸载教程图解
  9. html中什么字体的英文好看,英语字体有哪些?英语哪种字体最好看
  10. android 小米imei 空,[教程]小米2s IMEI刷机造成的丢失 恢复及写入教程 【申精】
  11. Python/下载数据
  12. 什么是SDN,为什么要有SDN,SDN有什么安全问题
  13. Pytorch实现STN
  14. ndk命令行编译so库
  15. java csvwriter 追加_CSV文件每行的末尾追加写数据
  16. 电话+电视+网络=“三位一体”?
  17. 免费云服务器+免费虚拟主机推荐
  18. H3C系列交换机系统版本升级及导入配置
  19. MySQL数据库综合练习一
  20. python会员折扣_Python骚操作 | 用python爆破某会员网站

热门文章

  1. 一周快讯:快手和火山小视频被约谈,苹果到处高调挖人
  2. java如何设置1.5倍行距_【转】如何解决mathtype公式拉大word中行间距的问题
  3. 巧用千寻位置GNSS软件|一文教会横断面测量
  4. hbase炸了,如何修改
  5. BZOJ3609 Heoi2014 人人尽说江南好【推理+结论】
  6. com.typesafe.config.ConfigException$BugOrBroken: com.typesafe.config.impl.SerializedConfigValue shou
  7. php获取计算机ip代码,PHP 获取ip地址代码汇总
  8. response.setHeader()的详细用法
  9. virt-manager打开的虚拟机鼠标漂移问题
  10. 让超出自己视图范围的子视图响应事件