
DIY个人智能家庭网关
文章平均质量分 62
luotong86
这个作者很懒,什么都没留下…
展开
-
DIY个人智能家庭网关—— 前言
我是电子DIY爱好者,也是一名程序员,平时业余生活比较枯燥,闲暇之余喜欢捣鼓一些东西玩玩,从硬件设计、驱动开发到手机客户端开发,都有做过,不过只是些皮毛,没有很深入的钻研,所以做出来的东西纯粹是玩一玩而已,我现在就是想把在做的东西整理一下放到博客里面,看看有没有志同道合的爱好者感兴趣,然后一起做点东西来玩一玩。 我最早的想法是围绕着家庭设备的远程/自动控制来做点东西,其实就是原创 2017-01-10 21:58:35 · 10305 阅读 · 14 评论 -
DIY个人智能家庭网关——python篇之读取USB串口,获取门磁报警信息
把433M无线解码器的USB串口插入到路由器USB口,默认会出现ttyUSB0串口设备,python读取串口数据代码如下#!/usr/bin/env python# -*- coding: utf-8 -*- import serial from time import sleep ser = serial.Serial('/dev/ttyUSB0', 9600, timeo原创 2017-02-26 23:40:24 · 4253 阅读 · 0 评论 -
DIY个人智能家庭网关——硬件篇之433M无线接收解码器(二)
为了降低DIY难度,我提供了方案二:采用现成的模块来搭建解码器,需要如下模块1、STM8S103F单片机模块和编程器2、433M无线接收模块3、PL2303 USB转串口模块或带线的另外还需要一些杜邦线用来连接这些模块,这些东西都可以在淘宝上买得到。STM8S103F代码如下/** ********************************原创 2017-02-26 23:19:41 · 12122 阅读 · 4 评论 -
DIY个人智能家庭网关——硬件篇之433M无线接收解码器(一)
方案: CP2102USB转串口芯片+ATTINY13单片机+SYN480R超外差接收芯片 通过USB接口插到路由器上,最简单的就是作为串口设备,选用CP2102是因为它封装比较小,这样PCB可以尽量做得小一点,外围器件最少只需要两个电容即可;ATTINY13单片机,负责解码,内嵌1KB Flash,6个IO,每个IO都支持电平变化中断,这个在解码的时候原创 2017-02-26 22:51:05 · 11841 阅读 · 2 评论 -
DIY个人智能家庭网关——python篇之推送手机上下线事件
#!/usr/bin/env python# -*- coding: utf-8 -*- import timeimport subprocessfrom time import sleepimport jsonmac = "a8:1b:5a:b7:e0:03"last_state = ""msg = ""def push_msg(msg): content = {原创 2017-02-26 22:40:01 · 773 阅读 · 0 评论 -
DIY个人智能家庭网关——手机篇之客户端设计
顶0踩原创 2017-02-28 21:56:37 · 2602 阅读 · 3 评论 -
DIY个人智能家庭网关——python篇之推送消息到手机
《使用第三方推送平台JPUSH推送消息到android手机》文章里测试消息推送是在页面上执行的,而现在我需要从路由器上把消息推送出去,打开Jpush API文档,有curl示例命令参照示例命令,写一个针对自己应用的最简单的测试命令,-u后面的参数是自己应用的AppKey和 Master secret,‘Hi,JPush’是要推送的消息内容[html]原创 2017-02-26 22:20:28 · 3871 阅读 · 0 评论 -
DIY个人智能家庭网关—— 手机篇之Jpush推送平台
之前在公司参与IPCAM项目开发,手机客户端的报警推送采用的是国内的极光推送Jpush,Jpush使用起来很简单,很容易就能集成到产品开发中去,SDK、文档、Demo资料都很齐全,很快就能上手;个人比较喜欢DIY一些电子设备,有时候需要手机作为客户端进行通讯,或者只是接收设备发送的一些信息,使用Jpush的话就很合适,首先到Jpush官网https://www.jiguang.cn/注册一个账号原创 2017-02-26 22:14:50 · 1029 阅读 · 0 评论 -
DIY个人智能家庭网关—— python篇之获取手机WIFI连接(上线/下线)状态
如果需要根据自己的手机在连接或断开路由器WIFI时触发某个动作,可以通过iw命令定时查询手机的连接状态,执行如下命令可以列出所有连接到路由器WIFI的设备,root@OpenWrt:~# iw dev wlan0 station dumpStation e0:ac:cb:b1:ca:ba (on wlan0) inactive time: 27010 ms原创 2017-02-26 21:00:08 · 4627 阅读 · 0 评论 -
DIY个人智能家庭网关—— python篇之获取路由器外网地址
免费的DDNS域名服务有时候刷新不及时,解析不到路由器的IP,就可以采用这种方法来解决#!/usr/bin/env python# -*- coding: utf-8 -*- import socket import fcntl import struct import subprocessimport jpushfrom time import sleepSIOC原创 2017-02-26 20:28:52 · 3326 阅读 · 0 评论 -
DIY个人智能家庭网关—— 路由器篇之配置DDNS
先申请了一个免费的域名打开openwrt DDNS配置页面,配置如下,主机名就是申请的动态域名,用户名是3322的账号,保存并应用,如果配置没有问题,就可以在3322域名管理页面看到更新上去的路由器地址了,如上图然后就可以通过域名远程SSH到路由器了,不过我当时还遇到了一个问题,SSH始终连不上,怀疑22端口被封了,于是换了其他端口,还是不行,使原创 2017-02-26 20:23:33 · 15476 阅读 · 0 评论 -
DIY个人智能家庭网关—— 路由器篇之申请公网IP
这篇内容是从我另一篇文章摘抄过来的。首先要确认一下路由器拨号获得的是不是公网IP,最简单的办法是在百度上查看一下自己的外网IP,然后对比一下与路由器页面pppoe的IP地址是否一致,如果不一样,说明你获得的是内网IP,没办法实现DDNS 如果你是电信的用户,可以打客服电话去申请要公网IP,就说家里安装了监控,需要公网IP在外面才能正常访问,一般情况下客服会告诉你无法给你公网IP,除原创 2017-02-03 20:25:02 · 34721 阅读 · 5 评论 -
DIY个人智能家庭网关—— 路由器篇之安装python
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言.在openwrt上进行二次开发编写自己的程序,python肯定是最方便最快捷的编程语言,因为它是解释型语言,无需openwrt的编译环境,只要安装好了python就可以直接编写自己的程序了,目前我安装了如下python软件包root@OpenWrt:~# opkg list-installed python*python原创 2017-02-02 20:02:06 · 7074 阅读 · 0 评论 -
DIY个人智能家庭网关—— 路由器篇之刷机
先选择合适的路由器型号,要求有两个,有USB口,可以刷openwrt系统,我的首选是newifi mini,比较喜欢折腾的可以刷openwrt官方固件,小白可以选择刷pandorabox;下面的内容是从我另外一篇文章拷贝过来的,介绍了一下如何刷pandorabox。链接:breed-mt7620-lenovo-y1 PandoraBox-ralink-mt7620-y1原创 2017-01-11 22:32:45 · 11956 阅读 · 0 评论 -
DIY个人智能家庭网关——python篇之门磁触发后自动点亮WIFI灯带
#!/usr/bin/env python# -*- coding: utf-8 -*- import serial import socketimport threadingfrom time import sleep import jsonimport subprocessUDP_BROCAST_HOST = '192.168.1.255' # UDP广播发送地址UD原创 2017-02-27 23:38:33 · 1356 阅读 · 0 评论 -
DIY个人智能家庭网关——硬件篇之WIFI灯带DIY
需要如下配件1、ESP8266模组2、灯带3、MOS管驱动板,用于驱动点亮灯带4、12V电源5、其他线材、外壳等配件原创 2017-02-27 00:16:35 · 4377 阅读 · 0 评论 -
DIY个人智能家庭网关——python篇之推送门磁报警信息到手机
见《通过openwrt推送门磁报警信息到android手机上》python代码如下#!/usr/bin/env python# -*- coding: utf-8 -*- import serial from time import sleep import jsonimport subprocess ser = serial.Serial('/dev/ttyU原创 2017-02-26 23:54:10 · 1091 阅读 · 0 评论