電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>收集數(shù)據(jù)并將其顯示到Web服務(wù)器

收集數(shù)據(jù)并將其顯示到Web服務(wù)器

2022-12-15 | zip | 0.13 MB | 次下載 | 免費(fèi)

資料介紹

描述

介紹

你好,我是通過創(chuàng)建這個(gè)項(xiàng)目來介紹樹莓派平臺(tái)的,所以我盡可能地簡單。在任何可以用作 HTTP 客戶端的設(shè)備上檢查室溫對(duì)我來說似乎非常有用,因此我決定將這個(gè)項(xiàng)目想法作為起點(diǎn)。

我將嘗試對(duì)本項(xiàng)目中使用的每個(gè)電子元件進(jì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 引腳

poYBAGOYGUOARtOPAADfLu2KJQk39.jpeg
?

這個(gè)項(xiàng)目的設(shè)置很簡單。如上所示,您需要的電子部件是:

  • 樹莓派(任何版本)
  • 一個(gè)領(lǐng)導(dǎo)
  • 一個(gè) DHT11 模塊
  • 2 個(gè)電阻器(1k 和 10k 歐姆)
  • 4公/母線
  • 用于面包板連接的 4 根公/公線。

安裝

下面 Github 鏈接中顯示的代碼使用了一些特定的 I/O 引腳,因此必須使用相同的引腳才能使其在家中工作。

本項(xiàng)目使用的語言是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í)間可能很長。
  • 在單線程計(jì)算機(jī)上使用多處理工具不會(huì)帶來最好的結(jié)果。
  • 該傳感器是一個(gè)便宜的版本,即使它顯示一個(gè)(一位十進(jìn)制數(shù)字)的精度,測(cè)量也不精確。

演示

?

?

?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)