(上圖是網路上找的)

物聯網(The Internet of Things)的概念是在1999年提出的,它的定義很簡單:把所有物品通過射頻識別等信息感測設備與互聯網連接起來,實現智能化識別和管理。物聯網通過智能感知、識別技術與普適計算、泛在網路的融合應用,被稱為繼電腦、互聯網之後世界信息產業發展的第三次浪潮。(MBALib裡的說明)

通過物聯網可以用中心計算機對機器、設備、人員進行集中管理、控制,也可以對家庭設備、汽車進行遙控,以及搜尋位置、防止物品被盜等。物聯網將現實世界數位化,應用範圍十分廣泛。物聯網的應用領域主要包括以下幾個方面:運輸和物流領域、健康醫療領域、智慧環境(家庭、辦公、工廠)領域、個人和社會領域等,具有十分廣闊的市場和應用前景。(Wiki上的說明)

為了趕上時代的潮流,我也開始讓學生玩物聯網(趕流行,呵呵呵)

上次做了一個簡單的例子,讓學生學習利用手機透過藍牙動態地切換設備上LED燈的開與關(由手機透過藍牙控制設備的開與關),主要是以可上網的行動裝置做為一個節點,與連結的某樣設備進行某種控制行為。而今天做的這個例子是要從以藍牙與可上網的行動裝置連結的設備上取得相關感應器的類比資料。下次預定會做一個例子說明如何將設備上的資料上傳到網路資料庫中,完成一個物聯網的粗略架構。

做了一個冗長的開場白,接下來說明這個例子,主要是利用手機以藍牙連上Arduino,然後動態地讀取可變電阻的類比值,最後顯示在手機上。參考網路上的接線(下圖是網路上找的)

我並沒有完全按著這個線路來接,因為我把上次範例中LED開關的功能保留下來(因此這個例子中有控制設備與接收資料的功能),LED燈的Output是接在ping12上(上一個例子是接在ping13上),再次秒完成接線,呵呵呵

由於這個例子是上一個例子的延伸,所以我並沒有再重新寫一個APP,而是直接在上次例子/db. APP中再追加功能上去,主要是增加了一個Button(開始與結束接收類比資料),TextBox(顯示類比資料),Clock(定時接收類比資料)

利用網路上的程式來修改,在setup裡要注意的是pin10是tx,pin11是rx(與上一個範例相同),pin12是LED燈(上一個範例是接在pin13),鮑率是9600(針對我的hc05藍牙,這裡我原本忘了修改,結果測試時又多搞了半小時,真是的,年紀大了忘東忘西的)

與上次的範例不同的是,上次是傳遞文字給Arduino來判斷控制LED燈開關,這次是直接傳送數字,49表接收類比資料,50表亮燈,51表關燈。以下是這個範例中因應功能新增的APP程式碼

對於控制LED燈開關的程式碼對應修改如下

以下是APP執行的畫面

若是學生這個例子可以正確的完成的話,就可以利用同樣的方式控制設備上的裝置開與關,讀取任何接在設備上類比感應器的數值了(應該可以吧?!)