22642浏览
查看: 22642|回复: 4

[教程] 树莓派4与人工智能实战项目 李伟斌(漂移菌)编著

[复制链接]
《树莓派4与人工智能实战项目》

李伟斌(漂移菌)编著


(本内容选自本书第一章)


树莓派爱好者们,在汲取网络上大量教程后准备大展身手时,却在自己的树莓派上做实验屡屡失败,这种挫败感让人不知所措,甚至怀疑人生,因此有必要简单介绍一下树莓派的不同型号的配置信息和基本特性,由于设备之间的差异、操作系统版本的差异导致的问题都可以在了解了特性后再去尝试,肯定能够事半功倍!
ThuJuly-202207145372..png

01:树莓派是什么?


qw6.jpg


初次听闻树莓派的朋友或许会认为树莓派是类似于苹果派、蛋黄派的美味甜点,而实际上树莓派是不可食用的。

树莓派(Raspberry Pi)是由注册于英国的慈善组织“树莓派基金会”开发,Eben·Upton/埃·厄普顿为项目带头人。2012年3月,英国剑桥大学艾本·艾普顿(Eben Epton)正式发售世界上最小的台式机,又称卡片式电脑,外形只有信用卡大小,却具有电脑的所有基本功能,这就是Raspberry Pi电脑板,中文译名"树莓派"。

qw7.jpg


初代树莓派1-1


这一基金会以提升学校计算机科学及相关学科的教育,让计算机变得有趣为宗旨。基金会期望这一款SBC(Single Board Computer)电脑无论是在发展中国家还是在发达国家,会有更多的其它应用不断被开发出来,并应用到更多领域。在2006年树莓派早期概念是基于Atmel的 ATmega644单片机,首批上市的10000“台”树莓派的“板子”,由中国台湾和大陆厂家制造。



版本的不断更迭,让树莓派拥有了更多的可能,一起来认识一下不同版本的树莓派,总有一款符合你的需求。(产品不分先后顺序)

树莓派 Zero & Zero W

qw9.jpg


树莓派Zero


树莓派Zero的尺寸是Model A+的一半,但性能翻一倍。其特性如下:具有BCM2835 1GHz单核CPU,512MB RAM,Mini HDMI端,Micro USB OTG端口,MicroUSB电源接口,兼容HAT的40Pin GPIO 引脚,复合视频接口和reset headers, CSI摄像头接口仅兼容V1.3的官方摄像头。



树莓派Zero W


而树莓派Zero W型号则除了具有原始Zero的所有功能外,还增加了Wi-Fi连接的功能,包括:802.11 b/g/n无线局域网,蓝牙4.1,蓝牙低功耗(BLE),使得树莓派在使用上更加便利。

仔细观察发现,树莓派Zero W靠近核心芯片的位置旁有个形似三角形的位置,是无线网络的天线,这也是区别树莓派Zero和树莓派Zero W最快的方法。

树莓派1 Model A+

qw11.jpg


树莓派 1 Model A+


与2012年产的Model A相比,树莓派Zero具有更多GPIO引脚。GPIO引脚数量从26个扩展到40个引脚,同时保留与Model A和B相同的前26个引脚的相同引脚功能,使用Micro SD卡槽,取代了原来的比较大的SD卡,卡槽也由原先的直接推进式更换到了自锁卡槽,并且降低了整体的功耗。通过用开关电源代替线性稳压器,将功耗降低了0.5W到1W。增强了音频电路采用专用的低噪声电源使音效更好,外观做的更小更整洁,将USB连接器与板边缘对齐,将复合视频移动到3.5mm插孔上,并添加了四个正方形安装孔。A +型比A型短约2cm,但是由于USB接口只有一个,

因此对于新手来说,使用起来会有一些不太便利,但是对于DIY爱好者来说,正是因为其小巧的特性才被不少爱好者视为珍宝,成为了树莓派Zero之外最小巧的服务器。

树莓派 1 Model B+

qw12.jpg


树莓派 1 Model B+


与2012款Model B相比,树莓派 1 Model B+也是将GPIO引脚从原先的26Pin增加到40Pin,并保持与原先GPIO的兼容性,同时它配备了4个USB 2.0接口,而B型只有2个,并且提供了更好的热插拔属性和过流的容忍度。卡槽也像A+一样进行了改造,采用自锁卡槽,网卡仍然使用100Base以太网(与原B型相同),同时降低功耗,通过用开关代替线性稳压器,将功耗降低了0.5W到1W。为了提供更好的音频,音频电路采用专用的低噪声电源,外观仍然很整洁,并将复合视频移动到3.5mm插孔上,并添加了四个正方形安装孔。

