0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用Arduino UNO構(gòu)建物聯(lián)網(wǎng)通知設(shè)備

科技觀察員 ? 來(lái)源:allaboutcircuits ? 作者: 唐·威爾徹 ? 2022-05-10 15:24 ? 次閱讀

物聯(lián)網(wǎng)世界允許各種電子設(shè)備通過(guò)無(wú)線電波相互交談。802.11 b/g/n 或 BLE(低功耗藍(lán)牙)等 WiFi 協(xié)議允許這些電子設(shè)備使用任一通信方案共享數(shù)據(jù)。ESP8266ESP32 等無(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(如果這樣然后那樣)小程序

pYYBAGJ6Ey-AWAY8AAGNX6XNfB4569.jpg

圖 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è)子電路組成。

pYYBAGJ6Ey-ADaBaAAAyeZeey-o896.jpg

圖 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 處理器

poYBAGJ6EzGAHIwuAADV5aHVhoc639.jpg

圖 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 的功率。

pYYBAGJ6EzKAAPUcAAAPfZgp3Fc906.jpg

圖 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é)和電氣接線接口。

poYBAGJ6EzOAONv9AAIQ6yxtOBY701.png

圖 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)單;你可以使用面包板,如下所示)。

pYYBAGJ6EzSAJNduAADIG60VQ0U799.jpg

圖 6. Arduino 觸發(fā)電路接線圖。 在硬件或固件中加入開(kāi)關(guān)去抖動(dòng)是一個(gè)好主意。

這是Arduino觸發(fā)電路的示意圖:

poYBAGJ6EzWAGDHWAAA7E4W-FCo968.jpg

圖 7. Arduino 觸發(fā)電路原理圖。

構(gòu)建 Arduino 觸發(fā)電路后,您現(xiàn)在可以添加 cloudBit 模塊了。您將使用 littleBits 組件在 Arduino 觸發(fā)電路和 cloudBit 之間提供電氣接線接口。您將使用的主要電氣接線接口組件是原型模塊。原型模塊提供三個(gè)電氣連接:接地 (gnd)、信號(hào) (sig) 和 Vcc。

pYYBAGJ6EzaAPPcvAAA4QX9kK3M495.jpg

圖 8.原型模塊的 電信號(hào)。圖片由 littleBits 提供

下圖顯示了構(gòu)建 IoT 通知設(shè)備所需的所有連接。

poYBAGJ6EzeARGwUAACT--aKf7Y051.jpg

圖 9.完整的物聯(lián)網(wǎng)通知設(shè)備電氣接線圖。

您還可以在我構(gòu)建的這個(gè)原型中看到各種連接。附加到原型的是一個(gè)智能邏輯探針,我設(shè)計(jì)用于幫助測(cè)試 IoT 通知設(shè)備。cloudBit 由 littleBits 電源適配器供電。

pYYBAGJ6EziAE3iJAAFAqc1azNI203.jpg

圖 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ā)送電子郵件消息。

poYBAGJ6EzmAM6LAAABsfho-Vmw525.jpg

圖 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ú)線傳輸事件。

pYYBAGJ6EzqAXcrJAADGJnZ6aWM746.jpg

圖 12. 通過(guò) cloudBit 小程序的成分設(shè)置可以方便地更改身體設(shè)備名稱(chēng)(“ MrD” )。

正確配置小程序后,您就可以測(cè)試 IoT 通知設(shè)備了。

最后一個(gè)考試

按下面包板上的按鈕將使您的 IoT 通知設(shè)備向您發(fā)送電子郵件消息。該消息將包括您在設(shè)置小程序時(shí)提供的主題和正文信息。

poYBAGJ6EzyARkayAAHsZDkLR2M459.jpg

圖 13.測(cè)試原型 IoT 通知設(shè)備。

這是 cloudBit 發(fā)送到我的電子郵件地址的消息:

poYBAGJ6Ez2AMp8nAABcDrUhdoY450.jpg

