**:
環境要求
dht11,樹莓派系統,python,rpi.gpio等元件
相關軟體安裝方式見執勤的部落格文章:
開啟i2c,spi,1wire等
乙個意外的驚喜
在設定i2c功能時,偶然發現樹莓派裡有個更強大的功能 device tree (dt) ,在/boot/overlays發現了很多外設驅動,於是仔細閱讀了readme檔案,在272行看到了dht11驅動載入方式,對上章程式進行了簡單的修改,使之更加快速準確
修改config.txt後,我是一臉懵逼,去哪找測量結果?☺
然後開始大量查詢資料,看輸出結果如何查詢,費了半天工夫,也沒找到相關資料,wtf???
又仔細拜讀readme檔案,沒找到任何關於輸出結果的介紹,(黑人問號臉 在最後後一行發現個連線,好神奇呀,點開去看,全英語的,u tm dou i,欺負我英語差。。。
很傷,只能一邊翻譯一邊瞅,瞅完也公尺看懂啥意思
在我決定放棄的時候,我打算最後博一下,去sys/devices檔案下挨個去找,功夫不負有心人,終於找到帶有dht11的檔案,點進去,挨個開啟檢視,最後在iio:device0裡找到 in_humidityrelative_input和in_temp_input倆個檔案,分別對應濕度和溫度,但為啥有時開啟報錯,有時正常呢,心好累
但是iio這個新名詞又是什麼鬼,求老司機帶帶我
大家感受下我得之不易的iio資料夾
/sys/devices/platform/dht11@0/iio:device0
├── dev
├── in_humidityrelative_input
├── in_temp_input
├── name
├── of_node -> ../../../../firmware/devicetree/base/dht11@0
├── power
│ ├── autosuspend_delay_ms
│ ├── control
│ ├── runtime_active_time
│ ├── runtime_status
│ └── runtime_suspended_time
├── subsystem -> ../../../../bus/iio
└── uevent
3 directories, 10 files
也感受下不明覺厲的readme檔案
cat /boot/overlays/readme
在config.txt中新增i2c,spi,以及對dht11的支援
sudo vi /boot/config.txt
#開啟i2c
dtparam=i2c_arm=on
#開啟spi
dtparam=spi=on
#dht11支援
dtoverlay=dht11
具體方法見之前部落格建立raspberrypistate應用的部分
修改settings.py
cd ~/helloworld/helloworld
vi settings.py
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',]
修改urls.py
cd ~/helloworld/helloworld
vi urls.py
from django.conf.urls import include, url
from django.contrib import admin
from helloworld.view import hello
urlpatterns = [
url(r'^hello/$', hello),
url(r'^raspberrypistate/', include('raspberrypistate.urls',namespace="raspberrypistate")),
url(r'^temhum2/', include('temhum2.urls',namespace="temhum2")), #增加這一行
url(r'^admin/', admin.site.urls),
]
配置tmphum2的views.py
配置tmphum2的urls.py
從其他地方複製過來即可
cp /home/pi/helloworld/temhum/urls.py /home/pi/helloworld/temhum2
建立新的程式**temhum2.py
cd ~/helloword/tmphum2
vi temhum2.py
#!/usr/bin/env python
# encoding: utf-8
import commands
#獲取溫度
defgettemperature
():while
true:
res=commands.getoutput("cat /sys/devices/platform/dht11@0/iio:device0/in_temp_input")
if res.isdigit():
return int(res)/1000
#獲取濕度
defgethumidity
():while
true:
res=commands.getoutput("cat /sys/devices/platform/dht11@0/iio:device0/in_humidityrelative_input")
if res.isdigit():
return int(res)/1000
#溫濕度
defgettemhum
(): result="空氣溫度: "+str(gettemperature())+"℃ 空氣濕度:"+str(gethumidity())+"%"
return result
按照慣例重啟uwsgi服務
sudo systemctl restart emperor.uwsgi
.service
在樹莓派瀏覽器輸入
或者在電腦瀏覽器輸入 http://raspberrypi/temhum
這樣寫的python程式簡單了許多有木有,我就想玩個樹莓派裝個b,就又是核心又是驅動的,心好累
介面美化正在學習,求教程,要不幾個字太坑爹了
最後附上樹莓派官方關於dt介紹的連線和在 www.kernel.org 找到的疑似關於iio的介紹
求老司機出個樹莓派使用overlays檔案下所有dtb的系列文章,然後再出個dtb編寫指南啥的,
雲上樹莓派(1) 環境準備
原文 雲上樹莓派 1 環境準備 準備好的裝置包括 樹莓派確實和一張信用卡一般大小,如下圖所示。它有4個usb,1個有線網口,1個hdmi,1個音訊輸出,乙個電源介面,乙個tf卡插口。注意 tf卡介面在usb口的另一面。將 sd卡插入樹莓派的sd卡口,然後接通電源,觀察指示燈。下表是指示燈表示的各種狀...
樹莓派python3 pyqt5環境搭建
樹莓派型號 系統 raspbian gnu linux 9.6 stretch release 9.6 codename stretch 使用命令lsb release a 察看 說明 樹莓派本身自帶 python2 和python3 兩個版本,python 環境不用安裝。把 python 的鏈結刪...
python pyqt4環境搭建
前段時間被提了乙個需求,要做qq定時傳送伺服器介面的exe工具。那好吧,只能把想象中有乙個exe檔案。雙擊出現乙個ui層,輸入要傳送的qq群,呼叫伺服器介面位址,設定傳送時間,這些資訊,然後訊息就biubiubiu傳送出去了。從零開始,只有window系統,那就想搭建執行環境吧。1 python 2...