本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于Raspberry Pi (树莓派)的图书防潮保护室

发布时间:2021-06-18
分享到:

基于Raspberry Pi (树莓派)的图书防潮保护室

发布时间:2021-06-18
分享到:

这是一个可以监测气候的集装保护室,您可以在其中存放书籍。我之所以选择做这个,是因为很多人把他们的旧书放在地下室或阁楼里。然而,大多数地下室太潮湿而无法存放书籍,而阁楼的温度可能太高,尤其是在夏天。不利于图书的保存

在本教程中,您可以找到重新创建此项目的分步过程。

第 1 步:补给品

电子产品

  • 树莓派 4 型号 b
  • 树莓派 USB-C 电源
  • 16GB 微型 SD 卡
  • 以太网电缆
  • ESP32
  • USB-A转Micro USB-B数据线
  • 面包板电源
  • 交流/直流电源适配器
  • 无焊面包板 830分
  • 3x 无焊面包板 170 点(如果你把东西焊接在一起,你可能不需要这些)
  • 树莓派突破扩展板 + 排线
  • 杜邦线(各种尺寸和类型)
  • 5x 470Ω 电阻
  • 1x 10kΩ 电阻
  • LDR(光敏电阻)
  • 3x4 键盘薄膜矩阵
  • RFID-RC522模块
  • RFID贴纸
  • 2x 按钮
  • 液晶显示器
  • 电位器
  • PCF8574
  • DHT11模块
  • 伺服电机
  • 5V无刷风扇
  • NPN三极管2n2222a
  • 二极管

配件工具

  • 中密度纤维板 15mm 200x122cm
  • 中密度纤维板 5 毫米 50x100 厘米
  • 透明PS板100x50cm
  • 木板15x15mm 270cm
  • 钢琴铰链
  • 螺丝
  • 门把手
  • 金属链(可选)
  • 花丝(可选)
  • 油漆(可选)
  • 工具

工艺工具

  • 钻头
  • 砂纸
  • 画卷
  • 铣床
  • 强力胶

第 2 步:原理图和接线

为了制作我的原理图,我使用了 Fritzing。

在电气视图上,我用橙色表示 3.3V,用红色表示 5V。
使用 DHT11 模块,您需要检查是否有传感器或模块。如果您有传感器,请按照电气视图中的说明进行连接。如果您有该模块,请按照面包板视图中的说明进行连接。

第 3 步:数据库设计

使用这个项目会收集很多数据。所有传感器和执行器都存储在历史记录表中。传感器和执行器存储在组件表中。

考虑到我的项目中使用了书籍,该表也存在。为了让这一切更容易理解,我将书籍与作者和语言分开。

第 4 步:设置 ESP32

1、在 Arduino IDE 中安装 ESP32

从 Arduino IDE 打开首选项窗口:文件 > 首选项。
最后你会找到“附加板管理器 URL”,输入以下 URL:
<a href="https://dl.espressif.com/dl/package_esp32_index.js">https://dl.espressif.com/dl/package_esp32_index.js...</a>
打开板管理器:Tools > Board > Board Manager,单击“esp32 by Espressif Systems”的安装按钮。

2、上传代码

  • 使用 USB 数据线将 ESP32 模块连接到计算机。
  • 使用 Arduino IDE 上传代码。请记住在连接时按下 ESP32 模块上的启动按钮
int ldr = 4;
内部伺服 = 22;
const int PWMFreq = 50;
const int PWMChannel = 0;
const int PWMResolution = 8;
整数占空比 = 0;

无效设置(){
  Serial.begin(9600, SERIAL_8N1,16,17);
  ledcSetup(PWMChannel, PWMFreq, PWMResolution);
  ledcAttachPin(伺服,PWMChannel);
  ledcWrite(PWMChannel,占空比);
}

无效循环(){
  如果(串行。可用()){
    String line = Serial.readStringUntil('\n');
    如果(行==“LDR”){
      int 值 = 模拟读取(ldr);
      浮动转换值 = convertldr(value);
      Serial.println(convertedValue);
    }
    如果(行==“关闭”){
      占空比 = 16;
      ledcWrite(PWMChannel,占空比);
      Serial.println("锁已关闭");
    }
    如果(行==“打开”){
      占空比 = 5;
      ledcWrite(PWMChannel,占空比);
      Serial.println("锁已打开");
    }
  }
}

浮动转换ldr(整数值){
  返回(值/4095.0)*100;
}

第 5 步:设置树莓派
配置 SD 卡

下载最新的Raspberry Pi 操作系统。
下载Win32 磁盘映像程序。
使用SD 卡格式化程序或类似程序格式化 SD 卡。
使用 Win32 Disk Imager 在 SD 卡上写入树莓派操作系统
转到 SD 卡目录并打开 cmdline.txt。
在行尾添加 'ip=169.254.10.1'。
保存文件。
创建一个没有内容或扩展名的名为“ssh”的文件。
将 SD 卡放入 Raspberry Pi 并使用 LAN 端口和以太网电缆连接到您的计算机。
将电源连接到 Raspberry Pi。
配置树莓派