树莓派 2 Model B

qw13.jpg


树莓派 2 Model B


与树莓派1相比,树莓派 2 Model B具有900MHz四核ARM Cortex-A7 CPU和1GB内存,类似于树莓派 1 Model B+,其特性如下:100BaseT以太网,4个USB端口,40个GPIO引脚,标准HDMI端口,提供了3.5毫米音频插孔和复合视频,摄像头接口(CSI),官方显示器接口(DSI),Micro SD卡插槽,VideoCore IV 3D图形核心,也就是传说中的GPU,可以支持硬解压1080P视频。

树莓派 2 Model B中使用的Broadcom芯片BCM2836的底层架构与BCM2835完全相同。唯一显着的区别是删除了ARM1176JZF-S处理器并替换为四核Cortex-A7集群。

树莓派 3 Model B

qw14.jpg


树莓派 3 Model B


树莓派 3 Model B是第三代树莓派的最早型号。它于2016年2月取代了树莓派 2 Model B,这是树莓派3系列中的最新产品。CPU采用1.2GHz Broadcom BCM2837 64位CPU, 1GB RAM, 板载BCM43438无线LAN和蓝牙低功耗(BLE),100BaseT以太网,40引脚扩展GPIO,4个USB 2端口,四极立体声输出和复合视频端口,全尺寸HDMI,CSI摄像头接口,用于连接树莓派相机,DSI显示接口,用于连接树莓派触摸屏显示器,Micro SD端口,用于加载操作系统和存储数据,升级后的Micro USB电源电压高达2.5A。

树莓派3中使用的Broadcom芯片BCM2837是树莓派2的后续型号。BCM2837的基础架构与BCM2836完全相同。唯一显着的区别是用四核ARM Cortex A53(ARMv8)集群替换ARMv7四核集群。ARM内核运行速度为1.2GHz,使得该设备比Raspberry Pi 2快50%.VideoCore IV的运行频率为400MHz。

树莓派 3 Model A+

qw15.jpg


树莓派 3 Model A+


树莓派 3 Model A +将树莓派3系列扩展为A+板格式。CPU采用的是Broadcom BCM2837B0,Cortex-A53(ARMv8)64位SoC @ 1.4GHz,内存采用512MB LPDDR2 SDRAM,支持2.4GHz和5GHz IEEE 802.11.b/g/n/ac无线局域网,蓝牙4.2/BLE及扩展的40Pin GPIO引脚,支持全尺寸HDMI,但是仅提供单个USB 2.0端口,其他像CSI摄像头接口和DSI接口和3B没有区别。同样音频方面也是四极立体声输出和复合视频端口,其Micro SD端口,用于加载操作系统和存储数据,支持5V / 2.5A直流电源输入。

树莓派3中使用的Broadcom芯片BCM2837,是树莓派2的后续型号.BCM2837的基础架构与BCM2836完全相同。唯一显着的区别是用四核ARM Cortex A53(ARMv8)集群替换ARMv7四核集群。ARM内核运行速度为1.2GHz,使得该设备比Raspberry Pi 2快50%。VideoCore IV的运行频率为400MHz。

树莓派 3 Model  B+

qw16.jpg


树莓派 3 Model B+


树莓派 3 Model B+是树莓派3系列中的最新产品。CPU采用Broadcom BCM2837B0,Cortex-A53(ARMv8)64位SoC @ 1.4GHz,内存采用1GB LPDDR2 SDRAM,无线方面采用2.4GHz和5GHz IEEE 802.11.b / g / n / ac无线局域网,蓝牙4.2,BLE, 网卡采用了USB 2.0千兆以太网(最大吞吐量300 Mbps),GPIO依然采用40pin 引脚的扩展,支持全尺寸HDMI,4个USB 2.0端口,CSI相机接口,DSI显示端口,四极立体声输出和复合视频端口,Micro SD端口,5V / 2.5A直流电源输入,另外还支持以太网供电(PoE)支持,只是需要额外的单独PoE HAT模块才可以正常工作,解决了很多工业场合的应用需求。

树莓派 Computer Module 3+/32GB

qw17.jpg


树莓派Computer Module 3+/32GB


