樹(shù)莓派4與人工智能實(shí)戰(zhàn)項(xiàng)目
定 價(jià):¥79
中 教 價(jià):¥46.61 (5.90折)促銷
庫(kù) 存 數(shù): 6
本書(shū)主要介紹樹(shù)莓派不同類型的特性,以及樹(shù)莓派入門(mén)所需要的基礎(chǔ)知識(shí);涵蓋了樹(shù)莓派GPIO 的不同操作方法,以及樹(shù)莓派的I2C總線、SPI總線、UART串口、PWM脈寬調(diào)制等偏硬件操作的內(nèi)容; 同時(shí)也為讀者準(zhǔn)備了一些樹(shù)莓派上常見(jiàn)的服務(wù)類型的搭建和配置,包括樹(shù)莓派推流服務(wù)器搭建的方法, 常見(jiàn)數(shù)據(jù)庫(kù)MariaDB、PostgreSQL的安裝配置操作,MQTT服務(wù)器的搭建配置,DHCP服務(wù)器的搭建 配置等。此外,還加入了一些比較有趣的實(shí)驗(yàn),例如利用TensorFlow實(shí)現(xiàn)對(duì)象檢測(cè),使用OpenCV制 作一個(gè)樹(shù)莓派掃描儀,或利用OpenCV實(shí)現(xiàn)換鼻子的實(shí)驗(yàn),帶領(lǐng)讀者了解樹(shù)莓派通過(guò)攝像頭能夠?qū)崿F(xiàn) 的一些應(yīng)用。 本書(shū)為初學(xué)者全面入門(mén)了解樹(shù)莓派提供了很好的切入點(diǎn),使讀者可以了解更多樹(shù)莓派的使用方法 以及操作小技巧。同時(shí),在整體的編程過(guò)程中使用了C語(yǔ)言、Python語(yǔ)言及Shell腳本語(yǔ)言等常見(jiàn)語(yǔ)言, 對(duì)于擁有此類語(yǔ)言編程經(jīng)驗(yàn)的用戶更友好。 希望讀者能夠在這里找到自己喜歡的實(shí)驗(yàn),并順利入門(mén)樹(shù)莓派!
本書(shū)主要介紹樹(shù)莓派不同類型的特性,以及樹(shù)莓派入門(mén)所需要的基礎(chǔ)知識(shí);涵蓋了樹(shù)莓派GPIO的不同操作方法,以及樹(shù)莓派的I2C總線、SPI總線、UART串口、PWM脈寬調(diào)制等偏硬件操作的內(nèi)容;同時(shí)也為讀者準(zhǔn)備了一些樹(shù)莓派上常見(jiàn)的服務(wù)類型的搭建和配置,包括樹(shù)莓派推流服務(wù)器搭建的方法,常見(jiàn)數(shù)據(jù)庫(kù)MariaDB、PostgreSQL的安裝配置操作,MQTT服務(wù)器的搭建配置,DHCP服務(wù)器的搭建配置等。此外,還加入了一些比較有趣的實(shí)驗(yàn),例如利用TensorFlow實(shí)現(xiàn)對(duì)象檢測(cè),使用OpenCV制作一個(gè)樹(shù)莓派掃描儀,或利用OpenCV實(shí)現(xiàn)換鼻子的實(shí)驗(yàn),帶領(lǐng)讀者了解樹(shù)莓派通過(guò)攝像頭能夠?qū)?br />現(xiàn)的一些應(yīng)用。
自從2012年開(kāi)始接觸樹(shù)莓派以來(lái),我的工作和生活中一直有樹(shù)莓派的影子,公司的公眾號(hào)、我個(gè)人的公眾號(hào)上都在不斷地進(jìn)行著和樹(shù)莓派有關(guān)的各種嘗試,也因此結(jié)識(shí)了很多喜歡樹(shù)莓派的小伙伴,大家在一次次的交流和相互學(xué)習(xí)中不斷進(jìn)步,不僅鞏固了Linux系統(tǒng)的基本功,也學(xué)習(xí)到了很多嵌入式開(kāi)發(fā)的經(jīng)驗(yàn),以及樹(shù)莓派上通過(guò)Python開(kāi)發(fā)的經(jīng)驗(yàn)。也是機(jī)緣巧合,遇到了清華大學(xué)出版社的楊迪娜老師,萌生了編寫(xiě)一本樹(shù)莓派入門(mén)圖書(shū)的想法,也是本書(shū)誕生的契機(jī)。本書(shū)主要介紹樹(shù)莓派不同類型的特性,以及樹(shù)莓派入門(mén)所需要的基礎(chǔ)知識(shí);涵蓋了樹(shù)莓派GPIO的不同操作方法,以及樹(shù)莓派的I2C總線、SPI總線、UART串口、PWM脈寬調(diào)制等偏硬件操作的內(nèi)容;同時(shí)也為讀者準(zhǔn)備了一些樹(shù)莓派上常見(jiàn)的服務(wù)類型的搭建和配置,包括樹(shù)莓派推流服務(wù)器搭建的方法,常見(jiàn)數(shù)據(jù)庫(kù)MariaDB、PostgreSQL的安裝配置操作,MQTT服務(wù)器的搭建配置,DHCP服務(wù)器的搭建配置等。此外,還加入了一些比較有趣的實(shí)驗(yàn),例如利用TensorFlow實(shí)現(xiàn)對(duì)象檢測(cè),使用OpenCV制作一個(gè)樹(shù)莓派掃描儀,或利用OpenCV實(shí)現(xiàn)換鼻子的實(shí)驗(yàn),帶領(lǐng)讀者了解樹(shù)莓派通過(guò)攝像頭能夠?qū)崿F(xiàn)的一些應(yīng)用。經(jīng)過(guò)和身邊朋友的不斷交流總結(jié),我編寫(xiě)了本書(shū),旨在引導(dǎo)讀者入門(mén)并對(duì)樹(shù)莓派應(yīng)用產(chǎn)生興趣。由于時(shí)間倉(cāng)促,很多想法和創(chuàng)意尚未來(lái)得及編排,若有緣再續(xù)。書(shū)中疏漏之處,希望各位讀者不吝賜教,多多批評(píng)指正,讓本書(shū)能夠造福更多愛(ài)好者。作 者2022年6月前 言
李偉斌 (漂移菌 ) 目前就職伍艾信息科技(上海)有限公司,首席Linux技術(shù)架構(gòu)師。 主要研究方向?yàn)榍度胧?Linux 操作系統(tǒng)的應(yīng)用及研發(fā)。 業(yè)余時(shí)間曾獲取中美創(chuàng)客馬拉松(上海站)一等獎(jiǎng), Intel IoT 物聯(lián)網(wǎng)大賽二等獎(jiǎng), 上海國(guó)際創(chuàng)客大賽蘑菇云分賽首屆腦洞大賽 腦洞大王獎(jiǎng), 上海谷歌Design Sprint Hackathon 優(yōu)勝獎(jiǎng), Junction 2021 全球黑客大賽 Out of box獎(jiǎng)。被朋友譽(yù)為樹(shù)莓派超級(jí)愛(ài)好者及布道者, 并且兼漂移驢車項(xiàng)目聯(lián)合創(chuàng)始人角色。
第1章 樹(shù)莓派簡(jiǎn)介 1引言11.1 樹(shù)莓派是什么? 11.2 樹(shù)莓派周邊配件 111.3 樹(shù)莓派能做什么? 12第2章 樹(shù)莓派入門(mén)基礎(chǔ)知識(shí) 212.1 系統(tǒng)選型 212.2 新系統(tǒng)下載及燒錄 232.3 恢復(fù)卡制作的操作步驟 242.3.1 方法1242.3.2 方法2242.4 燒錄系統(tǒng) 242.5 初始化系統(tǒng) 29第3章 樹(shù)莓派GPIO的使用 463.1 GPIO的概念及相關(guān)庫(kù)的使用方法 463.2 樹(shù)莓派上使用wiringPi庫(kù) 473.3 如何利用wiringPi優(yōu)雅地點(diǎn)亮一個(gè)LED燈 513.3.1 硬件材料準(zhǔn)備513.3.2 接線方式513.3.3 編寫(xiě)代碼測(cè)試523.4 玩轉(zhuǎn)流水燈和游俠燈 583.4.1 流水燈583.4.2 游俠燈59第4章 樹(shù)莓派中I2C功能的使用 614.1 I2C的概念 614.2 I2C實(shí)戰(zhàn)小項(xiàng)目 624.2.1 接線方式624.2.2 啟用I2C配置 63目 錄IV 樹(shù)莓派4 與人工智能實(shí)戰(zhàn)項(xiàng)目4.2.3 檢測(cè)Slave設(shè)備狀態(tài) 654.2.4 查詢寄存器表并簡(jiǎn)單測(cè)試654.2.5 編寫(xiě)C語(yǔ)言測(cè)試代碼 664.2.6 編寫(xiě)Python代碼進(jìn)行測(cè)試 684.2.7 關(guān)于Python中的I2C函數(shù) 694.3 使用I2C協(xié)議的其他應(yīng)用 704.3.1 點(diǎn)亮LCD1602液晶屏顯示樹(shù)莓派的IP地址 704.3.2 利用OLED展示樹(shù)莓派磁盤(pán)狀態(tài)信息83第5章 樹(shù)莓派SPI介紹及應(yīng)用實(shí)例 885.1 SPI協(xié)議簡(jiǎn)介 885.1.1 SPI協(xié)議概述 885.1.2 SPI的優(yōu)缺點(diǎn) 885.1.3 采用主-從模式(Master-Slave)的控制方式895.2 樹(shù)莓派SPI概述 895.2.1 引腳和GPIO映射 895.2.2 關(guān)于SPI的速度 905.3 樹(shù)莓派上啟用SPI功能 905.3.1 通過(guò)raspi-config工具 915.3.2 通過(guò)編輯/boot/config.txt文件 935.3.3 通過(guò)圖形界面935.4 樹(shù)莓派SPI應(yīng)用實(shí)例 955.4.1 檢查SPI設(shè)備狀態(tài) 955.4.2 準(zhǔn)備SPI外設(shè)并接入樹(shù)莓派 955.4.3 安裝Python庫(kù)文件 965.4.4 編寫(xiě)定制的測(cè)試代碼并進(jìn)行測(cè)試 975.5 讓樹(shù)莓派變身為一個(gè)環(huán)境檢測(cè)站 1015.5.1 BME280模塊介紹 1025.5.2 接線方式1035.5.3 編寫(xiě)代碼獲取數(shù)據(jù)1035.5.4 總結(jié)112第6章 樹(shù)莓派UART串口介紹及應(yīng)用實(shí)例 1136.1 UART簡(jiǎn)介 1136.2 樹(shù)莓派串口說(shuō)明 1146.3 在樹(shù)莓派上配置啟用UART 1156.4 在樹(shù)莓派上進(jìn)行串口通信 1206.4.1 使用Python 語(yǔ)言實(shí)現(xiàn)串口通信 1206.4.2 通過(guò)C語(yǔ)言實(shí)現(xiàn)串口通信 1236.4.3 拓展實(shí)例1246.5 關(guān)于樹(shù)莓派串口別名及切換硬件串口 1266.5.1 串口別名1266.5.2 更換串口端口1276.6 總結(jié) 128第7章 樹(shù)莓派PWM介紹及應(yīng)用實(shí)例 129引言 129 7.1 PWM控制原理 129目錄 V7.2 樹(shù)莓派PWM通道信息 1307.3 wiringPi庫(kù)的PWM接口介紹 1317.3.1 硬件PWM 1317.3.2 軟件PWM 1327.3.3 軟件PWM注意事項(xiàng) 1337.4 PWM應(yīng)用項(xiàng)目實(shí)戰(zhàn) 1347.4.1 呼吸燈效果1347.4.2 舵機(jī)控制138第8章 樹(shù)莓派開(kāi)源網(wǎng)絡(luò)應(yīng)用實(shí)例 144引言 1448.1 樹(shù)莓派搭建RTMP流媒體服務(wù)器 1458.1.1 安裝Nginx及模塊1458.1.2 啟用RTMP 1488.1.3 客戶端連接測(cè)試1518.2 樹(shù)莓派搭建Samba文件服務(wù)器 1568.2.1 什么是Samba文件服務(wù)器 1568.2.2 需要準(zhǔn)備的設(shè)備1568.2.3 安裝配置Samba服務(wù)器 1578.3 樹(shù)莓派搭建NFS文件服務(wù)器 1638.3.1 什么是NFS文件服務(wù)器 1638.3.2 需要的設(shè)備1638.3.3 安裝配置NFS文件系統(tǒng) 1638.4 樹(shù)莓派搭建日志服務(wù)器 1698.4.1 什么是日志服務(wù)器1698.4.2 需要的硬件1708.4.3 安裝rsyslog服務(wù) 1708.4.4 配置rsyslog作為服務(wù)器 1708.4.5 創(chuàng)建新模板1718.4.6 重啟服務(wù)并測(cè)試1728.5 樹(shù)莓派搭建MariaDB數(shù)據(jù)庫(kù)服務(wù)器 1758.5.1 什么是MariaDB 1758.5.2 MariaDB 和 MySQL 的區(qū)別 1758.5.3 安裝MariaDB 1768.5.4 配置MariaDB 1768.5.5 創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)1788.5.6 添加一張表1798.5.7 插入幾條記錄1808.6 樹(shù)莓派搭建PostgreSQL數(shù)據(jù)庫(kù)服務(wù)器 1828.6.1 什么是PostgreSQL數(shù)據(jù)庫(kù) 1828.6.2 安裝PostgreSQL 1828.6.3 配置PostgreSQL 1828.6.4 創(chuàng)建數(shù)據(jù)庫(kù)1838.6.5 常見(jiàn)控制臺(tái)命令1848.6.6 基本SQL語(yǔ)句 1858.7 樹(shù)莓派搭建Mosquitto MQTT服務(wù)器 1868.7.1 什么是MQTT服務(wù)器 1868.7.2 安裝Mosquitto 服務(wù)器 1878.7.3 檢測(cè)服務(wù)器狀態(tài)1878.7.4 在樹(shù)莓派上測(cè)試Mosquitto代理 1878.7.5 多主機(jī)測(cè)試1898.7.6 嘗試使用Python的paho-mqtt庫(kù) 1908.8 樹(shù)莓派搭建DHCP服務(wù)器 1938.8.1 什么是DHCP服務(wù)器 1938.8.2 測(cè)試環(huán)境1938.8.3 配置1號(hào)主機(jī)DHCP服務(wù) 1948.8.4 修改DHCP服務(wù)的配置 194VI 樹(shù)莓派4 與人工智能實(shí)戰(zhàn)項(xiàng)目8.8.5 重啟服務(wù)以生效配置1958.8.6 開(kāi)啟路由轉(zhuǎn)發(fā)1958.8.7 配置IPtables實(shí)現(xiàn)流量路由 1968.8.8 注意事項(xiàng)1968.9 總結(jié) 197第9章 樹(shù)莓派上利用TensorFlow實(shí)現(xiàn)對(duì)象檢測(cè) 198引言 1989.1 軟硬件環(huán)境介紹 1989.1.1 硬件準(zhǔn)備1989.1.2 軟件準(zhǔn)備1999.2 操作步驟 1999.2.1 更新系統(tǒng)及軟件倉(cāng)庫(kù) 1999.2.2 創(chuàng)建TensorFlow的工作目錄 1999.2.3 安裝TensorFlow的Python庫(kù)和部分依賴2009.2.4 安裝OpenCV視覺(jué)框架 2009.2.5 編譯安裝Protobuf組件2019.2.6 重啟系統(tǒng)2039.2.7 重新登錄系統(tǒng)并設(shè)置TensorFlow目錄結(jié)構(gòu) 2039.2.8 下載TensorFlow模型 2049.2.9 修改用戶初始化配置文件2049.2.10 利用protoc編譯Protocol Buffer文件 2049.2.11 下載ssdlite_mobilenet_v2_coco模型2059.3 對(duì)象檢測(cè)測(cè)試 2059.3.1 在樹(shù)莓派上啟用攝像頭2059.3.2 下載檢測(cè)腳本2059.3.3 接入攝像頭2069.3.4 執(zhí)行腳本并進(jìn)行檢測(cè)2069.4 總結(jié) 208第10章 樹(shù)莓派掃描儀樹(shù)莓派 OpenCV 209引言 20910.1 原理 20910.2 硬件準(zhǔn)備 21010.3 軟件準(zhǔn)備 21110.3.1 軟件包版本信息21110.3.2 查看軟件版本的方法21110.4 配置環(huán)境 21210.4.1 檢查網(wǎng)絡(luò)狀態(tài)21210.4.2 更新軟件倉(cāng)庫(kù)并安裝軟件21210.4.3 創(chuàng)建并激活虛擬環(huán)境 21310.4.4 啟用攝像頭21310.5 代碼調(diào)試 21510.6 應(yīng)用拓展 21910.7 總結(jié) 221第11章 AI換鼻子樹(shù)莓派 OpenCV 222引言 222 11.1 AI換鼻子的原理 223目錄 VII11.2 硬件需求 22311.3 軟件需求 22311.3.1 Raspbian操作系統(tǒng) 22311.3.2 Python3 環(huán)境 22411.3.3 virtualenv環(huán)境 22511.3.4 dlib庫(kù) 22611.3.5 shape_predictor工具和get_frontal_face_detector函數(shù) 22611.3.6 預(yù)測(cè)模型庫(kù)下載 22811.4 操作步驟 22811.4.1 燒錄鏡像,啟動(dòng)并完成初始化配置22811.4.2 啟動(dòng)樹(shù)莓派23211.4.3 接入攝像頭23611.4.4 系統(tǒng)初始化環(huán)境調(diào)試23711.4.5 樹(shù)莓派攝像頭測(cè)試23911.4.6 編寫(xiě)代碼23911.5 開(kāi)挖腦洞,發(fā)散思維 26211.6 總結(jié) 262第12章 樹(shù)莓派通過(guò)U盤(pán)啟動(dòng)系統(tǒng) 263引言 26312.1 硬件需求 26312.2 前期準(zhǔn)備 26412.3 更新升級(jí)系統(tǒng) 26412.4 更新bootloader 26412.5 檢查啟動(dòng)選項(xiàng) 26512.6 無(wú)卡啟動(dòng)測(cè)試 26812.7 制作USB啟動(dòng)盤(pán) 268