大概就是用 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
就參考
上一篇