資料介紹
描述
介紹
你好,我是通過創(chuàng)建這個(gè)項(xiàng)目來介紹樹莓派平臺(tái)的,所以我盡可能地簡(jiǎn)單。在任何可以用作 HTTP 客戶端的設(shè)備上檢查室溫對(duì)我來說似乎非常有用,因此我決定將這個(gè)項(xiàng)目想法作為起點(diǎn)。
我將嘗試對(duì)本項(xiàng)目中使用的每個(gè)電子元件進(jìn)行介紹,但仍保持簡(jiǎn)單描述。太多不必要的信息對(duì)讀者沒有吸引力。
有一些用于捕獲溫度和濕度的電子部件,在上面的硬件組件列表中進(jìn)行了說明。我選擇使用 LED 作為溫度低于某個(gè)閾值的警告信號(hào)。
此應(yīng)用程序在 Raspberry Pi Zero W 和面包板上運(yùn)行。傳感器數(shù)據(jù)顯示在由 Django 和 Celery 提供支持的網(wǎng)站上。
如果需要,可以將此項(xiàng)目移植到具有更多硬件資源的其他 Raspberry Pi 機(jī)器上。
Django 框架有助于創(chuàng)建一個(gè)快速的 Web 服務(wù)器。正如開發(fā)者自己所描述的,celery 是一個(gè)分布式任務(wù)隊(duì)列,它可以幫助服務(wù)端任務(wù)異步,同時(shí)提升它的響應(yīng)時(shí)間
每次 Web 客戶端訪問應(yīng)用程序時(shí),它都會(huì)更新數(shù)據(jù),我發(fā)現(xiàn)控制 LED 很有用。
設(shè)置面包板和 I/O 引腳