树莓派Computer Module 3+/32GB(简称CMCM3+/32GB)包含树莓派3型号B+(BCM2837处理器和1GB RAM)的内核以及32GB eMMC闪存设备(相当于Pi中的SD卡)。CPU采用Broadcom BCM2837B0,Cortex-A53(ARMv8)64位SoC@ 1.2GHz,内存1GB LPDDR2 SDRAM, 存储采用了32GB eMMC闪存,这些都集成在一块小型(67.6mm×31mm)PCB板上,适用于标准DDR2 SODIMM连接器。闪存是直接连接到电路板上的处理器上,但其余的处理器接口可通过连接器引脚提供给用户。

开发工程师可以获得BCM2837 SoC的全部特性(这意味着可以使用比标准树莓派更多的GPIO和接口),并且将模块设计到自定义系统中应该相对简单。

为了帮助硬件工程师开始设计使用该模块的PCB,官方还提供了一个开源分线板,它配有CM3+/32GB和CM3+/Lite开发套件。另外,CM3+还提供以下版本:

·CM3+/Lite:没有eMMC闪存,但将SD卡接口引入到模块引脚,以便用户可以将其连接到他们选择的eMMC或SD卡。

·CM3+/8GB:8GB闪存

·CM3+/16GB:32GB闪存

树莓派 4 Model B

qw18.jpg


树莓派 4 Model B


我们一起看看树莓派4 Model B的新特性:

·Broadcom BCM2711,四核Cortex-A72(ARM v8)64位SoC @ 1.5GHz

·1GB,2GB或4GB LPDDR4-3200 SDRAM(取决于型号)

·2.4 GHz和5.0 GHz IEEE 802.11ac无线,蓝牙5.0,BLE

·千兆以太网

·2个USB 3.0端口; 2个USB 2.0端口。

·Raspberry Pi标准40针GPIO接头连接器(与以前的板完全向后兼容)

·2个micro-HDMI端口(最多支持4kp60)

·2通道MIPI DSI显示端口

·2通道MIPI CSI摄像机端口

·4针立体声音频和复合视频端口

·H.265(4kp60解码),H264(1080p60解码,1080p30编码)

·OpenGL ES 3.0图形

·Micro-SD卡插槽,用于加载操作系统和数据存储

·通过USB-C连接器提供5V DC(最小3A *)

·通过GPIO接头提供5V DC(最小3A *)

·启用以太网供电(PoE)(需要单独的PoE HAT)

·工作温度:0 – 50摄氏度环境

这是树莓派历代设备中具有大容量内存的版本,可以根据自己的选择购买1GB内存的版本,2GB内存的版本和4GB内存的版本,当然内存越大,同等条件下运行的性能就越好。这个版本的外观做了很大的改动,网卡和USB口的位置换了,而且提供的2个USB3.0的USB接口可以接快速存储设备来构建网络附加储存(Network Attached Storage,NAS)服务器,通过千兆以太网网卡提供快速访问互联网的特性,64位的4核心CPU可以兼容64bit系统,截至发稿,目前树莓派4B已经可以支持64bit内核模式,用户态目前还支持32位模式,在网络上已经有balena发行了针对树莓派4B的全功能64bit的操作系统。

Ubuntu官方也提供了支持树莓派2,3和4系列的操作系统镜像,不论从软件还是从硬件方面都拥有极大的优势,因此可以说是生态环境非常不错的一款单板机电脑。

树莓派 Pico

qw19.jpg


树莓派Pico


树莓派的新型灵活的微控制器板,一般我们称其为单片机,这个是树莓派官方组织完善其产品链的新产品,整个生态因其而完整了,从单片机到单板主机到成品Pi400键盘主机, 标志着树莓派产品线的闭环,也就是说用户一整套的学习和解决方案都可以直接围绕树莓派基金会提供的产品展开。

树莓派Pico是使用RP2040(一种由树莓派在英国设计的全新微控制器芯片)构建的小巧,快速,通用的电路板,目前应该是比较火的一个产品,但是其定位并不能作为树莓派对等的开发板来定义,性能上还是很有差距的。我们只将其与Arduino和STM32的低端产品做一个横向对比,RP2040由树莓派设计,具有双核Arm Cortex-M0 +处理器和264KB内部RAM,并支持高达16MB的片外Flash。多种灵活的I / O选项包括I2C,SPI和(唯一的)可编程I / O(PIO)。

树莓派Pico官方提供了MicroPython和C、C++编程支持的的SDK,方便电子入门的用户进行快速编程,也是一款非常不错的产品。



02: 树莓派周边配件

qw21.jpg


