資料介紹
描述
介紹
你好,我是通過創建這個項目來介紹樹莓派平臺的,所以我盡可能地簡單。在任何可以用作 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次下載 | 免費
評論
查看更多