Beaglebone Black – 智能家居控制系统 LAS - 插座组装
上一篇完成了服务端,这次是拼图的最后一块,插座。
| 插座一个,准备废掉它其中一个插头 | 预想电路草图 |
![]() |
![]() |
物料清单:
- 两路插座一个
- 继电器一个,3.3V 能驱动即可;
- 交流转直流 3.3V,我买了现成的模块;
- WiFi 模块,我用 ESP8266 芯片的 ESP-01,AI-Thinker 出品
- 一个下拉电阻,10K
- 母杜邦线四条,接ESP-01用
- 溶胶一支
- 电线几十CM,注意电流值
- 草图中最下面的 LED 灯是插座本身有的。
插座原来样子的遗照,各种裸露和神焊接(LED 负极的线居然没有焊好,松的,汗):

首先其中一个插座位移除:

题外话,在家里居然有这个东西,现在都是 HDMI,它放着也不会再有用,拆了它用线中间那网来做吸锡线,废物利用而且效果不错:


再用塑料材料做个盖子:

淘宝货测试一下交流直流转换那东西,实测到输出电压为 3.4V,OK 了,据说它能供 1A 电流,我用不着那么多:

继电器后面线路比较单薄,补点锡加粗:

然后接线,万用表测试通电后,上电测试,正常工作:


再加溶胶封住焊接位置。模块安装我直接用溶胶固定。线路和溶胶,都要避开交流直流模块会发热的位置,它会升温的而且我这个没有外壳保护的。连接 ESP-01 的线我用母杜邦线做的。下图未加上下拉电阻:

取出 ESP-01,用 BBB 写入 lua 代码,代码于上几篇博文中,唯一改动是加上 PIN 4 (GPIO 2)控制。继电器我是接常开,控制端 IN 用低电平触发。代码很简单,UDP 服务端,端口 4000,收到 JSON 里面 cmd 值为 1 时候,切换高低电平:
udp.lua
onOffState = 1
gpio.mode(4,gpio.OUTPUT)
sv=net.createServer(net.UDP,0)
sv:on('receive', function(c,pl)
print(pl)
r=cjson.decode(pl)
if r.cmd == '0' then
print('I got a ZERO cmd.')
c:send('{\"cmd\":\"2\",\"guid\":\"24F92\",\"dType\":\"powerPlug\"}')
end
if r.cmd == '1' then
if onOffState == 1 then
gpio.write(4,gpio.LOW)
print("Power Off")
onOffState = 0
else
gpio.write(4,gpio.HIGH)
print("Power On")
onOffState = 1
end
end
end)
sv:listen(4000)
print('Server started')
NodeJS 那边加多一个发送 UDP Payload 为 {“cmd”:”1”} 即可,不写出来了。
用电脑发 UDP 包测试一下:
最后封好盖子,完成:

