基于树莓派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

相关文章
|
1月前
|
传感器 监控 安全
基于STM32的智能家居安防系统设计与实现
基于STM32的智能家居安防系统设计与实现
361 1
|
1月前
|
智能硬件 计算机视觉 网络协议
|
1月前
|
传感器 存储 监控
毕业设计 基于51单片机WIFI智能家居系统设计
毕业设计 基于51单片机WIFI智能家居系统设计
|
12月前
|
监控 安全 网络协议
【毕业设计之Android系列】智能家居远程控制系统设计
【毕业设计之Android系列】智能家居远程控制系统设计
415 1
|
20天前
|
人工智能 搜索推荐 物联网
未来智能家居技术的趋势与展望
智能家居技术正在以惊人的速度发展,为我们的生活带来了巨大的便利和舒适。本文将探讨未来智能家居技术的趋势与展望,从人工智能、物联网、可穿戴设备等多个方面展开,展望智能家居将如何更好地融入我们的日常生活,为我们创造更加智能、便捷、舒适的生活方式。
25 1
|
1天前
|
传感器 安全 物联网
物联网技术在智能家居安全中的研究与应用
物联网技术在智能家居安全中的研究与应用
9 0
|
1天前
|
传感器 监控 安全
物联网技术在智能家居安全监控中的应用
物联网技术在智能家居安全监控中的应用
|
4天前
|
机器学习/深度学习 人工智能 算法
未来智能家居中的人工智能技术应用与挑战
在智能家居迅猛发展的今天,人工智能技术正成为其核心驱动力。本文探讨了人工智能在智能家居中的应用现状及面临的挑战,包括数据安全、用户隐私保护和技术集成等方面。
|
4天前
|
机器学习/深度学习 人工智能 物联网
智能家居技术在现代生活中的融合与创新
随着物联网和人工智能技术的飞速发展,智能家居已从科幻电影中走入现实生活。本文将探讨智能家居技术如何融入日常生活,提高生活品质,并分析其背后的关键技术。同时,文章将展望未来智能家居的发展趋势,包括个性化定制、数据安全以及跨品牌兼容性等挑战。
|
5天前
|
机器学习/深度学习 人工智能 安全
未来家居:智能家居技术的融合与创新
【6月更文挑战第13天】随着科技的飞速发展,智能家居已经从概念走向现实,成为现代生活的一部分。本文将探讨智能家居技术的最新进展,包括物联网(IoT)、人工智能(AI)和机器学习在家居自动化中的应用,以及这些技术如何相互融合,创造出更加智能、高效和舒适的居住环境。