专注研究 Java 不限于共享算法、架构、高并发、多线程、JVM、Spring Boot、Maven、分布式、Spring Cloud Docker k8s、Dubbo、Zookeeper、Kafka、RocketMQ等。
公众号
点击上方 ""关注,星标或一起成长
后台回复“有惊喜礼包!
Make the person mature is not the time, but the experience. subway tasted, through the nature; through the world, see light the world.
让人成熟的不是岁月,而是经历。品尝一切,自然看透;看透世界,看淡世界。
你在生活中所做的一切都像灰尘一样渺小,但重要的是你要做,因为别人不会做。
责编:乐乐 | 来自:彭小呆
链接:segmentfault.com/a/1190000021143144
编程技术圈(ID:study_tech)第 1601期推文
过去的回顾:微软突然宣布:正式退休!
。
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. 更多树莓派
你可以去树莓派实验室这个网站,有更多的树莓派型号或教程,资源丰富。
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 连接到 zer 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)即可。另外,搜索公众号顶级架构师回复关键字"offer”获取一份惊喜礼包。
等待几分钟,期间我们的 zero w 的指示灯会一直闪烁,很正常,等待指示灯常亮的时候,我们去路由器上,查看一下树莓派的 ip 地址。
可以看到我们 zero w 的 ip 为 192.168.0.104,然后使用 ssh 连接工具(推荐使用 putty)连接树莓派,初始账户为 pi,密码是 raspberry。
连接成功,如上图所示。这样我们的系统就正确无误的安装好了。
ps: 如果是手机开启热点当做一个路由器的话,咱们手机下载一个名叫 android terminal 的 app,然后输入 ip neigh 指令,就可以查到连接到手机的设备的 ip 信息了。
6. 优化咱们树莓派的系统
6.1 修改源
因为国外的源,咱们在国内的连接过去网速很慢,所以我们需要修改为国内的源,我修改的是中科大的源。
sudo nano /etc/apt/sources.list
--注释其他内容,添加以下:
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/raspbian stretch main contrib non-free rpi
sudo nano /etc/apt/sources.list.d/raspi.list
--注释其他内容,添加以下:
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian stretch main ui
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 就可以了。
牛逼啊!接私活必备的 N 个开源项目!
第二种:
在终端命令行中启动 SSH 服务后,如果系统重启或关机后启动,SSH 服务默认是关闭的,依然需要手动启动,为了方便可以设置 SSH 服务开机自动启动,打开 /etc/rc.local 文件,在语句 exit 0 之前加入:
建议都试试,反之我的是可以了。
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 之间。
欢迎有需要的同学试试,如果本文对您有帮助,也请帮忙点个
在 GitHub猿 还有更多优质项目系统学习资源,欢迎分享给其他同学吧!
版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢!
欢迎加入后端架构师交流群,在后台回复“学习”即可。
最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。在这里,我为大家准备了一份2021年最新最全BAT等大厂Java面试经验总结。
别找了,想获取史上最简单的Java大厂面试题学习资料
扫下方二维码回复「
阿里、腾讯、百度、华为、京东最新面试题汇集
看看人家那权限管理系统,那叫一个优雅(附源码)!
一口气说出 6 种实现延时消息的方案
强烈推荐APP破解常用工具集合!
"韦神"辟谣:别信热搜
看看人家那远程控制系统,那叫一个优雅
牛逼,这个项目包含 81 张思维导图
Spring Boot 实现万能文件在线预览
突发:杭州一员工因离职纠纷把公司炸了!