這篇文章來源于DevicePlus.com英語網站的翻譯稿。
該項目把物聯網和智能家居電子設備的理念相結合,然后應用到一個實用項目中。該項目旨在通過在您接收到新郵件時給您的手機發送通知,來節省您查看郵箱的時間。通過該項目的功能之一“連接覆蓋”,您可以在家中查看來自世界任何地方的郵件。
功能描述
檢測您的郵箱中是否有新郵件。
通過移動應用程序通知用戶檢測結果。
硬件組件:
? 帶有內置WiFi模塊且具有80MHz時鐘頻率的32位微控制器
? 1美元左右的超低成本
? 可以在Lua (NodeMCU)、JavaScript (Espruino)和Python (Micro Python)編譯器上運行
? Arduino 集成開發環境
ESP-12E 開發板 (aka NodeMCU DevKit)
圖2: NodeMCU / ?ACROBOTIC
ESP-12E模塊劃分了開發板上所有可用的ESP8266引腳,以便實現與客戶的輕松交互。
? 可見的LED燈,用于指示SoC的Tx引腳的狀態。
? ESP-12E,一種4MB SPI閃存芯片。
? 合理范圍內(50英尺處為–70~–80 dBm)的板載天線。
圖3: ESP-12E 開發板 / ?ACROBOTIC
HC-SR04 超聲波傳感器
圖4:超聲波傳感器
HC-SR04超聲波傳感器通過使用聲納超聲波來檢測與物體之間的距離。它提供了一種出色的非接觸范圍內物體的檢測方式,具有高精準度和讀取的穩定性。它的運行不受陽光或黑色物質的影響。配有超聲波發射器和接收器模塊。
您可以點擊此處獲取HC-SR04超聲波傳感器的用戶使用手冊。
軟件組件:
Arduino IDE
Blynk 應用程序
Milestones
在Arduino IDE上安裝ESP-12E 開發板驅動
在Arduino IDE中,打開首選項(Preferences)窗口,復制下面的URL到新增開發板管理器URLs(Additional Boards Manager URLs)中,點擊確認(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": "[email protected]", "name": "esp8266" } ] }
如果您在開發板管理器的URL中已經添加了一些其他開發板,請在添加上述URL前加一個逗號和空格。
選擇菜單選項中的工具(Tools)→開發板(Board)→開發板管理(Boards Manager)……向下滾動,找到ESP8266 Community中的esp8266選項,這是列表中的最后一項,然后點擊安裝(Install)。
如果您在設置開發板時需要額外的幫助,請參考本教程:
連接ESP-12E開發板和超聲波傳感器的電路設計
連接
圖5:系統接線
顯然,這里我們只需要進行少數的幾個連接,因為大部分功能已經在我們的電路設計部分實現了。
編寫代碼
跳轉到用于檢測您郵箱中新郵件的程序代碼部分:
您無需在這部分程序中添加任何庫;只需在您的NodeMCU上顯示以下代碼即可。
[https://github.com/formus14/Smart_mailbox/tree/master/Ultrasonic_HC_SR04_ESP8266]
您可以從Arduino IDE的串行監視器中查看結果。
連接程序代碼和Blynk應用程序
這部分包含兩個內容:1. Arduino程序代碼; 2. 使用Blynk構建移動應用程序。
程序設計
在程序設計這部分涉及到很多內容。我會盡量把它劃分成更簡單的步驟。
Blynk是一款可以與至今市面上大部分的微控制器進行交互的應用程序,它的功能是通過移動應用程序和微控制器之間發送和接收數據來實現的。
? 下載并安裝Blynk庫,這樣我們就可以使用Blynk的所有功能了。
[https://github.com/formus14/Smart_mailbox/tree/master/blynk-library-0.3.4]
? 下載并安裝Simple timer 庫,以使用計時器。
[https://github.com/formus14/Smart_mailbox/tree/master/SimpleTimer-library]
? 如果您使用的是簡單的LCD,請用虛擬引腳來發送數據到移動應用程序上。在本項目中,我們從應用程序發送數據到硬件時使用常規的數字或模擬引腳。
? 如果您使用的是高級LCD,只需為LCD創建一個對象即可,就像程序代碼中顯示的那樣。
在這里下載所有的程序代碼和庫:[https://github.com/formus14/Smart_mailbox]
Blynk 移動應用程序
使用Blynk,您可以通過使用小部件來控制和監視來自iOS或者Android設備的硬件項目來創建界面。Blynk支持Arduino、Raspberry Pi、Particle Core,以及其他常見的微控制器。
您還可以在其他平臺通過網絡來控制硬件。但是,對于本項目,我們使用Blynk,因為它非常易于操作。
您在程序代碼中需要注意的一些事項:
? char auth[] = ” “;
mailbox.ino程序代碼中的這一行應填寫您在創建應用程序時獲得的身份認證信息。
Blynk.begin(auth, “WIFI Network”, “WIFI PASSWORD”);
對于設置功能中的這一行,您應該將“WI-FI Network”更改為自己的Wi-Fi網絡名稱。對“Wi-Fi PASSWORD”也是如此。
除了啟動Blynk的相關內容,以下還有通過屏幕快照來展示如何創建您自己的應用程序的分步指南:
1) 使用您的賬戶信息登錄后,會看到以下畫面:
2) 按下“創建新項目”(Create New Project)后,輸入您的項目名稱,然后選擇“ESP8266”作為硬件型號。
3) 保存身份認證信息這一步非常重要,因為我們要把它添加到ESP8266的主程序中。您可以選擇通過按下e-mail鍵來將它發送到您登錄時所用的郵箱。
4) 發送完成后,您可以點擊“創建”(Create)以完成項目的創建。項目創建后,您就可以添加其他的小部件到您的應用程序中了。
5) 在屏幕的右上角點擊添加“+”,您將看到所有的小部件框,然后將LCD部件拖拽到您的工作區中。
6) 對于我們的系統,我們只需要LCD,但是您也可以盡情嘗試其他可獲取的小部件。
LCD上有兩種打印方式(簡單或高級)。本教程介紹高級方式。
7) 點擊顏色(COLORS)下的“O屏幕”(O Screen),更改LCD的背光;對(T)文本((T) Text)通過相同的操作來編輯顏色。
現在,您應將LCD連接到虛擬引腳,這樣它就可以通過Blynk服務器與ESP8266進行通信了。
在主程序中,我將LCD與虛擬引腳1進行連接。
8) 現在應用程序已經可以與您的硬件系統之間進行交互了。
9) 將程序上傳到ESP8266中,并在Blynk上運行您的應用程序。
如果您沒有任何郵件,將會在LCD上看到以下消息:
如果在您的郵箱中收到郵件,那么您將會在屏幕上看到以下另一種信息:
現在您就可以僅在收到郵件時查看郵箱,從而節省時間了。
Omar Hussein
自學成才的業余愛好者和極客。Omar喜歡學習新的技能,并且熱衷于將Arduino與其他任何他能接觸到的東西進行交互。他喜歡構建可以在他的日常生活中可以使用的項目。
審核編輯黃宇
-
控制器
+關注
關注
114文章
17006瀏覽量
183210 -
智能家居
+關注
關注
1934文章
9760瀏覽量
189883
發布評論請先 登錄
Matter 智能家居的通用語言
明遠智睿SSD2351開發板:智能家居的智能核心
智能家居Mesh組網方案:實現智能化生活的無縫連接NRF52832
SMT技術:電子產品微型化的推動者
AI賦能,智能家居芯片面臨哪些機遇?

飛騰國產3.5寸一體機主板,智能制造的得力助手
EMQ聯合Azure舉行專題活動:消費電子產品的智能體升級之路

電子產品方案開發公司常用的15個單片機經典電路分享!
亞馬遜云科技啟動"智能家居與智能產品創新加速計劃"

亞馬遜云科技啟動“智能家居與智能產品創新加速計劃”

評論