
86盒插座带智能电量计量及开关适配器
简介
对于老房子上的旧插座,想把它改造为智能插座,但又不想花钱全部更换插座,现在只需要一小块电路板,即可实现远程控制通断,还可以带电压电流功率能量监测,过流过压保护,定时开关等功能。
简介:对于老房子上的旧插座,想把它改造为智能插座,但又不想花钱全部更换插座,现在只需要一小块电路板,即可实现远程控制通断,还可以带电压电流功率能量监测,过流过压保护,定时开关等功能。开源协议
:GPL 3.0
描述
视频链接:
项目简介
本项目使用ESP8266作为主控,BL0937芯片做电流电压功率监测,磁保持继电器控制电路通断,这三大器件作为电路的核心,外加一个220V转5V的开关电源模块。
V2版本有0.96寸 I2C OLED显示屏幕接口,可以实时在屏幕上看到监测数据。还有一个蜂鸣器,可用于报警功能。
V4版本把OLED和蜂鸣器去除,缩小PCB的面积,更容易安装到86盒中,特别适用于带物理开关的双联插座面板。


项目功能
继电器
PCB上安装了一个磁保持继电器,可以实现手机APP远程控制通断,过流过压自动断电,可以在App上配置过流和过压的最大值。因为磁保持继电器有最大10A电流的限制,所以系统所允许的最大电流也是10A,当到达这个电流时,继电器强制切断,在App上配置的最大电流只能是在0到10A这个范围内。
值得一提的是,这个10A的限制,注定了其不能用于大功率电器上,理论上超过2200W的电器都不能用,实际使用中,1500W以上的电器建议都不要用,留一点余量给电器,以保证绝对安全的用电环境。
如果确实需要大于10A的电流,需要换一个更大电流的继电器,火线焊接点与继电器输入点间线路加焊锡。电流检测电阻要更换一个更大功率的电阻,当然成本也会增加不少。


电流电压功率检测
使用消费电子级别的BL0937芯片做电流电压功率检测,其性价比非常高,但是精度相对于其它高精度的芯片,是有差距,毕竟匹配的使用领域不同。
但是我实测中,其精度还是是可以的,经过调校后,其准确性非常高,电流在毫安级别,但是因为器件和电路焊接的不同,每个人测试结果可能有所关异,我对此不作保证。


物理按键
板上预留轻触按键,可以用3D软件定制一个86盒面板实现各种功能,顺便也可以把OLED显示屏加上去,比如固件本身支持的按一次切换继电器开关,连按多次等功能,固件本身已经支持这些功能,也可以通过写设备端的JS程序实现各种自定义的功能。
但是我必须强调的是,不要徒手去按这个开关,有触电风险,请注意安全
原理解析(硬件说明)
原理图实际上比较简单,有点基础的一看就明白。基础差一点的,花个半天时间差不多能弄明白。
完全没有硬件电路基础的,建议你直接买一个来玩玩程序或通过App配置着玩就好了,涉及220V市电,不建议完全没基础的去动手。
可以在这购买
https://item.taobao.com/item.htm?ft=t&id=1014253607231
都是某宝上购买的散件装配的成品,所以成本有点高,但对比其他同类产品动则上百的价格,还没有软件及后期的服务支持,这个价格还是很低的,基本上都成本价在卖。
建议有条件的自己打板焊接,这样才有玩的乐趣
软件代码
关于代码部份,涉及后端Java,前端H5,设备端的C,内容也比较多,如下截图这只是其中一小部份的设备端代码,所以开源出来对于大部份小伙伴来说没有意义。但是,有编译好的固件可以直接免费烧录使用,使用的App和服务端服务都完全免费,无广告,APP需要从jmicro.cn网站上通过浏览器打开下载,中间也不需要你配置第三方的服务比如MQTT什么的。


