用樹莓派做魔鏡
用樹莓派來做魔鏡
一部分內容的轉載宣告:我是參照http://www.tuicool.com/articles/IFnQn2U這個網站做得,並加以修改,完成了這次大作業
一、材料
樹莓派、原子鏡(我們是用貼膜的,材料還沒到,暫時不知道效果怎麼樣)、顯示器(顯示屏+對應的驅動板)、HDMI線(HDMI轉VGA)、8G及以上容量記憶體卡、Raspbian系統、Dht11溫度感測器
二、使樹莓派顯示中文
1.更新軟體包(過程會很慢 耐心等待):
sudo apt-get update
apt-get upgrade
2.安裝字型
sudo apt-get install ttf-wqy-zenhei
3.重新整理字型檔快取
sudo fc-cache
4.字型配置
sudo dpkg-reconfigure locales
5.用上下鍵和空格鍵選擇下列內容然後回車(這些還是很有必要選的,不然後面的中文很可能輸不出來!!!)
en-GB.UTF-8 UTF-8
zh_CN.GB2312
zh.CN.GB18030GB18030
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
在出現的選單裡選擇zh_CN.UTF-8,回車確定
6.安裝中文拼音輸入法
sudo apt-get install scim-pinyin
7.設定時間
sudo dpkg-reconfigure tzdata
先選擇Asia,回車,再選擇ShangHai,回車
8.重啟
sudo reboot
三、螢幕設定
如果你想讓魔鏡為縱向模式,所以需要將螢幕順時針旋轉90度。
樹莓派的BIOS設定儲存在系統啟動分割槽中。在這分割槽中,有一個config.txt檔案,載有所有設定。要旋轉顯示器,在這檔案內加上以下兩行程式碼:
1.螢幕旋轉90°
display_rotate=1
2.允許HDMI支援熱插拔
hdmi_force_hotplug=1
四、瀏覽器下載
有些人原裝的瀏覽器就是chromium,就不用下載了,直接用原來那個就好了
這一步是給沒有chromium瀏覽器的人看的
我試了很多網上的指令都不能執行,還好我的搭檔這次大作業比較認真,找到了這個下載chromium的教程:
http://video.tudou.com/v/XMTc4OTczNjEyMA==.html#?qq-pf-to=pcqq.c2c
在樹莓派中找到視訊教程中的網站進行下載就好了
五、配置伺服器
1.安裝Apachce
sudo apt-get install apache2
sudo apt-get install apache2-doc
sudo apt-get install apache2-utils
2.PHP
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5 php5-xcache
3.建立一個PHP網頁()
sudo nano /var/www/html/index.php
輸入以下內容
<html>
<?php
Phpinfo();
?>
</html>
儲存後在瀏覽器中輸入http://locahost並回車,出現以下介面即為成功
(如果是apache頁面請用以下命令刪除/var/www/html目錄下的index.html檔案)
rm -rf /var/www/html/index.html
在這之前,我使用了一個老外的教程,但是一直沒有成功,這次不成功也對我這一步造成了重大的影響,就是我沒有把之前下載的nginx給解除安裝掉,導致我即使把index.html刪了也沒用
所以一定要把之前同類型的軟體都給解除安裝掉,否則會對實驗結果造成影響!!!
六、Chromium的開機自啟及全屏執行並指向特定頁面
1.在/home/pi/.config目錄裡建立一個autostart資料夾
mkdir /home/pi/.config/autostart/
2.在/home/pi/.config/autostart目錄裡建立並編輯my.desktop檔案
nano /home/pi/.config/autostart/my.desktop
3.輸入以下內容
[Desktop Entry]
Type=Application
Exec=chromium-browser –disable-popup-blocking–no-first-run–disable-desktop-notifications –kiosk
nano編輯器Ctrl+O鍵是寫入檔案(儲存檔案)會提到是否儲存,請按回車鍵
Ctrl+X退出編輯器
4.在Chromium中設定開啟瀏覽器是開啟指定頁為:http://localhost
5.滑鼠不移動時自動隱藏游標
sudo apt-get install x11-xserver-utils unclutter
七、網頁安裝:
這是我使用的原始碼
原始碼來自:
原作者是用FTP上傳的,但是我試了試不太行,我就直接用電腦上git上下載好,然後U盤傳輸
簡單粗暴!!
把MagicMirror裡面的檔案拷到/var/www/html這個資料夾,並且把MagicMirror裡面的檔案直接放出來,這個殼也不要了
八、魔鏡配置檔案:
接下來的教程
九、新聞訂閱
十、溫度感測器
直接去原來的網站看吧,基本都是對的了:
http://www.tuicool.com/articles/IFnQn2U
唯一可能會有問題的是,python要求縮排的,這個網址的程式碼,沒有縮排會導致執行不出來(應該是網頁的原因)
我在下面有吧dht11.py的程式碼貼出來,可以直接複製來用一下!!!
第九步驟弄完以後,我出現了變不了中文的情況,這個難受了我很久
結果還是被我的搭檔破解了:
到瀏覽器中找編碼形式,形式之間轉一轉,然後再轉會UTF-8的形式,reboot過以後,發現就可以了,原理我也不懂,只能說緣分來了
擋也擋不住!
我順便把dht11的py檔案排好版給你們,省得基礎差的,結構都找不出來。。。
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
channel = 17
while True:
data= []
j= 0
GPIO.setmode(GPIO.BCM)
time.sleep(1)
GPIO.setup(channel,GPIO.OUT)
GPIO.output(channel,GPIO.LOW)
time.sleep(0.02)
GPIO.output(channel,GPIO.HIGH)
GPIO.setup(channel,GPIO.IN)
whileGPIO.input(channel) == GPIO.LOW:
continue
whileGPIO.input(channel) == GPIO.HIGH:
continue
while j < 40:
k = 0
while GPIO.input(channel) == GPIO.LOW:
continue
while GPIO.input(channel) == GPIO.HIGH:
k += 1
if k > 100:
break
if k < 8:
data.append(0)
else:
data.append(1)
j += 1
print "sensor is working"
print data
humidity_bit = data[0:8]
humidity_point_bit = data[8:16]
temperature_bit = data[16:24]
temperature_point_bit = data[24:32]
check_bit = data[32:40]
humidity = 0
humidity_point = 0
temperature = 0
temperature_point = 0
check = 0
for i in range(8):
humidity += humidity_bit[i] *2 ** (7 - i)
humidity_point +=humidity_point_bit[i] * 2 ** (7 - i)
temperature += temperature_bit[i] * 2 ** (7 - i)
temperature_point +=temperature_point_bit[i] * 2 ** (7 - i)
check += check_bit[i] * 2 **(7 - i)
tmp = humidity + humidity_point + temperature + temperature_point
if check == tmp:
f =file("/var/www/html/th/wth.th","w+")
li =['{"temperature":%s,"humidity":%s}' % (temperature,humidity) ]
f.writelines(li)
f.close()
time.sleep(10)
del data[:]
j = 0
GPIO.cleanup()
我本來還想加點語音識別的功能的,給大作業提提分數
魔鏡魔鏡,誰是世界上最帥的人
是你呀,主人
但是,實力有限,實在寫不出來
看看網上都是要手動控制時間的長短的,這樣就達不到爸爸魔鏡的效果了
如果有大神實現語音識別功能了,一定要私信給我,感動!!!
晒晒醜圖吧,我們直接用電腦做的,螢幕買不起
也沒有裝裱過,畢竟樹莓派也是學校提供的,用完還得還回去,很難受
講道理這個魔鏡真的要做完,成本還挺高的,大一點的魔鏡1200+總要的吧,畢竟螢幕這麼貴!!!
再附加一張老外的成品圖,以顯示這個專案的逼格還是有那麼一點點的
不過我們的網頁程式碼和他還是不太一樣的,這個只是讓你們看看,做得好的是怎麼樣的!!!
就是要花點錢
有錢了,就都不是問題,/攤手/