使用Putty软件配置树莓派。

使用 IP 地址 169.254.10.1 和端口 22 连接到 pi,连接类型为 SSH。
使用入门信息登录 -> 用户:pi & 密码:raspberry
建议尽快更改此设置 -> 这里是执行此操作的指南https://www.raspberrypi.org/documentation/linux/usage/users .md

Raspi-config

首先,我们必须启用不同的接口,为此我们必须键入以下代码:

须藤 raspi 配置 

启用以下接口:

  • 一根线
  • 串行
  • I2C
  • SPI

连接到WIFI

首先,输入以下命令成为root

须藤 -i 

成为 root 后,使用以下命令:(将 SSID 替换为您的网络名称,并将密码替换为您的网络密码)

检查这是否正确使用

nano /etc/wpa_supplicant/wpa_supplicant.conf 

现在网络已经添加好了,我们进入WPA客户端界面

wpa_cli 

选择您的界面

接口 wlan0 

重新加载文件

重新配置 

最后检查您是否已连接:

ipa

更新 RPi + 安装软件

更新 RPI

sudo apt-get 更新<br>sudo apt-get 升级

现在 Pi 已更新,请安装 Apache

sudo apt install apache2 -y

安装 MariaDB

sudo apt install mariadb-server mariadb-client -y

安装python包

pip3 安装flask-cors<br>pip3 安装flask-socketio
pip3 安装 mysql-connector-python
pip3 安装 gevent
pip3 安装 gevent-websocket

现在这一切都完成了,重启 Pi。

设置数据库

现在一切都安装好了,我们将设置数据库。只需按照本指南https://pimylifeup.com/raspberry-pi-mysql/

第 6 步:建造外观

在上图中,您可以找到估计的测量值。我建议让左边的部分稍微大一点。这样,连接组件会更容易。

切割MDF板和PS板

  • 使用 15 毫米 MDF 锯开盖子和底部。这些是 440x210 毫米。
  • 使用略小的 5 毫米 MDF 看到第二个底板。
  • 现在我们有了正面和背面,以 45° 角切割它们。这些是,在外侧(最长边)470x240mm。这是 15 毫米 MDF。
  • 侧面也以 45° 角切割。再次使用 15mm MDF 315x240mm。
  • 最后我们有了假天花板和墙壁。使用 5mm MDF,切割一块 241x290.5mm 的板和一块 241x249.5mm 的板。
  • 以 45° 角为门切割 4 块木板(15x15 毫米)。
  • 切下 2 块木板 (15x15mm) 以进一步支撑盖子。
  • 检查门的木材尺寸和高度和宽度 7 毫米的尺寸。将这些测量值用于 PS 片材。

在木材上铣槽

  • 现在板子被切割了,是时候铣一些大约 7mm 的凹槽了。我从背面(内部)开始。
  • 从左侧向中间做一个水平凹槽。使用第一块板 (241x290.5mm) 测量需要停止的位置。将此板向左移动 5 毫米。
  • 要制作垂直凹槽,请使用第二块板 (241x249.5) 并将其向下移动 5mm。
  • 对于表壳的正面,重复此过程,但从右侧测量。
  • 取一个侧面,使用正面和背面,测量水平面必须铣削的位置。
  • 最后但并非最不重要的一点是在底部 (15mm) 板的底部铣出一个水平凹槽。
  • 在木头上为门磨一些凹槽,这样 PS 板将固定到位。
  • 为组件/电源创建孔

接下来,我们将为组件打孔。可以根据您希望它的外观来选择这些位置。

  • 第一个并不是真正用于组件。在盖子上看到一个把手。
  • 接下来在背面为电源适配器电缆钻一个孔。尺寸取决于所使用的电缆类型。
  • 在风扇的假天花板上钻一个洞。
  • 在同一块板上为 DHT11 模块切割一个矩形。
  • 在前面为 LCD、键盘、RFID 阅读器和按钮锯开孔。
  • 在底部钻 2 个孔,一个用于 LDR(在凹槽的一侧),另一个在另一侧用于将电线连接到 ESP32。
  • 在门的前面切一个矩形。
  • 在伺服臂的假墙上切一个矩形。

建立案例

  • 现在使用螺丝将它们连接在一起。使用钢琴铰链,这可以切割成合适的尺寸,以连接盖子和门。将门把手安装在门的外侧,将挂钩安装在门内侧。请注意,在将较薄的底板连接到较厚的底板之前,您需要为 LDR 接线。

连接组件

  • 使用螺钉将组件连接到外壳上。在必要时添加一些电工胶带以防止电线脱落。使用花线,我将冰棒棍的一部分连接到伺服臂上以使其更长。

收尾工作

  • 最后,根据油漆罐上的说明,对木材进行打磨和油漆。这可以在您附加所有内容之前完成。但如果你只想在外面涂漆,这可以作为最后一步完成。
加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论