這篇文章來(lái)源于DevicePlus.com英語(yǔ)網(wǎng)站的翻譯稿。

該項(xiàng)目把物聯(lián)網(wǎng)和智能家居電子設(shè)備的理念相結(jié)合,然后應(yīng)用到一個(gè)實(shí)用項(xiàng)目中。該項(xiàng)目旨在通過在您接收到新郵件時(shí)給您的手機(jī)發(fā)送通知,來(lái)節(jié)省您查看郵箱的時(shí)間。通過該項(xiàng)目的功能之一“連接覆蓋”,您可以在家中查看來(lái)自世界任何地方的郵件。
功能描述
檢測(cè)您的郵箱中是否有新郵件。
通過移動(dòng)應(yīng)用程序通知用戶檢測(cè)結(jié)果。
硬件組件:

? 帶有內(nèi)置WiFi模塊且具有80MHz時(shí)鐘頻率的32位微控制器
? 1美元左右的超低成本
? 可以在Lua (NodeMCU)、JavaScript (Espruino)和Python (Micro Python)編譯器上運(yùn)行
? Arduino 集成開發(fā)環(huán)境
ESP-12E 開發(fā)板 (aka NodeMCU DevKit)

圖2: NodeMCU / ?ACROBOTIC
ESP-12E模塊劃分了開發(fā)板上所有可用的ESP8266引腳,以便實(shí)現(xiàn)與客戶的輕松交互。
? 通過微型USB數(shù)據(jù)線進(jìn)行輕松編程。
? 可見的LED燈,用于指示SoC的Tx引腳的狀態(tài)。
? ESP-12E,一種4MB SPI閃存芯片。
? 合理范圍內(nèi)(50英尺處為–70~–80 dBm)的板載天線。

圖3: ESP-12E 開發(fā)板 / ?ACROBOTIC
HC-SR04 超聲波傳感器

