本文主要是介绍树莓派+开启热点+mentohust+caddy,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
硬件
- 笔记本电脑
- 树莓派3B+
- 网线一根
树莓派连接
1.网络共享
由于购买树莓派时,未额外选择显示屏,所以树莓派的连接部分还是稍显麻烦的。
注:树莓派官方系统未开启ssh功能,而我所购买的商家提供了已经开启ssh、中文等功能的版本,如果你使用的是官方系统,那么建议你使用Linux系统,直接修改烧录的系统文件以开启ssh
电脑接入无线网,使用网线将电脑和树莓派连接,打开网络连接,将无线网共享给以太网端口:
2.ssh连接
在电脑cmd命令行或power shell中使用命令arp -a
查询,与电脑连接的树莓派的IP地址一般为:“192.168.137.xxx”,接着使用 xshell 或 putty 连接:
设备的用户名及密码一般为:账户:pi,密码:raspberry
若是已经修改的系统版本,其用户名及密码已经被修改,自行询问商家。
开启热点
这里使用的是GitHub上的一个项目,直接复制下面的命令进行安装:
# 获取root权限
sudo -i#将代码copy到本地,安装
git clone https://github.com/oblique/create_ap
cd create_ap
make install#安装依赖的库
apt-get install util-Linux procps hostapd iproute2 iw haveged dnsmasq
以上就已经完成了该项目的安装,使用时只需要执行下列命令:
# 自行设置热点名及密码
sudo create_ap wlan0 eth0 热点名 密码
这是开启WPA + WPA2密码模式的WiFi,还有其他的方式,请访问Github查看。
想要开机即启动热点,需要将sudo create_ap wlan0 eth0 热点名 密码
添加到/etc/rc.local
(在eixt 0
之前)。
第一个提及开启热点是因为设置了热点后,即便你不用网线,在树莓派开机后连上它的WiFi,你也可以通过ssh连接设备,进行操作了。
如果你所使用的以太网需要mentohust登陆的话,先别急着拔掉与电脑连接的网线
mentohust编译安装
如果宽带不需要认证则可跳过该部分。
源码编译
由于mentohust并没有基于armv7的软件包,因而需要我们自行从源码编译。
执行下列命令进行安装:
# 进入操作目录:sudo -imkdir /home/mentohustcd /home/mentohust
# 下载libpcap:wget http://www.tcpdump.org/release/libpcap-1.0.0.tar.gz
# 配置libpcap编译环境:apt-get install gcc libc6-dev m4 flex bison
# 编译libocap:tar zxvf libpcap-1.0.0.tar.gzcd libpcap-1.0.0/./configuremake
# 下载mentohust:lscd ..wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/mentohust/mentohust-0.3.1.tar.gz
如果执行上面最后一条命令后无法下载,那么你下面两种选择:
- 打开树莓派的VNC服务(网上有教程),使用笔记本登陆VNC,搜索mentohust源码包(CSDN上可找到),下载之后移动到
/home/mentohust
。 - 使用笔记本下载mentohust源码,或在CSDN上下载,在树莓派上执行
apt install lrzsz
,之后利用rz
命令将本地文件上传到树莓派,继续下面的命令
# 配置编译环境:apt-get install build-essential bison flex zlib1g-dev libncurses5-dev subversion quilt intltool ruby fastjar unzip gawk
# 配置编译mentohust:若文件名不同,则自行修改tar zxvf mentohust-0.3.1.tar.gzcd mentohust-0.3.1/./configure --disable-encodepass --disable-arp --disable-notify --disable-nls --with-pcap=/home/mentohust/libpcap-1.0.0/libpcap.amake
执行完以上命令后,mentohust可执行文件在当前文件夹的src目录中(绝对路径为 /home/mentohust/mentohust-0.3.1/src/),将该文件移动到/usr/bin
目录下:
cp mentohust /usr/bin
配置连接信息
此时你已经获得了可用的mentohust文件,使用sudo mentohust -h
将获得以下结果:
欢迎使用MentoHUST 版本: 0.3.3
Copyright (C) 2009 HustMoon Studio
人到华中大,有甜亦有辣。明德厚学地,求是创新家。
Bug report to http://code.google.com/p/mentohust/issues/list
用法: mentohust [-选项][参数]
选项: -h 显示本帮助信息-k 退出程序-w 保存参数到配置文件-u 用户名-p 密码-n 网卡名-i IP[默认本机IP]-m 子网掩码[默认本机掩码]-g 网关[默认0.0.0.0]-s DNS[默认0.0.0.0]-o Ping主机[默认0.0.0.0,表示关闭该功能]-t 认证超时(秒)[默认8]-e 响应间隔(秒)[默认30]-r 失败等待(秒)[默认15]-a 组播地址: 0(标准) 1(锐捷) 2(赛尔) [默认0]-d DHCP方式: 0(不使用) 1(二次认证) 2(认证后) 3(认证前) [默认0]-b 是否后台运行: 0(否) 1(是,关闭输出) 2(是,保留输出) 3(是,输出到文件) [默认0]-y 是否显示通知: 0(否) 1~20(是)[默认5]-f 自定义数据文件[默认不使用]-c DHCP脚本[默认dhclient]
例如: mentohust -uusername -ppassword -neth0 -i192.168.0.1 -m255.255.255.0 -g0.0.0.0 -s0.0.0.0 -o0.0.0.0 -t8 -e30 -r15 -a0 -d1 -b0 -fdefault.mpf -cdhclient
使用时请确保是以root权限运行!
因此你可以直接复制他给出的例子,将参数填入其中,在最后加上一个’-w’,就会将所有的参数保存到/etc/mentohust.conf
中,当然运行时别忘了加上sudo
!
开机自启
那么接下来就要设置mentohust的开机启动了:
编辑启动脚本:sudo vim /etc/init.d/mentohust
内容入下:
#!/bin/sh
#
# chkconfig: 2345 80 20
# description: mentohust
#
./usr/bin/mentohust
设置可执行权限:chmod 755 /etc/init.d/mentohust
使用chkconfig
添加脚本以在开机时启动:
apt install chkconfig
chkconfig --add mentohust
chkconfig mentohust on
查看脚本是否成功添加:
chkconfig --list mentohust
若成功则得到以下结果:
mentohust 0:off 1:off 2:on 3:on 4:on 5:on 6:off
若想禁用脚本,则执行:
chkconfig mentohust off
chkconfig --del mentohust
以上,搞定了mentohust连接的问题,你就可以尝试将以太网插入树莓派中,并对其进行重启,手机或电脑连接WiFi,尝试一下树莓派的热点啦。
caddy安装配置
下载安装
这一部分是因为个人需求,树莓派的内存卡只有16G,因而注定了它无法存储太大的文件,该项也只是为了方便多设备连接树莓派时,文件的即时传输。
可在caddy官网上选择自己的设备框架及插件:
然后下拉界面,你会看到这个:
实际上我在安装的时候并没有看到这个,,,所以废了好大一番功夫才搞定caddy的安装的,现在,建议直接使用该命令安装caddy:
curl https://getcaddy.com | bash -s personal http.filebrowser
并随着脚本的提示进行简单的操作。
那么你可能想要问,上面那一行链接是什么呢?
一开始我以为是用来方便命令行下载的,但,,,我并没有成功:
root@raspberrypi:~# wget https://caddyserver.com/download/linux/arm7?plugins=http.filebrowser&license=personal&telemetry=off
[1] 17651
[2] 17652
root@raspberrypi:~# --2019-03-02 21:54:33-- https://caddyserver.com/download/linux/arm7?plugins=http.filebrowser
正在解析主机 caddyserver.com (caddyserver.com)... 2604:a880:2:d0::1145:e001, 138.68.240.78
正在连接 caddyserver.com (caddyserver.com)|2604:a880:2:d0::1145:e001|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 400 Bad Request
2019-03-02 21:54:34 错误 400:Bad Request。^C
[1]- 退出 8 wget https://caddyserver.com/download/linux/arm7?plugins=http.filebrowser
[2]+ 已完成 license=personal
因而若你想下载之后再配置,只能使用VNC连接树莓派,从图形化界面下载,也就是和我一开始麻烦的下载方法。
下载完成后,进入文件目录,运行以下命令:
tar zxvf caddy_*
mv caddy /usr/local/bin
额,我并不清楚解压后的文件名称,因此,自己记得修改哈。
这时,你可以执行caddy
然后访问 “路由器内网IP:2015” ,你如果看到404错误,说明caddy正在运行,但站点的根目录缺少index文件。
配置信息
首先,你要选定一个目录作为你的网站目录,文件夹位置自行选择,我这里是:
mkdir /home/www/file
之后,你可以编辑一个文件作为caddy的配置文件:
vim /etc/Caddyfile
文件内容如下:
:80 {root /home/www/filetimeouts nonegzipfilebrowser / /home/www/file {# 数据库文件可自行设定位置database /home/www/filebrowser.db}
}
caddy还有更多的插件和设定,但我的目的只是在局域网下快速的传递文件,因而不做更多叙说。
开机设置
编辑启动脚本:sudo vim /etc/init.d/caddy
内容入下:
#!/bin/bash
#
# chkconfig: 2345
# description: caddy
#
./usr/local/bin/caddy -conf /etc/Caddyfile
设置可执行权限:chmod 755 /etc/init.d/caddy
使用chkconfig
添加脚本以在开机时启动:
apt install chkconfig
chkconfig --add caddy
chkconfig caddy on
查看脚本是否成功添加:
chkconfig --list caddy
OVER
这篇关于树莓派+开启热点+mentohust+caddy的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!