樹(shù)莓派在很多應(yīng)用情景下并不一定接一臺(tái)專用型顯示屏,如必須查詢樹(shù)莓派上的一些信息內(nèi)容可以根據(jù)手機(jī)上、電腦上登陸到樹(shù)莓派上實(shí)際操作,但終究不足便捷。下邊詳細(xì)介紹一款oled小屏(SSD1306集成ic推動(dòng))可以直插在樹(shù)莓派GPIO口邊。淘寶網(wǎng)搜索四針oled就可以購(gòu)買(mǎi)到這類(lèi)小屏幕,留意要SSD1306集成ic推動(dòng)的!?。?.運(yùn)行樹(shù)莓派的I2C作用sudo apt-get install -y python- ** bussudo apt-get install -y i2c-toolssudo raspi-config依照下邊的流程設(shè)定打開(kāi)i2c作用
挑選作用
挑選i2c作用
重新啟動(dòng)樹(shù)莓派sudo reboot2.安裝Adafruit-SSD1306庫(kù)
Adafruit-SSD1306庫(kù)是根據(jù)Python的OLED庫(kù),可以用以128*64,128*32清晰度SSD1306集成ic操縱的屏幕
sudo python -m pip install --upgrade pip setuptools wheel
假如這一步錯(cuò)誤,八成是pip的問(wèn)題,此刻我們可以試著卸載掉再次安裝pip來(lái)處理?。。?/p>
sudo apt-get remove python-pip python3-pipsudo apt-get install python-pip python3-pip
隨后再次運(yùn)行上邊的代碼,一般就完成了!安裝PIL庫(kù),有一些照片處理的程序流程會(huì)使用這一。
sudo apt-get install python-pil python3-pil
應(yīng)用pip安裝Adafruit-SSD1306庫(kù)
sudo pip install Adafruit-SSD1306
再在線下載一份包括代碼示例的庫(kù)后邊用
cd ~git clone https://github.com/adafruit/Adafruit-Python_SSD1306.git假如上邊pip安裝Adafruit-SSD1306庫(kù)碰到網(wǎng)絡(luò)問(wèn)題,那麼還可以在在線下載這一份代碼以后運(yùn)行下邊的指令安裝cd Adafruit_Python_SSD1306sudo python setup.py install
進(jìn)到示例文件目錄,能夠看見(jiàn)有一些早已做好準(zhǔn)備的代碼,后邊將屏幕接好以后可以立即運(yùn)行看實(shí)際效果。
cd ~/Adafruit_Python_SSD1306/example/
如下圖所示:
方法代碼
3.聯(lián)接屏幕
針對(duì)屏幕的布線,一定不必插錯(cuò),樹(shù)莓派管腳(全部樹(shù)莓派40針管腳全是那樣排序,不用由于不一樣版本號(hào)而修改)如下圖所示:
樹(shù)莓派管腳
依據(jù)屏幕 PCB 上管腳的作用標(biāo)明收到樹(shù)莓派上相應(yīng)的 GPIO 上就可以。
屏幕 GND 接樹(shù)莓派 GND屏幕 VCC 接樹(shù)莓派 3V3屏幕 SDA 接樹(shù)莓派 SDA屏幕 SCL 接樹(shù)莓派 SCL
留意一定不必接錯(cuò) VCC 和 GND,不然會(huì)燒毀屏幕!!!
接好以后根據(jù)指令檢驗(yàn)是不是鑒別到i2c機(jī)器設(shè)備
sudo i2cdetect -y 1
檢驗(yàn)到i2c機(jī)器設(shè)備
圖中表明已連接機(jī)器設(shè)備的i2c詳細(xì)地址,不一樣的屏幕詳細(xì)地址很有可能不一樣,根據(jù)這一流程可以確定屏幕是不是可用。
留意:假如以上指令不好得話可以應(yīng)用如下所示指令sudo i2cdetect -y 04.程序編寫(xiě)和運(yùn)行
我們可以先應(yīng)用示例代碼來(lái)開(kāi)展迅速入門(mén),在其中有一個(gè)文件夾名稱為stats.py的程序流程,用于表明樹(shù)莓派的ip,cpuload,運(yùn)行內(nèi)存和硬盤(pán)的運(yùn)用狀況。大家先試一下這一程序流程。
cd ~sudo cp ~/Adafruit_Python_SSD1306/examples/stats.py ~/sudo nano stats.py
源代碼
如今大家必須具體需要的技術(shù)參數(shù)來(lái)開(kāi)展改動(dòng),比如SSD1306_128_32意味著128*32的屏幕分辨率屏幕的復(fù)位方式(一般全是128*64),。i2c_address用以配備屏幕的詳細(xì)地址,默認(rèn)設(shè)置為0x3c。運(yùn)行示例代碼,可見(jiàn)到運(yùn)行實(shí)際效果。
sudo python stats.py
方法完成
在代碼中可以載入別的的信息內(nèi)容,倘若再加上載入CPU溫度,代碼如下所示:
sudo nano stats.py#在空缺地區(qū)建立一個(gè)函數(shù)公式:def get_cpu_temp(): tempfile = open('/sys/class/ther ** l/ther ** l_zone0/temp') cpu_temp = tempfile.read() tempfile.close() return float(cpu_temp)
如下圖所示:
建立函數(shù)公式
隨后在while循環(huán)系統(tǒng)里加上一句
draw.text((x, top 35), "Temp: " str(get_cpu_temp(), font=font, fill=255)
如下圖所示:
加上溫度代碼
最終運(yùn)行程序流程就成功了?。。?/p>
最后表明
屏幕上的照片、樣子、文字和字體樣式全是由 PIL(Python I ** ging Library)的控制模塊 I ** ge, I ** geDraw, and I ** geFont 來(lái)完成的。若有興趣愛(ài)好可以試一下別的代碼示例,并學(xué)習(xí)培訓(xùn)自身設(shè)計(jì)圖紙文來(lái)表明。
5.設(shè)定啟動(dòng)運(yùn)行為了更好地讓stats.py可以啟動(dòng)全自動(dòng)運(yùn)行,我們可以做下邊的配備,那樣大家就可以無(wú)需根據(jù)專用工具或無(wú)線路由器去搜索樹(shù)莓派的IP地址等信息內(nèi)容?。。?/p>
改動(dòng)/etc/rc.local文檔
sudo nano /etc/rc.local
在exit 0前邊提升一行:
sudo python /home/pi/stats.py &
改動(dòng)啟動(dòng)文檔
6.提升表明速度(不強(qiáng)烈推薦)
為了更好地能夠更好地表明特性,比如表明動(dòng)漫時(shí)對(duì)幀數(shù)有規(guī)定,可以利用改動(dòng)下邊的主要參數(shù)將i2c工作頻率從默認(rèn)設(shè)置的100khz提高到1mhz.
sudo nano /boot/config.txt
在文尾加上一行:
dtparam=i2c_baudrate=1000000