圖4:超聲波傳感器
HC-SR04超聲波傳感器通過使用聲納超聲波來(lái)檢測(cè)與物體之間的距離。它提供了一種出色的非接觸范圍內(nèi)物體的檢測(cè)方式,具有高精準(zhǔn)度和讀取的穩(wěn)定性。它的運(yùn)行不受陽(yáng)光或黑色物質(zhì)的影響。配有超聲波發(fā)射器和接收器模塊。
您可以點(diǎn)擊此處獲取HC-SR04超聲波傳感器的用戶使用手冊(cè)。
軟件組件:
Arduino IDE
Blynk 應(yīng)用程序
Milestones
在Arduino IDE上安裝ESP-12E 開發(fā)板驅(qū)動(dòng)
在Arduino IDE中,打開首選項(xiàng)(Preferences)窗口,復(fù)制下面的URL到新增開發(fā)板管理器URLs(Additional Boards Manager URLs)中,點(diǎn)擊確認(rèn)(OK)。
https://arduino.esp8266.com/stable/package_esp8266com_index.json
{
"packages": [
{
"maintainer": "ESP8266 Community",
"help": {
"online": "https://esp8266.com/arduino"
},
"websiteURL": "https://github.com/esp8266/Arduino",
"platforms": [
{
"category": "ESP8266",
"name": "esp8266",
"url": "https://github.com/esp8266/Arduino/releases/download/2.3.0/esp8266-2.3.0.zip",
"checksum": "SHA-256:884188a54bc75f1f2e7f827619f8cb1980dc3f430f92f9b07186ed7f4db8c738",
"help": {
"online": "https://esp8266.github.com/Arduino/versions/2.3.0/"
},
"version": "2.3.0",
"architecture": "esp8266",
"archiveFileName": "esp8266-2.3.0.zip",
"boards": [
{
"name": "Generic ESP8266 Module"
},
{
"name": "Olimex MOD-WIFI-ESP8266(-DEV)"
},
{
"name": "NodeMCU 0.9 (ESP-12 Module)"
},
{
"name": "NodeMCU 1.0 (ESP-12E Module)"
},
{
"name": "Adafruit HUZZAH ESP8266 (ESP-12)"
},
{
"name": "ESPresso Lite 1.0"
},
{
"name": "ESPresso Lite 2.0"
},
{
"name": "Phoenix 1.0"
},
{
"name": "Phoenix 2.0"
},
{
"name": "SparkFun Thing"
},
{
"name": "SweetPea ESP-210"
},
{
"name": "WeMos D1"
},
{
"name": "WeMos D1 mini"
},
{
"name": "ESPino (ESP-12 Module)"
},
{
"name": "ESPino (WROOM-02 Module)"
},
{
"name": "WifInfo"
},
{
"name": "ESPDuino"
}
],
"toolsDependencies": [
{
"packager": "esp8266",
"version": "0.4.9",
"name": "esptool"
},
{
"packager": "esp8266",
"version": "1.20.0-26-gb404fb9-2",
"name": "xtensa-lx106-elf-gcc"
},
{
"packager": "esp8266",
"version": "0.1.2",
"name": "mkspiffs"
}
],
"size": "8595050"
},
{
"category": "ESP8266",
"help": {
"online": "https://esp8266.github.com/Arduino/versions/2.1.0/"
},
"url": "https://github.com/esp8266/Arduino/releases/download/2.1.0/esp8266-2.1.0.zip",
"checksum": "SHA-256:000818d500ea90bcb516d667c688387f34003247bb5592e795bc549e91f9ace0",
"name": "esp8266",
"version": "2.1.0",
"architecture": "esp8266",
"archiveFileName": "esp8266-2.1.0.zip",
"size": "5776332",
"toolsDependencies": [
{
"packager": "esp8266",
"version": "0.4.8",
"name": "esptool"
},
{
"packager": "esp8266",
"version": "1.20.0-26-gb404fb9-2",
"name": "xtensa-lx106-elf-gcc"
},
{
"packager": "esp8266",
"version": "0.1.2",
"name": "mkspiffs"
}
],
"boards": [
{
"name": "Generic ESP8266 Module"
},
{
"name": "Olimex MOD-WIFI-ESP8266(-DEV)"
},
{
"name": "NodeMCU 0.9 (ESP-12 Module)"
},
{
"name": "NodeMCU 1.0 (ESP-12E Module)"
},
{
"name": "Adafruit HUZZAH ESP8266 (ESP-12)"
},
{
"name": "ESPresso Lite 1.0"
},
{
"name": "ESPresso Lite 2.0"
},
{
"name": "SparkFun Thing"
},
{
"name": "SweetPea ESP-210"
},
{
"name": "WeMos D1"
},
{
"name": "WeMos D1 mini"
},
{
"name": "ESPino (ESP-12 Module)"
},
{
"name": "ESPino (WROOM-02 Module)"
},
{
"name": "WifInfo"
},
{
"name": "ESPDuino"
}
]
},
{
"category": "ESP8266",
"help": {
"online": "https://esp8266.github.io/Arduino/versions/2.0.0/"
},
"url": "https://github.com/esp8266/Arduino/releases/download/2.0.0/esp8266-2.0.0.zip",
"checksum": "SHA-256:00911ee9f5d4802b279fd81a5a8177fd6fef4888d04ebe93fc3952bac85d909c",
"version": "2.0.0",
"architecture": "esp8266",
"archiveFileName": "esp8266-2.0.0.zip",
"boards": [
{
"name": "Generic ESP8266 Module"
},
{
"name": "Olimex MOD-WIFI-ESP8266(-DEV)"
},
{
"name": "NodeMCU 0.9 (ESP-12 Module)"
},
{
"name": "NodeMCU 1.0 (ESP-12E Module)"
},
{
"name": "Adafruit HUZZAH ESP8266 (ESP-12)"
},
{
"name": "SparkFun Thing"
},
{
"name": "SweetPea ESP-210"
},
{
"name": "WeMos D1"
},
{
"name": "WeMos D1 mini"
}
],
"size": "5606497",
"toolsDependencies": [
{
"packager": "esp8266",
"version": "0.4.6",
"name": "esptool"
},
{
"packager": "esp8266",
"version": "1.20.0-26-gb404fb9-2",
"name": "xtensa-lx106-elf-gcc"
},
{
"packager": "esp8266",
"version": "0.1.2",
"name": "mkspiffs"
}
],
"name": "esp8266"
},
{
"category": "ESP8266",
"help": {
"online": "https://esp8266.github.com/Arduino/versions/2.2.0/"
},
"url": "https://github.com/esp8266/Arduino/releases/download/2.2.0/esp8266-2.2.0.zip",
"checksum": "SHA-256:c0b57abdcd9ad11c506f79e019a35abadb9ac7921972caaa336e08a35048c1db",
"version": "2.2.0",
"architecture": "esp8266",
"archiveFileName": "esp8266-2.2.0.zip",
"boards": [
{
"name": "Generic ESP8266 Module"
},
{
"name": "Olimex MOD-WIFI-ESP8266(-DEV)"
},
{
"name": "NodeMCU 0.9 (ESP-12 Module)"
},
{
"name": "NodeMCU 1.0 (ESP-12E Module)"
},
{
"name": "Adafruit HUZZAH ESP8266 (ESP-12)"
},
{
"name": "ESPresso Lite 1.0"
},
{
"name": "ESPresso Lite 2.0"
},
{
"name": "SparkFun Thing"
},
{
"name": "SweetPea ESP-210"
},
{
"name": "WeMos D1"
},
{
"name": "WeMos D1 mini"
},
{
"name": "ESPino (ESP-12 Module)"
},
{
"name": "ESPino (WROOM-02 Module)"
},
{
"name": "WifInfo"
},
{
"name": "ESPDuino"
}
],
"size": "5981702",
"toolsDependencies": [
{
"packager": "esp8266",
"version": "0.4.8",
"name": "esptool"
},
{
"packager": "esp8266",
"version": "1.20.0-26-gb404fb9-2",
"name": "xtensa-lx106-elf-gcc"
},
{
"packager": "esp8266",
"version": "0.1.2",
"name": "mkspiffs"
}
],
"name": "esp8266"
},
{
"category": "ESP8266",
"help": {
"online": "https://arduino.esp8266.com/versions/1.6.5-947-g39819f0/doc/reference.html"
},
"url": "https://arduino.esp8266.com/versions/1.6.5-947-g39819f0/esp8266-1.6.5-947-g39819f0.zip",
"checksum": "SHA-256:79a395801a94c77f4855f3921b9cc127d679d961ec207e7fb89f90754123d66a",
"version": "1.6.5-947-g39819f0",
"architecture": "esp8266",
"archiveFileName": "esp8266-1.6.5-947-g39819f0.zip",
"boards": [
{
"name": "Generic ESP8266 Module"
},
{
"name": "Olimex MOD-WIFI-ESP8266(-DEV)"
},
{
"name": "NodeMCU 0.9 (ESP-12 Module)"
},
{
"name": "NodeMCU 1.0 (ESP-12E Module)"
},
{
"name": "Adafruit HUZZAH ESP8266 (ESP-12)"
},
{
"name": "SweetPea ESP-210"
}
],
"size": "2295584",
"toolsDependencies": [
{
"packager": "esp8266",
"version": "0.4.5",
"name": "esptool"
},
{
"packager": "esp8266",
"version": "1.20.0-26-gb404fb9",
"name": "xtensa-lx106-elf-gcc"
}
],
"name": "esp8266"
}
],
"tools": [
{
"version": "1.20.0-26-gb404fb9-2",
"name": "xtensa-lx106-elf-gcc",
"systems": [
{
"url": "https://arduino.esp8266.com/win32-xtensa-lx106-elf-gb404fb9-2.tar.gz",
"checksum": "SHA-256:10476b9c11a7a90f40883413ddfb409f505b20692e316c4e597c4c175b4be09c",
"host": "i686-mingw32",
"archiveFileName": "win32-xtensa-lx106-elf-gb404fb9-2.tar.gz",
"size": "153527527"
},
{
"url": "https://arduino.esp8266.com/osx-xtensa-lx106-elf-gb404fb9-2.tar.gz",
"checksum": "SHA-256:0cf150193997bd1355e0f49d3d49711730035257bc1aee1eaaad619e56b9e4e6",
"host": "x86_64-apple-darwin",
"archiveFileName": "osx-xtensa-lx106-elf-gb404fb9-2.tar.gz",
"size": "35385382"
},
{
"url": "https://arduino.esp8266.com/osx-xtensa-lx106-elf-gb404fb9-2.tar.gz",
"checksum": "SHA-256:0cf150193997bd1355e0f49d3d49711730035257bc1aee1eaaad619e56b9e4e6",
"host": "i386-apple-darwin",
"archiveFileName": "osx-xtensa-lx106-elf-gb404fb9-2.tar.gz",
"size": "35385382"
},
{
"url": "https://arduino.esp8266.com/linux64-xtensa-lx106-elf-gb404fb9.tar.gz",
"checksum": "SHA-256:46f057fbd8b320889a26167daf325038912096d09940b2a95489db92431473b7",
"host": "x86_64-pc-linux-gnu",
"archiveFileName": "linux64-xtensa-lx106-elf-gb404fb9.tar.gz",
"size": "30262903"
},
{
"url": "https://arduino.esp8266.com/linux32-xtensa-lx106-elf.tar.gz",
"checksum": "SHA-256:b24817819f0078fb05895a640e806e0aca9aa96b47b80d2390ac8e2d9ddc955a",
"host": "i686-pc-linux-gnu",
"archiveFileName": "linux32-xtensa-lx106-elf.tar.gz",
"size": "32734156"
},
{
"url": "https://arduino.esp8266.com/linuxarm-xtensa-lx106-elf-g46f160f-2.tar.gz",
"checksum": "SHA-256:f693946288f2ffa17288ef75ae16fa08573993f2b0a2a5e6bc35a68dc6087443",
"host": "arm-linux-gnueabihf",
"archiveFileName": "linuxarm-xtensa-lx106-elf-g46f160f-2.tar.gz",
"size": "34938475"
}
]
},
{
"version": "1.20.0-26-gb404fb9",
"name": "xtensa-lx106-elf-gcc",
"systems": [
{
"url": "https://arduino.esp8266.com/win32-xtensa-lx106-elf-gb404fb9.tar.gz",
"checksum": "SHA-256:1561ec85cc58cab35cc48bfdb0d0087809f89c043112a2c36b54251a13bf781f",
"host": "i686-mingw32",
"archiveFileName": "win32-xtensa-lx106-elf-gb404fb9.tar.gz",
"size": "153807368"
},
{
"url": "https://arduino.esp8266.com/osx-xtensa-lx106-elf-gb404fb9-2.tar.gz",
"checksum": "SHA-256:0cf150193997bd1355e0f49d3d49711730035257bc1aee1eaaad619e56b9e4e6",
"host": "x86_64-apple-darwin",
"archiveFileName": "osx-xtensa-lx106-elf-gb404fb9-2.tar.gz",
"size": "35385382"
},
{
"url": "https://arduino.esp8266.com/osx-xtensa-lx106-elf-gb404fb9-2.tar.gz",
"checksum": "SHA-256:0cf150193997bd1355e0f49d3d49711730035257bc1aee1eaaad619e56b9e4e6",
"host": "i386-apple-darwin",
"archiveFileName": "osx-xtensa-lx106-elf-gb404fb9-2.tar.gz",
"size": "35385382"
},
{
"url": "https://arduino.esp8266.com/linux64-xtensa-lx106-elf-gb404fb9.tar.gz",
"checksum": "SHA-256:46f057fbd8b320889a26167daf325038912096d09940b2a95489db92431473b7",
"host": "x86_64-pc-linux-gnu",
"archiveFileName": "linux64-xtensa-lx106-elf-gb404fb9.tar.gz",
"size": "30262903"
},
{
"url": "https://arduino.esp8266.com/linux32-xtensa-lx106-elf.tar.gz",
"checksum": "SHA-256:b24817819f0078fb05895a640e806e0aca9aa96b47b80d2390ac8e2d9ddc955a",
"host": "i686-pc-linux-gnu",
"archiveFileName": "linux32-xtensa-lx106-elf.tar.gz",
"size": "32734156"
}
]
},
{
"version": "0.4.9",
"name": "esptool",
"systems": [
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.9/esptool-0.4.9-win32.zip",
"checksum": "SHA-256:9c4162cedf05fcb09fd829bfb90e34ae12458365980d79525a072ff5ca44751c",
"host": "i686-mingw32",
"archiveFileName": "esptool-0.4.9-win32.zip",
"size": "32436"
},
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.9/esptool-0.4.9-osx.tar.gz",
"checksum": "SHA-256:57938b473765723a7e6602d55973017b7719bda69bdcff4250b24fcbf7a399f5",
"host": "x86_64-apple-darwin",
"archiveFileName": "esptool-0.4.9-osx.tar.gz",
"size": "29310"
},
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.9/esptool-0.4.9-osx.tar.gz",
"checksum": "SHA-256:57938b473765723a7e6602d55973017b7719bda69bdcff4250b24fcbf7a399f5",
"host": "i386-apple-darwin",
"archiveFileName": "esptool-0.4.9-osx.tar.gz",
"size": "29310"
},
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.9/esptool-0.4.9-linux64.tar.gz",
"checksum": "SHA-256:fab9d1be8a648bea6728ad5c9d18ce972508187700cf90baf1897ac9cdf4db15",
"host": "x86_64-pc-linux-gnu",
"archiveFileName": "esptool-0.4.9-linux64.tar.gz",
"size": "15564"
},
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.9/esptool-0.4.9-linux32.tar.gz",
"checksum": "SHA-256:bc4444d73d59be74608be5e1431353a0a9ae9e308e99c76a271d68a6ae145b7b",
"host": "i686-pc-linux-gnu",
"archiveFileName": "esptool-0.4.9-linux32.tar.gz",
"size": "15984"
},
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.9/esptool-0.4.9-linux-armhf.tar.gz",
"checksum": "SHA-256:d0364492599d90b8305125f8212de5be05397e4efde2fc7d0ed3676bb7018164",
"host": "arm-linux-gnueabihf",
"archiveFileName": "esptool-0.4.9-linux-armhf.tar.gz",
"size": "13763"
}
]
},
{
"version": "0.4.8",
"name": "esptool",
"systems": [
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.8/esptool-0.4.8-win32.zip",
"checksum": "SHA-256:8d09cb0df6234c2a0562389ceedd11482b44a3f538695f9a4df80f9f10411ece",
"host": "i686-mingw32",
"archiveFileName": "esptool-0.4.8-win32.zip",
"size": "32192"
},
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.8/esptool-0.4.8-osx.tar.gz",
"checksum": "SHA-256:2bcbf19934543fb06c505b2a595b68a76e4cab8e3d8968a4d1802195c87126cf",
"host": "x86_64-apple-darwin",
"archiveFileName": "esptool-0.4.8-osx.tar.gz",
"size": "28798"
},
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.8/esptool-0.4.8-osx.tar.gz",
"checksum": "SHA-256:2bcbf19934543fb06c505b2a595b68a76e4cab8e3d8968a4d1802195c87126cf",
"host": "i386-apple-darwin",
"archiveFileName": "esptool-0.4.8-osx.tar.gz",
"size": "28798"
},
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.8/esptool-0.4.8-linux64.tar.gz",
"checksum": "SHA-256:1cd9a6014bbbc37ba6dc249f4fc027f0ca9bbc6dd0e203ebc7d146dfd78a6e78",
"host": "x86_64-pc-linux-gnu",
"archiveFileName": "esptool-0.4.8-linux64.tar.gz",
"size": "15479"
},
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.8/esptool-0.4.8-linux32.tar.gz",
"checksum": "SHA-256:b0d6e71e6f41d4ed7e167bb4b3f4f0b1b3e49d69af50ab7fbe952cbfed83f164",
"host": "i686-pc-linux-gnu",
"archiveFileName": "esptool-0.4.8-linux32.tar.gz",
"size": "15444"
},
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.8/esptool-0.4.8-linux-armhf.tar.gz",
"checksum": "SHA-256:e9c4dfb81781610556a6af0377c8efc7cde359e0e2cda2fd48e0a32bae10f506",
"host": "arm-linux-gnueabihf",
"archiveFileName": "esptool-0.4.8-linux-armhf.tar.gz",
"size": "13630"
}
]
},
{
"version": "0.4.5",
"name": "esptool",
"systems": [
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.5/esptool-0.4.5-win32.zip",
"checksum": "SHA-256:1b0a7d254e74942d820a09281aa5dc2af1c8314ae5ee1a5abb0653d0580e531b",
"host": "i686-mingw32",
"archiveFileName": "esptool-0.4.5-win32.zip",
"size": "17408"
},
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.5/esptool-0.4.5-osx.tar.gz",
"checksum": "SHA-256:924d31c64f4bb9f748e70806dafbabb15e5eb80afcdde33715f3ec884be1652d",
"host": "x86_64-apple-darwin",
"archiveFileName": "esptool-0.4.5-osx.tar.gz",
"size": "11359"
},
{
"url": "https://arduino.esp8266.com/esptool-0.4.5-1-gfaa5794-osx.tar.gz",
"checksum": "SHA-256:722142071f6cf4d8c02dea42497a747e06abf583d86137a6a256b7db71dc61f6",
"host": "i386-apple-darwin",
"archiveFileName": "esptool-0.4.5-1-gfaa5794-osx.tar.gz",
"size": "20751"
},
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.5/esptool-0.4.5-linux64.tar.gz",
"checksum": "SHA-256:4ce799e13fbd89f8a8f08a08db77dc3b1362c4486306fe1b3801dee80cfa3203",
"host": "x86_64-pc-linux-gnu",
"archiveFileName": "esptool-0.4.5-linux64.tar.gz",
"size": "12789"
},
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.5/esptool-0.4.5-linux32.tar.gz",
"checksum": "SHA-256:a7a2c3200786d7396e8cafca1b9aefe56db8ec1dab5e9163d4a19358232a7d87",
"host": "i686-pc-linux-gnu",
"archiveFileName": "esptool-0.4.5-linux32.tar.gz",
"size": "12055"
}
]
},
{
"version": "0.4.6",
"name": "esptool",
"systems": [
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.6/esptool-0.4.6-win32.zip",
"checksum": "SHA-256:0248bf78514a3195f583e29218ca7828a66e13c6e5545a078f1c1257033e4927",
"host": "i686-mingw32",
"archiveFileName": "esptool-0.4.6-win32.zip",
"size": "17481"
},
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.6/esptool-0.4.6-osx.tar.gz",
"checksum": "SHA-256:0fe87ba7e29ee90a9fc72492aada8c0796f9e8f8a1c594b6b26cee2610d09bb3",
"host": "x86_64-apple-darwin",
"archiveFileName": "esptool-0.4.6-osx.tar.gz",
"size": "20926"
},
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.6/esptool-0.4.6-osx.tar.gz",
"checksum": "SHA-256:0fe87ba7e29ee90a9fc72492aada8c0796f9e8f8a1c594b6b26cee2610d09bb3",
"host": "i386-apple-darwin",
"archiveFileName": "esptool-0.4.6-osx.tar.gz",
"size": "20926"
},
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.6/esptool-0.4.6-linux64.tar.gz",
"checksum": "SHA-256:f9f456e9a42bb2597126c513cb8865f923fb978865d4838b9623d322216b74d0",
"host": "x86_64-pc-linux-gnu",
"archiveFileName": "esptool-0.4.6-linux64.tar.gz",
"size": "12885"
},
{
"url": "https://github.com/igrr/esptool-ck/releases/download/0.4.6/esptool-0.4.6-linux32.tar.gz",
"checksum": "SHA-256:85275ca03a82bfc456f5a84e86962ca1e470ea2e168829c38ca29ee668831d93",
"host": "i686-pc-linux-gnu",
"archiveFileName": "esptool-0.4.6-linux32.tar.gz",
"size": "13417"
}
]
},
{
"version": "0.1.2",
"name": "mkspiffs",
"systems": [
{
"url": "https://github.com/igrr/mkspiffs/releases/download/0.1.2/mkspiffs-0.1.2-windows.zip",
"checksum": "SHA-256:0a29119b8458b61a877408f7995e4944623a712e0d313a2c2f76af9ab55cc9f2",
"host": "i686-mingw32",
"archiveFileName": "mkspiffs-0.1.2-windows.zip",
"size": "230802"
},
{
"url": "https://github.com/igrr/mkspiffs/releases/download/0.1.2/mkspiffs-0.1.2-osx.tar.gz",
"checksum": "SHA-256:df656fae21a41c1269ea50cb53752dcaf6a4e1437255f3a9fb50b4025549b58e",
"host": "x86_64-apple-darwin",
"archiveFileName": "mkspiffs-0.1.2-osx.tar.gz",
"size": "115091"
},
{
"url": "https://github.com/igrr/mkspiffs/releases/download/0.1.2/mkspiffs-0.1.2-osx.tar.gz",
"checksum": "SHA-256:df656fae21a41c1269ea50cb53752dcaf6a4e1437255f3a9fb50b4025549b58e",
"host": "i386-apple-darwin",
"archiveFileName": "mkspiffs-0.1.2-osx.tar.gz",
"size": "115091"
},
{
"url": "https://github.com/igrr/mkspiffs/releases/download/0.1.2/mkspiffs-0.1.2-linux64.tar.gz",
"checksum": "SHA-256:1a1dd81b51daf74c382db71b42251757ca4136e8762107e69feaa8617bac315f",
"host": "x86_64-pc-linux-gnu",
"archiveFileName": "mkspiffs-0.1.2-linux64.tar.gz",
"size": "46281"
},
{
"url": "https://github.com/igrr/mkspiffs/releases/download/0.1.2/mkspiffs-0.1.2-linux32.tar.gz",
"checksum": "SHA-256:e990d545dfcae308aabaac5fa9e1db734cc2b08167969e7eedac88bd0839667c",
"host": "i686-pc-linux-gnu",
"archiveFileName": "mkspiffs-0.1.2-linux32.tar.gz",
"size": "45272"
},
{
"url": "https://github.com/igrr/mkspiffs/releases/download/0.1.2/mkspiffs-0.1.2-linux-armhf.tar.gz",
"checksum": "SHA-256:5a8836932cd24325d69054cebdd46359eba02919ffaa87b130c54acfecc13f46",
"host": "arm-linux-gnueabihf",
"archiveFileName": "mkspiffs-0.1.2-linux-armhf.tar.gz",
"size": "41685"
}
]
}
],
"email": "ivan@esp8266.com",
"name": "esp8266"
}
]
}
如果您在開發(fā)板管理器的URL中已經(jīng)添加了一些其他開發(fā)板,請(qǐng)?jiān)谔砑由鲜鯱RL前加一個(gè)逗號(hào)和空格。