由于这对 BBB 的 nodejs 服务器依赖,我的 BBB 还有别的用途,所以我另外做了个 APP 给媳妇用,冬天关灯不用下床了。
后续改良空间: 加上按钮, 触发切换至 AP 模式,收到 Payload 最前面几个字符是 「GET / 」时候(/ 后有空格),发送一个 HTML 给对方(send 方法),里面是 SSID 和密码的输入界面,含 AJAX POST 代码。收到 Payload 是 POST / 时候,取出 Payload 的 JSON,设置回 STATION 模式并且更改登入的 SSID 和密码,然后 node.restart() 重启。
整个项目到此为止。
我在这群里,欢迎加入交流:
开发板玩家群 578649319
硬件创客 (10105555)
Beaglebone Black – 智能家居控制系统 LAS - 插座组装的更多相关文章
- Beaglebone Black– 智能家居控制系统 LAS - 网页服务器 Node.js 、Web Service、页面 和 TCP 请求转 UDP 发送
上一篇,纯粹玩 ESP8266,写入了 init.lua 能收发 UDP.这次拿 BBB 开刀,用 BBB host 一个 web server ,用于与用户交互,数据来自 ESP8266 的 UDP ...
- BeagleBone Black– 智能家居控制系统 LAS - ESP8266 UDP 服务
NodeMCU 的文档里面终于发现,ESP8266 的GPIO 2 确实是 PIN 4,GPIO 0 是 PIN 3. https://github.com/nodemcu/nodemcu-firmw ...
- Beaglebone Black– 智能家居控制系统 LAS - 刷 WiFi 模块 ESP8266 Firmware 和 ESP8266 直接收发 GPIO 信号
用 Windows 来刷 ESP8266 固件有很多中文教程,来试试直接用 BBB 刷吧.目标是 NodeMCU,ESP-01 可用,就是我买的那个. 接线方式在上一篇.当 echo ‘BB-UART ...
- Beaglebone Black–智能家居控制系统 LAS - 用 UART 连接 ESP8266 (ESP-01 版)
这是一块便宜 (¥12.5)的 WiFi 模块,3.3V ,芯片是乐鑫科技(Espressif)出品.它本身是很多玩法,比如这个 NodeMCU (淘宝有套件焊接好一整套的带 USB 接口的,搜 es ...
- 基于ZigBee和STM32的智能家居控制系统的设计与实现(三)
基于ZigBee和STM32的智能家居控制系统的设计与实现(三) 自从前两篇博客介绍了智能家居系统的基本实现机理后,收到了好多朋友的来信,和我讨论了好多的这方面的知识,在此很高兴,虽然自己做的这个所谓 ...
- 基于能量收集的智能家居-2013国家级大学生创业实践项目申报_商业计划书_V0.2
SmartHome项目商业计划 基于能量收集的 免电池无线智能家居系统 IA-SmartHome团队 2012.12 l 基于无线的智能家居解决方案,节省施工成本: l 基于能 ...
- 基于ZigBee的家居控制系统的设计与应用
基于ZigBee的家居控制系统的设计与应用 PPT简介:http://pan.baidu.com/s/1i38PC6D 摘 要 智能家居是未来家居的发展方向,其利用先进的网络技术.计算机技术和无线通 ...
- Home Assistant + 树莓派:强大的智能家居系统 · 安装篇
Home Assistant + 树莓派:强大的智能家居系统 · 安装篇 转载:Home Assistant + 树莓派:强大的智能家居系统 · 安装篇 目录 1. 初始安装 3. Homebridg ...
- Diy智能家居-1.基于esp8266的语音控制系统(开篇)
目录Diy智能家居-1.基于esp8266的语音控制系统(开篇) https://blog.csdn.net/arno1988/article/details/82628589 Diy智能家居-2.基 ...
随机推荐
- ThinkPHP3.2.3 自定义标签库的使用
ThinkPHP 3.2.3 手册中标签库驱动的地址是: http://www.kancloud.cn/manual/thinkphp/1859 标签库的地址是:http://www.kancloud ...
- python logging 配置
python logging 配置 在python中,logging由logger,handler,filter,formater四个部分组成,logger是提供我们记录日志的方法:handler是让 ...
- Xcode离线安装帮助文档
Xcode离线安装帮助文档 1.在线查看帮助文件:Xcode下查看帮助文件,菜单Help-Developer Documentation在右上角搜索框中即可检索,但速度很慢,在线查看. 2.下载帮 ...
- Flink - metrics
Metrics是以MetricsGroup来组织的 MetricGroup MetricGroup 这就是个metric容器,里面可以放subGroup,或者各种metric 所以主要的接口就是注 ...
- phpcmsv9的评论分表策略
comment_table表 comment表 comment_data_x表 我们留意到: comment_table表统计每个comment_data_x表里面有多少条记录, comment表只是 ...
- NSMutableAttributedString可变属性字符串的用法
适用于:当你想对一个字符串中的某几个字符更改颜色,字体... NSString *string = @"今日营养配餐提供热量1800千卡,需要饮食之外额外补充钙10mg,铁20mg,锌9.5 ...
- C语言 ---- 循环分支 iOS学习-----细碎知识点总结
#import <Foundation/Foundation.h> // #import是OC种的导入头文件或者是系统框架的指令 // 定义了一个Season枚举类型enum Seaso ...
- Eclipse新增Web项目
[前置条件] 1. 电脑已安装JDK1.6,并成功配置环境变量 2. 电脑已存在tomcat6.0包,无需安装 [操作步骤] 1. 为eclipse配置tomcat6.0 (1)eclipse菜单栏, ...
- 学习OpenCV——SVM 手写数字检测
转自http://blog.csdn.net/firefight/article/details/6452188 是MNIST手写数字图片库:http://code.google.com/p/supp ...
- java经典算法40题(21-40)
[程序21] 题目:求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加变成了累乘. public class Ex21 { static long sum = 0; s ...