圖 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 原型。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ESP8266
    +關(guān)注

    關(guān)注

    50

    文章

    962

    瀏覽量

    45182
  • ESP32
    +關(guān)注

    關(guān)注

    18

    文章

    971

    瀏覽量

    17428
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何構(gòu)建物聯(lián)網(wǎng)原型的戰(zhàn)略

    的“模塊”部分。所有IoT產(chǎn)品至少需要以下元素之一:通訊模塊設(shè)備如何與互聯(lián)網(wǎng)通信?電源模塊設(shè)備如何供電?處理器模塊什么是執(zhí)行設(shè)備固件?此外,大多數(shù)IoT產(chǎn)品將具有以下各種模塊:用戶輸入
    發(fā)表于 08-10 10:11

    一文教你如何去搭建物聯(lián)網(wǎng)?

    如何去構(gòu)建物聯(lián)網(wǎng)的技術(shù)和解決方案?物聯(lián)網(wǎng)中的電源管理有哪些?適合棘手工業(yè)物聯(lián)網(wǎng)應(yīng)用的SmartMesh無(wú)線Mesh是什么?
    發(fā)表于 06-29 07:02

    基于ESP8266EX的DIY Arduino UNO兼容WiFi開(kāi)發(fā)板

    描述Eduino WiFi 是一款基于 ESP8266EX 的 DIY Arduino UNO 兼容 WiFi 開(kāi)發(fā)板。我設(shè)計(jì)它是為了教孩子們焊接、電子、編程和構(gòu)建支持物聯(lián)網(wǎng)
    發(fā)表于 08-24 06:32

    構(gòu)建Arduino UNO的教程

    描述Arduino UNO
    發(fā)表于 09-13 07:47

    基于Arduino UNO構(gòu)建小型midi解碼器

    電子發(fā)燒友網(wǎng)站提供《基于Arduino UNO構(gòu)建小型midi解碼器.zip》資料免費(fèi)下載
    發(fā)表于 11-09 11:23 ?1次下載
    基于<b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b><b class='flag-5'>構(gòu)建</b>小型midi解碼器

    Arduino UNO、LCD和按鈕構(gòu)建的數(shù)字投擲器

    電子發(fā)燒友網(wǎng)站提供《用Arduino UNO、LCD和按鈕構(gòu)建的數(shù)字投擲器.zip》資料免費(fèi)下載
    發(fā)表于 11-28 09:51 ?0次下載
    用<b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b>、LCD和按鈕<b class='flag-5'>構(gòu)建</b>的數(shù)字投擲器

    如何使用Android和Arduino創(chuàng)建物聯(lián)網(wǎng)

    電子發(fā)燒友網(wǎng)站提供《如何使用Android和Arduino創(chuàng)建物聯(lián)網(wǎng).zip》資料免費(fèi)下載
    發(fā)表于 12-05 10:47 ?1次下載
    如何使用Android和<b class='flag-5'>Arduino</b>創(chuàng)<b class='flag-5'>建物</b><b class='flag-5'>聯(lián)網(wǎng)</b>

    Arduino Uno的自動(dòng)化園藝設(shè)備

    電子發(fā)燒友網(wǎng)站提供《帶Arduino Uno的自動(dòng)化園藝設(shè)備.zip》資料免費(fèi)下載
    發(fā)表于 12-05 10:41 ?0次下載
    帶<b class='flag-5'>Arduino</b> <b class='flag-5'>Uno</b>的自動(dòng)化園藝<b class='flag-5'>設(shè)備</b>

    使用Arduino UNO構(gòu)建游戲

    電子發(fā)燒友網(wǎng)站提供《使用Arduino UNO構(gòu)建游戲.zip》資料免費(fèi)下載
    發(fā)表于 12-29 14:04 ?0次下載
    使用<b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b><b class='flag-5'>構(gòu)建</b>游戲

    Arduino UNO構(gòu)建音樂(lè)播放器

    電子發(fā)燒友網(wǎng)站提供《Arduino UNO構(gòu)建音樂(lè)播放器.zip》資料免費(fèi)下載
    發(fā)表于 01-03 11:41 ?0次下載
    <b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b><b class='flag-5'>構(gòu)建</b>音樂(lè)播放器

    使用Node RED構(gòu)建物聯(lián)網(wǎng)遙測(cè)模擬器

    電子發(fā)燒友網(wǎng)站提供《使用Node RED構(gòu)建物聯(lián)網(wǎng)遙測(cè)模擬器.zip》資料免費(fèi)下載
    發(fā)表于 01-04 09:55 ?0次下載
    使用Node RED<b class='flag-5'>構(gòu)建物</b><b class='flag-5'>聯(lián)網(wǎng)</b>遙測(cè)模擬器

    使用Arduino、Sigfox和Ubidot構(gòu)建物聯(lián)網(wǎng)應(yīng)用程序

    電子發(fā)燒友網(wǎng)站提供《使用Arduino、Sigfox和Ubidot構(gòu)建物聯(lián)網(wǎng)應(yīng)用程序.zip》資料免費(fèi)下載
    發(fā)表于 06-20 09:20 ?0次下載
    使用<b class='flag-5'>Arduino</b>、Sigfox和Ubidot<b class='flag-5'>構(gòu)建物</b><b class='flag-5'>聯(lián)網(wǎng)</b>應(yīng)用程序

    使用Android和Arduino創(chuàng)建物聯(lián)網(wǎng)

    電子發(fā)燒友網(wǎng)站提供《使用Android和Arduino創(chuàng)建物聯(lián)網(wǎng).zip》資料免費(fèi)下載
    發(fā)表于 07-05 09:43 ?0次下載
    使用Android和<b class='flag-5'>Arduino</b>創(chuàng)<b class='flag-5'>建物</b><b class='flag-5'>聯(lián)網(wǎng)</b>

    聯(lián)網(wǎng)構(gòu)建模塊:構(gòu)建物聯(lián)網(wǎng)的技術(shù)和解決方案

    電子發(fā)燒友網(wǎng)站提供《物聯(lián)網(wǎng)構(gòu)建模塊:構(gòu)建物聯(lián)網(wǎng)的技術(shù)和解決方案.pdf》資料免費(fèi)下載
    發(fā)表于 11-22 10:39 ?0次下載
    物<b class='flag-5'>聯(lián)網(wǎng)</b>的<b class='flag-5'>構(gòu)建</b>模塊:<b class='flag-5'>構(gòu)建物</b><b class='flag-5'>聯(lián)網(wǎng)</b>的技術(shù)和解決方案

    如何構(gòu)建物聯(lián)網(wǎng)系統(tǒng)

    。這包括確定所需的數(shù)據(jù)采集類(lèi)型、數(shù)據(jù)處理和分析需求、設(shè)備接入數(shù)量及類(lèi)型、通信協(xié)議選擇、安全性和隱私保護(hù)要求等。 二、選擇硬件組件 物聯(lián)網(wǎng)系統(tǒng)的硬件部分包括傳感器、執(zhí)行器、微控制器等。選擇合適的硬件組件是構(gòu)建物聯(lián)
    的頭像 發(fā)表于 10-29 10:40 ?727次閱讀