選擇菜單選項(xiàng)中的工具(Tools)→開發(fā)板(Board)→開發(fā)板管理(Boards Manager)……向下滾動(dòng),找到ESP8266 Community中的esp8266選項(xiàng),這是列表中的最后一項(xiàng),然后點(diǎn)擊安裝(Install)。
如果您在設(shè)置開發(fā)板時(shí)需要額外的幫助,請(qǐng)參考本教程:
連接ESP-12E開發(fā)板和超聲波傳感器的電路設(shè)計(jì)
連接

圖5:系統(tǒng)接線
顯然,這里我們只需要進(jìn)行少數(shù)的幾個(gè)連接,因?yàn)榇蟛糠止δ芤呀?jīng)在我們的電路設(shè)計(jì)部分實(shí)現(xiàn)了。
編寫代碼
跳轉(zhuǎn)到用于檢測(cè)您郵箱中新郵件的程序代碼部分:
您無(wú)需在這部分程序中添加任何庫(kù);只需在您的NodeMCU上顯示以下代碼即可。
[https://github.com/formus14/Smart_mailbox/tree/master/Ultrasonic_HC_SR04_ESP8266]
您可以從Arduino IDE的串行監(jiān)視器中查看結(jié)果。
連接程序代碼和Blynk應(yīng)用程序
這部分包含兩個(gè)內(nèi)容:1. Arduino程序代碼; 2. 使用Blynk構(gòu)建移動(dòng)應(yīng)用程序。
程序設(shè)計(jì)
在程序設(shè)計(jì)這部分涉及到很多內(nèi)容。我會(huì)盡量把它劃分成更簡(jiǎn)單的步驟。
Blynk是一款可以與至今市面上大部分的微控制器進(jìn)行交互的應(yīng)用程序,它的功能是通過移動(dòng)應(yīng)用程序和微控制器之間發(fā)送和接收數(shù)據(jù)來(lái)實(shí)現(xiàn)的。
? 下載并安裝Blynk庫(kù),這樣我們就可以使用Blynk的所有功能了。
[https://github.com/formus14/Smart_mailbox/tree/master/blynk-library-0.3.4]
? 下載并安裝Simple timer 庫(kù),以使用計(jì)時(shí)器。
[https://github.com/formus14/Smart_mailbox/tree/master/SimpleTimer-library]
? 如果您使用的是簡(jiǎn)單的LCD,請(qǐng)用虛擬引腳來(lái)發(fā)送數(shù)據(jù)到移動(dòng)應(yīng)用程序上。在本項(xiàng)目中,我們從應(yīng)用程序發(fā)送數(shù)據(jù)到硬件時(shí)使用常規(guī)的數(shù)字或模擬引腳。
? 如果您使用的是高級(jí)LCD,只需為L(zhǎng)CD創(chuàng)建一個(gè)對(duì)象即可,就像程序代碼中顯示的那樣。
在這里下載所有的程序代碼和庫(kù):[https://github.com/formus14/Smart_mailbox]

Blynk 移動(dòng)應(yīng)用程序
使用Blynk,您可以通過使用小部件來(lái)控制和監(jiān)視來(lái)自iOS或者Android設(shè)備的硬件項(xiàng)目來(lái)創(chuàng)建界面。Blynk支持Arduino、Raspberry Pi、Particle Core,以及其他常見的微控制器。
您還可以在其他平臺(tái)通過網(wǎng)絡(luò)來(lái)控制硬件。但是,對(duì)于本項(xiàng)目,我們使用Blynk,因?yàn)樗浅R子诓僮鳌?/p>
您在程序代碼中需要注意的一些事項(xiàng):
? char auth[] = ” “;
mailbox.ino程序代碼中的這一行應(yīng)填寫您在創(chuàng)建應(yīng)用程序時(shí)獲得的身份認(rèn)證信息。
Blynk.begin(auth, “WIFI Network”, “WIFI PASSWORD”);
對(duì)于設(shè)置功能中的這一行,您應(yīng)該將“WI-FI Network”更改為自己的Wi-Fi網(wǎng)絡(luò)名稱。對(duì)“Wi-Fi PASSWORD”也是如此。
除了啟動(dòng)Blynk的相關(guān)內(nèi)容,以下還有通過屏幕快照來(lái)展示如何創(chuàng)建您自己的應(yīng)用程序的分步指南:
1) 使用您的賬戶信息登錄后,會(huì)看到以下畫面:

2) 按下“創(chuàng)建新項(xiàng)目”(Create New Project)后,輸入您的項(xiàng)目名稱,然后選擇“ESP8266”作為硬件型號(hào)。


3) 保存身份認(rèn)證信息這一步非常重要,因?yàn)槲覀円阉砑拥紼SP8266的主程序中。您可以選擇通過按下e-mail鍵來(lái)將它發(fā)送到您登錄時(shí)所用的郵箱。

4) 發(fā)送完成后,您可以點(diǎn)擊“創(chuàng)建”(Create)以完成項(xiàng)目的創(chuàng)建。項(xiàng)目創(chuàng)建后,您就可以添加其他的小部件到您的應(yīng)用程序中了。

5) 在屏幕的右上角點(diǎn)擊添加“+”,您將看到所有的小部件框,然后將LCD部件拖拽到您的工作區(qū)中。


6) 對(duì)于我們的系統(tǒng),我們只需要LCD,但是您也可以盡情嘗試其他可獲取的小部件。
LCD上有兩種打印方式(簡(jiǎn)單或高級(jí))。本教程介紹高級(jí)方式。


7) 點(diǎn)擊顏色(COLORS)下的“O屏幕”(O Screen),更改LCD的背光;對(duì)(T)文本((T) Text)通過相同的操作來(lái)編輯顏色。
現(xiàn)在,您應(yīng)將LCD連接到虛擬引腳,這樣它就可以通過Blynk服務(wù)器與ESP8266進(jìn)行通信了。
在主程序中,我將LCD與虛擬引腳1進(jìn)行連接。




8) 現(xiàn)在應(yīng)用程序已經(jīng)可以與您的硬件系統(tǒng)之間進(jìn)行交互了。

9) 將程序上傳到ESP8266中,并在Blynk上運(yùn)行您的應(yīng)用程序。
如果您沒有任何郵件,將會(huì)在LCD上看到以下消息:

