Raspberry Pi 樹莓派連線溫度感測器DS18B20
DS18B20是一個比較常用的溫度感測器,採用單匯流排控制,以前用微控制器程式設計控制時嚴格按照單匯流排的時序控制,今天來看看在linux系統下如何控制DS18B20,體驗一下在linux世界,一切都是檔案。 一、修改配置檔案
(注:執行sudo raspi-config實際上也是修改這個檔案,例如設定Advanced Options -> I2C 啟動i2C核心驅動,就是修個dtparam=i2c_arm=on 這一行) 在/boot/config.txt檔案後面新增下面這一句,這一句就是樹莓派新增Device Tree裝置,
在/boot/overlays/README中有關於樹莓派Device Tree的詳細介紹,在其中我們找到下面關於w1-gpio-pullup裝置的介紹如下圖。 二、檢視模組是否啟動 重啟樹莓派是設定生效,執行lsmod命令,如果發現紅色方框的兩個模組說明模組已啟動。 如果沒有發現,也可以執行如下命令載入模組
三、 讀取溫度 如果沒有問題,在/sys/bus/w1/devices中發現一個28-XXXX開頭的資料夾,這個就是DS18B20的ROM,每個DS18B20都一樣,在這個資料夾中讀取w1_slave檔案則會返回當前溫度值。操作如下圖:
返回資料中,第一行最後的YRS 如果接多個DS18B20,將會看到多個28-xxxx的檔案,分別對應各個DS18B20。 四、軟體程式設計 1、sysfs
編譯並執行,結果如圖
注:(1)system("sudo modprobe w1-gpio");system("sudo modprobe w1-therm");在程式的開頭運行了一下modprobe命令 (2) dirp = opendir(path) 開啟/sys/bus/w1/devices/檔案路徑 (3)direntp = readdir(dirp) 讀取當前路徑下的檔案或資料夾 (4)strstr(direntp->d_name,"28-00000") 查詢28-00000開頭的檔案,strstr為字串操作函式,上面這條語句表示檔名字是否包含字串“28-00000”,如果匹配則返回第一次匹配的地址,沒有搜尋到則返回NULL. (5)strcpy(rom,direntp->d_name); strcpy為字串複製函式。,將包含28-00000的檔名複製到rom字串 (6)strcat(path,rom);strcat(path,"/w1_slave"); strcat為字串連線函式,此時path的值為/sys/bus/w1/devices/28-00000xxxx/w1_slave (7)fd = open(path,O_RDONLY); read(fd,buf,sizeof(buf)) 開啟檔案並讀取資料 (8)temp = strchr(buf,'t'); 查詢字元‘t’第一次出現的位置, (9)sscanf(temp,"t=%s",temp); sscanf函式是從一個字串中讀進與指定格式相符的資料,此處為從第二行資料中掃描出溫度值 (10) value = atof(temp)/1000;atof函式把字串轉化為浮點數。 2、python
執行程式,執行結果如圖
注:(1)程式的開頭運行了一下modprobe命令 (2) device_folder = glob.glob(base_dir + '28*')[0] device_file = device_folder + '/w1_slave' 定義裝置資料夾和裝置檔案,glob.glob(base_dir + '28*'))函式為獲得base_dir路徑下所有28
DS18B20是一個比較常用的溫度感測器,採用單匯流排控制,以前用微控制器程式設計控制時嚴格按照單匯流排的時序控制,今天來看看在linux系統下如何控制DS18B20,體驗一下在linux世界,一切都是檔案。
一、修改配置檔案
1
sudo vi /boot/config.txt
(注:執 linu names interface 文件內容 動態ip down run 表示 無線網絡 Raspberry Pi樹莓派無線網卡配置[多重方法備選]
要想讓樹莓派方便操作,肯定需要配置無線網卡,這樣可以大大增強樹莓派的移動性和便利性,其實配置無線網卡基本就是和普通li
茶話匯在前面的文章已有多篇文章介紹Raspberry Pi(中文名“樹莓派”或“山莓派”),基於Linux作業系統的迷你電腦Raspberry Pi電腦板自去年3月份上市,便成為熱銷品,據估計目前銷售量已達百萬臺,對於這樣的簡單裝置來說能達到這樣的業績是非常出色的。
“樹莓派”是一款基於ARM的微型
以前, 總是登入公司的linux伺服器, 有時候, 因為許可權問題, 玩得並不爽, 甚至連伺服器長得什麼樣,物理位置在哪裡都不知道, 當然, 也沒必要知道。
之後, 經常用ssh/串列埠/adb登入公司某linux/android裝置,進行操作
為什麼要用XBMC呢?先說下它能幹什麼吧:
它可以任何發電影,看電視直播,視訊直播,網路電視,看圖片,聽音樂,看電影能夠直接本地載入字幕,射手網自動搜尋字幕,使用HDP外掛庫可以看各種各樣的網路直播,網路聚合視訊。由於PI的硬解碼能力和專有XBMC的不斷優化,本地視訊看
之前複製或者備份樹莓派的SD卡,都是用dd命令全盤複製,可以用,但是這樣有兩大缺點:
1. 慢
2. 一個大的SD卡,比如64G,即使只用了2G,經過dd命令生成的img檔案也會生成一個和整個SD卡容量一樣大小的檔案,即64G
於是,需要有一個可以解決上述問題的製作樹莓
指南:Raspberry Pi上的自定義動態開機畫面,Raspbian Jessie
網際網路上有許多指南在Linux上建立自定義啟動螢幕,但大多數Raspbian都基於SysV init,並且不能與Raspbian現在使用的systemd介面良好。因此,我已經寫了這個指南,直接將簡單的init風格的s
要想讓樹莓派方便操作,肯定需要配置無線網絡卡,這樣可以大大增強樹莓派的移動性和便利性,其實配置無線網絡卡基本就是和普通linux平臺下配置無線網絡卡一樣,幾種方法大同小異,具體如下:
一、第一種方法:通過配置 /etc/network/interfaces 檔案實現
sud
配置無線網絡卡,可以大大增強樹莓派的移動性和便利性,其實配置無線網絡卡基本就是和普通linux平臺下配置無線網絡卡一樣,幾種方法大同小異,具體如下:
一、第一種方法:通過配置 /etc/network/interfaces 檔案實現
sudo nano /etc/net
資料
3.5inch RPi LCD (A)
產品介紹使用者手冊 開發資料開發軟體樹莓派映象演示視訊
FAQ
在自定義Raspbian系統映象上怎麼使用樹莓派LCD?
先確保自定義映象可正常進入桌面,執行命令
sudo raspi-config
確定已選擇:Enable Bo
bmp:
#ifndef _RASPI_BMP280_H_
#define _RASPI_BMP280_H_
#include <stdio.h>
#include <wiringPi.h>
#include <wiringPiI2C.h>
un
本篇博文大部分轉https://blog.csdn.net/u013162035/article/details/78580486
其中有部分細節根據自己的實際操作進行了修改
5.1樹莓派基本操作
目前提供了三個應用程式,分別為:raspis
樹莓派上自帶一個串列埠,用於連線藍芽或是串列埠命令列,串列埠資源很少,對於嵌入式的應用來說串列埠裝置很多,需要的串列埠數量也很多,因為通過USB外接串列埠是一個不錯的選擇。樹莓派的 raspberry 2018.04.18 stretch版本的系統中已經
DS18B20是由DALLAS半導體公司推出的一種的“一線匯流排”介面的溫度感測器, 與傳統的熱敏電阻等測溫元件相比,它是一種新型的體積小、適用電壓寬、與微處理器介面簡單的數字化溫度感測器。
1.測量溫度範圍:-55~+125℃ 2.精度:±0.5℃ 3.資料傳輸:“一線匯流排”的數字方
本文參考樹莓派實驗室的文章:
樹莓派是最經典的卡片式電腦,擁有一臺pc機的所有功能。比較典型的使用方法是通過vnc遠端登陸進行操作。不過,raspbian雖然集成了vncserver,預設卻是不開啟的。這時候我們就需要將其連線到顯示器,配合鍵鼠進行操作
一、配置準備
1.DHT11簡介
DHT11是一款有已校準數字訊號輸出的溫溼度感測器。 精度溼度+-5%RH, 溫度+-2℃,量程溼度20-90%RH, 溫度0~50℃。
DHT11有四個引腳,分別是VCC,DATA,NC,GND
2.電路連線
Wifi配置
我的Wifi配置基本上是跟著這個教程來的,下面將過程簡述,並解釋每個命令/語句的作用。
1、檢查USB無線網絡卡是否已經正確識別
將無線USB網絡卡插入樹莓派後啟動樹莓派,比較不建議熱插拔,因為插入的一瞬間會有比較高的電流,如果電源輸出不夠可能導致樹莓派重啟。用自己的方法進入shell介面後
現在樹莓派的各個感測器就都用上了,超聲波模組、影象識別、聲源定位各司其職,都能對周邊環境做出反應,以便對電機做操作。這樣就不需要電腦的遠端控制了,能真正做到自主執行。
問題是這些感測器都是獨立的,控制電機時以誰為主呢?
經過多次除錯,本人摸索出如下原則:
超聲波模組由於
本教程使用浙江大學玉泉校區的網路。其它網路同理可得。
1、配置mac地址
sudo ifconfig eth0 down hw ether xx:xx:xx:xx:xx:xx
sudo ifconfig eth0 up
將上面兩行程式碼複製進/etc/rc.local即
Raspberry Pi(中文名為“樹莓派”,簡寫為RPi,(或者RasPi / RPI) 。
其有如下型號。
樹莓派僅使用 TF卡作為儲存裝置,因此樹莓派的作業系統也是燒寫到TF卡上的。
若在T |