基于树莓派4B的智能家居系统设计-1

简介: 基于树莓派4B的智能家居系统设计

一、项目介绍

       该项目主控为树莓派4B开发板,使用 wiringPi 库结合 DHT11 温湿度传感器、火焰传感器、振动传感器、烟雾传感器、蓝牙模块、L298N电机驱动模块、继电器组模块、SU-03T语音模块、CSI 摄像头模块、风扇模块等,可实现语音控制、网络控制、自制蓝牙手机APP或者安卓APP控制继电器状态从而控制灯、风扇、警报器的开关,可以结合 mjpg-streamer 库,CSI 摄像头实现视频监控和通过翔云人工智能开放平台或阿里云进行人脸识别进而通过 PWM 控制舵机旋转模拟开关门状态,当有火花或振动时会触发报警器报警,报警器状态、温湿度采集和通风扇状态可在手机APP上查看。


       采用工厂模式,将以上模块分为指令工厂和设备工厂,语音模块通过串口产生的指令和手机 app 通过串口蓝牙或 socket 产生的指令为指令工厂,其余模块为设备工厂,指令工厂和设备工厂分别用单链表进行链接,指令工厂产生指令,树莓派4B收到指令然后通过指令在设备工厂寻找设备从而进行控制。


       扩展:后续可以自行增加其他模块和功能,例如红外遥控、人体红外模块、使用OpenCV实现人脸识别、QT上位机控制下位机树莓派、增加MQTT协议等,等暑假有时间我再把扩展功能一起实现呈现给大家。

二、前期准备

1.硬件准备

首先我们需要一块树莓派作为主控,树莓派3B、4B、5B都行,然后需要准备两盒电池和各种各样的模块,下面我列出硬件清单。


硬件清单:


树莓派、CSI 摄像头模块、DHT11 温湿度传感器、火焰传感器、振动传感器、烟雾传感器、蓝牙模块、L298N电机驱动模块、继电器组模块、SU-03T语音模块、风扇模块、sg90舵机、红外遥控、红外模块、oled屏幕、人体红外模块、面包板加电池供电。


2.开发环境

做该项目需要先学习C语言、单片机、linux系统编程、ARM开发、QT等知识。


开发环境主要有:


  • ubuntu
  • mobaxterm
  • 手机APP
  • QT上位机(后续扩展)

三、C语言的简单工厂模式

1.工厂模式介绍

工厂模式是最常用的设计模式之一,属于创建型模式,提供一种创建对象的最佳方式。在工厂模式中,创建对象时,不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。即工厂模式把创建对象和使用对象的两个过程分离,对于使用者无需关心对象时如何创建出来的,直接指定一个对象即可使用该对象的方法。


C语言不是一门面向对象的语言,而是一门面向过程的语言,但C语言一样支持面向对象编程,即支持简单工厂模式。

工厂模式就是类的继承,C语言使用函数指针来实现类的继承,工厂中的设备用链表来链接起来。



2.类和对象

  • 类:一种用户定义的数据类型,也称类类型,例如结构体。
  • 对象:类的一种实例化,例如结构体赋值。

具体介绍可看类和对象详细介绍

3.工厂模式的优缺点

优点

  • 在创建对象时,只需要知道对象的名字就行,代码维护性强。
  • 需要添加设备时,只需要添加一个对象就行了,代码扩展性。

缺点

  • 代码阅读性变复杂。
  • 设备增多时会使对象增多,提高了代码复杂度。

四、树莓派的基本使用

1.树莓派刷机和登入

在这里使用的是开发板ssh登入,具体看我之前写过的文章,链接如下:树莓派刷机和登入

2.树莓派WiringPi库介绍

具体看我之前写过的文章,链接如下:树莓派WiringPi库总结

3.树莓派 CSI 摄像头配置

具体看我之前写过的文章,链接如下:树莓派 CSI 摄像头配置

4.树莓派与其他模块接线

下载完 WiringPi 库后输入命令 gpio readall  查看树莓派引脚