当你手里只有树莓派的时候,使用起来就比较麻烦一些,大部分人都在购买了树莓派PCB主板后不知所措,实际上,要想让树莓派能够顺利的启动,还需要一些必要的外设,例如:屏幕,电源,TF卡,外壳,HDMI线(高清数字接口线),甚至是散热片,散热风扇和外壳。这些外设就看大家自己的需求来进行选择了,我推荐大家购买的是下面的基础配件:

·32GB容量的Class10 以上的TF卡,当然现在有很多U30或者更高速度的卡更佳。

·树莓派5V/3A足量的电源(TYPE-C接口)

·USB美标键盘和USB鼠标

·高清数字HDMI线缆(可接驳支持HDMI的电视机)

·一款合适的外壳,最好带散热风扇和散热片



03:树莓派能做什么?

qw23.jpg


对于树莓派应用的方向Eben(树莓派创始人)早先的初衷是为了让孩子们学习编程,增加编程能力,被创客们发现后大放异彩,大家在自己的领域展现对树莓派独到的见解,制作出各种精妙绝伦的有趣应用。



软件应用领域
利用树莓派结合3D打印的外壳,制作一个可爱的复古留声机,还能够接驳蓝牙和进行音量调节。

qw25.jpg


DIY留声机


有一些无线电爱好者利用树莓派制作小功率网络收音机播放设备,制作成小巧的FM电台播放星球大战的主题曲或者是利用电视棒结合树莓派制作一个SDR(软件定义无线电)设备来将空气中不间断的电波用可视化的方式展现出来。

qw26.jpg

树莓派SDR


很多国外的小型web服务器都基于树莓派搭建了APACHE web(Apache一种常见的web服务器软件)服务,从爬虫的数据结果上看到运行时间长,其稳定性在配置好了系统的条件下,这样一个低功耗的设备谁不想拥有呢?

有无线电爱好者使用树莓派结合USB硬盘阵列设备搭建了一个家用的NAS(网络附加存储)设备,实现家庭资源共享平台。

qw27.jpg

树莓派NAS设备


更厉害的是有运维工程师利用树莓派结合cobbler实现了网络批量自动化安装CentOS Linux操作系统的平台,该自动化运维部署服务器大大降低了运维人员的运维成本。这期间还有运维工程师利用开源的zabbix运维监控软件在树莓派上构建了一个实时监控公司内网服务器状态的监控设备,为公司运维人员提供了很好的监控平台。

随着时间的推移,越来越多的爱好者开始在树莓派上实现自己大胆的想法,还有更甚者利用树莓派搭建 Hadoop 集群或k8s集群。

qw28.jpg

树莓派k8s集群



硬件应用领域

由于树莓派GPU的性能不错,当给树莓派搭配了官方的摄像头后,就可以实现拍照、摄像功能,可以使用MJPG-Streamer制作网络监控设备或者制作一个小的数码相机。

qw30.jpg


SnapPiCam


一些用户将树莓派用在了车载设备上,例如结合GPS模块,通过串口读取经纬度和速度的信息,然后通过3G或者4G网络向谷歌地图的API(Application Programming Interface,应用程序接口)发送请求,实时在地图上标注当前的位置和进行导航设置。

qw31.jpg

树莓派车载导航系统


随着特斯拉的各种黑科技不断展现,越来越多的爱好者开始喜欢机器视觉带来的体验,其中机器视觉中以OpenCV的视觉框架技术最受青睐,在嵌入式领域里面,很多人在不遗余力地将这个视觉框架移植到嵌入式硬件上。

目前在树莓派上可以非常轻松的搭建OpenCV的环境,只需要一个摄像头就可以进行人脸识别,动态检测等功能。

qw32.jpg

OpenCV人脸识别


结合人脸识别和动态检测技术,再加入舵机等硬件设备,可以尝试制作出一个类似钢铁侠服务机器人的原型机器人。如果使用人脸识别技术结合舵机和水弹枪,甚至可以DIY一个小型防卫系统,通过识别人脸在图像中的位置来进行瞄准和攻击。

qw33.jpg qw34.jpg


人脸识别防卫水弹


下图是一个创客制作的语音天气提醒的盒子,其中就是依靠树莓派连入网络,通过内部隐藏的麦克风来监听用户的请求,用户询问时说出唤醒词,例如:“天猫精灵,今天天气怎样?” 或者是自己定义的唤醒词,如:“贾维斯,请告诉我今天天气如何?” 来唤醒设备,设备通过语义的识别然后调用网络中的相关API接口获取信息然后再转换成声音播放出来,用到的技术多为TTS(TTS-Text to Speech文本转语音)。这样就形成了一个类似“智能音箱“的设备。

qw35.jpg


