物聯網世界允許各種電子設備通過無線電波相互交談。802.11 b/g/n 或 BLE(低功耗藍牙)等 WiFi 協議允許這些電子設備使用任一通信方案共享數據。ESP8266 和 ESP32 等無線芯片組為制造商和工程師提供了輕松的物聯網開發和實驗。在本項目系列中,您將使用替代無線平臺進行監控并通過控制各種電子電路和小工具來探索物聯網概念。
為了啟動這個項目系列,您將構建一個 IoT 通知設備,當外部設備觸發時,它會向您的臺式 PC、筆記本電腦或移動設備(智能手機或平板電腦)發送電子郵件消息。您將需要一個 Arduino Uno、一個 littleBits cloudBit、一個物聯網移動設備應用程序以及一些常見的電子元件和用品。
零件清單
觸覺按鈕開關
Arduino UNO
引領
330Ω電阻,1/4瓦
1kΩ電阻,1/4瓦
littleBits cloudBit
littleBits 原型模塊 (2)
littleBits USB 電源位(參見 littleBits cloudBit 鏈接)
littleBits 安裝板(參見 littleBits 原型模塊鏈接)
無焊面包板
littleBits 電源適配器(參見 littleBits cloudBit 鏈接)
跳線
IFTTT(如果這樣然后那樣)小程序
圖 1. IoT 通知設備框圖。
什么是 littleBits cloudBit?
在繼續進行項目構建之前,這里有一些關于 littleBits WiFi 模塊的有趣技術事實。cloudBit 模塊允許各種電子設備和小工具輕松連接到家庭 WiFi 網絡。微型模塊 PCB 上使用的 IC 技術可實現無線連接,以控制和監控其他 littleBits 模塊。
此外,硬件開發套件 (HDK) 還提供與非 littleBits 模塊的電路接口。cloudBit 模塊的系統架構由九個子電路組成。
圖 2. littleBits cloudBit:用于物聯網概念開發的替代 WiFi 模塊。圖片由 littleBits提供
littleBits 系統架構包括以下內容:
電源供應
設置(按鈕開關)
WiFi 加密狗(USB 主機適配器)
模擬輸入
模擬輸出
μSD(微型 SD)
RGB LED(狀態)
512 MB DDR SDRAM(雙倍數據速率同步動態隨機存取存儲器)
i.MX23 處理器
圖 3. 九個子電路組成cloudBit 系統架構。
cloudBit 的 WiFi 無線電封裝在 USB 適配器內。Dynamode 制造無線電(部件號 WL-700N-XS),它是一種符合 802.11n/g 標準的 WiFi 設備。它的工作頻率范圍是 2.4 到 2.4835 GHz。該系列將 USB 適配器歸入 ISM(工業、科學和醫療)無線設備類別。Dynamode USB WiFi 適配器方便地使用單個 5VDC 電源進行操作,并且僅消耗 0.6W 的功率。
圖 4. cloudBit WiFi 芯片組方便地封裝到 USB 適配器中。圖片由 Dynamode提供
基于 WiFi Linux 的軟件存儲在位于 cloudBit 印刷電路板底部的 μSD 卡上。RGB LED 指示 cloudBit 的操作和設置狀態。cloudBit 的設置按鈕是一個微小的瞬時開關,可讓您啟動對家庭網絡的檢測和連接。該架構的核心組件是 NXP 的i.MX23處理器。
除了處理外部 I/O 信號外,i.MX23 處理器還具有能夠執行無線 (WiFi) 控制活動的內部電子子電路。以幫助 i.MX23 處理器執行這些無線控制功能以處理大量 WiFi數據在 mini pcb 上提供了一個外部 512 MB DDR SDRAM 芯片。DDR SDRAM 的 WiFi 數據傳輸速率由 16 條地址線、15 條數據線和 13 條控制線支持。模擬 I/O 電路允許 cloudBit 與其他 littleBits 電子模塊或開發人員設計的電路的信號調節和電氣接線接口。
圖 5. cloudBit WiFi 模塊中包含的組件。
如您所見,cloudBit 模塊在一個小封裝內提供了大量的無線技術。現在您了解了 cloudBit 的架構,項目的下一步是構建物聯網硬件。
構建物聯網通知設備
我們將使用 Arduino 和一個簡單的附加電路來生成用于激活 cloudBit 的觸發器。可以對觸覺開關進行編程以操作 cloudBit 以發送一封電子郵件或文本消息或連續發送多個。一旦 cloudBit 收到觸發器,它將通過您的家庭無線網絡向您發送一封電子郵件。
所以這個項目的第一步是構建觸發電路(很簡單;你可以使用面包板,如下所示)。
圖 6. Arduino 觸發電路接線圖。 在硬件或固件中加入開關去抖動是一個好主意。
這是Arduino觸發電路的示意圖:
圖 7. Arduino 觸發電路原理圖。
構建 Arduino 觸發電路后,您現在可以添加 cloudBit 模塊了。您將使用 littleBits 組件在 Arduino 觸發電路和 cloudBit 之間提供電氣接線接口。您將使用的主要電氣接線接口組件是原型模塊。原型模塊提供三個電氣連接:接地 (gnd)、信號 (sig) 和 Vcc。
圖 8.原型模塊的 電信號。圖片由 littleBits 提供
下圖顯示了構建 IoT 通知設備所需的所有連接。
圖 9.完整的物聯網通知設備電氣接線圖。
您還可以在我構建的這個原型中看到各種連接。附加到原型的是一個智能邏輯探針,我設計用于幫助測試 IoT 通知設備。cloudBit 由 littleBits 電源適配器供電。
圖 10.作者的原型物聯網通知設備。安裝板為 littleBits 模塊提供支撐。智能邏輯探針有助于測試原型。
您現在已經完成了 IoT 通知設備的電氣構建。下一個項目步驟是為觸發功能添加 Arduino 代碼。
添加 Arduino 代碼
在此項目步驟中,您將代碼上傳到 Arduino 以使 IoT 通知設備運行。該代碼是對 Arduino IDE 中包含的“按鈕”草圖的修改。修改添加了用于觸發 cloudBit 的數字輸出。按下按鈕將打開 LED 并將引腳 D6 設置為邏輯高電平。
您可以使用下面的按鈕下載代碼,也可以復制并粘貼以下代碼:
// 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 后,您現在可以將 IFTTT 小程序添加到您的原型 IoT 通知設備。
添加 IFTTT 小程序
您可以使用 Facebook、Gmail、Instagram 和 Twitter Web 服務以及微控制器等物理設備,使用為 cloudBit 預構建的 IFTTT 小程序提供觸發器。IFTTT小程序是免費的。小程序使用條件語句作為目標服務的操作基礎。這里的想法是,當 Arduino 觸發 cloudBit 時,您將使用 littleBit 小程序發送電子郵件消息。
圖 11. Arduino 觸發 cloudBit 時將發送一封電子郵件。
為了讓您的無線家庭網絡檢測到 cloudBit,您必須正確設置它。您可以在 littleBits littleBits 網站上找到 有關如何正確設置 cloudBit 的說明。此外,您必須在免費的IFTTT 小程序服務網站上創建一個帳戶,才能使用 littleBits 觸發您的云模塊發送電子郵件。在注冊帳戶時提供您想用于此項目的電子郵件地址。注冊后,您可以使用設置功能修改小程序。我修改了小程序以在電子郵件正文中使用我的別名MrD來處理 cloudBit 無線傳輸事件。
圖 12. 通過 cloudBit 小程序的成分設置可以方便地更改身體設備名稱(“ MrD” )。
正確配置小程序后,您就可以測試 IoT 通知設備了。
最后一個考試
按下面包板上的按鈕將使您的 IoT 通知設備向您發送電子郵件消息。該消息將包括您在設置小程序時提供的主題和正文信息。
圖 13.測試原型 IoT 通知設備。
這是 cloudBit 發送到我的電子郵件地址的消息:
圖 14. cloudBit 發送的電子郵件消息。
要查看 IoT 通知設備的運行情況,請查看下面的視頻剪輯。
您現在擁有一個功能強大的 IoT 通知設備。正如您可以想象的那樣,該項目使用 Arduino、littleBits cloudBit、其他 littleBits 模塊和現成的電子元件打開了一個 IoT 應用程序的世界。嘗試使用小程序設置來顯示新的電子郵件信息。保留一個小型實驗室筆記本來記錄您的觀察結果。在下一個項目中,您將構建一個能夠控制各種電子電路和小工具的 WiFi 設備。您還將被介紹到 littleBits 云控制網站,該網站允許您監視和控制您的 IoT 原型。
-
ESP8266
+關注
關注
50文章
962瀏覽量
45337 -
ESP32
+關注
關注
18文章
978瀏覽量
17529
發布評論請先 登錄
相關推薦
如何構建物聯網原型的戰略
基于ESP8266EX的DIY Arduino UNO兼容WiFi開發板
帶有ATMEGA328P設備的Arduino Uno門鈴項目
![帶有ATMEGA328P<b class='flag-5'>設備</b>的<b class='flag-5'>Arduino</b> <b class='flag-5'>Uno</b>門鈴項目](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
使用Arduino、Sigfox和Ubidot構建物聯網應用程序
![使用<b class='flag-5'>Arduino</b>、Sigfox和Ubidot<b class='flag-5'>構建物</b><b class='flag-5'>聯網</b>應用程序](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論