0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ESP32智能家居集线器的制作

454398 来源:wv 2019-10-18 11:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

第1步:功能

此板的主要特点是ESP32 FireBeetle开发板处理所有通信传感器读数和输出。有两个步进电机驱动器,可控制两个双极步进电机。

I2C总线也已断开,可用于APDS9960或LCD等组件。为了读取温度,需要断开连接到DHT22传感器的引脚以及用于读取环境光水平的光敏电阻

板上有一个模拟灯带,该模拟灯带具有三个MOSFET

步骤2:PCB

我首先通过在Eagle中创建原理图开始了PCB设计过程。由于找不到ESP32 FireBeetle库,我只用了两个pin 1x18 pin接针。然后,我创建了一个电源管理电路,该电路可以通过DC桶式插座接受12v电压,并将其转换为5v,为传感器和ESP32供电。

原理图完成后,我着手设计PCB本身。

我知道DC桶形插头必须位于电路板的前端附近,并且100uF电源平滑电容器必须靠近步进电动机驱动器的电源输入。一切布置好后,我开始布线。

虽然Oshpark生产高质量的PCB,但价格却很高。值得庆幸的是,PCBGOGO.com还以合理的价格生产出了优质的PCB。我能够以5美元的价格购买10块PCB,而不是从Oshpark.com只需花52美元购买3块板。

步骤3:组装

总体来说,组装电路板非常容易。首先,我焊接了表面安装的组件,然后连接了桶形插孔连接器和调节器。接下来,我焊接了电机驱动器和FireBeetle等组件的排针

焊接完成后,我通过将万用表置于电阻测量模式并观察了电路板是否短路来进行测试。如果电阻超过一定量。该板通过了,因此我可以插入每个组件。

步骤4:编程概述

我希望该板的代码为模块化且易于使用。这意味着有几个处理特定功能的类,以及一个将较小的类组合在一起的较大的包装器类。

步骤5:输入

为处理输入,我创建了一个名为“ Hub_Inputs”的类,该类可让家用集线器与APDS9960进行通信,以及创建和管理按钮以及电容式触摸界面。它包含以下功能:

创建按钮

获取按钮是否按下

获取按钮按下次数

获取最新手势

获取电容式触摸值

按钮以结构形式存储,具有三个属性:is_pressed,numberPresses和pin。每个按钮在创建后都会附加到中断中。触发该中断时,将向该按钮的指针(作为按钮在数组中的内存地址)传递给中断服务例程(ISR),并增加按钮的按下次数,并更新is_pressed布尔值。

电容式触摸值要简单得多。通过将touch引脚传递给touchRead()函数来检索它们。

通过轮询APDS9960并检查是否检测到任何新手势来更新最新手势,如果已检测到新手势,则将专用手势变量设置为该手势。

第6步:输出

智能家居中心具有几种输出信息和更换灯的方式。有一些引脚可以断开I2C总线,使用户可以连接LCD。到目前为止,仅支持一种LCD尺寸:20 x4。通过使用“ hub.display_message()”功能,用户可以通过传递字符串对象在LCD上显示消息。

有也是用于连接一串模拟LED的引脚接头。调用函数“ hub.set_led_strip(r,g,b)”,设置条带的颜色。

两个步进电机使用一对DRV8825驱动器板驱动。我决定使用BasicStepper库来处理电机控制。板子启动时,将创建两个步进对象,并且两个电动机都将启用。要步进每个电动机,请使用“ hub.step_motor(motor_id,steps)”功能,其中电动机id为0或1。

第7步:记录

由于开发板上有多个传感器,我希望能够在本地收集和记录数据。

开始记录,将使用“ hub.create_log(filename,header)”创建一个新文件,其中header用于制作表示列的CSV文件行。第一列始终是“年月日小时:分钟:秒”格式的时间戳。为了获取时间,hub.log_to_file()函数通过basic_functions.get_time()函数获取时间。然后,通过引用将tm时间结构以及数据和文件名传递给日志记录函数。

步骤8:蜂鸣器

如果您不能播放音乐,IoT板有什么用?这就是为什么我包括一个具有声音播放功能的蜂鸣器的原因。调用“ hub.play_sounds(旋律,持续时间,长度)”开始播放一首歌曲,旋律是音符频率的数组,持续时间是音符持续时间的数组,长度是音符数量。

步骤9:外部IoT集成

该中心目前支持IFTTT Webhooks。可以通过调用Hub_IoT.publish_webhook(URL,数据,事件,键)或Hub_IoT.publish_webhook(URL,数据)函数来触发它们。这会将带有该数据的POST请求发送到给定URL,并在必要时发送事件名称。要设置示例IFTTT集成,请首先创建一个新的applet。然后选择在收到请求时触发的webhook服务。

下一步,将事件称为“ high_temp”并保存。然后,为“该”部分选择Gmail服务,然后选择“向自己发送电子邮件”选项。在该服务的设置中,将主题的温度设置为“高温!”,然后在“ {{OccurredAt}}”处输入“ {{Value1}}的实测温度”,其中显示了实测温度和触发事件。

设置后,只需粘贴IFTTT生成的webhook URL,并将“ high_temp”放入事件部分。

步骤10 :用法

要使用Smart Home Hub,只需在setup()或loop()中调用任何需要的函数。我已经放置了示例函数调用,例如打印当前时间和调用IFTTT事件。

步骤11:未来计划

