设为首页 收藏本站
查看: 1296|回复: 0

[经验分享] Beaglebone Black – 智能家居控制系统 LAS

[复制链接]

尚未签到

发表于 2017-2-25 07:49:33 | 显示全部楼层 |阅读模式
  上一篇完成了服务端,这次是拼图的最后一块,插座。
  
插座一个,准备废掉它其中一个插头预想电路草图
DSC0000.jpg DSC0001.jpg
  物料清单:
  
       
  • 两路插座一个   
  • 继电器一个,3.3V 能驱动即可;   
  • 交流转直流 3.3V,我买了现成的模块;   
  • WiFi 模块,我用 ESP8266 芯片的 ESP-01,AI-Thinker 出品   
  • 一个下拉电阻,10K   
  • 母杜邦线四条,接ESP-01用   
  • 溶胶一支   
  • 电线几十CM,注意电流值   
  • 草图中最下面的 LED 灯是插座本身有的。
  插座原来样子的遗照,各种裸露和神焊接(LED 负极的线居然没有焊好,松的,汗):
DSC0002.jpg

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

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

  再用塑料材料做个盖子:
DSC0006.jpg

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

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

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

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

  取出 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 包测试一下:
  最后封好盖子,完成:
DSC00012.jpg

  由于这对 BBB 的 nodejs 服务器依赖,我的 BBB 还有别的用途,所以我另外做了个 APP 给媳妇用,冬天关灯不用下床了。
  后续改良空间: 加上按钮, 触发切换至 AP 模式,收到 Payload 最前面几个字符是 「GET /  」时候(/ 后有空格),发送一个 HTML 给对方(send 方法),里面是 SSID 和密码的输入界面,含 AJAX POST 代码。收到 Payload 是 POST / 时候,取出 Payload 的 JSON,设置回 STATION 模式并且更改登入的 SSID 和密码,然后 node.restart() 重启。
  整个项目到此为止。
  我在这群里,欢迎加入交流:

DSC00013.gif 开发板玩家群 578649319

硬件创客 (10105555)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-346783-1-1.html 上篇帖子: 前端大牛们都学过哪些东西? 下篇帖子: Appium的安装以及配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表