树莓派语音天气盒子


对于家庭打印机而言,稍加改造就可以将树莓派摇身一变,变为一台网络打印机的打印服务器,如果你的打印机是3D打印机,那么树莓派也可以成为你3D打印机的监控器,只需要去下载octoprint操作系统,烧录到TF卡上并插入树莓派启动,简单配置就可以实现。

qw36.jpg


3D打印机监控设备


在国外,有位工程师就将树莓派和微波炉结合在一起,配合一把扫码枪制作了一台智能微波炉,能够通过扫描食物外包装的条码自动设定时间和火候,只需要将食物丢进微波炉,扫描枪扫一扫条形码就可以自动烹饪了,懒人时代的来临还是靠科技的动力。

qw37.jpg


树莓派微波炉


为了学习生物知识,买不起昂贵的电子显微镜设备,就有学生在业余时间利用树莓派和摄像头制作了树莓派电子显微镜,不仅可以以非常廉价的价格使用到电子显微镜来观察微生物,还可以将拍摄的高清照片上传到web服务器提供给其他同学,甚至可以通过OpenCV进行处理,将微生物的菌落通过机器视觉来计算出来,又准确又快速,还可以实时监控某个特定形态的微生物的运动状态,大大减少了学校教具的开销,还加强的学生的动手能力和编程能力,真是一举两得!

qw38.jpg


树莓派电子显微镜


对于物联网属性的应用,主要体现如下:

·二次元的Up主用树莓派搭建B站直播“点歌台”;

·叮当:一个开源的树莓派中文智能音箱项目;

·用HomeKit+Siri声控家里电器开关;

·用树莓派DIY共享鱼缸,支持微信远程喂鱼;

·用树莓派做 RTMP 流直播服务器,推送至斗鱼直播


针对于航模爱好者和电子爱好者,可能更让他们感兴趣的是用树莓派DIY六足行走的机器人;制作DonkeyCar自动驾驶小车;或是制作Rapiro机器人;抑或是把树莓派制作成复古游戏机;再或者是利用树莓派控制微型CNC,制作3D打印机,激光切割机等等炫酷的设备,或者作为核心主控进入到航模的静改动的应用中,更加有趣的是利用树莓派实现图传的功能并搭载到遥控小车或者遥控船上,四轴飞行器上,门类五花八门,不一而足。

qw39.jpg


DonkeyCar漂移驴车


qw40.jpg    qw41.jpg

树莓派机器人Rapiro Bot


深入剖析这些应用的核心,其实还是一点点很小的基础应用或技巧和对Linux系统的应用的一个扩展。很多玩家买了树莓派开机了一次就停留在角落吃灰很多是因为遇到了Linux的技术门槛或者是对树莓派硬件GPIO的操作不了解遇到问题没办法解决就放弃了。



qw43.jpg

树莓派虽小,但五脏俱全和普通电脑无异,了解了最基础的树莓派小知识,你是否也跃跃欲试,但想要将手中的树莓派真正的运用起来,你还需要知道更多的实战技能。
这本由李伟斌(漂移菌)编著的《树莓派4与人工智能实战项目》介绍了树莓派不同类型的特性,涵盖了树莓派GPIO的不同操作方式,以及一些有趣的实验等内容。本书将通过抽丝拨茧的方式带领大家进入树莓派的奇幻世界!

qw45.jpg


目前就职伍艾信息科技(上海)有限公司,首席Linux技术架构师。主要研究方向为嵌入式 Linux 操作系统的应用及研发。业余时间曾获取中美创客马拉松(上海站)一等奖, Intel IoT 物联网大赛二等奖, 上海国际创客大赛蘑菇云分赛首届脑洞大赛 脑洞大王奖, 上海谷歌Design Sprint Hackathon 优胜奖, Junction 2021 全球黑客大赛 Out of box奖。被朋友誉为树莓派超级爱好者及布道者, 并且兼漂移驴车项目联合创始人角色。


hnyzcj  版主

发表于 2022-7-14 11:07:45

6666
回复

使用道具 举报

yoyojacky  初级技匠
 楼主|

发表于 2022-8-31 16:12:46

谢谢大家的支持,希望这本书对大家有用。
回复

使用道具 举报

yoyojacky  初级技匠
 楼主|

发表于 2022-8-31 16:21:29

另外,大家如需购买, 可以从新书的京东链接:https://item.jd.com/13220945.html 欢迎大家转发哦
回复

使用道具 举报

一笑  学徒

发表于 2022-10-13 15:50:07

有电子版的案例吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail