3dwoo大學簡體電腦書店
物聯網系統開發:樹莓派JavaScript編程指南
( 簡體 字)
作者:[墨西哥] 魯本·奧利瓦·拉莫斯(Rubén Oliva Ramos) 著類別:1. -> 程式設計 -> 物聯網
   2. -> 電腦組織與體系結構 -> 單晶片 -> Raspberry Pi
   3. -> 程式設計 -> 網路編程 -> Javascript
出版社:機械工業出版社物聯網系統開發:樹莓派JavaScript編程指南 3dWoo書號: 48402
詢問書籍請說出此書號!
有庫存
NT售價: 295
出版日:1/1/2018
頁數:200
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787111588894 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
譯者序
關于作者
前言
第1章 初識樹莓派Zero1
1.1 設置樹莓派Zero1
1.1.1 準備SD卡2
1.1.2 安裝Raspbian操作系統2
1.1.3 利用串口控制電纜調試樹莓派Zero3
1.1.4 使用COM串口測試和通信4
1.2 聯網與遠程控制樹莓派7
1.2.1 連接以太網絡7
1.2.2 用SSH接入樹莓派Zero8
1.2.3 連接Wi-Fi10
1.3 如何安裝無線工具10
1.4 測試通信13
1.5 更新package庫14
1.6 遠程桌面16
1.7 自定義網絡服務器18
1.8 測試PHP安裝19
1.9 總結21
第2章 連接樹莓派Zero22
2.1 數字信號輸入:傳感器DS18B2022
2.1.1 硬件要求22
2.1.2 硬件連接23
2.2 自定義單線協議24
2.2.1 軟件自定義25
2.2.2 在屏幕上顯示讀數26
2.3 用模數轉換器MCP3008輸入模擬信號26
2.4 樹莓派GPIO引腳頭28
2.5 連接RTC32
2.6 設置DS3231模塊35
2.7 測試RTC37
2.8 I2C設備設置37
2.9 最終測試RTC38
2.10 總結39
第3章 接入傳感器——測量現實事物40
3.1 讀取流水傳感器來計算水的體積41
3.1.1 硬件連接41
3.1.2 讀取傳感器信號41
3.2 用Arduino讀取和統計脈沖42
3.3 根據統計的脈沖數量計算水流速度43
3.4 計算水的流速和體積44
3.5 測量煤氣濃度48
3.6 用傳感器測量酒精濃度50
3.7 用傳感器監測火焰51
3.8 測量植物濕度53
3.9 測量容器中的水量55
3.10 測量溫度、濕度和光照,并把數據顯示到LCD屏幕上57
3.10.1 硬件和軟件要求57
3.10.2 測試傳感器59
3.10.3 在LCD上顯示數據60
3.11 用PIR傳感器監測物體運動62
3.12 用簧片開關監測門是否被打開63
3.13 用指紋傳感器管理進門人員64
3.13.1 硬件設置64
3.13.2 保存指紋65
3.13.3 測試傳感器69
3.14 總結71
第4章 控制連接的設備72
4.1 利用Node.js制作一個簡單的網絡服務器72
4.2 利用Restful API和Node.js讓樹莓派控制一個繼電器73
4.2.1 JSON 結構74
4.2.2 aREST API指令74
4.2.3 在樹莓派Zero上安裝Node.js74
4.3 從瀏覽器用aREST指令控制繼電器75
4.4 將電腦上的Node.js設置成網絡服務器77
4.4.1 下載Node.js78
4.4.2 安裝Node.js78
4.4.3 用Node.js設置網絡服務器端口808080
4.5 用Arduino Wi-Fi擴展板和Node.js監控溫度、濕度和光照81
4.6 用Arduino以太網擴展板和Node.js監控溫度、濕度和光照87
4.6.1 Arduino以太網擴展板的應用代碼87
4.6.2 設置設備的Node.js90
4.7 總結91
第5章 在你的安全系統中添加網絡攝像頭92
5.1 Arduino和樹莓派間的互動92
5.1.1 在Raspbian系統下安裝Arduino IDE93
5.1.2 遠程連接樹莓派93
5.1.3 用圖像接口執行Arduino93
5.2 Raspbian系統下的Arduino界面94
5.2.1 準備工作95
5.2.2 選擇串口95
5.2.3 從圖形界面下載程序96
5.3 從樹莓派Zero控制一個Arduino的輸出口97
5.4 用Python控制Arduino98
5.5 將TTL串口攝像頭連接到Arduino,并將圖像保存到micro SD卡99
5.6 用TTL串口攝像頭監測運動101
5.7 用樹莓派控制快照拍攝102
5.8 用網頁控制攝像頭104
5.8.1 通過PHP啟動Python腳本104
5.8.2 Python腳本代碼105
5.9 在安全網絡中監控USB攝像頭106
5.9.1 設置Arduino YUN106
5.9.2 從MJPG-STREAMER服務器監控108
5.9.3 用樹莓派監控USB攝像頭108
5.10 總結109
第6章 搭建網絡監視器和用儀表盤控制設備110
6.1 設置MySQL數據服務器110
6.1.1 安裝MySQL111
6.1.2 安裝PHP的MySQL驅動113
6.1.3 測試PHP和MySQL113
6.2 安裝phpMyAdmin管理數據庫115
6.2.1 設置Apache服務器116
6.2.2 從遠程控制面板進入phpMyAdmin118
6.2.3 展示Arduinobd數據庫118
6.2.4 從Arduino的以太網擴充板發送數據到網頁服務器119
6.3 MySQL的Datalogger121
6.3.1 腳本語言編程121
6.3.2 測試連接122
6.4 數據庫查詢123
6.4.1 腳本軟件123
6.4.2 展示特定數據的腳本124
6.4.3 查詢記錄的溫度125
6.5 LED的控制和調光126
6.5.1 軟件要求126
6.5.2 測試LED127
6.5.3 從界面控制LED128
6.6 控制直流電機129
6.7 用電路控制燈132
6.8 其他電氣用具135
6.8.1 控制門鎖135
6.8.2 控制澆水136
6.9 從任何地方遠程訪問樹莓派Zero136
6.9.1 如何訪問并設置路由器137
6.9.2 設置動態DNS139
6.9.3 創建No-ip.org賬號140
6.10 控制燈并且測量電流消耗141
6.11 從已經連接的設備和傳感器上控制與監視Arduino、Wi-Fi和以太網擴展板147
6.11.1 編寫控制和監控設備的單一接口代碼147
6.11.2 為監視和控制添加設備148
6.12 總結150
第7章 用物聯網儀表盤搭建監視設備151
7.1 可以檢測噪聲的監聽麥克風151
7.2 管理交流燈調光器的電流153
7.2.1 硬件要求153
7.2.2 軟件代碼154
7.3 用RFID卡控制訪問156
7.3.1 硬件要求156
7.3.2 軟件要求157
7.3.3 軟件代碼157
7.4 監測煙霧160
7.5 用樹莓派Zero搭建報警系統163
7.5.1 樹莓派Zero的運動傳感器163
7.5.2 軟件代碼163
7.5.3 報警模塊164
7.5.4 軟件代碼164
7.5.5 中央接口164
7.5.6 圖形接口166
7.6 從遠程面板監視氣候167
7.6.1 探索傳感器的測試167
7.6.2 設置遠程面板(Dweet.io)168
7.7 總結170
第8章 用手機監視和控制設備171
8.1 通過APP Inventor在手機上控制繼電器171
8.1.1 硬件要求171
8.1.2 軟件要求172
8.2 創建第一個應用172
8.2.1 設計界面175
8.2.2 APP Inventor和Arduino以太網擴展板的通信176
8.2.3 APP Inventor代碼176
8.3 在以太網擴展板的Android Studio中讀取JSON響應178
8.4 Android應用181
8.4.1 Java類181
8.4.2 應用的許可181
8.5 用Android應用控制直流電機182
8.6 用Android控制樹莓派Zero的輸出184
8.7 用藍牙控制樹莓派Zero的輸出185
8.8 總結187
第9章 整合所有知識188
9.1 整合系統—開發項目188
9.1.1 光敏傳感器細節188
9.1.2 運動傳感器189
9.1.3 自動光照控制器190
9.2 太陽能監控電路191
9.3 帶有土壤傳感器的自動灌溉系統191
9.4 Arduino水量系統192
9.5 基于藍牙技術的家庭自動化192
9.6 用矩陣式鍵盤控制訪問193
9.6.1 鍵盤193
9.6.2 連接LCD屏幕來顯示代碼194
9.7 用鍵盤控制門鎖194
9.8 整合系統來控制繼電器和設備196
9.8.1 控制多個電氣設備196
9.8.2 整個系統197
9.9 如何安裝電源197
9.9.1 交流負載電源198
9.9.2 連接24V直流繼電器到Arduino198
9.10 總結199
對于開發者和工程師而言,物聯網(IoT)是一個全新的平臺。但是在物聯網這個嶄新的世界里使用的編程語言沒有變,JavaScript仍是最廣泛使用的互聯網編程語言。隨著物聯網的興起,開發者有必要學習如何借助JavaScript與連接的設備交互。

