您好,登錄后才能下訂單哦!
Christopher Rush
Programming the Photon:Getting Started with the Internet of Things
EISBN:978-0-07-184706-3
Copyright ? 2016 by McGraw-Hill Education.
版權所有。未經出版人事先書面許可,對本出版物的任何部分不得以任何方式或途徑復制或傳播,
包括但不限于復印、錄制、錄音,或通過任何數據庫、信息或可檢索的系統。
本授權中文簡體字翻譯版由麥格勞
希爾
亞洲
教育出版公司和清華大學出版社有限公司合作出版。
此版本經授權僅限在中國大陸地區銷售、不能銷往中國香港、澳門特別行政區和中國臺灣地區。
版權
由麥格勞
希爾
亞洲
教育出版公司與清華大學出版社有限公司所有。
北京市版權局著作權合同登記號 圖字:01-2018-0333
本書封面貼有
McGraw-Hill Education
公司防偽標簽,無標簽者不得銷售。
版權所有,侵權必究。侵權舉報電話:010-62782989 13701121933
圖書在版編目(CIP)數據
物聯網編程從零開始
美
克里斯多佛
拉什
著;郭俊鳳 譯
—北京:
清華大學出版社,
書名原文:
Ⅰ
①
… Ⅱ
①克… ②郭… Ⅲ
①互聯網絡-應用-程序設計 ②智能技術-應用-程序
設計 Ⅳ
①
②
中國版本圖書館
數據核字
第
號
責任編輯:王 軍 韓宏志
裝幀設計:牛靜敏
責任校對:曹 陽
責任印制:李紅英
出版發行:清華大學出版社
網 址:
,
地 址:北京清華大學學研大廈
座
郵 編:
社 總 機:
郵 購:
投稿與讀者服務:
,
質 量 反 饋:
,
印 裝 者:北京嘉實印刷有限公司
經 銷:全國新華書店
開 本:
×
印 張:
字 數:
千字
版 次:
年
月第
版
印 次:
年
月第
次印刷
定 價:
元
——————————————————————————————————————————
產品編號:
譯 者 序
Particle(www.particle.io)公司提供全球最完善的開源物聯網軟硬
件開發平臺,自
2013
年該公司推出第一款基于
TI CC3000
的
STM
CORTEX M3
開源開發板以來,Particle
以其超強的軟件支持幫助開發
者將產品接入網絡,提供
Arduino
的
IDE、配套控制
App、網頁端編
譯軟件、應用開發
SDK、JS
開發庫等支持。其云服務能讓應用于量產
的
Particle
硬件隨時隨地接入云端、集中維護,并能實現在線更新固
件、網絡訪問、數據安全等功能。
Particle
推出的
Photon
是一款功能強大、開發資源極其豐富、上
手開發非常容易的Wi-Fi物聯網開發模塊。它基于ST公司的Cortex M3
內核微處理器以及
BroadCom
公司的
Wi-Fi
芯片,可通過
USB
進行供
電及代碼調試、下載。Photon
尺寸很小,卻具有強大的處理性能,擁
有完整的生態系統和良好的兼容性,在復雜應用中的表現更出色。
Particle
公司同時提供基于瀏覽器的集成化開發環境(Web IDE),
擁有非常豐富的庫和支持各種應用的參考例程,方便全球的開發人員
進行代碼分享,非常適合嵌入式工程師、網頁開發工程師、Arduino
愛好者以及
IoT
產品企業便捷地編寫自己的固件,創建自己的專屬網
站和手機
App。
對初學者而言,學習
Photon
完全不需要了解其內部硬件結構和寄
存器設置,僅知道它的端口作用即可;可以不懂硬件知識,只要會簡
單的
C
語言,就可用
Photon
編寫程序,
只要設備加了電,固件就會
運行。
本書共分
9
章。第
1
章簡要介紹微控制器、Arduino
和物聯網(IoT)
等。第
2
章討論將
Photon
開發板連接到
Particle
云并開始編程的多種
方式,并簡要介紹
Particle Web IDE。第
3
章講述用于給
Photon
編程
的
C
語言的基本編程術語。第
4
章討論如何控制發光二極管(LED)、
繼電器和蜂鳴器等輸出設備。第
5
章給一些輸入設備編程,例如開關、
溫度感應器等。第
6
章探討如何使用
Particle
函數通過
Internet
進行控
制,如何獲得溫度設備的讀數并顯示在
Web
上。第
7
章介紹
Particle
防
護板和可用的擴充板,說明它們如何使項目更容易完成,而不必設計
和測試電路,包括繼電器防護板、穩壓防護板、JTAG、Arduino
防護
板、Internet
按鈕等。第
8
章介紹如何使用
IFTTT Web
服務控制
Photon
開發板上的電路,以及如何使用
Photon
開發板控制某些
Web
服務,
例如
Twitter。第
9
章能讓讀者很好地根據
RGB LED
的閃爍和顏色理
解
Photon
發生了什么,進而掌握排除設備故障技術。
本書適合電子愛好者、機器人愛好者和
Photon
初學者閱讀,也可
用作院校電子科技實踐活動的參考書。
這里要感謝清華大學出版社的李陽和韓宏志編輯,這幾位編輯為
本書的翻譯投入了巨大熱情,付出了很多心血。沒有你們的幫助和鼓
勵,本書不可能順利付梓。本書主要章節由郭俊鳳翻譯,參與翻譯的
還有陳妍、何美英、陳宏波、熊曉磊、管兆昶、潘洪榮、曹漢鳴、高
娟妮、王燕,在此一并表示感謝。
對于這本經典之作,譯者本著“誠惶誠恐”的態度,在翻譯過程
中力求“信、達、雅”,但鑒于譯者水平有限,錯誤和失誤在所難免,
如有任何意見和建議,請不吝指正。
譯 者
作 者 簡 介
Christopher Rush
擁有計算機科學學位,最近
10
年一直在一家
電子公司的單板計算部門擔任產品經理。Christopher
還維護著一個
MakerSpace
博客(www.rushmakes.com),為流行的開發板和附件提供
評論、教程和用戶指南,包括
Raspberry Pi、Arduino、BeagleBone
等。Christopher
是
30 BeagleBone Black Projects for the Evil Genius
一書
的作者。
致 謝
我要感謝
Mike McCabe
和
McGraw-Hill Education
團隊的大力支
持,與你們再次合作非常愉快。
我還要將本書獻給我的伙伴
Jennifer Wozniak,像往常一樣,她不
斷地鼓勵、激勵我,沒有她在我身邊,我會迷失方向的。
前 言
本書全面介紹如何為
Particle Photon
開發板編程。Particle Photon
是一個真正的物聯網設備,它允許編寫代碼,使用云創建電子項目。
它完全可用作項目的大腦,還可使用
Internet
遠程控制和收集數據,
來擴展功能。
幸好,Photon
平臺采用了
Arduino
樣式的編程語言,同時具備自
己的編程功能。這樣就可以使用
Arduino
領域的海量資源,包括現有
的項目和示例。
為什么使用Photon?Photon開發板由Particle團隊開發,在2014年11
月面市,價格僅19美元。它是獨一無二的,使用Particle云提供了獨特
的硬件和軟件體驗,可通過Web IDE編程。Photon開發板取代了Particle
Core,后者通過Kickstarter活動籌措了50多萬美元,配備了Broadcom
BCM43362 Wi-Fi芯片,而不是TI CC3000。
本書旨在使讀者能開始使用
Particle Photon創建自己的硬件項目,
讀者不需要具有連接電路或編程方面的經驗,但最好了解一般性計算
機技術。本書會給讀者提供各種體驗,并簡單介紹
Photon
開發板的許
多功能。本書只介紹開發板編程的基礎知識,讀者可在未來的項目中
擴展這些知識。
希望能看到讀者對本書的看法,請通過
www.rushmakes.com
或
Twitter(https://twitter.com/chrisrush85)與作者聯系。
目 錄
第
1
章
Photon
簡介
............................................................................
1
1.1
微控制器
.........................................................................
1
1.2
什么是
Photon
.................................................................
2
1.3 Particle Photon
和
Spark Core
..........................................
2
1.4
物聯網
.............................................................................
3
1.5 Particle
云
........................................................................
4
1.6 Photon
板
.........................................................................
4
1.7
小結
.................................................................................
5
第
2
章 連接
.........................................................................................
7
2.1
開發板的特征
.................................................................
7
2.2
連接
...............................................................................
11
2.2.1
連接到移動智能設備上
....................................
11
2.2.3
通過
USB
連接
..................................................
14
2.3
使用
Tinker
....................................................................
16
2.3.1 Tinker API
..........................................................
18
2.3.2
同時運行
Tinker
和腳本
....................................
20
2.4
使用
Particle Web IDE
...................................................
22
2.4.1 Particle
應用和庫
...............................................
24
2.4.2
上傳第一個應用
................................................
24
2.4.3
賬戶信息
............................................................
26
2.4.4
使用庫
...............................................................
26
2.5 Photon
板的固件
...........................................................
31
2.6
小結
...............................................................................
31
第
3
章
Particle
語法
..........................................................................
33
3.1
什么是編程
...................................................................
33
3.2
變量
...............................................................................
35
3.2.1
浮點型
...............................................................
37
3.2.2
布爾型
...............................................................
38
3.2.3
字符型
...............................................................
40
3.3
命令
.................................................................................
40
3.3.1 if
語句
................................................................
40
3.3.2 for
循環
..............................................................
42
3.3.3 while
循環
..........................................................
42
3.4
數組
...............................................................................
43
3.5
字符串
...........................................................................
44
3.6
最佳編程實踐
...............................................................
45
3.6.1
縮進
...................................................................
46
3.6.2
注釋代碼
............................................................
46
3.6.3
空白
...................................................................
47
3.7
小結
...............................................................................
48
第
4
章 輸出
.......................................................................................
49
4.1
數字輸出
.......................................................................
49
4.1.1
打開和關閉
LED
...............................................
53
4.1.2 LCD
顯示器
.......................................................
56
4.2
模擬輸出
.......................................................................
62
4.2.1
脈寬調制
............................................................
63
4.2.2 DAC
...................................................................
65
4.2.3
控制伺服電機
....................................................
67
4.3
小結
.................................................................................
71
第
5
章 輸入
.......................................................................................
73
5.1
數字輸入
.......................................................................
73
digitalRead()
..................................................................
77
5.2
模擬輸入
.......................................................................
80
5.3
小結
...............................................................................
90
第
6
章 物聯網
...................................................................................
91
6.1
函數
...............................................................................
91
6.1.1
通過
Internet
控制
LED
.....................................
92
6.1.2
通過
Internet
讀取值
........................................
100
6.2
小結
.............................................................................
115
第
7
章
Particle
防護板的編程
........................................................
117
7.1 Shield
防護板
..............................................................
117
7.2
繼電器防護板
.............................................................
120
7.3
程序員防護板
.............................................................
126
7.4
穩壓防護板
.................................................................
127
7.5 Internet
按鈕
................................................................
128
7.6 Grove Starter Kit for Photon
.........................................
129
7.7 Adafruit Particle NeoPixel
成套工具
...........................
130
7.8
小結
.............................................................................
132
第
8
章
IFTTT
...................................................................................
133
8.1 IFTTT
概述
.................................................................
133
8.2
“日出”郵件警報
......................................................
134
8.3
使用
Grove
模塊創建
Twitter
警報
.............................
141
8.4
小結
.............................................................................
147
第
9
章 排除設備故障
......................................................................
149
9.1
設備模式
.....................................................................
149
9.2
故障排除模式
.............................................................
151
Photon
物聯網編程從零開始
9.3
小結
.............................................................................
152
附錄
A
工具和提示
..........................................................................
153
附錄
B Particle
代碼參考
................................................................
165
第
1
章
Photon
簡介
本章將學習微控制器,如
Arduino和物聯網(Internet of Things,IoT)
等的相關知識。Photon
板是一種新的開發板,基于它的前身
Core,并
具有新的硬件和軟件特性,性能更卓越。我們將討論所有這些特性,
并比較兩種開發板。
1.1
微控制器
微控制器(microcontroller)基本上是一個計算機,可使用某種形式的
編程語言控制多個輸入和輸出。微控制器有各種不同的形狀和尺寸,最
流行的平臺是
Arduino。Arduino
板為創建小型電子項目提供了低成本、
易使用的技術,現代常見的微控制器可使用通用串行總線(Universal
Serial Bus,USB)連接到計算機上,給開發板供電,并給微控制器編程;
一旦上傳了程序,并使用某種移動電池設備供電,微控制器還可以去
掉
USB,獨立工作。
其他常見的微控制器有
Raspberry Pi
和
BeagleBone
板。這兩種開
發板比標準的
Arduino
板更高級,都連接到可視化顯示器上進行可視
化輸出,并帶有基本的操作系統,如
Debian。這些開發板的特點是有
許多硬件功能,提供了更多存儲空間、輸入/輸出引腳、更快的處理速
度,還具有音頻/視頻輸出,可將電子項目提升到更高水平。所有這些
選項都很不錯,但需要把項目連接到
Web
時,幾乎肯定需要額外的硬
件,例如防護板(shield)或
USB
加密狗( dongle),這會顯著增加項目成
本——有時超過了微控制器板的成本。一些開發板還包括內置的
Wi-Fi
或藍牙技術,例如
Arduino Yun,但這個開發板仍比較貴,超過
70
美
元;一旦加上電子硬件和各種其他成本,項目很容易超過
100
美元。
1.2
什么是
Photon
Particle Photon
是一個微控制器開發板,類似于
Arduino Nano,但
它是小型化的,而且添加了一些功能,如內置了
Wi-Fi
模塊,所以可
使用粒子云(Particle cloud)通過
Internet
進行控制和編程。一旦連接到
本地
Wi-Fi
網絡上,也可以使用
iOS
或
Android
操作系統中的
Particle
應用,通過智能手機控制
Photon
板并編程。Photon
開發板的各邊有多
個引腳(pin),用作微控制器的輸入輸出。這些通用引腳可連接到傳感
器(sensor)或按鈕上,來監聽外界;或連接到發光器(light)或蜂鳴器
(buzzer)上,進行表演。還有一些引腳可給
Photon
板、電機(motor)或
設備的輸出供電。另外,Photon
板還帶有一些內置的硬件功能,例如
按鈕和發光二極管(LED),大大簡化了
Photon
板的配置:
● SETUP
按鈕在左側,RESET
按鈕在右側,可使用它們設置設
備的模式。
● RGB LED
位于
Photon
開發板模塊上方的中心處。RGB LED
的顏色指定了
Photon
開發板當前的模式。
●
在
Photon
板上,D7 LED
位于數字引腳
7
的旁邊。當引腳
7
設置為
HIGH
時,這個數字引腳會打開
LED。
1.3 Particle Photon
和
Spark Core
Photon
板是
Core
的繼任者,兩者都由
Particle
開發。把這兩個開
發板放在一起比較,會發現它們的外觀十分相似,很難區分。主要區
別是硬件方面,Photon
板使用的
Wi-Fi
芯片與
Core
不同,處理器速度
更快,RAM (隨機訪問內存)更多。
兩種開發板上的引腳幾乎相同,因此本書講述的大部分內容也適
用于
Core。Photon
板的幾個改進很有價值,例如數字-模擬轉換器
(Digital-to-Analog Converter,DAC)和喚醒引腳(Wakeup Pin,WKP),
取代了
Core
上的
A6
和
A7。
1.4
物聯網
物聯網是媒體術語,它把啞電子設備連接到
Internet
上,之后可
通過
Web
瀏覽器控制這些設備,向
Web
服務器發送
HTTP
請求,并
返回要顯示的信息。可給應用連接許多設備和傳感器:
●
家用電器
●
氣象站
●
機器人
●
空氣污染監控
●
環境感應
●
智能后勤
●
位置跟蹤
●
健康監控
目前市場上的物聯網設備越來越多,例如智能溫控器(smart
thermostat)或飛利浦
Hue
燈(Philips Hue lamp),它們允許用戶控制家庭
中的供暖方面或情調照明(mood lighting)。物聯網的大發展,使廠商和
玩家更有興趣創建自己的智能項目,而
Photon
板提供了這種可能性,
且成本只有
19
美元——市場上最便宜的開發板。
有那么多廠商和玩家都在創建新的
IoT
項目,就有必要為硬件和
軟件建立一個簡單框架,給處于任何技能水平的人員提供一個簡單、
易用的系統。所以
Particle
團隊根據流行的
Arduino
軟件建立了這樣一
個系統,把較復雜的技術轉換為每個用戶都易于使用的開源產品。
1.5 Particle
云
該框架的硬件部分是
Photon
板,它基于流行的
Core
模塊,通過
融資網站
Kickstarter
獲得資金。Photon
板設計為與
Core
向后兼容,所
以,本書大部分內容都適用于
Core。
Particle
為硬件創建了一個軟件框架,允許用戶利用其他技術和設
備通過
Internet
與硬件交互操作,這兩個元素很容易協同工作。使用
Photon
板的
IoT
設備使用繼電器(relay)或類似電路打開消費設備;這
里,當用戶訪問網頁或移動應用,通過其上的一個按鈕打開或關閉設
備。用戶點擊網頁上的按鈕時,會把一條消息或一串數據發送給
Particle
云服務,Particle
云服務再把該消息轉發給
Photon
板,打開設
備。如果
Photon
板連接了傳感器,云系統就可按相反順序工作,即點
擊按鈕時,不是
Web
服務給云發送信息,而是由
Photon
開發板把傳
感器的信息發送給云,再發送給
Web
服務器,顯示在
Web
上。整個
Particle
框架使這個工作無縫地完成,對終端用戶而言也不會過于復雜
——用戶只需要用
Particle
云賬戶注冊
Particle Photon
板即可。
1.6 Photon
板
Photon
板小巧玲瓏,如圖
1-1
所示。
Photon
板上的兩個按鈕
SETUP
和
RESET
可配置
Wi-Fi
憑證,在
需要時重啟設備。萬一設備出現問題,聯合使用它們可執行完整的出
廠重置操作。
開發板的頂部有微型
USB
端口,用于給開發板供電,在需要時還
可連接到計算機上,進行
USB
編程。
Photon
板有內置的芯片型天線(chip antenna),適合于大多數室內
應用,Photon
板還有一個外部槽,用于連接
Wi-Fi
天線,進行范圍擴
展和定向天線。Photon
板的默認配置為:在芯片天線和外部天線都可
用的情況下,始終選擇最可靠的方法。也可在固件上手動選擇天線。
圖
1-1 Photon
板
1.7
小結
現在我們已經啟航了。Photon
板是一款在廠商社區中創建
IoT
項
目、開發商業消費產品的優秀設備。下一章將介紹如何設置
Photon
板,
開始編寫第一個項目。
購買地址:
http://product.dangdang.com/25321993.html
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。