具体接线:


  • 火焰传感器:GPIO 0
  • 烟雾传感器:GPIO 1
  • SG90舵机:GPIO 2
  • 温湿度传感器:GPIO 7
  • OLED模块:SDA连对应SDA、SCL连对应SCL
  • 蓝牙模块或者语音模块:Tx连Rx、Rx连Tx
  • 继电器组控制四盏灯:GPIO 21-24
  • 报警器:GPIO 25
  • 风扇模块电机驱动:GPIO 27 28
  • 振动传感器:GPIO 29


基于树莓派4B的智能家居系统设计-2

https://developer.aliyun.com/article/1508009?spm=a2c6h.13148508.setting.32.21034f0eZyokqk

相关文章
|
7月前
|
传感器 监控 安全
基于STM32的智能家居安防系统设计与实现
基于STM32的智能家居安防系统设计与实现
657 1
|
7月前
|
智能硬件 计算机视觉 网络协议
基于树莓派4B的智能家居系统设计-2
基于树莓派4B的智能家居系统设计
基于树莓派4B的智能家居系统设计-2
|
7月前
|
传感器 存储 监控
毕业设计 基于51单片机WIFI智能家居系统设计
毕业设计 基于51单片机WIFI智能家居系统设计
155 0
|
监控 安全 网络协议
【毕业设计之Android系列】智能家居远程控制系统设计
【毕业设计之Android系列】智能家居远程控制系统设计
550 1
|
2月前
|
传感器 监控 搜索推荐
探索智能家居技术的未来
【10月更文挑战第6天】 本文深入探讨了智能家居技术的发展历程、当前应用及其未来前景。通过分析物联网(IoT)的基本原理和智能家居设备的实际应用案例,揭示了该领域面临的挑战与机遇,并提出了未来发展的趋势和可能性。
74 3
|
24天前
|
机器学习/深度学习 搜索推荐 语音技术
智能语音识别技术在智能家居中的应用与挑战####
本文深入探讨了智能语音识别技术的基本原理、关键技术环节,以及其在智能家居领域的广泛应用现状。通过分析当前面临的主要挑战,如环境噪音干扰、方言及口音识别难题等,文章进一步展望了未来发展趋势,包括技术融合创新、个性化服务定制及安全隐私保护的加强。本文旨在为读者提供一个关于智能语音识别技术在智能家居中应用的全面视角,同时激发对该领域未来发展方向的思考。 ####
66 6
|
2月前
|
传感器 人工智能 物联网
探索智能家居技术:现状与未来
本文深入探讨了智能家居技术的发展历程、当前主要技术和应用,并展望了其未来的发展趋势。通过对现有技术的详细解析和案例分析,揭示了智能家居在提升生活品质、节能减排等方面的潜力,同时指出了目前面临的挑战和可能的解决方案。
|
3月前
|
机器学习/深度学习 人工智能 物联网
智能家居技术的未来:从自动化到智能化的跨越
本文将探讨智能家居技术的发展趋势,从早期的自动化设备到现代的智能系统,分析其背后的技术驱动因素和市场动态。文章将详细讨论物联网(IoT)、人工智能(AI)、机器学习等技术如何推动智能家居的发展,并展望智能家居未来的发展方向。
|
3月前
|
监控 物联网 数据安全/隐私保护
智能家居包含了众多设备,在通过智能化技术提升居家生活的便利性、安全性、节能性和舒适度
智能家居系统包含了众多设备,旨在通过智能化技术提升居家生活的便利性、安全性、节能性和舒适度。以下是一些智能家居系统中常见的设备类别及其基本操作简述:
|
2月前
|
传感器 人工智能 语音技术
探索AI技术在智能家居中的应用
【8月更文挑战第78天】本文将探讨人工智能(AI)技术在智能家居领域的应用。我们将从AI技术的基本概念入手,介绍其在智能家居中的作用,并通过代码示例展示如何实现一个简单的智能照明系统。最后,我们将总结AI技术在智能家居领域的优势和挑战。