智能家居中心该系统非常适合简单的家庭自动化和数据收集任务。它几乎可以用于任何事情,例如设置LED灯带的颜色,监视房间的温度,检查灯是否亮着以及其他许多潜在项目。将来,我想进一步扩展功能。这可能包括添加更强大的Web服务器,本地文件托管,甚至是蓝牙或mqtt。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 集线器
    +关注

    关注

    0

    文章

    432

    浏览量

    41103
  • 智能家居
    +关注

    关注

    1942

    文章

    9944

    浏览量

    195537
  • ESP32
    +关注

    关注

    24

    文章

    1084

    浏览量

    20862
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    打破智能家居生态壁垒,乐鑫一站式Matter解决方案实现无缝互联

    乐鑫科技作为CSA联盟核心成员,提供一站式Matter解决方案,助力打破智能家居生态壁垒。方案覆盖Wi-Fi、Thread等多种连接方式,支持ESP32全系列硬件平台,并配套提供ESP
    的头像 发表于 11-06 15:19 916次阅读
    打破<b class='flag-5'>智能家居</b>生态壁垒,乐鑫一站式Matter解决方案实现无缝互联

    乐鑫ESP32-C6和ESP32-C61究竟该如何选择?一文读懂本质区别

    乐鑫科技推出的ESP32-C6和ESP32-C61均支持Wi-Fi6,但定位不同。ESP32-C6是多协议枢纽,集成Wi-Fi6、蓝牙5、Zigbee和Thread,适合智能家居网关和
    的头像 发表于 10-28 14:17 1291次阅读
    乐鑫<b class='flag-5'>ESP32</b>-C6和<b class='flag-5'>ESP32</b>-C61究竟该如何选择?一文读懂本质区别

    ESP32-C5-双频Wi-Fi 6 + BLE 5.0 + Zigbee三线合一

    应用 凭借低功耗特性,ESP32-C5是以下物联网应用领域的理想选择: 智能家居 工业自动化 医疗健康 消费类电子产品 智慧农业 POS机 服务机器人 音频设备 通用低功耗物联网传感器集线器
    发表于 10-11 15:33

    ESP32开发板元件资料

    ESP32开发板元件
    发表于 07-21 14:47 14次下载

    ESP32-C3开发板全面支持小智AI!烧录实战指南来了!

    本文将详细解析基于乐鑫ESP32-C3芯片的ZXAIEC43开发板烧录“小智”AI语音系统的全流程。该方案代码完全开源,支持深度定制开发,适用于智能玩具、潮玩手办及智能家居控制等多元场景。开发环境搭建1.
    的头像 发表于 06-13 18:01 3498次阅读
    <b class='flag-5'>ESP32</b>-C3开发板全面支持小智AI!烧录实战指南来了!

    物联网天线如何影响智能家居发展

    智能家居解决方案正逐步融入几乎所有家用电子设备。智能扬声器、智能照明、智能恒温器和集线器智能家居
    的头像 发表于 06-12 10:16 1132次阅读

    基于ESP32C3的智能小车设计

    你有没有想过,从零开始亲手制作一辆坚固耐用的遥控越野车?今天,小编就带你走进一个融合机械、电子与物联网的精彩DIY项目——一款由 Seeed Studio XIAO ESP32C3 强力驱动的 3D打印4x4 RC漫游车!
    的头像 发表于 06-04 11:11 1741次阅读
    基于<b class='flag-5'>ESP32</b>C3的<b class='flag-5'>智能</b>小车设计

    ESP32-C6 智能网关设备WiFi6高性能通信应用

    Matter Wi-Fi终端设备和Matter Thread终端设备,实现多系统、多平台智能家居设备的无缝通信与协作。 ESP32-C6拥有30个 (QFN40) 或22个 (QFN32) 可编程
    发表于 05-30 13:54

    Matter 智能家居的通用语言

    Matter由连接标准联盟(CSA)创建,旨在解决智能家居的互操作性问题。Matter 基于简单性、互操作性、可靠性和安全性四大核心原则 。 是采用基于 IP 应用层的开源协议,本质上是一种“通用
    发表于 05-19 15:35

    明远智睿SSD2351开发板:智能家居智能核心

    随着科技的不断发展,智能家居逐渐走进人们的生活,为人们带来更加便捷、舒适、智能的生活体验。明远智睿的SSD2351开发板作为智能家居系统的智能核心,发挥着至关重要的作用。 SSD235
    发表于 05-07 18:59

    智能家居Mesh组网方案:实现智能化生活的无缝连接NRF52832

    随着科技的不断进步,智能家居智能家电已经渗透到我们生活的方方面面。然而,由于产品种类的增多和商家的众多,用户在使用智能家居产品时往往会感到困惑和不便。在这样的背景下,如何实现全屋各个单品之间的互通
    发表于 04-15 14:07

    ESP32-C3:革新物联网应用的超高效能芯片,家电远程控制应用等

    ESP32-C3是乐鑫科技推出的新一代RISC-V架构Wi-Fi & Bluetooth 5.0双模物联网芯片,专为智能家居、工业控制和消费电子产品设计,提供卓越的性能与极低的功耗
    发表于 04-03 16:47

    ESP32-C3FH4:高性能物联网芯片的卓越之选,智能门锁安防等应用

    产品概述ESP32-C3FH4是乐鑫科技推出的新一代RISC-V架构物联网Wi-Fi/蓝牙双模芯片,专为物联网设备设计,集高性能、低功耗与高安全性于一体,是智能家居、工业控制、消费电子等领域的理想
    发表于 04-03 11:41

    智能家居项目设计

    智能家居,内涵多个模块,板子电路和PCB设计
    发表于 03-14 17:54 6次下载

    esp32如何接入豆包

    要在 ESP32 上接入豆包工具,本质上是让 ESP32 设备与豆包的 API 进行通信,以获取相关服务
    的头像 发表于 02-05 13:40 2851次阅读
    <b class='flag-5'>esp32</b>如何接入豆包