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

    文章

    334

    浏览量

    39124
  • 智能家居
    +关注

    关注

    1912

    文章

    9149

    浏览量

    179325
  • ESP32
    +关注

    关注

    13

    文章

    896

    浏览量

    15806
收藏 人收藏

    评论

    相关推荐

    WT01P4C6-S1核心板 搭载ESP32-P4芯片及ESP32-C6 Wi-Fi 6芯片

    或32MBPSRAM,包含一个高性能(HP)系统和一个低功耗(LP)系统。主要应用于图像与语音处理、智能家居、消费电子产品、工业自动化、医疗健康。想知道详情可以看接下来
    的头像 发表于 03-23 08:03 354次阅读
    WT01P4C6-S1核心板  搭载<b class='flag-5'>ESP32</b>-P4芯片及<b class='flag-5'>ESP32</b>-C6 Wi-Fi 6芯片

    ESP32-C3在智能充电桩上的应用,性价比爆棚!

    ESP32-C3在智能充电桩上的应用,性价比爆棚!
    的头像 发表于 01-20 08:03 331次阅读
    <b class='flag-5'>ESP32</b>-C3在<b class='flag-5'>智能</b>充电桩上的应用,性价比爆棚!

    如何使用ESP32和STC51芯片制作一个小小光立方呢?

    分享一个用ESP32和STC51芯片,以及0805贴片灯珠,手工焊接制作的小小光立方。
    的头像 发表于 01-09 15:37 995次阅读
    如何使用<b class='flag-5'>ESP32</b>和STC51芯片<b class='flag-5'>制作</b>一个小小光立方呢?

    基于XIAO ESP32C3的智能家居四路控制器设计

    今天小编给大家带来的是印度的Maker Technolab creation的基于ESP32C3的智能家居四路控制器,该控制器可以通过传统的手动开关按钮、红外遥控器、智能手机进行控制,同时手机上也可以实时显示温度和湿度,可以实现
    的头像 发表于 01-02 10:53 1084次阅读
    基于XIAO <b class='flag-5'>ESP32</b>C3的<b class='flag-5'>智能家居</b>四路控制器设计

    如何实现用ESP32-S3和土壤湿度传感器监控植物的土壤状态呢?

    大家好,今天我要给大家介绍一种非常实用的智能家居设备——用ESP32-S3连接一个土壤湿度传感器,用Micropython编程,监控火土壤的状态。
    的头像 发表于 11-08 11:35 1080次阅读
    如何实现用<b class='flag-5'>ESP32</b>-S3和土壤湿度传感器监控植物的土壤状态呢?

    ESP32-S3-WROOM-1/ESP32-S3-WROOM-1U用户手册

    通用型Wi-Fi+低功耗蓝牙的双核无线模组,搭载乐鑫ESP32-S3芯片。除具有丰富的外设接口外,模组还拥有强大的神经网络运算能力和信号处理能力,适用于AIoT领域的多种应用场景,例如唤醒词检测和语音命令识别、人脸检测和识别、智能家居
    发表于 09-19 17:23 7次下载

    ESP32-S3-MINI-1/ESP32-S3-MINI-1U技术规格书

    ESP32-S3-MINI-1 和 ESP32-S3-MINI-1U 是通用型 Wi-Fi + 低功耗蓝牙 MCU 模组,功能强大,具有丰富的外设接口,体积已经过优化,可用于嵌入式系统、智能家居
    发表于 09-18 08:48

    ESP32-S2-MINI-1/ESP32-S2-MINI-1U技术规格书

    ESP32-S2-MINI-1 和 ESP32-S2-MINI-1U 是通用型 Wi-Fi MCU 模组,功能强大,具有丰富的外设接口,可用于可穿戴电子设备、智能家居等场景
    发表于 09-18 07:22

    ESP32-C6-WROOM-1/ESP32-C6-WROOM-1U技术规格书

    接口,可用于智能家居、工业自动化、医疗保健、消费电子产品等领域。ESP32-C6-WROOM-1 采用 PCB 板载天线,ESP32-C6-WROOM-1U 采用连接器连接外部天线。两款模组均配置了最大
    发表于 09-18 07:04

    ESP32-MINI-1/ESP32-MINI-1U技术规格书

    ESP32-MINI-1 和 ESP32-MINI-1U 是通用型 Wi-Fi + 蓝牙 + 低功耗蓝牙 MCU 模组,功能强大,具有丰富的外设接口,适用各类物联网应用场景,如智能家居、消费
    发表于 09-18 06:24

    ESP32-C2 8684 AT固件

    ESP32-C2模组 ESP8684芯片 智能家居设备开发模组
    的头像 发表于 07-03 13:41 542次阅读
    <b class='flag-5'>ESP32</b>-C2  8684  AT固件

    Arduino IoT Cloud ESP32 Alexa Control智能家居

    电子发烧友网站提供《Arduino IoT Cloud ESP32 Alexa Control智能家居.zip》资料免费下载
    发表于 06-26 14:49 0次下载
    Arduino IoT Cloud <b class='flag-5'>ESP32</b> Alexa Control<b class='flag-5'>智能家居</b>

    ESP32-H2 x Bluetooth 5.2=智能家居新拼图?

    ESP32-H2芯片是乐鑫第一次在2.4GHz频段集成IEEE802.15.4和蓝牙5.2技术,这意味着着乐鑫除了Wi-Fi、Bluetooth,又多了一项IEEE802.15.4标准的技术支持
    的头像 发表于 06-21 17:42 422次阅读
    <b class='flag-5'>ESP32</b>-H2 x Bluetooth 5.2=<b class='flag-5'>智能家居</b>新拼图?

    智能家居:带Alexa和Amazon Echo的ESP8266/ESP32

    电子发烧友网站提供《智能家居:带Alexa和Amazon Echo的ESP8266/ESP32.zip》资料免费下载
    发表于 06-19 10:46 0次下载
    <b class='flag-5'>智能家居</b>:带Alexa和Amazon Echo的<b class='flag-5'>ESP</b>8266/<b class='flag-5'>ESP32</b>

    智能家居新玩法】ESP32-C2接入阿里云方案

    物联网技术已成为当今社会的热门话题之一,无论是智能家居、智慧农业、智能交通等领域,物联网技术都在不断改变着人们的生活和工作方式。ESP32-C2针对高容量、低数据速率的应用设计,它具有低功耗、小尺寸
    的头像 发表于 06-07 10:01 758次阅读
    【<b class='flag-5'>智能家居</b>新玩法】<b class='flag-5'>ESP32</b>-C2接入阿里云方案