如果在您的郵箱中收到郵件,那么您將會(huì)在屏幕上看到以下另一種信息:

現(xiàn)在您就可以僅在收到郵件時(shí)查看郵箱,從而節(jié)省時(shí)間了。


Omar Hussein
自學(xué)成才的業(yè)余愛好者和極客。Omar喜歡學(xué)習(xí)新的技能,并且熱衷于將Arduino與其他任何他能接觸到的東西進(jìn)行交互。他喜歡構(gòu)建可以在他的日常生活中可以使用的項(xiàng)目。
審核編輯黃宇
-
控制器
+關(guān)注
關(guān)注
114文章
17787瀏覽量
193091 -
智能家居
+關(guān)注
關(guān)注
1943文章
9995瀏覽量
197410
發(fā)布評(píng)論請(qǐng)先 登錄
普強(qiáng)亮相2025全球智能機(jī)械與電子產(chǎn)品博覽會(huì)
谷東智能亮相2025全球智能機(jī)械與電子產(chǎn)品博覽會(huì)
天馬微電子亮相2025全球智能機(jī)械與電子產(chǎn)品博覽會(huì)
希恩凱電子亮相2025全球智能機(jī)械與電子產(chǎn)品博覽會(huì)
SMT貼片打樣助力智能家居產(chǎn)品創(chuàng)新應(yīng)用
新動(dòng)態(tài):電器電子產(chǎn)品概述及有害物質(zhì)限制使用管理
浮思特 | 如何通過現(xiàn)代(ABOV)8位單片機(jī)實(shí)現(xiàn)智能家居與工業(yè)控制的升級(jí)
UWB技術(shù)與Matter協(xié)議重塑智能家居行業(yè)格局
物聯(lián)網(wǎng)天線如何影響智能家居發(fā)展
Matter 智能家居的通用語(yǔ)言
明遠(yuǎn)智睿SSD2351開發(fā)板:智能家居的智能核心
智能家居Mesh組網(wǎng)方案:實(shí)現(xiàn)智能化生活的無(wú)縫連接NRF52832
如何制造智能家居電子產(chǎn)品:智能郵箱
評(píng)論