2018/4/20

Wifi http storage server

大概就是用 raspberry 做一個會將 usb 儲存裝置透過 http server export 出來的 image。
另外要是 Wifi ap mode。

開機後,插上 usb 儲存裝置後。
手機或是NB 連上這個 wifi ap 後,就可以用 browser 開啟 usb 裝置的根目錄。

所以需求是:
  • Wifi AP Mode
  • USB auto mount
  • http server

USB auto mount
apt-get install usbmount
然後,用 stretch 的話,要改一下..
USB Auto mount - Raspbian Stretch Lite [Solved]
就是去改 /lib/systemd/system/systemd-udevd.service:
MountFlags=shared   #private
還要注意中文檔名問題,要再 mount 時加上 option charset=utf8
usbmount utf support
修改 /etc/usbmount/usbmount.conf:
FS_MOUNTOPTIONS="-fstype=vfat,iocharset=utf8"
指定 mount vfat 時要用 這個 option。
重開機,就可以了。

Wifi ap

ref:setting up raspberry pi as a wifi access point

因為沒有要做 interface gateway,只是單純的要把 usb driver 經由 nginx export 出來,
所以只要做前面的部份:
  • set wlan0 as static ip
  • set dnsmasq , give wlan0 a ip range
  • set wlan0 as access point
要設定 wlan0 用 static ip 好像有兩種作法,這個 是另一種 (disable dhcpcd, 用 network/interface 設定)
這裡用的是,利用 dhcpcd 指定 wlan0 ip-address。
修改 /etc/dhcpcd.conf,把下面加到檔案最後..
interface wlan0
    static ip_address=172.16.130.1/24
和 改 network/interface 不一樣的是,這樣改完後,restart dhcpcd,用 ifconfig 看,wlan0 一樣沒 ip。

修改 /etc/dnsmasq.conf,一樣,加入這兩行
interface=wlan0      
  dhcp-range=172.16.130.2,172.16.130.4,255.255.255.0,24h

hostapd 則是要新增 /etc/hostapd/hostapd.conf 這個file..
interface=wlan0
driver=nl80211
ssid=NameOfNetwork
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=AardvarkBadgerHedgehog
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
然後修改 /etc/default/hostapd,叫他用這個 conf
DAEMON_CONF="/etc/hostapd/hostapd.conf"

nginx

就參考上一篇

沒有留言:

張貼留言