第1步:材料
Raspbery Pi Model B
电源适配器
SD存储卡
WiFi适配器(华硕USB-N13)
以太网电缆
USB存储(USB密钥或拇指驱动器)
Raspbian “wheezy”Linux发行版(2013-02-09-wheezy-raspbian)
成像软件(例如:Win32DiskImager,http://sourceforge.net/projects/win32diskimager/)
WiFi驱动程序(Realtek RTL8192CU)
[可选] Javascript Framework(bootstrap.js)
第2步:开发环境
带有Internet连接和SD卡读卡器的PC
有线互联网连接
额外的USB键盘,显示器(带HDMI端口或适配器)和USB鼠标
HDMI线(和适配器,如有必要)
步骤3:下载和将Linux分发映像刻录到SD卡
下载Raspbian“wheezy”映像zip文件(http://www.raspberryp) i.org/downloads)并将其解压缩到您选择的目录中。
Linux发行版使用:2013-02-09-wheezy-raspbian
获取支持SD卡的成像软件
Ex:Win32DiskImager, http://sourceforge.net/projects/win32diskimager/
将linux发行版的图像刻录到SD卡:
1。打开Win32磁盘映像器
2。单击目录图标并导航到下载和解压缩的图像(.IMG)并选择“写入”。..提示时确认“是”
3。完成后,会弹出一个窗口,说“写入成功”。单击确定。单击“退出”。
4。删除SD卡。
步骤4:Raspberry Pi的初始启动和配置
首先启动Raspberry Pi时间结果1。在没有电源的情况下将SD卡插入Pi中
2。确保HDMI,键盘和鼠标连接正确
3。连接5V电源
4。 Pi应该作为进程列表启动,应用程序开始填充屏幕
5。出现蓝屏,显示“Raspi-config”和几个菜单选项
6。向下箭头选择“expand_rootfs”并按Enter键7。 “根分区已调整”,然后按回车键。结果8。向下箭头选择‘configure_keyboard’,按Enter键 - a。 (这需要一点时间)从大型选项列表中选择合适的键盘,然后按Enter键。
i。我们使用的是“戴尔USB多媒体键盘”。
b。键盘布局:选择“其他”。按Enter键。
c。选择“英语(美国)”。按Enter键d。选择“英语(美国)”。按Enter
e。 “用作AltGr的键:”选择‘键盘布局的默认值’。 Pres Enter
f。 “撰写密钥:”选择“无撰写密钥”。按Enter
g。 “使用Control + Alt + Backspace终止X服务器?”选择“否”。按Enter键h。消息:“设置初步键映射”。..完成后选择《完成》
i。按两次右箭头键选择“完成”,然后按Enter键。
i。 “你想现在重启吗?”选择《是》。按Enter
9。 Pi重新启动并填充进程和应用程序列表。完成后,将显示登录提示。输入“pi”作为用户名,然后按Enter键。
10。对于Password,键入“raspberry”并按Enter
11。命令行将出现“pi @ raspberrypi~ $”
12。通过验证波形符(〜)和斜杠等字符是否正确显示(/)以及任何其他特殊字符来测试键盘配置。
13。键入“startx”并按Enter键以显示桌面GUI
步骤5:在Pi上配置Internet访问
1。通过以太网电缆将Pi连接到本地网络。 Pi板本身应出现绿灯和黄灯。
2。双击桌面图标‘LXTerminal’
3打开终端。输入‘ifconfig’以确保并按Enter键,Pi具有有效的IP地址
4。输入“ping 8.8.8.8”并按Enter确保Pi可以访问外部服务器。
a。 (按CTRL + C停止Ping和当前终端中运行的任何其他程序)
步骤6:使用PHP安装Web服务器
1。在终端类型‘sudo apt-get update’中按Enter键更新‘apt-get’目录
(这可能需要几分钟时间,并确保所有在线软件包和参考都是最新的。)
2。完成输入‘sudo apt-get install lighttpd’后,按Enter键。
a。 “你想继续吗?”输入‘Y’并按Enter键。
3。输入‘sudo apt-get install php5-common php5-cgi php5’(这将安装3个软件包)
a。输入“Y”并在提示时按Enter键。
4。在web目录/var/www/
上设置权限a。 (如下所示:http://www.penguintutor.com/linux/light-webserver)
b。输入‘sudo chown www-data:www-data/var/www’输入
i。仅供参考:将/var/www的所有权更改为用户和组“www-data”
c。输入‘sudo chmod 775/var/www’输入
i。仅供参考:修改所有者(7),组(7)和其他所有人(5)的权限
d。输入‘sudo usermod -a -G www-data pi’输入
i。仅供参考:将用户pi添加到组www-data
5。在与pi相同的网络上的单独计算机上,您现在应该能够将Pi的IP地址输入浏览器并从Lighttpd接收“占位符页面”。
a。 FYI:输入“ifconfig”对接口/IP信息点击6。启用PHP脚本:‘sudo lighty-enable-mod fastcgi-php’输入
7。重新加载服务器‘sudo service lighttpd force-reload’输入
步骤7:安装Wi-Fi网络并配置无线广播
1。打开终端,输入“命令和apt-get安装hostapd”。进入结果2。输入‘sudo apt-get remove hostapd’。输入。如果提示继续,请键入“y”。
a。安装和删除应用程序可确保创建某些稍后需要的目录和文件。
3。将无线适配器插入Pi上的可用USB端口a。我们使用的是华硕USB-N13
4。在终端类型“lsusb”中,输入以获取已识别设备的列表。 USB-N13应出现在列表
5上。使用Windows机器,下载适用于wi-fi适配器芯片组的Linux驱动程序的zip文件。
a。 (RTL8192CU)可以在这里找到:http://www.realtek.com.tw/downloads/downloadsView.aspx? Langid = 1&PNid = 21&PFid = 48&Level = 5&Conn = 4&DownTypeID = 3&GetDown = false&Downloads = true
b。解压缩文件并输入根目录。
c。打开‘wpa_supplicant_hostapd’,解压缩这里找到的两个zip文件。
d。将根目录放在USB驱动器上,然后将驱动器插入Pi
6上的可用端口。将USB驱动器移至Pi,打开终端并键入“cd/media”。输入。
a。键入“ls”以查看Media目录中所有可用目录的列表。 (这是USB驱动器和其他连接的媒体设备将立即自动挂载和命名的目录)
b。输入‘cd 《列出的驱动器名称》’。输入。您现在应该看到USB驱动器的内容(再次输入ls)
7。浏览USB驱动器以找到您的文件(专门为此芯片组设计的Hostapd的修补版本)
a。提示:不是输入整个目录名。..而是可以输入足够多的目录名称字符,然后按
i。例如:‘cd RTL8188C’并按键完成字符串。这仅在只有一个可能的
匹配时才有效。
b。输入‘cd wpa_supplicant_hostapd/wpa_supplicant_hostapd-0.8’输入
c。键入‘ls’时,您应该看到一个名为‘hostapd’的目录,输入‘cd hostapd’,输入。
8。制作和安装
输入‘sudo make’输入。 (这将需要几分钟)
b。输入‘sudo make install’输入。
9。替换文件
将文件“hostapd”从:/usr/local/bin复制到:/usr/sbin
i。 ‘sudo cp hostapd/usr/sbin’
b。将目录更改为/usr/sbin
i。 cd/usr/sbin
c。可能需要制作“hostapd”可执行文件
i。键入‘ls’。..如果标记为‘hostapd’的文件不是绿色,请运行此命令‘sudo chmod + x hostapd’以使其可执行。
10。编辑“interfaces”文件
输入‘cd/etc/network’输入。
b。键入“sudo nano interfaces”以在文本编辑器中打开文件
c。注释(前缀为“#”)以下行:
iface wlan0 init manual
wpa-roam/etc/wpa_supplicant/wpa_supplicant/conf
d。将以下行添加到文件的底部(本指南修改后的内容http://sirlagz.net/2012/08/09/how-to-use-the-raspberry-pi-as-a-wireless-access -pointrouter-part-1/):
iface wlan0 inet static
地址192.168.2.1
netmask 255.255.255.0
e。关闭并保存“接口”
i。 Control + X,Y,Enter
11。输入‘cd/etc/default’输入
12。编辑“hostapd”文件:
a。输入‘sudo nano hostapd’输入
b。删除出现在‘DAEMON_CONF =“”’行之前和引号类型
“/etc/hostapd/hostapd.conf”之前的井号(#)。
c。关闭并保存我。 CTRL + X,Y,Enter。
13。输入‘cd/etc/hostapd’输入。
14。创建指定的配置文件
输入‘sudo nano hostapd.conf’,输入
b。添加以下行
interface = wlan0
ssid = RaspAP
hw_mode = g
channel = 6
beacon_int = 100
auth_algs = 3
wmm_enabled = 1
c。关闭并保存我。 CTRL + X,Y和Enter
15。测试SSID广播
目录不要紧。..。..(键入“cd/等”回车)点击湾sudo service hostapd start
c。 sudo service hostapd stop
16。安装和配置的dnsmasq(应用程序管理DHCP)点击一个。输入‘sudo apt-get install dnsmasq’,输入
b。提示时按Y键。
c。输入‘sudo nano/etc/dnsmasq.conf’来编辑dnsmasq配置并将以下行添加到文件顶部:
interface = wlan0
dhcp-range = 192.168.2.2, 192.168.2.50,255.255.255.0,12h
address =/#/192.168.2.1 #redirect对192.168.2.1的所有DNS请求
d。 CTRL + X,Y,输入
17。启动(或重新启动)服务(您可能需要在上述安装/配置步骤之后重新启动pi)
a。 sudo service hostapd start
b。 sudo service dnsmasq restart
18。重启
a。如果连接了所有需要的设备(WiFi接口),服务应自动启动。关机
sudo poweroff
b。或:sudo shutdown 。.. then poweroff
步骤8:安装USBmount
1。打开Raspberry Pi并登录。
2。安装USBMount
输入‘sudo apt-get install usbmount’,输入,“y”,输入
此软件将取代Pi上的当前配置,该配置会自动在‘/media’上安装具有唯一名称且受限制的USB驱动器权限。现在USB驱动器将安装为‘usb0’,‘usb1’等。
b。重启系统
(‘sudo reboot’)
步骤9:配置Web服务器以访问USB内容
1。编辑Lighttpd服务器的配置文件:输入‘sudo nano/etc/lighttpd/lighttpd.conf’
添加用于访问“/media”目录(以及任何其他目录)的别名URL:附加行:
i。 alias.url + =(“/media/”=》“/media/”)
b。 CTRL + X,Y,输入
c。 sudo service lighttpd restart
步骤10:安装Javascript Framework
1。有关图像和图标的漂亮外观,请访问http://twitter.github.io/bootstrap/index.html并单击下载。
2。解压缩下载的zip文件的内容,并将根文件夹放在Pi/3上的“/www/”中。 Bootstrap依赖于jquery,它也应该下载,放在root上并引用
(http://jquery.com/download/)
4。在PHP代码中,包括bootstrap javascript和css:
echo‘’;
echo‘’; echo‘
’; echo‘’; echo‘’; echo‘’;
步骤11:开发/修改PHP代码
以下是使用Bootstrap的PHP(/var/www/index.php)脚本的示例
我目前支持jpeg,jpg,png,doc ,docx,txt,mp4和pdf。我还包括在USB上查找可选.INI文件的代码,允许操作员稍微修改显示页面的行为。
《?php
//===================配置关机例程============== ====================
if($ _GET [‘action’] ==“Shutdown”)
{
$ test = shell_exec( “touch/tmp/shutdown”);
echo‘
Shutting down 。..
’;
}
============= =======迭代配置文件===================
$ conf = parse_ini_file(‘/media/usb0/conf.ini’,1) ;
if(isset($ conf [‘title’]))
{$ title = $ conf [‘title’];}
else {$ title =‘USB Content’;}
if(isset($ conf [‘images’])){
$ imagedisplay = strtolower($ conf [‘images’]);
}
if(isset($ conf [‘text’]) ){
$ textdisplay = strtolower($ conf [‘text’]);
}
if(isset($ conf [‘docs’])){
$ docdisplay = strtolower($ conf [‘docs’]);
} if if(isset($ conf [‘pdf’])){
$ pdfdisplay = strtolower($ conf [‘pdf’]);
}
if(isset($ conf [‘videos’])){
$ videodisplay = strtolower($ conf [‘videos’]);
}
if(isset($ conf [‘video streaming) ’))){
$ videostreaming = strtolower($ conf [‘video streaming’]);
}
if(isset($ conf [‘labels’])){
$ labels = strtolower($ conf [‘labels’]);
}
//================配置HTML标头======= =====
echo‘
’;
echo‘’;
echo‘’; echo‘’; echo‘’; echo‘’; if if($ imagedisplay! =‘禁用’)
{
//==================================== =======图片===================
$ images = glob(‘/media/usb0/* {。jpg,.png,。 jpeg}’,GLOB_BRACE);//将所有jpegs或PNG聚合成一个数组
if(!empty($ images))
{
echo‘
Images
’ ;
}
$ count = 0;
echo‘
’; echo‘
’;//使用bootstrap创建一行图像
foreach($ images as $ image)
{
echo‘
’;//在12行中的3个跨度填充1/4行 - 》 4列
if($ labels!=‘disabled’)
{
echo‘ ’;
}
echo‘
’;
$ count = $ count + 1;
if($ count == 4)
{
echo‘
’; echo‘
’;//创建新行
$ count = 0;//重置计数器
}
echo‘
’;
echo‘
’;
}
if($ textdisplay!= ‘禁用’)
{
//=================================== Text = =================
$ count = 0;
echo‘
’;
$ texts = glob(‘/media/usb0/* {.txt}’,GLOB_BRACE);
if(!empty($ texts))
{
echo‘
Text
’;
echo‘
’;
echo‘
’;
foreach($ texts as $ text)
{
echo‘
’;
if($ labels!=‘disabled’)
{
echo‘}
}
echo’
‘;
$ count = $ count + 1;
if($ count == 6)
{
echo’
‘; echo’
‘;
$ count = 0;
}
echo’
‘;
echo ’
‘;
}
if($ docdisplay!=’禁用‘)
{
//============ ==============文档=========================
$ count = 0;
$ docs = glob(’/media/usb0/* {.doc,.docx}‘,GLOB_BRACE);
if(!empty($ docs))
{
echo’
Docs
‘;
}
echo’
‘; echo’
‘;
foreach($ docs as $ doc)
{
echo’
‘;
if($ labels!=’disabled‘)
{《回声’
‘。basename($ doc)。’
‘。PHP_EOL;
}
’;
}
echo‘
’;
$ count = $ count + 1;
if( $ count == 6)
{
echo‘
’;
echo‘
’;
$ count = 0;
}
}
echo‘
’;
echo‘
’;
}
if($ pdfdisplay!=‘disabled’)
{
//=============================== PDF =============== ================
$ count = 0;
$ pdfs = glob(‘/media/usb0/* {.pdf}’,GLOB_BRACE);
如果(!空($ PDF文件)){搜索结果ECH o‘
’;
}
echo‘
’;
echo‘
’;
foreach($ pdfs as $ pdf)
{
echo‘
’;
if($ labels!=‘disabled’ )
‘。basename($ pdf)。’
‘。PHP_EOL;
}
echo’}
echo‘
’;
$ count = $ count + 1 ;
if($ count == 6)
{
echo‘
’;
echo‘
’;
$ count = 0;
echo‘
’;
echo‘
’;
}
if($ videodisplay!=‘disabled’)
{
if($ videostreaming!=‘禁用’)
{
//======================== =====视频流==================
$ count = 0;
$ videos = glob(‘/media/usb0/* {。 mp4}’,GLOB_BRACE);
if(!empty($ videos))
{
echo‘
视频
’;
}
echo‘
’;
echo‘
’;
foreach($视频为$ video)
{
echo‘
’;//视频分为两列
echo‘
’;
echo‘
’;
$ count = 0;
}
echo‘
’;
echo‘
’;结果}结果其他搜索{//搜索================================= ====视频下载========================
$ count = 0;
$ videos = glob(‘/media/usb0/* {.mp4}’,GLOB_BRACE);
if(!empty($ videos))
{
echo‘
视频
’;
}
echo‘
’;
echo‘
’;
foreach($ video as $ video)
{
echo‘
’;
if($ labels!=‘disabled’)
{
echo‘
’。basename($视频)。‘
’。PHP_EOL;
//echo‘
’。PHP_EOL;
}
“download =”‘。basename($ video)。’“》 ‘;
}
echo’‘;
$ count = $ count + 1;
if($ count == 6)
{
echo’‘; echo’
‘ ;
$ count = 0;
}
echo’
‘;
echo’
‘;
}
}
//==================
echo’
‘;
//========= ========配置页脚======================
if(空($ images)&& empty($ texts)&& empty ($ videos)&& empty($ pdfs)&& empty($ docs))
{
echo’
无需显示任何内容。
‘;
}
echo’‘; echo’
‘; echo’ Shutdown ‘; echo’
‘; echo’‘; echo’‘;
echo’‘;
echo’‘;
?》
步骤12:配置Cron作业
在此处添加了关闭cron作业:http://ubuntuforums.org/showthread.php?t = 1855905
由于Apache服务器以用户www-data运行而不是root用户,因此我不知道t认为该示例将起作用。
需要两个脚本:一个在浏览器中显示的PHP脚本,以及一个使用cron以root身份运行的shell脚本:
浏览器代码:
要添加到索引的代码.php:
if($ _POST [’action‘] ==“Shutdown”){
$ test = shell_exec(“touch/tmp/shutdown”);
}
Shell脚本/usr/sbin/check_shutdown(编辑命令:’sudo nano/usr/sbin/check_shutdown‘)
代码:
#!/bin/sh
if [-f“/tmp/shutdown”]
rm -f/tmp/shutdown
/sbin/shutdown -h now
fi
编辑root的crontab使用命令“sudo crontab -e”并添加行代码:
* * * * * sh/usr/sbin/check_shutdown
每分钟运行一次check_shutdown脚本。如果找到PHP脚本创建的/tmp/shutdown文件,它将执行shutdown命令。
步骤13:在USB Key上加载媒体并连接到Pi
只需插入一个USB驱动器,其中包含您希望以无线方式提供的文件(支持的文件类型)并插入Raspberry Pi。
步骤14:测试客户端连接&媒体浏览
在Pi的范围内,使用笔记本电脑,智能手机或其他移动设备,连接到标有’的无线接入点RaspAP‘。
连接后,打开浏览器并导航到“192.168.2.1”或输入基本请求,例如“www.google.com”。这应该会将您重定向到您的页面。
责任编辑:wv
-
wi-fi
+关注
关注
14文章
2118浏览量
124365 -
树莓派
+关注
关注
116文章
1701浏览量
105557
发布评论请先 登录
相关推荐
评论