第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文章
2259瀏覽量
127007 -
樹莓派
+關注
關注
121文章
2009瀏覽量
107476
發布評論請先 登錄
Wi-Fi 8要來了!未來Wi-Fi技術演進方向揭秘

如何選擇合適的芯科科技Wi-Fi開發板
CY8CPROTO-062S2-43439無法連接到ThingSpeak服務器怎么解決?
告別廣告與 ISP 追蹤!如何在樹莓派上設置 DNS 緩存服務器 — 完整指南!

基于 Wi-Fi 的定位服務
Wi-Fi 定位服務流程
nRF Cloud Wi-Fi 定位服務
Wi-Fi 定位服務
推出了期待已久的 nRF7002 低功耗Wi-Fi 6
nRF7002是我們獨特的Wi-Fi產品組合中的第一款設備
華為海思正式進入Wi-Fi FEM賽道?
從Wi-Fi 4到Wi-Fi 7:網速飆升40倍的無線革命

評論