物聯網是繼計算機、互聯網和移動通信之后的又一次信息產業的革命性發展,在互聯網和移動互聯網高速發展的時代,幾乎所有行業都有數據聯網的需求,聯網設備已經不再局限于智能手機和電腦等,而會覆蓋到交通物流、智能家居、工業檢測和個人健康等各種領域。物聯網也由此成為下一個推動世界高速發展的“重要生產力”,是繼通信網之后的另一個萬億級市場。
本書由兩位英國物聯網技術專家合作編寫,重點闡述了可以嵌入到物品中的計算機硬件,展示從原型系統設計與制作到成品制造與銷售的全過程,適合從事物聯網產品設計的軟件工程師、Web開發人員、產品設計師、電子工程師和創客群體。即便是沒有IT技術背景的讀者,也能讀懂本書大部分內容,對物聯網這一激動人心的新興技術有一個概貌性的了解。
Adrian McEwen 物聯網專家,Arduino官網的Ethernet庫管理者,Howduino物聯網課程講習班的組織者之一,在英國各地教授Arduino相關的課程。他曾在利物浦市中心的各個建筑物屋頂上巡視,并把Arduino傳感器嵌入到城市的基礎設施之中。
Hakim Cassimally 物聯網愛好者,科幻小說作家,Perl語言忠實粉絲。他還創建了一個斯坦福大學的人工智能分布式學習課程的學習小組。
張崇明 本科及碩士畢業于天津大學精密儀器與光電子工程學院,博士畢業于復旦大學計算機科學技術學院。在中興通訊南京研發中心做過三年通信軟件的開發。目前在上海師范大學信息與機電工程學院從事教學與科研工作。
前面在定義物聯網概念時,把它和稍早出現的普適計算做了對比。我們可以繼續把它和比爾·蓋茨在1977年提出的著名愿景“讓每個家庭以及每個桌面上都有一臺計算機”做比較,還可以把它和更早出現的觀念“計算機是一種非常昂貴,專供大學、有前瞻性視野的全球化大公司和軍方使用的機器”做比較。總之,為了更清楚地理解物聯網和它適用的范圍,花一點時間,從歷史發展的角度審視一下物聯網是值得的。
最初,技術的最大驅動力是人們對食物、水、溫暖、安全和健康等的基本需求。打獵、覓食、生火、建屋、筑堡和醫療都來源于這些需求。后來,因為這些技術所需的資源并不總是分布在人們期望的地點和時間,讓人們和他們的財產、牲畜和其他資源能夠移動的技術就應運而生。貿易就是隨著貨物被從豐富和便宜的地方運到該類貨物稀少和價格高的地方發展起來的。貯藏可以看作是貨物在時間上的移動,例如,在豐收季節,食物豐富且價格便宜,就將食物儲存到價格高企的冬季。
語言的產生方便了技術的交流,從此信息也成為了一種重要的資源。旅行者可以在交換貨物和服務的同時傳遞消息,口述的傳統風俗使得信息可以在時間上和空間上傳播。文字的發明使得信息的交流更加重要,從古代的哲學家和詩人到當代的作者,都可以通過自己的文字和自傳讓自己的生命得以留存。從書面文字,到電報、無線電廣播、電視,再到數字化的信息,有越來越多的技術支持信息的流動和使用信息做有趣的事情。
但前面所述的人們的各種基本需求并沒有因為信息時代的到來而消失,將來也不會。人們現在仍然需要吃飯喝水,需要光和熱,需要愛情和友情。人們仍然需要椅子、衣服和鞋子,需要各種交通和交流方式以及娛樂方式。這些事物的外在形式和具體細節將來會有所變化,但它們所解決的各種需求并不會變。
隨著技術的發展,出現了新種類的物件。電話、收音機、電視、計算機和智能手機都是電子時代的產物。和大多數新技術一樣,這些裝置剛出現的時候很貴,之后其價格會一路下降。需求驅動了價格的下降,研究促進了優化和小型化。最終,原本需要用一個專門的裝置實現的功能,現在可以作為另一個裝置的附屬功能實現,這種做法的可能性和可行性現在都沒有問題。電視屏幕最初在起居室里會占據很大空間,現如今,平板電視面板不僅更省空間,而且這項技術已經變得無處不在。能夠顯示電視節目的高清顯示器可以被嵌入到門框中或廚房設備中,而小屏幕顯示器則出現在音樂播放器和手機中。
和計算機的情況類似,嵌入到裝置中的通用芯片的生產成本也已經變得非常低廉,以至于你的洗衣機中可內置一臺搭載Linux的計算機,超市的收銀機可在Windows系統中運行,你的視頻播放器可能運行的是蘋果公司OS X系統的某個版本。但就像我們在前面已經間接表明的,僅僅有計算能力不是構成物聯網的充分的前提條件,我們要看這個計算能力是不是一方面與傳感器和執行器這樣的與現實世界互動的實物相關聯,另一方面又與因特網相接。能與網絡服務或其他數據消費者快速共享和處理信息是物聯網的重要標志。
我們舉個例子,看一下汽車中的計算機。現代的汽車使用數量眾多的傳感器,對油量、胎壓和發動機的內部進行檢測,用來確定汽車的運行狀態。除了做診斷測試,當處理器發現諸如車輪抱死或轉速失控等情況時,由計算機控制的剎車裝置可以協助司機處理故障。雖然涉及的數據處理和分析可能非常復雜,但都是本地信息的處理,終究是由汽車制造商編程設定的。也許你的汽車會使用GPS確定你的位置,這就會產生來自外部的數據(不一定與因特網相關)。出于保險和防盜的目的,高端的車型可以向跟蹤服務商報告位置信息。這種情況下,汽車搭載的計算設備不僅可以被動消費數據,也可以和外部服務交換信息。當汽車上搭載的計算機和因特網相連時(定時地或持續地相連),就有可能提供根據實時路況調整行車路線這樣的服務。雖然你的車載GPS設備可能已經提供了這些行車路線數據,但現在你可以根據附近其他聯網司機的行為,對數據進行聚合,采用“社交化路線規劃”的方式,實時地調整行車路線。把汽車內部的數據接入因特網,并且對這些數據進行處理和分析,與其他數據聚合和混合之后,將會開啟各種可能性。這些可能性不僅僅是各個相關領域中業已存在的可能性,也包括我們還沒能想到的新的可能性。因此,當你把處理器嵌入到物品或家電中時,這是一個真正的改變;當你再把處理器接入因特網時,這又是一個真正的改變。我們有必要了解一下,后面這個改變為什么會在現在這個時代出現。
上世紀80年代末,當因特網走出學術圈和軍事領域,第一個商業化的因特網服務提供商(ISP)開始運作時,早期的因特網商業用戶可能使用搭載英特爾i486處理器的計算機上網。這個i486處理器當時差不多要值1500英鎊,是一部小汽車的價錢。現如今,相同計算能力的處理器芯片大約只值0.5英鎊,只有一根巧克力棒的價錢。快速增加的處理能力和伴隨而來的成本下降不是什么新發現,其實就是廣為人知的摩爾定律(英特爾公司的聯合創始人提出的經驗規則,認為一枚芯片上可以容納的晶體管數量每18個月會增加一倍)。
上述芯片價格的差別不僅僅只是一個程度的問題,它既是量變也是質變。這是一個長尾現象,我們已經到達了一個性價比的最佳位置。這意味著,把物品接入因特網的成本已經降到了一個很低的程度,給物品添加網絡或計算能力近似于選擇哪種材料和漆料,例如是否選用稍貴一點兒的木飾板。無論哪種選擇都會增加一點產品的成本,但對消費者而言,增加的價值可不只是一點點兒。當接入因特網需要花費數千磅時,我們不會考慮給物品增加聯網能力,但現在這樣做的成本只有幾十便士,接入因特網就成為了一種可選的功能。
可見,計算能力的價格已經下降到了一個負擔得起的程度,這還不是故事的全部。從洗衣機到汽車,電子產品的制造商們開始把通用的計算機處理器嵌入到他們的產品中,因為他們發現,很多情況下,這樣做比設計和使用專用的芯片劃算。這些通用平臺擁有的大量編程和調試資源,對愛好者們和原型系統設計市場很有吸引力,進而促進了微處理器市場的快速增長(我們將在第4章和第5章中介紹相關內容)。
和過去相比,接入因特網也變得更便宜更方便了。過去我們上網是使用撥號連接,既貴又慢。現在在英國,76%的成人使用寬帶上網,能持續保持網絡連接。有線形式的以太網提供了即插即用的聯網體驗。現在多數的家用路由器也提供Wi-Fi功能,免去了到處拉網線的麻煩。
位置固定、有因特網接入能力的計算機用來工作或學習是很方便的,但它們常常被家庭中的男性和年輕成員所占據,主要用來瀏覽網頁或玩游戲。既然現在全家人都可以舒服地在客廳沙發或各自的房間里上網,人們就對使用網絡更有信心,傾向于更多地使用網絡了。
聯合國歐洲經濟局(UNECE)關于性別和計算機使用率的統計
在沒有固定網絡連接可用的環境下,移動網絡被廣泛使用。因為聯網的需求非常巨大,甚至諸如空白頻譜網絡這樣不太成熟的解決方案也已開始使用。空白頻譜網絡利用已淘汰不用的模擬電視網絡所占用的頻譜空間,彌補了聯網頻譜資源供給不足的缺口。
另一個起作用的因素是因特網平臺的日益成熟。早期的Web應用只能通過瀏覽器使用。Web 2.0作為一項前瞻性的技術,除了帶來“Web富應用”外,也使得利用應用編程接口(API)進行編程變得更為流行了。除了用戶,其他程序也都可以通過使用API與網絡服務交互,使用網絡服務提供的功能。這就形成了一個完備的生態系統,其他網站可以通過綜合多個網絡服務的方式構建適合手機應用程序和聯網裝置使用的新Web應用。
隨著因特網服務的成熟,用來構建和調整擴展這些服務的工具也日益完善。諸如Python/Django和Ruby on Rails等Web服務框架都允許快速構建在線組件的原型。與此類似,諸如亞馬遜Web服務(AWS)這樣的云服務,就是一種方便調整擴展的解決方案,即隨著服務受歡迎程度的增加,可以在使用的同時方便地進行擴展。在第7章“原型系統在線組件的設計”中,我們將介紹面向物聯網應用的Web編程。
……