本書通過講述樹莓派(Raspberry Pi 4 Model B)上的Python實(shí)現(xiàn),使讀者在熟悉Python語言和許多傳感器使用的同時,掌握如何使用樹莓派的GPIO與外圍硬件進(jìn)行數(shù)據(jù)交互、讀取硬件的工作狀態(tài)、控制硬件工作等,實(shí)現(xiàn)樹莓派與外界硬件設(shè)備的交互,通過軟硬件的結(jié)合,掌握人工智能項(xiàng)目開發(fā)的基本方法,實(shí)現(xiàn)集語音識別、自動投放、溢滿提醒、火情報警等功能于一體的智能垃圾分類系統(tǒng)。
本書可作為高等學(xué)校計(jì)算機(jī)類、信息類、電子類等專業(yè)人工智能相關(guān)課程的教材,也可供希望學(xué)習(xí)Python、OpenCV的讀者或其他從事人工智能項(xiàng)目開發(fā)的工程技術(shù)人員學(xué)習(xí)參考。
本書適用于擁有樹莓派并希望學(xué)習(xí)Python、OpenCV的讀者,可作為高等院校計(jì)算機(jī)類、信息類、電子類等專業(yè)人工智能相關(guān)課程的教材,也可供從事人工智能項(xiàng)目開發(fā)的讀者參考。
人工智能是國家新興戰(zhàn)略產(chǎn)業(yè)中信息產(chǎn)業(yè)發(fā)展的核心領(lǐng)域。作者團(tuán)隊(duì)在校企合作教書育人過程中,通過與企業(yè)工程師共同探討,完成了基于人工智能應(yīng)用場景的實(shí)踐教學(xué),經(jīng)過近幾年卓越工程師班的教學(xué)實(shí)踐,教學(xué)效果良好。
本書由上海電力大學(xué)嵌入式智能技術(shù)產(chǎn)教融合教學(xué)團(tuán)隊(duì)編寫,是上海市2019年高校本科重點(diǎn)教學(xué)改革項(xiàng)目基于人工智能應(yīng)用場景的產(chǎn)教深度融合實(shí)踐教學(xué)改革與探索的成果,也是2019年上海市高水平應(yīng)用型大學(xué)建設(shè)上海電力大學(xué)重點(diǎn)教改項(xiàng)目新工科背景下卓越工程師培養(yǎng)模式探索的成果。
本書共分4章,前3章主要講解基本知識,第4章為具體項(xiàng)目實(shí)踐。具體內(nèi)容安排如下。
第1章介紹樹莓派的安裝使用。
第2章介紹Python程序的編寫和OpenCV的基礎(chǔ)內(nèi)容,包括人臉檢測、人臉比對、運(yùn)動檢測等內(nèi)容。
第3章介紹如何使用樹莓派的GPIO與硬件的交互,包括LED、繼電器、蜂鳴器、各類開關(guān)、各類模擬傳感器和數(shù)字傳感器等內(nèi)容。
第4章介紹智能垃圾分類系統(tǒng)項(xiàng)目的設(shè)計(jì)制作,綜合前3章的內(nèi)容和語音識別技術(shù),實(shí)現(xiàn)了語音識別、自動投放、溢滿提醒、火情報警等功能。
實(shí)踐項(xiàng)目案例會不斷更新,有興趣的讀者可以與作者進(jìn)行探討。
由于作者能力有限,書中難免有所遺漏,懇請同行專家及讀者批評指正。
作者
2025年4月
第1章樹莓派安裝使用/1
1.1燒寫鏡像文件至SD卡2
1.1.1格式化SD卡2
1.1.2燒寫鏡像文件2
1.2啟動樹莓派4
1.2.1通常情況4
1.2.2開機(jī)直接進(jìn)入樹莓派系統(tǒng)的情況5
1.3PuTTY5
1.4VNC Viewer8
1.4.1通常情況8
1.4.2無法連接VNC的情況8
1.4.3分辨率不匹配情況9
1.4.4樹莓派菜單配置10
1.5文件傳輸11
1.6Linux常用命令與文本編輯12
1.6.1常用命令12
1.6.2文件與目錄管理12
1.6.3文本編輯14
第2章編程基礎(chǔ)/16
2.1Python快速入門16
2.1.1Python程序編寫16
2.1.2方法17
2.1.3循環(huán)17
2.1.4分支18
2.2Python語法基礎(chǔ)19
2.2.1變量20
2.2.2值和類型21
2.2.3結(jié)構(gòu)體24
2.2.4控制程序流程26
2.2.5函數(shù)29
2.2.6類30
2.2.7模塊33
2.3OpenCV基礎(chǔ)34
2.3.1圖像讀寫35
2.3.2圖像處理37
2.3.3視頻捕獲46
2.3.4保存視頻46
2.3.5人臉檢測47
2.3.6給人臉帶上表情48
2.3.7人臉比對49
2.3.8運(yùn)動檢測52
2.3.9KNN背景分割器54
第3章樹莓派的GPIO/56
3.1LED57
3.1.1七彩LED57
3.1.2雙色LED58
3.1.3RGB LED64
3.2繼電器66
3.3激光發(fā)射模塊69
3.4開關(guān)71
3.4.1輕觸開關(guān)71
3.4.2傾斜開關(guān)74
3.4.3振動開關(guān)76
3.4.4干簧管79
3.4.5觸摸開關(guān)81
3.5U型光電傳感器84
3.6蜂鳴器86
3.6.1有源蜂鳴器87
3.6.2無源蜂鳴器88
3.7模擬傳感器93
3.7.1模數(shù)轉(zhuǎn)換傳感器93
3.7.2雨滴傳感器97
3.7.3PS2操作桿100
3.7.4電位器102
3.7.5霍爾傳感器104
3.7.6模擬溫度傳感器107
3.7.7聲音傳感器111
3.7.8光敏傳感器114
3.7.9火焰?zhèn)鞲衅?15
3.7.10煙霧傳感器118
3.8超聲波傳感器122
3.9旋轉(zhuǎn)編碼傳感器124
3.10陀螺儀加速度傳感器127
3.11紅外避障傳感器130
3.12循跡傳感器132
3.13數(shù)字溫濕度傳感器134
第4章智能垃圾分類系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)/139
4.1智能垃圾分類系統(tǒng)簡介139
4.2智能投放模塊140
4.2.1智能投放模塊架構(gòu)140
4.2.2語音識別部分141
4.2.3機(jī)械控制部分144
4.3語音交互模塊148
4.3.1語音交互模塊架構(gòu)148
4.3.2語音交互模塊實(shí)現(xiàn)148
4.4滿溢報警模塊149
4.4.1滿溢報警模塊架構(gòu)149
4.4.2滿溢報警模塊實(shí)現(xiàn)149
4.5火情報警模塊152
4.5.1火情報警模塊架構(gòu)152
4.5.2火情報警模塊實(shí)現(xiàn)152
4.6可選方案: 通過Arduino板連接伺服電動機(jī)154
4.6.1樹莓派與Arduino通信154
4.6.2Arduino與伺服電動機(jī)通信157
參考文獻(xiàn)/160