物聯(lián)網(wǎng)世界允許各種電子設(shè)備通過(guò)無(wú)線電波相互交談。802.11 b/g/n 或 BLE(低功耗藍(lán)牙)等 WiFi 協(xié)議允許這些電子設(shè)備使用任一通信方案共享數(shù)據(jù)。ESP8266 和 ESP32 等無(wú)線芯片組為制造商和工程師提供了輕松的物聯(lián)網(wǎng)開(kāi)發(fā)和實(shí)驗(yàn)。在本項(xiàng)目系列中,您將使用替代無(wú)線平臺(tái)進(jìn)行監(jiān)控并通過(guò)控制各種電子電路和小工具來(lái)探索物聯(lián)網(wǎng)概念。
為了啟動(dòng)這個(gè)項(xiàng)目系列,您將構(gòu)建一個(gè) IoT 通知設(shè)備,當(dāng)外部設(shè)備觸發(fā)時(shí),它會(huì)向您的臺(tái)式 PC、筆記本電腦或移動(dòng)設(shè)備(智能手機(jī)或平板電腦)發(fā)送電子郵件消息。您將需要一個(gè) Arduino Uno、一個(gè) littleBits cloudBit、一個(gè)物聯(lián)網(wǎng)移動(dòng)設(shè)備應(yīng)用程序以及一些常見(jiàn)的電子元件和用品。
零件清單
觸覺(jué)按鈕開(kāi)關(guān)
Arduino UNO
引領(lǐng)
330Ω電阻,1/4瓦
1kΩ電阻,1/4瓦
littleBits cloudBit
littleBits 原型模塊 (2)
littleBits USB 電源位(參見(jiàn) littleBits cloudBit 鏈接)
littleBits 安裝板(參見(jiàn) littleBits 原型模塊鏈接)
無(wú)焊面包板
littleBits 電源適配器(參見(jiàn) littleBits cloudBit 鏈接)
跳線
IFTTT(如果這樣然后那樣)小程序
圖 1. IoT 通知設(shè)備框圖。
什么是 littleBits cloudBit?
在繼續(xù)進(jìn)行項(xiàng)目構(gòu)建之前,這里有一些關(guān)于 littleBits WiFi 模塊的有趣技術(shù)事實(shí)。cloudBit 模塊允許各種電子設(shè)備和小工具輕松連接到家庭 WiFi 網(wǎng)絡(luò)。微型模塊 PCB 上使用的 IC 技術(shù)可實(shí)現(xiàn)無(wú)線連接,以控制和監(jiān)控其他 littleBits 模塊。
此外,硬件開(kāi)發(fā)套件 (HDK) 還提供與非 littleBits 模塊的電路接口。cloudBit 模塊的系統(tǒng)架構(gòu)由九個(gè)子電路組成。
圖 2. littleBits cloudBit:用于物聯(lián)網(wǎng)概念開(kāi)發(fā)的替代 WiFi 模塊。圖片由 littleBits提供
littleBits 系統(tǒng)架構(gòu)包括以下內(nèi)容:
電源供應(yīng)
設(shè)置(按鈕開(kāi)關(guān))
WiFi 加密狗(USB 主機(jī)適配器)
模擬輸入
模擬輸出
μSD(微型 SD)
RGB LED(狀態(tài))
512 MB DDR SDRAM(雙倍數(shù)據(jù)速率同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)
i.MX23 處理器
圖 3. 九個(gè)子電路組成cloudBit 系統(tǒng)架構(gòu)。
cloudBit 的 WiFi 無(wú)線電封裝在 USB 適配器內(nèi)。Dynamode 制造無(wú)線電(部件號(hào) WL-700N-XS),它是一種符合 802.11n/g 標(biāo)準(zhǔn)的 WiFi 設(shè)備。它的工作頻率范圍是 2.4 到 2.4835 GHz。該系列將 USB 適配器歸入 ISM(工業(yè)、科學(xué)和醫(yī)療)無(wú)線設(shè)備類(lèi)別。Dynamode USB WiFi 適配器方便地使用單個(gè) 5VDC 電源進(jìn)行操作,并且僅消耗 0.6W 的功率。
圖 4. cloudBit WiFi 芯片組方便地封裝到 USB 適配器中。圖片由 Dynamode提供
基于 WiFi Linux 的軟件存儲(chǔ)在位于 cloudBit 印刷電路板底部的 μSD 卡上。RGB LED 指示 cloudBit 的操作和設(shè)置狀態(tài)。cloudBit 的設(shè)置按鈕是一個(gè)微小的瞬時(shí)開(kāi)關(guān),可讓您啟動(dòng)對(duì)家庭網(wǎng)絡(luò)的檢測(cè)和連接。該架構(gòu)的核心組件是 NXP 的i.MX23處理器。
除了處理外部 I/O 信號(hào)外,i.MX23 處理器還具有能夠執(zhí)行無(wú)線 (WiFi) 控制活動(dòng)的內(nèi)部電子子電路。以幫助 i.MX23 處理器執(zhí)行這些無(wú)線控制功能以處理大量 WiFi數(shù)據(jù)在 mini pcb 上提供了一個(gè)外部 512 MB DDR SDRAM 芯片。DDR SDRAM 的 WiFi 數(shù)據(jù)傳輸速率由 16 條地址線、15 條數(shù)據(jù)線和 13 條控制線支持。模擬 I/O 電路允許 cloudBit 與其他 littleBits 電子模塊或開(kāi)發(fā)人員設(shè)計(jì)的電路的信號(hào)調(diào)節(jié)和電氣接線接口。
圖 5. cloudBit WiFi 模塊中包含的組件。
如您所見(jiàn),cloudBit 模塊在一個(gè)小封裝內(nèi)提供了大量的無(wú)線技術(shù)?,F(xiàn)在您了解了 cloudBit 的架構(gòu),項(xiàng)目的下一步是構(gòu)建物聯(lián)網(wǎng)硬件。
構(gòu)建物聯(lián)網(wǎng)通知設(shè)備
我們將使用 Arduino 和一個(gè)簡(jiǎn)單的附加電路來(lái)生成用于激活 cloudBit 的觸發(fā)器??梢詫?duì)觸覺(jué)開(kāi)關(guān)進(jìn)行編程以操作 cloudBit 以發(fā)送一封電子郵件或文本消息或連續(xù)發(fā)送多個(gè)。一旦 cloudBit 收到觸發(fā)器,它將通過(guò)您的家庭無(wú)線網(wǎng)絡(luò)向您發(fā)送一封電子郵件。
所以這個(gè)項(xiàng)目的第一步是構(gòu)建觸發(fā)電路(很簡(jiǎn)單;你可以使用面包板,如下所示)。
圖 6. Arduino 觸發(fā)電路接線圖。 在硬件或固件中加入開(kāi)關(guān)去抖動(dòng)是一個(gè)好主意。
這是Arduino觸發(fā)電路的示意圖:
圖 7. Arduino 觸發(fā)電路原理圖。
構(gòu)建 Arduino 觸發(fā)電路后,您現(xiàn)在可以添加 cloudBit 模塊了。您將使用 littleBits 組件在 Arduino 觸發(fā)電路和 cloudBit 之間提供電氣接線接口。您將使用的主要電氣接線接口組件是原型模塊。原型模塊提供三個(gè)電氣連接:接地 (gnd)、信號(hào) (sig) 和 Vcc。
圖 8.原型模塊的 電信號(hào)。圖片由 littleBits 提供
下圖顯示了構(gòu)建 IoT 通知設(shè)備所需的所有連接。
圖 9.完整的物聯(lián)網(wǎng)通知設(shè)備電氣接線圖。
您還可以在我構(gòu)建的這個(gè)原型中看到各種連接。附加到原型的是一個(gè)智能邏輯探針,我設(shè)計(jì)用于幫助測(cè)試 IoT 通知設(shè)備。cloudBit 由 littleBits 電源適配器供電。
圖 10.作者的原型物聯(lián)網(wǎng)通知設(shè)備。安裝板為 littleBits 模塊提供支撐。智能邏輯探針有助于測(cè)試原型。
您現(xiàn)在已經(jīng)完成了 IoT 通知設(shè)備的電氣構(gòu)建。下一個(gè)項(xiàng)目步驟是為觸發(fā)功能添加 Arduino 代碼。
添加 Arduino 代碼
在此項(xiàng)目步驟中,您將代碼上傳到 Arduino 以使 IoT 通知設(shè)備運(yùn)行。該代碼是對(duì) Arduino IDE 中包含的“按鈕”草圖的修改。修改添加了用于觸發(fā) cloudBit 的數(shù)字輸出。按下按鈕將打開(kāi) LED 并將引腳 D6 設(shè)置為邏輯高電平。
您可以使用下面的按鈕下載代碼,也可以復(fù)制并粘貼以下代碼:
// constants won't change. They're used here to
// set pin numbers: const int buttonPin = 5; // the number of the pushbutton pin const int ledPin = 13; // the number of the LED pin const int trig_out = 6; // output pin to trigger cloudBit // variables will change: int buttonState = 0; // variable for reading the pushbutton status void setup() { // initialize the LED pin as an output: pinMode(ledPin, OUTPUT); // initialize the pushbutton pin as an input: pinMode(buttonPin, INPUT); // initialize the cloudBit trigger pin as an output: pinMode(trig_out, OUTPUT); } void loop() { // read the state of the pushbutton value: buttonState = digitalRead(buttonPin); // check if the pushbutton is pressed. // if it is, the buttonState is HIGH: if (buttonState == HIGH) { // turn LED on and trigger outpin: digitalWrite(ledPin, HIGH); digitalWrite(trig_out, HIGH); } else { // turn LED off and trigger outpin: digitalWrite(ledPin, LOW); digitalWrite(trig_out,LOW); } }
Arduino_cloudBit_trigger.zip
將代碼上傳到 Arduino 后,您現(xiàn)在可以將 IFTTT 小程序添加到您的原型 IoT 通知設(shè)備。
添加 IFTTT 小程序
您可以使用 Facebook、Gmail、Instagram 和 Twitter Web 服務(wù)以及微控制器等物理設(shè)備,使用為 cloudBit 預(yù)構(gòu)建的 IFTTT 小程序提供觸發(fā)器。IFTTT小程序是免費(fèi)的。小程序使用條件語(yǔ)句作為目標(biāo)服務(wù)的操作基礎(chǔ)。這里的想法是,當(dāng) Arduino 觸發(fā) cloudBit 時(shí),您將使用 littleBit 小程序發(fā)送電子郵件消息。
圖 11. Arduino 觸發(fā) cloudBit 時(shí)將發(fā)送一封電子郵件。
為了讓您的無(wú)線家庭網(wǎng)絡(luò)檢測(cè)到 cloudBit,您必須正確設(shè)置它。您可以在 littleBits littleBits 網(wǎng)站上找到 有關(guān)如何正確設(shè)置 cloudBit 的說(shuō)明。此外,您必須在免費(fèi)的IFTTT 小程序服務(wù)網(wǎng)站上創(chuàng)建一個(gè)帳戶,才能使用 littleBits 觸發(fā)您的云模塊發(fā)送電子郵件。在注冊(cè)帳戶時(shí)提供您想用于此項(xiàng)目的電子郵件地址。注冊(cè)后,您可以使用設(shè)置功能修改小程序。我修改了小程序以在電子郵件正文中使用我的別名MrD來(lái)處理 cloudBit 無(wú)線傳輸事件。
圖 12. 通過(guò) cloudBit 小程序的成分設(shè)置可以方便地更改身體設(shè)備名稱(chēng)(“ MrD” )。
正確配置小程序后,您就可以測(cè)試 IoT 通知設(shè)備了。
最后一個(gè)考試
按下面包板上的按鈕將使您的 IoT 通知設(shè)備向您發(fā)送電子郵件消息。該消息將包括您在設(shè)置小程序時(shí)提供的主題和正文信息。
圖 13.測(cè)試原型 IoT 通知設(shè)備。
這是 cloudBit 發(fā)送到我的電子郵件地址的消息:
圖 14. cloudBit 發(fā)送的電子郵件消息。
要查看 IoT 通知設(shè)備的運(yùn)行情況,請(qǐng)查看下面的視頻剪輯。
您現(xiàn)在擁有一個(gè)功能強(qiáng)大的 IoT 通知設(shè)備。正如您可以想象的那樣,該項(xiàng)目使用 Arduino、littleBits cloudBit、其他 littleBits 模塊和現(xiàn)成的電子元件打開(kāi)了一個(gè) IoT 應(yīng)用程序的世界。嘗試使用小程序設(shè)置來(lái)顯示新的電子郵件信息。保留一個(gè)小型實(shí)驗(yàn)室筆記本來(lái)記錄您的觀察結(jié)果。在下一個(gè)項(xiàng)目中,您將構(gòu)建一個(gè)能夠控制各種電子電路和小工具的 WiFi 設(shè)備。您還將被介紹到 littleBits 云控制網(wǎng)站,該網(wǎng)站允許您監(jiān)視和控制您的 IoT 原型。
-
ESP8266
+關(guān)注
關(guān)注
50文章
962瀏覽量
45182 -
ESP32
+關(guān)注
關(guān)注
18文章
971瀏覽量
17428
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論