前言
最近参展有个小车要做,我的想法是,开热点,mjpg-streamer,然后通过web控制就行了,找开热点的教程时看到了这个(https://blog.csdn.net/keyue123/article/details/53411609)用ap-hostpot的,但是好像这个库已经不在了,文章中用的链接已经打不开了,于是自己写一个吧。(这个教程后面有时间再探索,应该有镜像备份吧)
这里我用的是BPI-M2 Pro,系统是2021-06-21-ubuntu-20.04-server-bpi-m5-m2pro-aarch64-sd-emmc.img.zip
将系统写到emmc之后(具体教程看这里),可以直接开始了
正文
这个系统默认是没有开wlan0的,所以要手动打开
sudo ifconfig wlan0 10.5.5.1/24 up
将wlan0和eth0配置为桥连
sudo nano /etc/netplan/50-cloud-init.yaml
可能还有其他名字,不过也一样
添加wifis和bridges,改后如下
# This file is generated from information provided by the datasource. Changes # to it will not persist across an instance reboot. To disable cloud-init's # network configuration capabilities, write a file # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following: # network: {config: disabled} network: ethernets: eth0: dhcp4: true match: macaddress: 02:00:00:20:03:01 set-name: eth0 wifis: wlan0: access-points: opennetwork: {} bridges: br0: interfaces: [eth0, wlan0] dhcp4: true dhcp6: true version: 2
接着需要安装hostapd
sudo apt update sudo apt install hostapd
配置wifi文件
sudo nano /etc/hostapd/hostapd.conf
下面是我用的配置文件(具体配置设置可以看这里https://wiki.gentoo.org/wiki/Hostapd#802.11a.2Fn.2Fac_with_WPA2-PSK_and_CCMP)
# AP使用的接口 interface=wlan0 # "g" 意思是2.4GHz的WiFi hw_mode=g # 使用的channel channel=10 # 将使用的频率限制为该国允许的频率 ieee80211d=1 # the country code country_code=FR # 802.11n support ieee80211n=1 wmm_enabled=1 ssid=BPI-Car auth_algs=1 wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP wpa_passphrase=bananapi
ctrl+x,y,回车保存
接下来运行下面命令就能开启热点
sudo hostapd /etc/hostapd/hostapd.conf -B
这时能够搜到wifi了,但是连不上去,应为没有安装dhcp server,导致设备无法获取到ip
安装isc-dhcp-server
sudo apt install isc-dhcp-server
然后编辑文件/etc/default/isc-dhcp-server,将wlan0设置为INTERFACES:
sudo nano /etc/default/isc-dhcp-server
添加一下代码
INTERFACES="wlan0"
编辑/etc/dhcp/dhcpd.conf
sudo nano /etc/dhcp/dhcpd.conf
添加以下代码
subnet 10.5.5.0 netmask 255.255.255.0 { range 10.5.5.26 10.5.5.30; option domain-name-servers 8.8.8.8; option routers 10.5.5.1; option broadcast-address 10.5.5.255; default-lease-time 600; max-lease-time 7200; }
重启dhcp
sudo service isc-dhcp-server restart
配置开机启动
sudo nano /etc/rc.local
添加以下代码
#!/bin/bash sudo ifconfig wlan0 10.5.5.1/24 up sleep 4 sudo service isc-dhcp-server restart echo 1| sudo tee /proc/sys/net/ipv4/ip_forward sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo hostapd /etc/hostapd/hostapd.conf -B
sudo chmod 755 /etc/rc.local
#!/bin/bash
#sudo nmcli radio wifi off
#sudo rfkill unblock wlan
sudo ifconfig wlan0 10.5.5.1/24 up
sleep 4
sudo service isc-dhcp-server restart
echo “1” > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo hostapd /etc/hostapd/hostapd.conf -B
/home/pi/mjpg/mjpg_streamer -i “/home/pi/mjpg/input_uvc.so” -o “/home/pi/mjpg/output_http.so -w /home/pi/mjpg/www”
暂无评论