资料介绍
描述
介绍
你好,我是通过创建这个项目来介绍树莓派平台的,所以我尽可能地简单。在任何可以用作 HTTP 客户端的设备上检查室温对我来说似乎非常有用,因此我决定将这个项目想法作为起点。
我将尝试对本项目中使用的每个电子元件进行介绍,但仍保持简单描述。太多不必要的信息对读者没有吸引力。
有一些用于捕获温度和湿度的电子部件,在上面的硬件组件列表中进行了说明。我选择使用 LED 作为温度低于某个阈值的警告信号。
此应用程序在 Raspberry Pi Zero W 和面包板上运行。传感器数据显示在由 Django 和 Celery 提供支持的网站上。
如果需要,可以将此项目移植到具有更多硬件资源的其他 Raspberry Pi 机器上。
Django 框架有助于创建一个快速的 Web 服务器。正如开发者自己所描述的,celery 是一个分布式任务队列,它可以帮助服务端任务异步,同时提升它的响应时间
每次 Web 客户端访问应用程序时,它都会更新数据,我发现控制 LED 很有用。
设置面包板和 I/O 引脚
这个项目的设置很简单。如上所示,您需要的电子部件是:
- 树莓派(任何版本)
- 一个领导
- 一个 DHT11 模块
- 2 个电阻器(1k 和 10k 欧姆)
- 4公/母线
- 用于面包板连接的 4 根公/公线。
安装
下面 Github 链接中显示的代码使用了一些特定的 I/O 引脚,因此必须使用相同的引脚才能使其在家中工作。
本项目使用的语言是python3。树莓派机器需要安装 Django 和 Celery。
首先,您需要确保机器已更新。在终端中运行以下命令来更新机器:
$ sudo apt-get update
$ sudo apt-get upgrade
通过在命令行中运行来检查您是否安装了 python3:
$ python3
>>>quit()
这个命令应该运行 python3 解释器,如果它存在,那么 quit() 方法退出它。
如果找不到,请使用以下命令安装 python 3:
$ sudo apt-get install python3
温度传感器需要一个模块来获取环境中的温度。
$ sudo pip3 install Adafruit_DHT
安装这些之后,继续安装 Django 和 celery:
$ sudo pip3 install django
$ sudo pip3 install celery
我建议安装具有 sudo 权限的那些,因为我们需要 sudo 在 HTTP 端口 80 上运行网站。这里可以选择重新启动机器,但通常不需要。
celery 框架需要一个消息代理:Redis 或 RabbitMQ 就是其中之一。
安装 Redis:
$ sudo apt-get install redis
$ sudo pip3 install redis
运行应用程序
安装包后,celery worker 就可以运行了。进入app文件夹,执行:
$ sudo celery -A temp_website -l info -n worker
机器上可能有不止一名工人。为“-n”参数使用不同的数字名称运行上一个命令。工作人员将自动同步。
使用以下命令从 app 文件夹运行 Django 项目:
$ sudo python3 manage.py runserver ip:80
命令中的 ip 位应该是您正在运行此应用程序的机器的本地 IPv4。如果很难找到您的本地网络 IPv4,请运行以下命令:
$ python3
>>>import socket
>>>socket.gethostbyname_ex(socket.gethostname())[-1][-1]
在 /etc/hosts 中的主机名为 127.0.0.1 的机器上返回 127.0.0.1。
浏览到 /temp_website/settings.py 并将您的 IPv4 地址添加到 ALLOWED_HOSTS 列表中。
更改 I/O 引脚设置
所有 Raspberry Pi 设置和功能都包含在 /tempsens/tasks.py 脚本中。
import Adafruit_DHT
import RPi.GPIO as GPIO
# Pin defining and board mode
GPIO.setmode(GPIO.BOARD)
sensor = Adafruit_DHT.DHT11
pin = 4
led = 13
GPIO.setup(led, GPIO.OUT)
此代码部分设置应用程序的所有 Raspberry Pi 端口。
更改温度阈值
由于你们中的一些人想要更改温度阈值,这是可能的。该值被硬编码到 Celery 任务之一中。转到 /tempsens/tasks.py 并编辑以下任务:
# This function checks the threshold temperature and lights up an led
@shared_task
def checkTemperature(temperature, humidity, led):
if(temperature < 21):
GPIO.output(led, 0)
else:
GPIO.output(led, 1)
该功能根据温度做出决定,如果温度低于 21,则 LED 亮起。否则 LED 将关闭。
承认的问题
- 使用此构建需要资源,在 Raspberry Pi 零 W 上运行可能不是最佳选择,因为响应时间可能很长。
- 在单线程计算机上使用多处理工具不会带来最好的结果。
- 该传感器是一个便宜的版本,即使它显示一个(一位十进制数字)的精度,测量也不精确。
演示
- Web服务器开源分享
- 使用以太网的Arduino Web服务器显示传感器数据 1次下载
- 嵌入式web服务器系统,嵌入式Web服务器的设计与实现
- 嵌入式web服务器系统设计,基于-ARM简单嵌入式WEB服务器系统设计.doc
- 简单的嵌入式web服务器设计
- 基于高斯混合模型的Web代理服务器缓存 17次下载
- 基于ARM的嵌入式Web服务器设计方案 20次下载
- 面向Web服务器的随机种子调度算法 11次下载
- 动态Web服务器设计 0次下载
- Delphi教程之建立基本Web数据库服务器应用 4次下载
- 使用IIS为Web内容配置Web服务器权限
- 基于Linux的WEB服务器的设计与实现
- 基于Java移动代理的Web服务器负载监控系统
- 嵌入式Web 服务器的分析与研究
- 基于ARM的嵌入式uClinux系统设计与Web服务器应用的
- 使用NS1串口服务器HTTP模式上传服务器数据 99次阅读
- 显示Web服务器中的内存使用情况 557次阅读
- 如何关闭服务器VNC服务 3035次阅读
- 在服务器BMC Web门户无法查看加密的SNMP共同体 722次阅读
- 基于ESP32的简易web服务器设计 3300次阅读
- 如何使用ESP8266制作可配置的Web服务器 1.2w次阅读
- Java编程:发送HTTP请求到服务器 2979次阅读
- 嵌入式Web服务器BOA移植与测试设计概述 1693次阅读
- 基于嵌入式系统的Web服务器建立设计 3223次阅读
- 最适合企业的 7 个开源 Web 服务器 5266次阅读
- 应用服务器配置要求及方案 3.2w次阅读
- 应用服务器和数据库服务器有什么区别 1.8w次阅读
- 应用服务器是什么_应用服务器有哪些 3.4w次阅读
- 一文读懂应用服务器与Web服务器的区别 2943次阅读
- 一种嵌入式Web服务器的设计方案 4151次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多