這個(gè)項(xiàng)目的設(shè)置很簡(jiǎn)單。如上所示,您需要的電子部件是:
- 樹莓派(任何版本)
- 一個(gè)領(lǐng)導(dǎo)
- 一個(gè) DHT11 模塊
- 2 個(gè)電阻器(1k 和 10k 歐姆)
- 4公/母線
- 用于面包板連接的 4 根公/公線。
安裝
下面 Github 鏈接中顯示的代碼使用了一些特定的 I/O 引腳,因此必須使用相同的引腳才能使其在家中工作。
本項(xiàng)目使用的語(yǔ)言是python3。樹莓派機(jī)器需要安裝 Django 和 Celery。
首先,您需要確保機(jī)器已更新。在終端中運(yùn)行以下命令來更新機(jī)器:
$ sudo apt-get update
$ sudo apt-get upgrade
通過在命令行中運(yùn)行來檢查您是否安裝了 python3:
$ python3
>>>quit()
這個(gè)命令應(yīng)該運(yùn)行 python3 解釋器,如果它存在,那么 quit() 方法退出它。
如果找不到,請(qǐng)使用以下命令安裝 python 3:
$ sudo apt-get install python3
溫度傳感器需要一個(gè)模塊來獲取環(huán)境中的溫度。
$ sudo pip3 install Adafruit_DHT
安裝這些之后,繼續(xù)安裝 Django 和 celery:
$ sudo pip3 install django
$ sudo pip3 install celery
我建議安裝具有 sudo 權(quán)限的那些,因?yàn)槲覀冃枰?sudo 在 HTTP 端口 80 上運(yùn)行網(wǎng)站。這里可以選擇重新啟動(dòng)機(jī)器,但通常不需要。
celery 框架需要一個(gè)消息代理:Redis 或 RabbitMQ 就是其中之一。
安裝 Redis:
$ sudo apt-get install redis
$ sudo pip3 install redis
?
運(yùn)行應(yīng)用程序
安裝包后,celery worker 就可以運(yùn)行了。進(jìn)入app文件夾,執(zhí)行:
$ sudo celery -A temp_website -l info -n worker
機(jī)器上可能有不止一名工人。為“-n”參數(shù)使用不同的數(shù)字名稱運(yùn)行上一個(gè)命令。工作人員將自動(dòng)同步。
使用以下命令從 app 文件夾運(yùn)行 Django 項(xiàng)目:
$ sudo python3 manage.py runserver ip:80
命令中的 ip 位應(yīng)該是您正在運(yùn)行此應(yīng)用程序的機(jī)器的本地 IPv4。如果很難找到您的本地網(wǎng)絡(luò) IPv4,請(qǐng)運(yùn)行以下命令:
$ python3
>>>import socket
>>>socket.gethostbyname_ex(socket.gethostname())[-1][-1]
在 /etc/hosts 中的主機(jī)名為 127.0.0.1 的機(jī)器上返回 127.0.0.1。
瀏覽到 /temp_website/settings.py 并將您的 IPv4 地址添加到 ALLOWED_HOSTS 列表中。
?
更改 I/O 引腳設(shè)置
所有 Raspberry Pi 設(shè)置和功能都包含在 /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)
此代碼部分設(shè)置應(yīng)用程序的所有 Raspberry Pi 端口。
?
更改溫度閾值
由于你們中的一些人想要更改溫度閾值,這是可能的。該值被硬編碼到 Celery 任務(wù)之一中。轉(zhuǎn)到 /tempsens/tasks.py 并編輯以下任務(wù):
# 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)
該功能根據(jù)溫度做出決定,如果溫度低于 21,則 LED 亮起。否則 LED 將關(guān)閉。
?
承認(rèn)的問題
- 使用此構(gòu)建需要資源,在 Raspberry Pi 零 W 上運(yùn)行可能不是最佳選擇,因?yàn)轫憫?yīng)時(shí)間可能很長(zhǎng)。
- 在單線程計(jì)算機(jī)上使用多處理工具不會(huì)帶來最好的結(jié)果。
- 該傳感器是一個(gè)便宜的版本,即使它顯示一個(gè)(一位十進(jìn)制數(shù)字)的精度,測(cè)量也不精確。
演示
?
?
?
- Web服務(wù)器開源分享
- 使用以太網(wǎng)的Arduino Web服務(wù)器顯示傳感器數(shù)據(jù) 2次下載
- 嵌入式web服務(wù)器系統(tǒng),嵌入式Web服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)
- 嵌入式web服務(wù)器系統(tǒng)設(shè)計(jì),基于-ARM簡(jiǎn)單嵌入式WEB服務(wù)器系統(tǒng)設(shè)計(jì).doc
- 簡(jiǎn)單的嵌入式web服務(wù)器設(shè)計(jì)
- 基于高斯混合模型的Web代理服務(wù)器緩存 17次下載
- 基于ARM的嵌入式Web服務(wù)器設(shè)計(jì)方案 20次下載
- 面向Web服務(wù)器的隨機(jī)種子調(diào)度算法 11次下載
- 動(dòng)態(tài)Web服務(wù)器設(shè)計(jì) 0次下載
- Delphi教程之建立基本Web數(shù)據(jù)庫(kù)服務(wù)器應(yīng)用 4次下載
- 使用IIS為Web內(nèi)容配置Web服務(wù)器權(quán)限
- 基于Linux的WEB服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)
- 基于Java移動(dòng)代理的Web服務(wù)器負(fù)載監(jiān)控系統(tǒng)
- 嵌入式Web 服務(wù)器的分析與研究
- 基于ARM的嵌入式uClinux系統(tǒng)設(shè)計(jì)與Web服務(wù)器應(yīng)用的
- 使用NS1串口服務(wù)器HTTP模式上傳服務(wù)器數(shù)據(jù) 434次閱讀
- 顯示Web服務(wù)器中的內(nèi)存使用情況 881次閱讀
- 如何關(guān)閉服務(wù)器VNC服務(wù) 3693次閱讀
- 在服務(wù)器BMC Web門戶無法查看加密的SNMP共同體 941次閱讀
- 基于ESP32的簡(jiǎn)易web服務(wù)器設(shè)計(jì) 3990次閱讀
- 如何使用ESP8266制作可配置的Web服務(wù)器 1.3w次閱讀
- Java編程:發(fā)送HTTP請(qǐng)求到服務(wù)器 3101次閱讀
- 嵌入式Web服務(wù)器BOA移植與測(cè)試設(shè)計(jì)概述 1864次閱讀
- 基于嵌入式系統(tǒng)的Web服務(wù)器建立設(shè)計(jì) 3319次閱讀
- 最適合企業(yè)的 7 個(gè)開源 Web 服務(wù)器 5354次閱讀
- 應(yīng)用服務(wù)器配置要求及方案 3.2w次閱讀
- 應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器有什么區(qū)別 1.8w次閱讀
- 應(yīng)用服務(wù)器是什么_應(yīng)用服務(wù)器有哪些 3.4w次閱讀
- 一文讀懂應(yīng)用服務(wù)器與Web服務(wù)器的區(qū)別 3002次閱讀
- 一種嵌入式Web服務(wù)器的設(shè)計(jì)方案 4306次閱讀
下載排行
本周
- 1PFC電路與BOOST電路設(shè)計(jì)實(shí)例分享
- 1.83 MB | 12次下載 | 4 積分
- 2世平基于靈動(dòng)微 SPIN560C 的低壓無刷電機(jī)應(yīng)用方案
- 10.93 MB | 11次下載 | 免費(fèi)
- 3電源測(cè)試報(bào)告-基于 國(guó)民技術(shù) N32L406 和杰華特 JW3376+3330 的 BMS 方案
- 6.47 MB | 11次下載 | 免費(fèi)
- 4PWM控制器的控制方法
- 0.39 MB | 3次下載 | 4 積分
- 5電流檢測(cè)芯片F(xiàn)P135應(yīng)用說明
- 1.24 MB | 3次下載 | 免費(fèi)
- 6全面解讀被動(dòng)式與主動(dòng)式PFC電路
- 1.27 MB | 1次下載 | 4 積分
- 7HC88L051F4低功耗芯片規(guī)格書
- 4.76 MB | 1次下載 | 免費(fèi)
- 8CIU32D655x5數(shù)據(jù)手冊(cè)
- 2.14 MB | 1次下載 | 免費(fèi)
本月
- 1常用電子元器件使用手冊(cè)
- 2.40 MB | 52次下載 | 免費(fèi)
- 2高功率密度碳化硅MOSFET軟開關(guān)三相逆變器損耗分析
- 2.27 MB | 33次下載 | 10 積分
- 3PFC電路與BOOST電路設(shè)計(jì)實(shí)例分享
- 1.83 MB | 12次下載 | 4 積分
- 4世平基于靈動(dòng)微 SPIN560C 的低壓無刷電機(jī)應(yīng)用方案
- 10.93 MB | 11次下載 | 免費(fèi)
- 5電源測(cè)試報(bào)告-基于 國(guó)民技術(shù) N32L406 和杰華特 JW3376+3330 的 BMS 方案
- 6.47 MB | 11次下載 | 免費(fèi)
- 6USB拓展塢PCB圖資料
- 0.57 MB | 11次下載 | 免費(fèi)
- 7MS1826 HDMI 多功能視頻處理器數(shù)據(jù)手冊(cè)
- 4.51 MB | 9次下載 | 免費(fèi)
- 8HAL9303線性霍爾效應(yīng)傳感器技術(shù)手冊(cè)
- 0.70 MB | 9次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935134次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191424次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183352次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81600次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73818次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App






創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論