本書將教你如何開發部署JavaScript網絡服務來與終端設備互動,以及如何設置一個接口來控制所有連接的設備。

通過閱讀本書,你將學到:

將設備連接到物聯網的必要開發技能

如何將傳感器和制動器連接到設備上

如何將數據發送到網絡服務器

從網絡服務和數據庫的角度理解物聯網

用HTML5和JavaScript設置儀表盤

從儀表盤控制連接的設備

從儀表盤監控不同的設備

搭建一個智能手機APP來控制不同設備



內容簡介

本書首先介紹了如何設置一個中心網絡服務器作為設備的連接中心。之后,進一步介紹了搭建網頁服務來實現已連接設備之間的高層次通信。利用Arduino和樹莓派Zero作為終端設備,本書展示了設備之間如何通信,如何實現各種任務,以及如何用JavaScript從一個中心設備進行控制。最后,本書創建了一個復合的APP來控制設備,這些設備可以通過網頁或智能手機運行。
樹莓派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 和 PuTTY

I2C工具

Python的WiringPi2

Node.js 4.5或更新的版本

Windows下的Node.js V7.3.0或更新的版本

Python 2.7.x或Python 3.x

phpMyAdmin Database

MySQL模塊

創建Gmail賬號來登錄APP Inventor

Android Studio和SDK模塊

Arduino軟件

第1章將介紹如何設置樹莓派Zero,以及所有基礎知識,讓你在之后的章節里不會遇到問題。這里將用到很多基礎的元器件,例如傳感器,然后隨著書的進展會漸漸用到更復雜的元器件。

至于軟件,掌握一定的編程知識會對閱讀有所幫助,特別是JavaScript和Node.js的知識。但是,我會詳細解釋本書中關于軟件的所有知識。所以即使你還沒有掌握JavaScript編程技能,也可以跟上進度。

目標讀者

本書的目標讀者是所有希望讓自己的家居更加自動化或者智能化,并且希望完整掌握這些智能設備的人。如果你就是這樣的人,在本書中,你可以學會如何用強大的樹莓派Zero的所有相關知識來控制你的項目。

本書還適合那些過去已經玩過類似開發板(例如Arduino)的人。如果你是這樣的人,你可以學會如何用樹莓派平臺的力量搭建智能家居。你還可以學到如何搭建一些可以輕松移植到其他平臺的項目,例如用樹莓派Zero創建一個無線的安全攝像機。

下載本書的相關資源

本書的代碼在GitHub上共享。
pagetop