[导读]来自公众号:SegmentFault,作者:彭小呆链接:https://segmentfault.com/a/1190000021143144No.1前言由于本人在这段时候,看到了一个叫做树莓派的东东,初步了解之后觉得很有意思,于是想把整个过程记录下来。No.2树莓派是什么?Ra...
No.1
前言
由于本人在这段时候,看到了一个叫做树莓派的东东,初步了解之后觉得很有意思,于是想把整个过程记录下来。
No.2
树莓派是什么?
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. 更多树莓派
关于更多树莓派型号或者使用教程你可以去树莓派实验室这个网站,上面有丰富的资源。
No.3
树莓派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 之间。
版权归原作者所有。如涉及作品版权问题,请联系我进行删除,感谢~
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
本次使用的线缆基于Prolific公司于2012年发布的USB转UART(TTL)芯片。由于该芯片已较旧,Windows 11系统上的驱动程序已不再支持它。因此,我们需要下载一个更早版本的驱动程序,并将其安装以替代当前更...
关键字:
Windows 11
USB
树莓派
物体检测是机器人、自动化、监控系统和智能监测系统中应用最广泛的计算机视觉技术之一。与图像分类(将整张图像赋予单一标签)不同,物体检测能够识别场景中的每一个可识别物体,并估算其位置。
关键字:
机器人
自动化
树莓派
我们最近完成了一个项目,解决了中型仓库客户的一个实际痛点:在众多货箱中查找物品耗时过长。他们的拣选人员每天工作时间的30%到40%都花在走动和扫描上。为此,我们开发了一套智能库存系统,利用LED灯带精准照亮每个物品所在的...
关键字:
LED
树莓派
USB
自主移动机器人正日益成为现代工业、仓库、医院和智能建筑中的关键设备。尽管激光雷达(LiDAR)和SLAM等先进的导航技术性能出色,但成本高昂且计算资源消耗大,难以适用于教育项目或小规模自动化场景。
关键字:
机器人
树莓派
Arduino
使用低压微控制器控制高压设备,是学习电子学和嵌入式系统时最有用的技能之一。通过继电器模块,Arduino Uno 可以利用简单的数字输出来切换诸如灯、风扇、水泵及其他电器等负载。
关键字:
继电器
Arduino
树莓派
我们都知道不能把狗留在车内高温的车里。但你的房车或旅行拖车同样存在危险。如果它配有空调,就能保持车内凉爽,让狗狗舒适自在。但如果发电机没油了,或者空调出现故障呢?一旦这种情况发生在你外出徒步或购物时,后果可能非常严重。
关键字:
树莓派
USB
电源
BME280
每位风筝冲浪者都经历过这种挫败感。你查看天气预报,准备好装备,来到海滩,却发现实际的海况与预测完全不同。或者,你刚在海上享受了一次美妙的冲浪,却完全不知道是什么让这次体验如此特别——是潮汐、风向,还是你的装备选择?下次遇...
关键字:
物联网
人工智能
树莓派
PantryPal 是一款轻量级的智能食品储物追踪器,可记录杂货清单、估算保质期,并提示哪些食物即将过期,避免被扔进垃圾桶。该应用完全基于 Java 26 标准库构建,通过一个真实且日常的场景——减少家庭食物浪费,展示了...
关键字:
摄像头
USB
树莓派
Java
测量与施工放样是每个住宅建设项目中的关键环节。在浇筑地基或安装管线之前,施工人员必须准确地标记施工现场内的位置、边界和重要点位。
关键字:
履带式机器人
电机驱动器
树莓派
树莓派Pico 2是树莓派推出的最新微控制器开发板,搭载强大的RP2350微控制器。它提供更快的性能、更大的内存、增强的安全性,并支持Arm Cortex-M33和Hazard3 RISC-V两种架构。
关键字:
嵌入式
MicroPython
树莓派
RP2350
我不想要一个仪表盘,我想要一个网络。不是在阳台上安装一个传感器,而是要在不同地点设置多个站点——城市、乡村、靠近采石场、靠近农场的地方——所有站点都向同一个数据库发送数据,并且这些数据可以相互比较。
关键字:
计数器
MS5003
树莓派
我认为人工智能的下一个重大突破将出现在机器人领域,即将大语言模型(LLMs)的推理能力赋予实体身体。虽然关注机器人执行任务或日常事务的实用性是极具吸引力的发展方向,但我们常常忽视了人类用户与机器之间的互动。与其只关注机器...
关键字:
机器人
动画仪表板
大语言模型
树莓派
HAUI触摸显示屏是一款专为Home Assistant或OpenHAB、Domoticz、ioBroker、Gladys Assistant等类似智能家居控制面板设计的简洁壁挂式用户界面。它能将任何标准的单孔电气接线盒...
关键字:
自动化
仪表盘
智能家居
树莓派
本项目是一款基于Python和Pygame开发的完整功能门将游戏,可通过键盘或使用MPU6050传感器(加速度计+陀螺仪)实时身体动作进行控制。游戏可在Windows和树莓派(支持I²C接口)上运行,是学习硬件接口、游戏...
关键字:
Python
加速度计
陀螺仪
树莓派
这是一个基于树莓派4或5构建的完全离线语音助手。你与它对话,它通过板子本地运行的语言模型进行思考,并通过扬声器回话。整个流程都运行在树莓派本身上,因此一旦设置完成,就完全不需要网络连接。我制作这个项目是因为希望能在自己家...
关键字:
语音助手
树莓派
扬声器
本项目的目标是使用 Buildroot 为树莓派 Zero W 开发一个定制的嵌入式 Linux 发行版。系统设计仅包含应用程序所需的基本组件,例如 Wi-Fi 连接、SSH 和 SCP 访问、I2C 支持以及 Pyth...
关键字:
Linux
树莓派
显示屏
SSD1306
在传统模式下,人类使用手工库存管理系统,这种方式耗时且容易出错。随着技术的发展,我们开发了一款条码扫描器,能够快速扫描产品并管理库存系统。本项目展示了如何构建一款基于树莓派的条码扫描终端,通过即时扫描和记录产品信息,实现...
关键字:
树莓派
条码扫描器
Arduino
reComputer AI Lab 是由 Seeed 推出的边缘 AI 开发平台,围绕即用型体验构建。该平台预集成主流 AI 应用场景,包括通过定制系统镜像实现 YOLO 等功能,并支持一键部署与推理执行,显著降低了开发...
关键字:
边缘 AI
树莓派
RK3576
最近我接到任务,为一位客户的鸡舍采购一盏太阳能泛光灯。但要求不能是运动感应型的,而且必须使用太阳能供电,因为鸡舍远离电源插座,需要完全自主运行,每天凌晨4点到7点自动开启。网上找不到符合这些条件的产品。起初……
关键字:
太阳能
树莓派
实时时钟