上一篇完成了服务端,这次是拼图的最后一块,插座。

插座一个,准备废掉它其中一个插头 预想电路草图

物料清单:

  • 两路插座一个
  • 继电器一个,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 - 插座组装的更多相关文章

  1. Beaglebone Black– 智能家居控制系统 LAS - 网页服务器 Node.js 、Web Service、页面 和 TCP 请求转 UDP 发送

    上一篇,纯粹玩 ESP8266,写入了 init.lua 能收发 UDP.这次拿 BBB 开刀,用 BBB host 一个 web server ,用于与用户交互,数据来自 ESP8266 的 UDP ...

  2. BeagleBone Black– 智能家居控制系统 LAS - ESP8266 UDP 服务

    NodeMCU 的文档里面终于发现,ESP8266 的GPIO 2 确实是 PIN 4,GPIO 0 是 PIN 3. https://github.com/nodemcu/nodemcu-firmw ...

  3. Beaglebone Black– 智能家居控制系统 LAS - 刷 WiFi 模块 ESP8266 Firmware 和 ESP8266 直接收发 GPIO 信号

    用 Windows 来刷 ESP8266 固件有很多中文教程,来试试直接用 BBB 刷吧.目标是 NodeMCU,ESP-01 可用,就是我买的那个. 接线方式在上一篇.当 echo ‘BB-UART ...

  4. Beaglebone Black–智能家居控制系统 LAS - 用 UART 连接 ESP8266 (ESP-01 版)

    这是一块便宜 (¥12.5)的 WiFi 模块,3.3V ,芯片是乐鑫科技(Espressif)出品.它本身是很多玩法,比如这个 NodeMCU (淘宝有套件焊接好一整套的带 USB 接口的,搜 es ...

  5. 基于ZigBee和STM32的智能家居控制系统的设计与实现(三)

    基于ZigBee和STM32的智能家居控制系统的设计与实现(三) 自从前两篇博客介绍了智能家居系统的基本实现机理后,收到了好多朋友的来信,和我讨论了好多的这方面的知识,在此很高兴,虽然自己做的这个所谓 ...

  6. 基于能量收集的智能家居-2013国家级大学生创业实践项目申报_商业计划书_V0.2

    SmartHome项目商业计划 基于能量收集的 免电池无线智能家居系统    IA-SmartHome团队    2012.12     l  基于无线的智能家居解决方案,节省施工成本: l  基于能 ...

  7. 基于ZigBee的家居控制系统的设计与应用

    基于ZigBee的家居控制系统的设计与应用 PPT简介:http://pan.baidu.com/s/1i38PC6D 摘  要 智能家居是未来家居的发展方向,其利用先进的网络技术.计算机技术和无线通 ...

  8. Home Assistant + 树莓派:强大的智能家居系统 · 安装篇

    Home Assistant + 树莓派:强大的智能家居系统 · 安装篇 转载:Home Assistant + 树莓派:强大的智能家居系统 · 安装篇 目录 1. 初始安装 3. Homebridg ...

  9. Diy智能家居-1.基于esp8266的语音控制系统(开篇)

    目录Diy智能家居-1.基于esp8266的语音控制系统(开篇) https://blog.csdn.net/arno1988/article/details/82628589 Diy智能家居-2.基 ...

随机推荐

  1. 未找到arm-linux-gcc解决办法

    sudo tar jxvf arm-linux-gcc.4.3.3.tar.bz2 export PATH=$PATH:/usr/local/arm/2.95.3/bin #/usr/local/ar ...

  2. 【转】DNS记录类型介绍(A记录、MX记录、NS记录等)

    DNS A记录 NS记录 MX记录 CNAME记录 TXT记录 TTL值 PTR值 建站名词解释:DNS A记录 NS记录 MX记录 CNAME记录 TXT记录 TTL值 PTR值 泛域名 泛解析 域 ...

  3. Jquery 在页面加载后执行的几种方式

    1.$(function(){  $("#a").click(function(){  //adding your code here  }); }); 2.$(document) ...

  4. iOS 3D touch 使用技巧

    第一个 在桌面中3d Touch 打开菜单 由于本人纯属代码党,本次实现方法也只使用代码实现 到达到这个效果并不难,只需要在appdelegate中实现以下代码即可 ,当然也有缺点,就是这个app没运 ...

  5. sublime问题汇总

    1.sunlime光标不跟随 解决方法:安装插件IMESupport 利用package control安装,步骤:      第一步 第二步

  6. Hadoop离线项目介绍(不包括程序)

    一:项目场景 1.需求分析 根据用户行为数据进行程序的处理,得到结果保存到关系型数据库中 需要收集用户(系统使用者)在不同客户端上产生的用户行为数据,最终保存到hdfs上 需要明确收集字段的相关信息, ...

  7. Qt字符串类——1.字符串常用的几种操作

    字符串有如下几个操作符: (1)QString提供了一个二元的"+"操作符用于组合两个字符串,并提供了一个"+="操作符用于将一个字符串追加到另一个字符串的末尾 ...

  8. jQuery源代码学习之八——jQuery属性操作模块

    一.jQuery属性模块整体介绍 jQuery的属性操作模块分四个部分:html属性操作,dom属性操作,类样式操作,和值操作. html属性操作(setAttribute/getAttribute) ...

  9. AngularJS Best Practices: pretty urls

    By default, AngularJS will route URLs with a hashtag. For example: http://example.com/ http://exampl ...

  10. [Android Tips] 7. 以调试模式启动应用

    adb shell am set-debug-app -w {package_name}