【有庫存】NT售價: 295 元
樹莓派Zero是一個功能強大、價格低廉、信用卡大小的電腦,非常適合作為復雜家庭自動化設備的控制裝置。利用板上資源,樹莓派Zero可以擴展連接幾乎無限數量的安全傳感器或設備。另一方面,Arduino平臺更加靈活且適合搭建包含物聯網應用的項目。所以,在本書中你會看到:整合功能強大的Arduino板以及與其連接的設備;整合樹莓派Zero,利用一個像集線器(hub)一樣的中心接口來控制和監控設備。利用軟件編程,你可以創造出基于最前沿的JavaScript、HTML5和Node.js等技術的物聯網系統。我想介紹的正是這個。你將學會使用樹莓派Zero板創建許多本地的項目,以便日后滿足自己的需要。在這本書中,每個章節教你制作不同的項目。這些項目包含了從準備工作到硬件、傳感器、通信和軟件編程控制等所有的領域,最終實現一個完整的控制和監控系統。章節概要第1章詳細敘述了如何安裝樹莓派和Arduino板,以及如何在設備間通信。我們將安裝并設置操作系統,把樹莓派聯網,然后遠程連接它。該章還將討論如何保證樹莓派的安全,以及如何讓樹莓派知道正確的時間。第2章展示了如何把信號傳輸到樹莓派Zero和Arduino上。探索GPIO接口和它的諸多功能。該章還將探索諸多利用GPIO連到樹莓派的設備。第3章展示了如何應用傳感器來獲取不同類型的信號。這些信號涉及安全系統、能源電流、居家安防、安裝油氣傳感器、用水流信號來測量水的體積以及利用指紋傳感器控制家庭大門的安全系統。第4章展示了通過樹莓派Zero的中央接口面板(central interface dashboard)上網絡部分的通信模塊控制Arduino。第5章展示了如何通過設置一個連到板上的網絡攝像頭來實現物聯網安全系統的監測。第6章介紹了如何搭建系統來利用網絡服務監視你的安全系統,整合樹莓派Zero和Arduino搭建了一個完整的系統連接設備和監視器。第7章介紹了如何制作不同的迷你家庭本地項目,還介紹了如何用物聯網連接網絡服務并且監視你的安全系統。第8章解釋了如何利用Android Studio和APP Inventor開發一個智能手機APP,并且用APP控制Arduino和樹莓派。第9章展示了如何把所有東西整合起來,包括所有的項目、電子領域、軟件的設置和電源。閱讀本書前需要的準備工作你將需要以下軟件:Win32 Disk Imager 0.9.5 和 PuTTYI2C工具Python的WiringPi2Node.js 4.5或更新的版本Windows下的Node.js V7.3.0或更新的版本Python 2.7.x或Python 3.xphpMyAdmin DatabaseMySQL模塊創建Gmail賬號來登錄APP InventorAndroid Studio和SDK模塊Arduino軟件第1章將介紹如何設置樹莓派Zero,以及所有基礎知識,讓你在之后的章節里不會遇到問題。這里將用到很多基礎的元器件,例如傳感器,然后隨著書的進展會漸漸用到更復雜的元器件。 至于軟件,掌握一定的編程知識會對閱讀有所幫助,特別是JavaScript和Node.js的知識。但是,我會詳細解釋本書中關于軟件的所有知識。所以即使你還沒有掌握JavaScript編程技能,也可以跟上進度。目標讀者本書的目標讀者是所有希望讓自己的家居更加自動化或者智能化,并且希望完整掌握這些智能設備的人。如果你就是這樣的人,在本書中,你可以學會如何用強大的樹莓派Zero的所有相關知識來控制你的項目。本書還適合那些過去已經玩過類似開發板(例如Arduino)的人。如果你是這樣的人,你可以學會如何用樹莓派平臺的力量搭建智能家居。你還可以學到如何搭建一些可以輕松移植到其他平臺的項目,例如用樹莓派Zero創建一個無線的安全攝像機。下載本書的相關資源本書的代碼在GitHub上共享。
對于開發者和工程師而言,物聯網(IoT)是一個全新的平臺。但是在物聯網這個嶄新的世界里使用的編程語言沒有變,JavaScript仍是最廣泛使用的互聯網編程語言。隨著物聯網的興起,開發者有必要學習如何借助JavaScript與連接的設備交互。本書將教你如何開發部署JavaScript網絡服務來與終端設備互動,以及如何設置一個接口來控制所有連接的設備。通過閱讀本書,你將學到:將設備連接到物聯網的必要開發技能如何將傳感器和制動器連接到設備上如何將數據發送到網絡服務器從網絡服務和數據庫的角度理解物聯網用HTML5和JavaScript設置儀表盤從儀表盤控制連接的設備從儀表盤監控不同的設備搭建一個智能手機APP來控制不同設備內容簡介本書首先介紹了如何設置一個中心網絡服務器作為設備的連接中心。之后,進一步介紹了搭建網頁服務來實現已連接設備之間的高層次通信。利用Arduino和樹莓派Zero作為終端設備,本書展示了設備之間如何通信,如何實現各種任務,以及如何用JavaScript從一個中心設備進行控制。最后,本書創建了一個復合的APP來控制設備,這些設備可以通過網頁或智能手機運行。
譯者序關于作者前言第1章 初識樹莓派Zero11.1 設置樹莓派Zero11.1.1 準備SD卡21.1.2 安裝Raspbian操作系統21.1.3 利用串口控制電纜調試樹莓派Zero31.1.4 使用COM串口測試和通信41.2 聯網與遠程控制樹莓派71.2.1 連接以太網絡71.2.2 用SSH接入樹莓派Zero81.2.3 連接Wi-Fi101.3 如何安裝無線工具101.4 測試通信131.5 更新package庫141.6 遠程桌面161.7 自定義網絡服務器181.8 測試PHP安裝191.9 總結21第2章 連接樹莓派Zero222.1 數字信號輸入:傳感器DS18B20222.1.1 硬件要求222.1.2 硬件連接232.2 自定義單線協議242.2.1 軟件自定義252.2.2 在屏幕上顯示讀數262.3 用模數轉換器MCP3008輸入模擬信號262.4 樹莓派GPIO引腳頭282.5 連接RTC322.6 設置DS3231模塊352.7 測試RTC372.8 I2C設備設置372.9 最終測試RTC382.10 總結39第3章 接入傳感器——測量現實事物403.1 讀取流水傳感器來計算水的體積413.1.1 硬件連接413.1.2 讀取傳感器信號413.2 用Arduino讀取和統計脈沖423.3 根據統計的脈沖數量計算水流速度433.4 計算水的流速和體積443.5 測量煤氣濃度483.6 用傳感器測量酒精濃度503.7 用傳感器監測火焰513.8 測量植物濕度533.9 測量容器中的水量553.10 測量溫度、濕度和光照,并把數據顯示到LCD屏幕上573.10.1 硬件和軟件要求573.10.2 測試傳感器593.10.3 在LCD上顯示數據603.11 用PIR傳感器監測物體運動623.12 用簧片開關監測門是否被打開633.13 用指紋傳感器管理進門人員643.13.1 硬件設置643.13.2 保存指紋653.13.3 測試傳感器693.14 總結71第4章 控制連接的設備724.1 利用Node.js制作一個簡單的網絡服務器724.2 利用Restful API和Node.js讓樹莓派控制一個繼電器734.2.1 JSON 結構744.2.2 aREST API指令744.2.3 在樹莓派Zero上安裝Node.js744.3 從瀏覽器用aREST指令控制繼電器754.4 將電腦上的Node.js設置成網絡服務器774.4.1 下載Node.js784.4.2 安裝Node.js784.4.3 用Node.js設置網絡服務器端口8080804.5 用Arduino Wi-Fi擴展板和Node.js監控溫度、濕度和光照814.6 用Arduino以太網擴展板和Node.js監控溫度、濕度和光照874.6.1 Arduino以太網擴展板的應用代碼874.6.2 設置設備的Node.js904.7 總結91第5章 在你的安全系統中添加網絡攝像頭925.1 Arduino和樹莓派間的互動925.1.1 在Raspbian系統下安裝Arduino IDE935.1.2 遠程連接樹莓派935.1.3 用圖像接口執行Arduino935.2 Raspbian系統下的Arduino界面945.2.1 準備工作955.2.2 選擇串口955.2.3 從圖形界面下載程序965.3 從樹莓派Zero控制一個Arduino的輸出口975.4 用Python控制Arduino985.5 將TTL串口攝像頭連接到Arduino,并將圖像保存到micro SD卡995.6 用TTL串口攝像頭監測運動1015.7 用樹莓派控制快照拍攝1025.8 用網頁控制攝像頭1045.8.1 通過PHP啟動Python腳本1045.8.2 Python腳本代碼1055.9 在安全網絡中監控USB攝像頭1065.9.1 設置Arduino YUN1065.9.2 從MJPG-STREAMER服務器監控1085.9.3 用樹莓派監控USB攝像頭1085.10 總結109第6章 搭建網絡監視器和用儀表盤控制設備1106.1 設置MySQL數據服務器1106.1.1 安裝MySQL1116.1.2 安裝PHP的MySQL驅動1136.1.3 測試PHP和MySQL1136.2 安裝phpMyAdmin管理數據庫1156.2.1 設置Apache服務器1166.2.2 從遠程控制面板進入phpMyAdmin1186.2.3 展示Arduinobd數據庫1186.2.4 從Arduino的以太網擴充板發送數據到網頁服務器1196.3 MySQL的Datalogger1216.3.1 腳本語言編程1216.3.2 測試連接1226.4 數據庫查詢1236.4.1 腳本軟件1236.4.2 展示特定數據的腳本1246.4.3 查詢記錄的溫度1256.5 LED的控制和調光1266.5.1 軟件要求1266.5.2 測試LED1276.5.3 從界面控制LED1286.6 控制直流電機1296.7 用電路控制燈1326.8 其他電氣用具1356.8.1 控制門鎖1356.8.2 控制澆水1366.9 從任何地方遠程訪問樹莓派Zero1366.9.1 如何訪問并設置路由器1376.9.2 設置動態DNS1396.9.3 創建No-ip.org賬號1406.10 控制燈并且測量電流消耗1416.11 從已經連接的設備和傳感器上控制與監視Arduino、Wi-Fi和以太網擴展板1476.11.1 編寫控制和監控設備的單一接口代碼1476.11.2 為監視和控制添加設備1486.12 總結150第7章 用物聯網儀表盤搭建監視設備1517.1 可以檢測噪聲的監聽麥克風1517.2 管理交流燈調光器的電流1537.2.1 硬件要求1537.2.2 軟件代碼1547.3 用RFID卡控制訪問1567.3.1 硬件要求1567.3.2 軟件要求1577.3.3 軟件代碼1577.4 監測煙霧1607.5 用樹莓派Zero搭建報警系統1637.5.1 樹莓派Zero的運動傳感器1637.5.2 軟件代碼1637.5.3 報警模塊1647.5.4 軟件代碼1647.5.5 中央接口1647.5.6 圖形接口1667.6 從遠程面板監視氣候1677.6.1 探索傳感器的測試1677.6.2 設置遠程面板(Dweet.io)1687.7 總結170第8章 用手機監視和控制設備1718.1 通過APP Inventor在手機上控制繼電器1718.1.1 硬件要求1718.1.2 軟件要求1728.2 創建第一個應用1728.2.1 設計界面1758.2.2 APP Inventor和Arduino以太網擴展板的通信1768.2.3 APP Inventor代碼1768.3 在以太網擴展板的Android Studio中讀取JSON響應1788.4 Android應用1818.4.1 Java類1818.4.2 應用的許可1818.5 用Android應用控制直流電機1828.6 用Android控制樹莓派Zero的輸出1848.7 用藍牙控制樹莓派Zero的輸出1858.8 總結187第9章 整合所有知識1889.1 整合系統—開發項目1889.1.1 光敏傳感器細節1889.1.2 運動傳感器1899.1.3 自動光照控制器1909.2 太陽能監控電路1919.3 帶有土壤傳感器的自動灌溉系統1919.4 Arduino水量系統1929.5 基于藍牙技術的家庭自動化1929.6 用矩陣式鍵盤控制訪問1939.6.1 鍵盤1939.6.2 連接LCD屏幕來顯示代碼1949.7 用鍵盤控制門鎖1949.8 整合系統來控制繼電器和設備1969.8.1 控制多個電氣設備1969.8.2 整個系統1979.9 如何安裝電源1979.9.1 交流負載電源1989.9.2 連接24V直流繼電器到Arduino1989.10 總結199