共计 3979 个字符,预计需要花费 10 分钟才能阅读完成。
作者:彭小呆
起源:segmentfault.com/a/1190000021143144
一、树莓派是什么?
Raspberry Pi(中文名为树莓派, 简写为 RPi,( 或者 RasPi / RPI) 是为学习计算机编程教育而设计 ),只有信用卡大小的微型电脑,其零碎基于 Linux。随着 Windows 10 IoT 的公布,咱们也将能够用上运行 Windows 的树莓派。
自问世以来,受泛滥计算机发烧友和创客的追捧,已经一“派”难求。别看其表面“娇小”,内“心”却很弱小,视频、音频等性能统统皆有,堪称是麻雀虽小,五脏俱全。
1. 用我的话了解
用我的话了解就是树莓派就是一台主机,你能够外接显示器,键盘鼠标,u 盘等等外设,因为它体积很小,而且又有很多串口和外接的口,能够间接调用很多底层硬件。
2. 市面上的型号
市面上大多是 3 代 B+ 型,淘宝一搜树莓派一大堆都是,价格纯主板(不要任何外设)在 230+ 左右,有点小贵,超过我的估算,所以我持续寻找便宜的,终于让我发现了一款 100+ 的树莓派。
3. 树莓派 zero w
树莓派 zero w 是一款 mini 的树莓派,体质只有 3b+ 的 1/3。理论到手后,你会发现它真的超级小,超级可恶。以下是我的实物图,你能够看看大小到底有多 mini。
你能够看到,最下面是一根一般的彩色签字笔,接下来是一个即插即用型的外接 wifi 网卡,而后是一个 USB 读卡器,最底下的就是咱们明天的配角 zero w。它真的超级小,有木有。真的是完满的诠释了那句“麻雀虽小,五脏俱全”的话。
zero w 这款树莓派的主要参数如下:
• BCM2835 处理器,1GHz 主频,512MB RAM
• BCM43438 WiFi / BT 芯片
• micro-USB 电源接口
• micro-USB OTG 接口
• miniHDMI 端口
• 复合视频和重置扩大接口
• 软弱的 CSI 摄像头接口
• micro-SD 卡座,寄存操作系统
• 40-pin GPIO 扩大接口
• 尺寸:65mm*30mm
你别看它的 cpu 只有 1 核,内存只有 512MB,就感觉它可能什么都做不了,然而实际上它的性能还是很好的,用于跑一个网站真的是小 case。
4. 更多树莓派
对于更多树莓派型号或者应用教程你能够去树莓派实验室这个网站,下面有丰盛的资源。
二、树莓派 zero w 装置零碎
1. 筹备
你可能提前须要筹备的货色如下:
• 16GB or 32GB 的 SanDisk 内存卡(留神是以前那种放在手机上,很小的哦)
• 一根最一般不过的 usb 安卓数据线(not type-c)
• u 盘格式化工具(举荐应用 SDFormatter)
• 零碎烧写工具(Win32DiskImager)
• 树莓派零碎(能够去官网下载)
我应用的是 Raspbian Stretch Lite 这个零碎镜像,这个零碎是官网制作的,lite 是无桌面版的,只有黑压压的控制台,长处是体积小,省性能和内存。
名字带有 desktop 的是有桌面 ui 的,对不相熟 liunx 零碎的敌人可能更敌对,然而体积很大,占用的性能也会更高。
2. 第一步下载零碎镜像
下载好你须要的零碎镜像后,如下图
一开始只有一个 zip 的压缩包,大小大略 360MB 左右,你须要把它解压,失去上图的文件夹。
而后进入文件夹能够看到一个 img 的镜像,大小为 1.7GB 左右。
ps:这个官网的 Raspbian 镜像,如果是其余第三方的镜像,可能下载后的压缩包解压后不是 img 镜像,这种状况请另行百度解决。
3. 应用 Win32DiskImager 往内存卡中写入镜像
把内存卡插入读卡器后,插入电脑。
关上 Win32DiskImager 软件后,抉择 img 镜像,设施抉择你的 U 盘,而后点击写入就能够了,写入实现后会弹出胜利的提示框。
ps: 我上图没有抉择设施,因为的没插入读卡器,仅仅是示范而已
4. 批改 boot 分区的文件
先别急着插入读卡器,此时,咱们电脑能够看到 u 盘中只有一个名为 boot 的分区,大小可能只有 40MB 左右,不要焦急,因为 window 不辨认内存卡中 liunx 零碎的其余分区。
4.1 新建 ssh 文件
因为咱们的 zero w 有一个 mini hdmi 的接口,然而我不须要屏幕,所以须要应用 ssh 连贯到 zero w 中的零碎,所以须要在第一次开机就能开启 ssh 性能。
咱们进入 boot 分区内,而后新建一个名为 ssh 的文件,留神不要后缀名!!!!也不要往里面写任何货色!!
4.2 新建 wpa_supplicant.conf 文件
因为 ssh 连贯是须要 ip 地址的,所以咱们须要将 zero w 在第一次开机主动连贯 wifi,使其和咱们的电脑处于一个局域网,这样咱们才能够通过 ssh 连贯到 zero w 的零碎。
同样的在 boot 分区内,新建一个名为 wpa_supplicant.conf 的文件,而后往里面写入如下内容后保留:
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="你的 wifi 名字"
psk="你的 wifi 明码"
}
5. 组装咱们的最小主机并连贯
取出读卡器中的内存卡,而后插入到 zero w 中,应用一根 usb 安卓数据线连贯电源(5V1A)即可。
期待几分钟,期间咱们的 zero w 的指示灯会始终闪动,很失常,期待指示灯常亮的时候,咱们去路由器上,查看一下树莓派的 ip 地址。
能够看到咱们 zero w 的 ip 为 192.168.0.104,而后应用 ssh 连贯工具(举荐应用 putty)连贯树莓派,初始账户为 pi,明码是 raspberry。
连贯胜利,如上图所示。这样咱们的零碎就正确无误的装置好了。
ps: 如果是手机开启热点当做一个路由器的话,咱们手机下载一个名叫 android terminal 的 app,而后输出 ip neigh 指令,就能够查到连贯到手机的设施的 ip 信息了。
6. 优化咱们树莓派的零碎
6.1 批改源
因为国外的源,咱们在国内的连贯过来网速很慢,所以咱们须要批改为国内的源,我批改的是中科大的源。
6.1.1 批改 sources.list 文件
sudo nano /etc/apt/sources.list
-- 正文其余内容,增加以下:
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/raspbian stretch main contrib non-free rpi
6.1.2 批改 raspi.list 文件
sudo nano /etc/apt/sources.list.d/raspi.list
-- 正文其余内容,增加以下:
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian stretch main ui
6.1.3 执行更新
sudo apt-get update
sudo apt-get upgrade
6.2 批改时区
sudo dpkg-reconfigure tzdata
找到亚洲 Asia,而后抉择 shanghai 就能够了。
6.3 开机自启 ssh
第一种:
sudo raspi-config
进入抉择找到 interfacing option 抉择,而后找到 ssh,按回车使能 enable 就能够了。
第二种:
在终端命令行中启动 SSH 服务后,如果零碎重启或关机后启动,SSH 服务默认是敞开的,仍然须要手动启动,为了不便能够设置 SSH 服务开机主动启动,关上 /etc/rc.local 文件,在语句 exit 0 之前退出:/etc/init.d/ssh start
倡议都试试,反之我的是能够了。
7. 装置 nginx
# 装置
sudo apt-get install nginx
#启动
sudo /etc/init.d/nginx start
#重启
sudo /etc/init.d/nginx restart
#进行
sudo /etc/init.d/nginx stop
关上浏览器拜访 192.168.0.104(你的树莓派 ip 地址),能够看到 nginx 的页面,阐明装置好了。
我这边上传了我的博客,如下图
能够失常的看到页面了,然而这样只能在内网(局域网中)看到,我想让所有人都能够拜访怎么办?
8. 内网穿透
内网穿透,意思就是将内网(本地)的 web 利用通过 nat 穿透到公网上,从而让他人能够拜访到。
内网穿透目前次要由 ngrok 和 frp 两种,都十分好用,国内 ngrok 收费的有 ittun、sunny 和 natapp,这三个都是收费的,后面两个能够自定义域名,前面的须要 vip 版本才能够自定义域名。
我这三种都试过,我发现 sunny 的 arm 版本的 ngrok 客户端在我的树莓派运行不了,ittun 的和 natpp 的 ngrok 都能够,因为须要自定义域名,我应用的是 ittun 的 ngrok_arm 版本的。
应用办法这三者官网都有具体阐明,大家自行查看。
这是失常运行时的截图,拜访 http://zerow.ittun.com/ 时能够 …
因为须要 ngrok 在后盾运行,所以我用的是 screen 会话使其能够在后盾运行。然而开启自启,还没有实现,万一断电或者断网了,我必须手动去运行一下 ngrok,这是目前没有解决的痛点。
9. 更多
树莓派不仅仅只是能够用于运行一个网站,还有很多很多的性能期待你的开发,能够多去看看树莓派实验室外面,很多大神都写了很多实用的教程。
这个 zero w 状态信息如下:
在下面开启了一个 nginx 和 ngrok 服务,内存残余还有 250MB,还是很难受的,cpu 温度也不算高,运行两天了,根本在 37-39 之间。
近期热文举荐:
1.1,000+ 道 Java 面试题及答案整顿 (2021 最新版)
2. 别在再满屏的 if/ else 了,试试策略模式,真香!!
3. 卧槽!Java 中的 xx ≠ null 是什么新语法?
4.Spring Boot 2.5 重磅公布,光明模式太炸了!
5.《Java 开发手册(嵩山版)》最新公布,速速下载!
感觉不错,别忘了顺手点赞 + 转发哦!