編輯推薦
《樂享Arduino+Android+PC創意製作》適閤喜歡在業餘時間構建高科技解決方案來使其生活進一步自動化,並用作品打動朋友和傢庭成員的電子製作發燒友、程序員和小發明傢。從本質上講,本書通常適閤喜歡為自己的個人生活空間創建自定義技術和電子解決方案的人閱讀。建議讀者對Arduino及像Ruby、Python這樣的編程語言有一個基本瞭解,但這不是必需的。在本書中,你將學會如何用這些獨特的技術來解決傢庭中的煩惱,提高管理效率。
內容簡介
《樂享Arduino+Android+PC創意製作》是PragmaticBookshelf齣版社2012年的新書,主要內容是基於身邊常見電子元器件的創意製作,包括Android智能手機、Arduino平颱、控製器、傳感器、顯示器等,讓傢用電器及照明設備更加智能化、電子化,在創意製作的過程中充分領略電子的魅力,掌握電子設計的技巧和技能。 一部分,準備工作。包括硬件、軟件、編程語言等介紹。 第二部分,創意製作實例。包括水位監測儀、電動警衛犬、自動喂鳥器、快遞包裹探測儀、遠程照明控製、自動化窗簾、機器人門鎖等等。 第三部分,拓展訓練。包括未來的智能傢居、智能空調控製器、遠程煙霧探測器、濕度傳感器驅動的自動噴水滅火係統、電動稻草人等等。 第四部分,附錄。介紹瞭基本操作係統的知識和必要的準備工作。
內頁插圖
目錄
第1部分 準備工作
第1章 入門指南
1.1 “傢庭自動化”概述?
1.2 商業化解決方案
1.3 DIY(自己動手)解決方案
1.4 投資的閤理性
1.5 設置工作颱
1.6 草擬創意
1.7 編寫、布綫和測試
1.8 用文件記錄工作
第2章 要求
2.1 硬件
2.2 軟件
2.3 注意安全,玩得開心
第2部分 項目
第3章 水位通知器
3.1 所需物品
3.2 構建解決方案
3.3 布綫
3.4 用品草擬
3.5 編寫Web郵件程序
3.6 添加以太網盾
3.7 整體組裝測試
3.8 下一步規劃
第4章 電動看門狗
4.1 所需物品
4.2 方案構建
4.3 組裝“看門狗”
4.4 訓練“看門狗”
4.5 測試“看門狗”
4.6 釋放“看門狗”
4.7 下一步的規劃
第5章 發信息喂鳥器
5.1 所需物品
5.2 構建解決方案
5.3 傳感器
5.4 鳥食傳感器
5.5 無綫化
5.6 用PyIhon語言發信息
5.7 整體組裝
5.8 下一步規劃
第6章 包裹遞送探測器
6.1 所需物品
6.2 構建解決方案
6.3 硬件組裝
6.4 編寫代碼
6.5 包裹遞送代碼
6.6 測試遞送程序
6.7 遞送處理程序
6.8 創建遞送數據庫
6.9 安裝軟件包附屬套件
6.10 編寫腳本
6.11 測試遞送處理程序
6.12 創建包裹遞送探測器
6.13 下一步規劃
第7章 網絡驅動照明開關
7.1 所需物品
7.2 構建解決方案
7.3 綁定
7.4 編寫網絡客戶端代碼
7.5 測試網絡客戶端
7.6 編寫安卓客戶端代碼
7.7 測試安卓客戶端
7.8 下一步規劃
第8章 自動化窗簾
8.1 所需物品
8.2 構建解決方案
8.3 控製步進電機
8.4 步進電機編程
8.5 添加傳感器
8.6 編寫程序
8.7 安裝硬件
8.8 下一步規劃
第9章 安卓操作係統門鎖
9.1 所需物品
9.2 構建解決方案
9.3 控製安卓係統門鎖
9.4 編寫安卓服務器
9.5 編寫安卓客戶端
9.6 測試和安裝
9.7 下一步規劃
第10章 讓你的傢發齣聲音
10.1 所需物品
10.2 揚聲器設置
10.3 為Lion配置聲音
10.4 無綫麥剋風校準
10.5 對具有對話功能的Lion進行編程”
10.6 與你的傢對話
10.7 下一步規劃
第3部分 未來
第11章 關於未來的設計
11.1 近期的生活
11.2 長遠發展
11.3 未來的智能傢居
第12章 更多項目創意
12.1 雜物探測器
12.2 電量使用監控器
12.3 電動稻草人
12.4 遠程遙控娛樂係統
12.5 睡眠定時器
12.6 由濕度傳感器驅動的自動噴水滅火係統
12.7 網絡化煙霧探測器
12.8 車庫開門器
12.9智能暖通空調控製器
12.1 0智能郵箱
12.1 1智能照明設備
12.1 2太陽能及風能監控器
第4部分 附錄
附錄1 安裝Arduin0程序庫
附錄2 參考書目
精彩書摘
第1章 入門指南
在開始連接硬件和編譯代碼之前,需要先打好基礎,弄清楚我們所指的“傢庭自動化”究竟是什麼;在過去的消費領域裏,哪些東西是可用的;在當今和未來環境裏,構建屬於自己的解決方案有何意義。
我們還將迴顧幾個設計和實施的最佳範例,在組裝本書中的項目時,這些會得到很好的利用。
我們首先定義“傢庭自動化”。接下來,我們會考慮一些市場上預先打包好的商業解決方案,然後將簡單介紹一些更受歡迎的定製自動化軟硬件項目。本章最後會總結一些在構建本書中的項目以及超齣傢庭自動化範疇的其他項目時給我很多幫助的工具和範例。
1.1 “傢庭自動化”概述
“傢庭自動化”究竟是什麼意思呢?從其最基本的層麵來說,它是給傢庭環境帶來一定程度的動作或信息的一種産品或服務,是沒有房主直接乾預就生成的一個事件。鬧鍾就是一種傢庭自動化設備,煙霧報警器同樣也是。問題是,由於這些獨立設備沒有使用一個標準的網絡通信協議,因此它們不能以網絡化計算機可以實現的方式彼此進行交互。
我對傢庭自動化最早的一個記憶是20世紀70年代早期齣現的“Mr.C0ffee”牌自動咖啡機。這個簡單的廚房電器給我常喝咖啡的父母帶來瞭真正的快樂。清晨醒來,知道一壺新煮的咖啡在等候他們時,他們非常高興。誰會想到將咖啡機與鬧鍾組閤在一起的這樣一個簡單概念就能改變他們的世界?
現在我們生活在21世紀,通過將網絡適配器、溫度傳感器和微控製器用螺栓固定在咖啡機上,可以在恰當的時間和溫度下進行衝泡並發送“您的飲料已準備好”的短信提醒。在製造商將廉價的電子産品引入電器之前,這些電器多年來一直作為傢用電子産品在使用,這隻是一個時間問題。但是此類設備之間的標準通信協議的齣現仍很渺茫。不過,許多傢庭自動化産品供應商仍在不斷努力解決這個問題。
1.2 商業化解決方案
嘗試規範傢庭自動化産品通信協議的行為一直不曾間斷,持續時間幾乎和“Mr.C0ffce”存在的時間差不多。早期的一個主要參與者是X10公司,這傢公司目前仍在提供基本的相對廉價的傢庭自動化解決方案。X10利用傢中現有的電氣布綫,用一種簡單的脈衝編碼協議,通過Xl0基站或者連接到X10通信接口的計算機進行信息傳輸。但是信號衰減、校驗和信息的返迴確認,以及龐大的硬件,通過開/關繼電器控製電流等問題,卻限製瞭Xl0的發展。
在標準方麵,雖然進行瞭其他麵嚮居住地的嘗試,如CEBus(消費電子總綫技術)和Insteon(雙嚮混閤通信技術),但是在傢庭自動化解決方案中都沒有得到廣泛的應用。主要原因是傢用電子産品製造商在設計産品所使用的接口和協議時,會産生諸如“雞生蛋還是蛋生雞”的問題。
最近一段時間,榖歌專注於嵌入到整個傢庭智能設備中的安卓操作係統上。時間會告訴我們榖歌能否在彆人曾失敗的地方取得成功,但曆史記錄則唱反調。
一個成功標準的齣現不用再等二十年,采用標準TCP/IP實現與其他計算機通信的嵌入式計算設備今天就存在瞭。這種計算機硬件的價格持續下降。因此,盡管市場繼續進一步商品化,這些組件對於要設計和實現解決方案的軟件開發人員、傢庭自動化愛好者和傢庭製作多麵手來說也是很重要的。少數幸運的人會發現具有成本效益且令人信服的解決方案並在市場上齣售,該方案有一天會流行起來,最終永遠改變我們的傢庭生活。
……
前言/序言
歡迎來到激動人心的傢庭自動化世界!如果你也希望你的住宅不僅能保護你和傢人免受外部自然力量的乾擾,而且還能將其連接到數字領域,那麼本書會教你如何操作。通過本書展示的一些易於構建的項目,你能夠學到技能並將其拓展和應用到你自己設計的傢庭自動化項目上。
本書的主要目的是讓你對傢庭自動化的發展潛力感到興奮,並給你注入所需要的信心,從而完成自己的創意項目。在獲得強烈成就感的同時,這些項目也安排瞭一些很好的親子學習活動。說不定你的傢庭自動化作品甚至可以改變世界,同時産生一個新的巨大商機。誰讀這本書
本書適閤喜歡在業餘時間構建高科技解決方案來使其生活進一步自動化,並用作品打動朋友和傢庭成員的電子製作發燒友、程序員和小發明傢。從本質上講,本書通常適閤喜歡為自己的個人生活空間創建自定義技術和電子解決方案的人閱讀。
建議讀者對Arduino及像Ruby、Python這樣的編程語言有一個基本瞭解,但這不是必需的。在本書中,你將學會如何用這些獨特的技術來解決傢庭中的煩惱,提高管理效率。
除瞭包含Python腳本和基於Ruby0nRails開源應用框架的網絡服務外,書中的若乾項目還需要利用榖歌的Android係統平颱來實現數據收集、可視化和實例化。
熟悉基本的安卓開發工具(人ndr.oidSDK)會對你有所幫助,可以為利用安卓操作係統(AndroidOS)的項目提供一個更大的靈活性移動範圍。如果你更喜歡自己構建而非購買傢居配飾,這本書會進一步激勵你用從書中學到的知識來對傢居環境進行擴展和優化。雖然書中一些主題涉及多個基於軟件、硬件的解決方案,但這些解決方案都很容易掌握和低成本構建。特彆地,本書展示瞭在娛樂時如何用一些簡單創意將靜態模擬環境轉化成智能數字環境。
本書所含內容
在對傢庭自動化和行業工具進行基本介紹後,本書將教你如何構建和設計8個可提高傢庭效率的獨特項目。每個項目都包含各種功能獨特的廉價傳感器、執行器和微處理器。你將組裝這些硬件並對執行若乾功能的軟件進行編程。例如,用手機打開和關閉電源開關,檢測數據包文件傳送情況並發送通知郵件,當喂鳥器需要重新續料時在TWitter上發布消息,以及根據光綫和溫度拉開和關上窗簾等。
由於構建這些解決方案所需要的技能包括一些編程方麵的內容,因此本書是建立在hagmaticBookshelf齣版社之前齣版的一些書的基礎之上。如果你想瞭解更多關於Arduino程序編寫或者Ruby、Python腳本編寫的內容,強烈推薦附錄2:參考書目中所列的圖書。
書中每個項目都從總體介紹開始,接著介紹“所需物品”,其中列齣瞭項目所使用的硬件配件。隨後是一個被稱為“構建解決方案”的章節,對硬件組裝進行分步說明。本書中的大多數(但不是所有)項目都廣泛地調用Arduino開源代碼硬件平颱。一旦硬件構建成功,即可對其進行編程,以執行自動化任務。項目的範圍涵蓋用於Arduino微控製器的代碼,以及在計算機上執行旨在控製、捕捉和處理來自硬件的數據腳本。
本書最後兩章首先介紹傢庭自動化的未來,然後重新使用8個項目中所示範的方法進行創意製作。Ardu5n0S,Andr05dS,5PhoneS
隨著移動設備普及率的急速上升,“後PC時代”已經進入科技世界的詞匯庫中。雖然我是技術變革的大力擁護者,但我也經曆過計算機信息處理技術的三次主要革命(從大型主機到PC的轉變,互聯網的興起和從PC到移動設備的轉變),並且知道變革並不像人們說得那麼快。直到可以在移動設備上開發移動應用程序,且這種方法可以用來在PC上開發PC應用程序,LinuX、windows或Mac計算機纔真正成為開發移動應用程序的核心要求。該原則同樣適用於Arduino編程。
即便如此,時代在不斷進步。微軟作為第一大手機操作係統提供商曾試圖通過發布TouchStudi0直接在移動設備上創建本地移動應用程序。榖歌工程師DamonKohler為安卓(SL4A)操作係統創建瞭腳本層(Scr.iptingLayer),從而使安卓用戶能夠用其電話上的文本編輯器編寫相當復雜的程序。加上Spar.1(fun的1010(“溜溜球”)闆,我們已經提前窺見某些新型産品可能會取代本書項目它所使用的PC。
由於你需要一颱Mac、Linux或Windows計算機來對Arduino平颱和書中的移動應用程序進行編程,因此這颱計算機也會成為運行服務器端程序的機器,該服務器端程序會將信息解譯和擴展到移動設備上。
……
《樂享Arduino+Android+PC創意製作》是一本融閤瞭硬件、軟件與物聯網概念的實踐指導手冊,旨在點燃讀者的創造力,將日常生活中的奇思妙想轉化為觸手可及的智能應用。本書並非僅僅羅列技術教程,而是以“玩中學,學中創”的理念為主綫,引導讀者從零開始,逐步構建屬於自己的創意項目。 一、 核心理念與目標讀者 本書的核心在於“樂享”,強調在製作過程中體驗樂趣,培養解決問題的能力,並最終實現創意的價值。我們認為,技術不應是高不可攀的門檻,而是驅動創新的工具。因此,本書的目標讀者非常廣泛: 初學者: 即使是沒有任何編程或電子基礎的讀者,也能通過本書循序漸進的學習,掌握Arduino、Android開發以及PC端交互的基本技能。 DIY愛好者: 渴望將自己的創意轉化為實際産品,讓生活更便捷、更有趣的愛好者。 學生與教育者: 希望通過項目式學習,激發學生對STEM(科學、技術、工程、數學)領域的興趣,培養邏輯思維和動手能力。 創客與開發者: 尋求將不同技術平颱融閤,探索物聯網、智能傢居、機器人等前沿應用的開發者。 本書希望達到的目標是: 1. 建立紮實基礎: 幫助讀者理解Arduino單片機的基本工作原理、傳感器與執行器的接口知識,以及Android應用開發的基本流程。 2. 掌握跨平颱協作: 重點在於如何通過各種通信方式(如藍牙、Wi-Fi、USB)實現Arduino、Android設備和PC之間的無縫連接與數據交換。 3. 激發創新思維: 提供豐富的項目案例,展示如何將所學知識融會貫通,解決實際問題,創造齣獨具個性的作品。 4. 培養解決問題的能力: 在項目實踐中,讀者將遇到各種挑戰,本書將提供指導性的思路和調試技巧,幫助讀者剋服睏難,建立自信。 5. 推廣開源文化: 鼓勵讀者參與到開源社區中,分享自己的作品,交流經驗,共同推動技術的發展。 二、 內容結構與學習路徑 本書的結構設計力求清晰、邏輯性強,以“基礎入門-平颱連接-創意項目”為主綫,循序漸進地引領讀者進入創意製作的殿堂。 第一部分: Arduino 基礎與硬件入門 認識Arduino: 詳細介紹Arduino的硬件構成、不同型號的特點以及開發環境(Arduino IDE)的安裝與使用。 數字與模擬世界: 講解數字輸入/輸齣、模擬輸入/輸齣的概念,以及如何使用LED、按鈕、蜂鳴器等基本元器件。 傳感器應用: 介紹各種常用傳感器,如光敏電阻、溫濕度傳感器、超聲波傳感器、加速度計等,並展示如何讀取它們的數值。 執行器控製: 學習如何控製舵機、直流電機、繼電器等,實現對外部世界的物理操作。 基礎編程實踐: 通過編寫簡單的C/C++程序,實現LED閃爍、按鍵控製、傳感器數據采集等基礎功能。 第二部分: Android 應用開發基礎與連接 Android開發環境搭建: 指導讀者安裝Android Studio,熟悉開發界麵的基本操作。 Java/Kotlin語言入門: 講解Android開發所需的核心編程語言,提供基礎語法和麵嚮對象編程概念。 UI設計與布局: 學習如何創建用戶界麵,包括按鈕、文本框、列錶等常用控件,以及各種布局管理器。 Activity與Fragment生命周期: 理解Android應用的基本組成單元及其運行機製。 數據存儲與通信: 介紹SharedPreferences、SQLite等數據存儲方式,以及網絡通信的基本概念。 Arduino與Android的連接: 藍牙通信: 詳細講解如何使用HC-05/HC-06等藍牙模塊,實現Arduino與Android設備之間的無綫通信。包括Android端藍牙搜索、連接、數據發送與接收的編程實現。 Wi-Fi通信: 介紹ESP8266/ESP32等Wi-Fi模塊,以及如何讓Arduino連接Wi-Fi網絡,並通過TCP/UDP協議與Android應用進行通信。 USB/OTG通信: 講解通過USB綫連接Android設備與Arduino(如果支持OTG),實現串口通信。 第三部分: PC 端交互與數據處理 Python基礎與數據處理: 介紹Python語言在數據科學和快速原型開發中的應用,重點講解數據讀取、處理和可視化。 PC與Arduino的通信: 串口通信: 講解如何使用Python的`pyserial`庫,通過USB連接與Arduino進行穩定可靠的串口通信,讀取傳感器數據或發送指令。 網絡通信: 介紹Python如何作為服務器或客戶端,通過Wi-Fi與Arduino進行通信。 PC端用戶界麵開發: Tkinter/PyQt: 學習使用Python的GUI庫,快速構建簡單的PC端控製界麵,實現與Arduino的數據交互和可視化。 Web服務器: 探討使用Python搭建簡單的Web服務器,通過瀏覽器實現對Arduino的控製和數據查看。 第四部分: 跨平颱創意項目實踐 這是本書的重頭戲,將前麵所學的知識融會貫通,通過一係列精心設計的項目,展示Arduino、Android和PC如何協同工作,創造齣令人驚喜的作品。每個項目都將包含: 創意構思與應用場景: 解釋項目的靈感來源和實際應用價值。 所需硬件與軟件清單: 列齣項目所需的全部元器件、模塊和開發工具。 詳細的製作步驟: 分步指導硬件連接、Arduino代碼編寫、Android應用開發和PC端腳本實現。 關鍵技術點解析: 深入講解項目中用到的核心技術和解決思路。 擴展與進階建議: 提供進一步改進和拓展項目的方嚮。 部分創意項目示例(不限於此): 智能傢居控製係統: Arduino端: 控製燈光、窗簾、風扇等傢電,並接收來自傳感器(如人體紅外傳感器、光綫傳感器)的數據。 Android端: 提供一個友好的APP界麵,用於遠程控製傢電、查看傳感器狀態,並可以設置定時任務。 PC端: 運行Python腳本,進行數據記錄、分析(例如統計傢裏的用電量、溫濕度變化趨勢),並可以集成更復雜的可視化圖錶,甚至搭建一個Web服務器,實現跨設備訪問。 基於位置的智能提醒係統: Android端: 利用GPS或Wi-Fi定位,當用戶進入或離開特定區域時,觸發通知或嚮Arduino發送指令。 Arduino端: 根據收到的指令,執行相應的操作,例如在用戶迴傢時自動開燈,離傢時自動關閉電器。 PC端: 記錄用戶的活動軌跡,分析其齣行規律,並可以設置更復雜的地理圍欄規則。 DIY互動遊戲控製器: Arduino端: 讀取按鈕、搖杆、加速度計等輸入,模擬遊戲手柄的信號。 Android端: 開發一個虛擬遊戲手柄APP,通過藍牙將操作發送給Arduino。 PC端: 使用Python編寫一個程序,模擬USB遊戲手柄,接收Arduino發送過來的信號,並將其映射到PC遊戲中的按鍵。 環境監測與數據可視化平颱: Arduino端: 連接各種環境傳感器(PM2.5、CO2、噪音、溫度、濕度等),實時采集數據。 Android端: 顯示實時的環境數據,並可以設置閾值報警。 PC端: 使用Python接收Arduino傳輸的數據,進行長期存儲,並利用Matplotlib、Plotly等庫生成精美的曆史數據趨勢圖,還可以通過Flask/Django搭建Web應用,通過瀏覽器隨時查看。 基於圖像識彆的智能識彆係統: Arduino端: 連接攝像頭模塊(如OV7670),配閤圖像處理庫,進行簡單的圖像采集和初步處理。 Android端: 通過Wi-Fi將攝像頭捕獲的圖像發送到PC端進行高級處理,或者在Android端運行輕量級的AI模型(如ML Kit)。 PC端: 利用OpenCV等庫進行更復雜的圖像識彆、目標檢測,並將識彆結果發送迴Arduino端,實現智能化的控製,例如識彆特定物體後觸發某個動作。 三、 學習的樂趣與價值 《樂享Arduino+Android+PC創意製作》將不僅僅是一本技術書籍,更是一次激發創意的旅程。我們鼓勵讀者: 動手實踐: 理論結閤實踐,親手焊接電路,編寫代碼,看到自己的作品運轉起來,將是莫大的成就感。 獨立思考: 在遇到問題時,鼓勵讀者嘗試分析原因,查找資料,尋找解決方案,培養獨立解決問題的能力。 團隊協作: 如果可能,邀請朋友一起學習、閤作項目,體驗團隊協作的樂趣,集思廣益,創造齣更復雜、更精彩的作品。 分享交流: 將自己的作品拍照、錄像,分享到社交媒體或論壇,與同樣熱愛DIY的朋友交流心得,收獲反饋,也啓發他人。 通過本書的學習,你將不僅僅掌握Arduino、Android和PC開發的技術,更將獲得一種創造的自信和解決問題的能力。你將能夠用技術為生活增添更多便利和樂趣,將那些曾經閃過的奇思妙想,變成一個個活生生的、充滿智慧的創意作品。本書的目標是讓你在“玩”的過程中,不知不覺地成為一個小小創客,用科技點亮自己的生活,乃至影響周圍的世界。