芯查查logo
  • 数据服务
    1. 新产品
    2. 物料选型
    3. 查替代
    4. 丝印反查
    5. 查品牌
    6. PCN/PDN
    7. 查方案
    8. 查代理
    9. 数据合作
  • SaaS/方案
      SaaS产品
    1. 供应链波动监控
    2. 半导体产业链地图
    3. BOM管理
    4. 解决方案
    5. 汽车电子
    6. 政府机构
    7. 数据API
  • 商城
  • 行业资讯
    1. 资讯
    2. 直播
  • 论坛社区
    1. 论坛
    2. 学习
    3. 测评中心
    4. 活动中心
    5. 积分商城
  • 查一下
  • 开通会员
安信可科技
【电子DIY作品】基于Ai-WB2的10A远程通断器

以下作品由安信可社区用户

大猫的鱼 制作

 

1、引言

在日常生活中,各种智能插座、无线开关等应用十分广泛;其本质大都是GPIO控制继电器或其他开关器件,这种原理虽较为简单,但较于传感器采集进行多设备联动的模式应用范围更广、成本更低、方便快捷。

因此笔者诞生了制作一个 10A 8位无线通断器的想法(控制可选实时与延时两种模式)。

 

2、硬件设计

主控采用安信可Ai-WB2-12F模组,其支持Wi-Fi2.4与BLE5.0,通过MQTT协议可以很方便的与服务器交互。外围可用引脚9个完美符合本次项目:8个GPIO作继电器控制;1个作运行灯。

继电器驱动电路采用ULN2803芯片;本来想直接光耦+三极管作控制电路的,但是是PCB空间有限,细算下来成本差不多。本着有啥用啥的原则,发现手头的ULN2803后才好直接用,这样也更方便点。

由于用了全部可用IO,因此正常运行时串口就无法使用的,所以为了方便调试与烧录程序就加一个开关,控制RX TX连接运行灯还是CH340以此来控制烧录与运行模式。

 

原理图及PCB设计图如下:

 

 

图1 无线继电器原理图

 

图2 无线继电器PCB图

 

 

3、软件设计

 

Ai-WB2软件设计

本项目的单片机软件方面主要使用了GPIO、Timer、MQTT等。整体软件工作流程为:

①Ai-WB2-12F等待连接WiFi行灯闪烁。
②成功连接WiFi,连接MQTT服务器,订阅主题,成功后LED转至常亮发布上线消息。
③等待上位机发布命令,接收到命令后做出应答,并根据命令内容控制GPIO与Timer。
④如果是延时模式下的ON/OFF指令,则在时间结束后控制GPIO并上报状态。

 

 

值得注意的是,在读取IO电平时发现库里只有 在GPIO输入模式下读取电平的API。所以写了个

bl_gpio_output_get_value(GLB_GPIO_Type gpioPin);

uint32_t bl_gpio_output_get_value(GLB_GPIO_Type gpioPin) {
uint32_t *p=(uint32_t *)(GLB_BASE+GLB_GPIO_OUTPUT_OFFSET+((gpioPin>>5)<<2));
uint32_t pos=gpioPin%32;
if((*p)&(1<<pos)){ return 1; }else{ return 0; }
}

 

其他具体代码见附件。

 

微信小程序软件设计

这里就放几张最终做好的小程序图片

 

 

 

 

 

 

 

 

 

通讯协议设计

 

设备 订阅 WLRelay/cmd主题,在 WLRelay/res主题 发布响应;

小程序 订阅 WLRelay/res主题,在 WLRelay/cmd主题 发布命令;

整个协议包采用JSON格式,这也是物联网中常用的数据包格式。

//模式设置命令格式
{ "id":1, //继电器序号
"mode":1, //延时模式 0:实时模式,此时不关注value; 1:延时模式
"value":10 //延时时间 单位s
}
//ON/OFF设置命令格式
{ "id":1, //继电器序号
"mode":0, //延时模式 0:实时模式,此时不关注value; 1:延时模式
"isOpen":1 //开关状态 0:ON 1:OFF
}
//响应包格式
{ "id":1, //cmd中继电器序号
"mode":0, //延时模式 0:实时模式,此时不关注value; 1:延时模式
"isOpen":1 //当前继电器开关状态 0:ON 1:OFF
}

外壳及贴图设计

笔者相信不少小伙伴在做DIY项目时都喜欢做出来的东西严丝合缝,方便耐用甚至是产品化。笔者就是这样的,很喜欢这种感觉。所以设备外壳没用使用3D打印,而是直接采用了公模感觉美观点。

在某宝上搜“工控外壳”,本项目用的这个外壳才1.8元,完美符合在安信可论坛第五期DIY帖子中提出的“打造低成本、高实用性的智能生活解决方案”。

为了方便使用还在外壳表面贴图指示对应接口功能以及模块功能。使用A4贴纸直接用打印机就能制作,这样最后的设备就看起来舒服多了。

实物演示

先放几张实物图

 

 

 

 

 

 

演示视频:

https://www.bilibili.com/video/BV1ZdJczaEMG/?spm_id_from=888.80997.embed_other.whitelist&bvid=BV1ZdJczaEMG&vd_source=54c5db21948db2378659b7e8e42bafbf

总结与不足

本项目不足或升级想法主要有三点留日后改进:

①Wi-Fi直接连接,未加入自动配网功能;

②想在控制模式中加入“定时”,实现定时开 关;

③本想在加一路485接口,这样也方便一些工控场合。可是由于芯片引脚不够就放弃了,用其他多引脚的又感觉性能浪费没必要,所以放弃~

 

【附件】:

附件:WLRelayV0.1.rar

https://bbs.aithinker.com/forum.php?mod=attachment&aid=33666

 

更新内容

 

自动配网:

基于Ai-WB2的10A无线通断器-自动配网​bbs.ai-thinker.com/forum.php?mod=viewthread&tid=46321&page=1&extra=#pid94203

 

定时控制:

基于Ai-WB2的10A无线通断器-定时控制​bbs.ai-thinker.com/forum.php?mod=viewthread&tid=46907&extra=

 

 

安信可 电子diy
版块: 安信可
前3天 09:50
  • 举报
😁😂😃😄😅😆😉😊😋😌😍😏😒😓😔😖😘😚😜😝😞😠😡😢😣😤😥😨😩😪😫😭😰😱😲😳😵😷😸😹😺😻😼😽😾😿🙀🙅🙆🙇🙈🙉🙊🙋🙌🙍🙎🙏✂✅✈✉✊✋✌✏✒✔✖✨✳✴❄❇❌❎❓❔❕❗❤➕➖➗➡➰🚀🚃🚄🚅🚇🚉🚌🚏🚑🚒🚓🚕🚗🚙🚚🚢🚤🚥🚧🚨🚩🚪🚫🚬🚭🚲🚶🚹🚺🚻🚼🚽🚾🛀Ⓜ🅰🅱🅾🅿🆎🆑🆒🆓🆔🆕
@好友

全部评论

加载中
游客登录通知
已选择 0 人
自定义圈子
移动
发布帖子
发布动态
发布问答
最新帖子
萤火工场GD32VW553-IOT测评+蓝牙串口透传树莓派pico 2测评 - 初体验【工程师经验】+ 飞线【开源】zvs142857 2.1A,3A快充 充电宝迷你UC3842 开关电源优化全解析:攻克常见难题,提升性能
热门版块
查看更多
电子元器件
汽车电子工程师论坛
工业电子专区
新手入门指南
单片机/MCU论坛
PCB设计
开源项目
每日打卡
电子DIY
维修技术

115

收藏

分享

微信扫码
分享给好友

评论