后端完全独立研发的Java服务, 支持UDP,TCP, HTTP, WebSocket服务,有兴趣可以参考我的后端开源项目
https://github.com/mynewworldyyl/jmicro
后面因为没有流量,都没更新了。
关于固件烧录,可以参考我的B站视频,搜索我的名称“吉姆JM哥”即观看视频,上面还有不少关于使用JM固件做用JS开发设备端应用及小程序二次开发的说明。
因为服务器目前是个人支撑着,基于成本控制,性能方面是比较差的,打开IDE会比较慢,但确保不会出错,后面看有需要再升级一下。
上面的数据如果做了更新,如设备的参数修改增加,一般要过10秒到30秒左右才能看到最新结果(所以不要以为是出错了),同样是因为基于成本控制,做了API或账号级别的缓存
各种功能
设备JS应用
此板结合JM固件+JM web开发环境实际上就是一个智能AI开发板(是的,你看我的四足八自由度机器人Deepseek帮操作各种动作和MAX93857血氧仪AI问诊)JM平台有对接好的AI接口,可以在设备端或H5端直接调用,不但可以配置各种功能,还可以在设备上执行JS程序, 在App小程序写H5页面定制UI,H5上有各种API可以直接调用实现控制或查询设备。
如下代码,实现每5秒发送一个"ec":10事件,接收到这个事件的设备根据自身事件关联的操作执行这些操作,一个事件可以关联N个操作。比如有人进大门时,把N个房间的灯全部一下打开,试想一下这个场景是不是很酷
let la = 0;
let curStatus = true;
let curlight = 0;
jm.setRunner(function(){
if(time.millis() - la < 5000) {//控制执行的时间间隔5000毫秒
return;
}
la = time.millis();
let s = curStatus?1:2; //在1和2两个命令间切换
jm.i("One Ctrl", s)//记录日志可以在IDE的日志控制台查看
event.post(event.JM_TASK_APP_CTRL_EVENT, {"ec":10, "cmdId":s, "flag":0, "subType":0}); //向网络分发事件
curStatus = !curStatus;
})
jm.i("Event End====")
H5小程序
现在有20多个代码完全公开的小程序代码供大家学习使用,使用没有任何限制。
由于小程序代码比较多,就不贴在这里了。

事件关联操作
APP上配置事件可以控制别的设备,比如电流电压功率达到某个值时,发送一个事件,另外一个开关接收到这个事件后,关闭或打开自身的继电器,也就是N个开关之间是可以互联互控的,这种互控可以同一个Wifi内部之间实现,也可以通过互联网控制任何一个或多个开关,固件+JM后端支持这种事件流的配置。
如下App上的事件与操作的截图


正如你从上图所看到的,JM官方目前就有将近20个板子,比如ESP32S3语音控制板,实现更丰富的语音控制,AI控制,ESP全系列模组支持。
通过官方的串口网卡(已开源),还支持像STM32这种芯片接入JM平台,同样无缝支持上面的全部功能,但是得有内存和flash够用才行,否则功能会有限制。
APP安装
安装APP需要通过浏览器打开链接安装

固件烧录&&账号绑定&&Wifi配置
如果是自已经打板焊接的板子,第一次需要自己烧录固件,在JM官网上使用浏览器直接烧录,不需要任何第三方工具
首先如下图将开发板与Ch340模块接好线,注意VCC电源线一定不能接错,否则没有后悔的机会,8266直接报废。

烧录选择设备

选择完设备后,可看到以下设备信息,初次烧录信息可能没那么多

选择固件

有时点“本地烧录”后,提示没有设备等错误,或“本地烧录“这个按钮没出来,可以点一下固件列表页面中的刷新按钮就可以了。

烧录过程

烧录完成后

后面如果有版本更新,可以直接在手机上点更新即可

官方购买板
如果你是从官方购买的开发板,已经安装了固件,可以直接进入配网和绑定账号流程。不需重新烧录,也不建议重新烧录,有版本更新从App点更新就行。
正常使用过程中都不需要使用到以上的web页面操作,因为web操作依赖于JM后台转发,而手机操作在同一个Wifi下面是直连设备,稳定性和可靠性都高很多,有更好的使用体验。
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。










