用树莓派来做魔镜
一部分内容的转载声明:我是参照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
输入以下内容
Phpinfo();
?>
保存后在浏览器中输入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
七、网页安装:
这是我使用的源码
源码来自:
https://github.com/HelloWk/MagicMirror
原作者是用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+总要的吧,毕竟屏幕这么贵!!!
再附加一张老外的成品图,以显示这个项目的逼格还是有那么一点点的
不过我们的网页代码和他还是不太一样的,这个只是让你们看看,做得好的是怎么样的!!!
就是要花点钱
有钱了,就都不是问题,/摊手/