0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何制造智能家居电子产品:智能邮箱

王浩 来源:DevicePlus 作者:DevicePlus 2023-03-01 17:34 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这篇文章来源于DevicePlus.com英语网站的翻译稿。

pYYBAGPzE9aAK-0ZAAVsNGPoBGc522.png

该项目把物联网智能家居电子设备的理念相结合,然后应用到一个实用项目中。该项目旨在通过在您接收到新邮件时给您的手机发送通知,来节省您查看邮箱的时间。通过该项目的功能之一“连接覆盖”,您可以在家中查看来自世界任何地方的邮件。

功能描述

检测您的邮箱中是否有新邮件。

通过移动应用程序通知用户检测结果。

硬件组件:

ESP8266

poYBAGPzE92ARJ3oAASPvRvJ4gk067.png

图1: ESP8266 / ©ACROBOTIC

• 带有内置WiFi模块且具有80MHz时钟频率的32位微控制器

• 1美元左右的超低成本

• 可以在Lua (NodeMCU)、JavaScript (Espruino)和Python (Micro Python)编译器上运行

Arduino 集成开发环境

ESP-12E 开发板 (aka NodeMCU DevKit)

pYYBAGPzE-GAJwJDAASAUYbiII0628.png

图2: NodeMCU / ©ACROBOTIC

ESP-12E模块划分了开发板上所有可用的ESP8266引脚,以便实现与客户的轻松交互。

• 通过微型USB数据线进行轻松编程

• 可见的LED灯,用于指示SoC的Tx引脚的状态。

• ESP-12E,一种4MB SPI闪存芯片。

• 合理范围内(50英尺处为–70~–80 dBm)的板载天线

pYYBAGPzE-OAE3_kAAPt4bRQupM963.png

图3: ESP-12E 开发板 / ©ACROBOTIC

HC-SR04 超声波传感器

poYBAGPzE-aAGYa5AAPDv6pxcTA677.png

图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": "ivan@esp8266.com", 
      "name": "esp8266"
    }
  ]
}

如果您在开发板管理器的URL中已经添加了一些其他开发板,请在添加上述URL前加一个逗号和空格。

pYYBAGPzE-iAd4WBAADlnZhMQTE758.png

poYBAGPzE-qAcQOZAAF4-Oxscw4277.png

选择菜单选项中的工具(Tools)→开发板(Board)→开发板管理(Boards Manager)……向下滚动,找到ESP8266 Community中的esp8266选项,这是列表中的最后一项,然后点击安装(Install)。

如果您在设置开发板时需要额外的帮助,请参考本教程:

连接ESP-12E开发板和超声波传感器的电路设计

连接

poYBAGPzE-yABeNnAAM6aB22RuE967.png

图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]

pYYBAGPzE-6ASkQvAABSzCfQJK0803.png

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) 使用您的账户信息登录后,会看到以下画面:

pYYBAGPzE--AE6bMAAA802r7Mtk165.png

2) 按下“创建新项目”(Create New Project)后,输入您的项目名称,然后选择“ESP8266”作为硬件型号。

poYBAGPzE_GATDPLAABwcA5Kj7w523.png

poYBAGPzE_KASHKJAABvJ7tJk3Q251.png

3) 保存身份认证信息这一步非常重要,因为我们要把它添加到ESP8266的主程序中。您可以选择通过按下e-mail键来将它发送到您登录时所用的邮箱。

pYYBAGPzE_SAC6WMAABv2vsQw_0376.png

4) 发送完成后,您可以点击“创建”(Create)以完成项目的创建。项目创建后,您就可以添加其他的小部件到您的应用程序中了。

pYYBAGPzE_WAfwv-AAEnPxwqh4o980.png

5) 在屏幕的右上角点击添加“+”,您将看到所有的小部件框,然后将LCD部件拖拽到您的工作区中。

poYBAGPzE_eALrkzAAEA1QmI0wU811.png

poYBAGPzE_yAIKteAAD8dermSc8765.png

6) 对于我们的系统,我们只需要LCD,但是您也可以尽情尝试其他可获取的小部件。

LCD上有两种打印方式(简单或高级)。本教程介绍高级方式。

poYBAGPzE_2ABJHiAADqPmgWNYw065.png

pYYBAGPzE_-ACgOfAAC0wZnOk_g270.png

7) 点击颜色(COLORS)下的“O屏幕”(O Screen),更改LCD的背光;对(T)文本((T) Text)通过相同的操作来编辑颜色。

现在,您应将LCD连接到虚拟引脚,这样它就可以通过Blynk服务器与ESP8266进行通信了。

在主程序中,我将LCD与虚拟引脚1进行连接。

poYBAGPzFAGAJNBnAACzmmmBEpU319.png

pYYBAGPzFAKAXDoJAACfYXkKov4357.png

pYYBAGPzFASARhzcAACge_fs3dQ617.png

poYBAGPzFAaARYNaAAC0Gek3k80847.png

8) 现在应用程序已经可以与您的硬件系统之间进行交互了。

pYYBAGPzFAeAIvZzAADhnEWEQ9U595.png

9) 将程序上传到ESP8266中,并在Blynk上运行您的应用程序。

如果您没有任何邮件,将会在LCD上看到以下消息:

poYBAGPzFAmALxs7AAFKEzBrnDM331.png

如果在您的邮箱中收到邮件,那么您将会在屏幕上看到以下另一种信息:

pYYBAGPzFAuAXItGAAFMO7o7s14274.png

现在您就可以仅在收到邮件时查看邮箱,从而节省时间了。

poYBAGPzFA-AdwpgAAc9kw3iCN8130.png

pYYBAGPzFBGAB9ymAAAFoBcCEB0994.png

Omar Hussein

自学成才的业余爱好者和极客。Omar喜欢学习新的技能,并且热衷于将Arduino与其他任何他能接触到的东西进行交互。他喜欢构建可以在他的日常生活中可以使用的项目。

审核编辑黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    114

    文章

    17638

    浏览量

    190246
  • 智能家居
    +关注

    关注

    1942

    文章

    9943

    浏览量

    195508
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    希恩凯电子亮相2025全球智能机械与电子产品博览会

    澳门威尼斯人金光会展中心内,人潮涌动。2025年12月4日至6日,首届“全球智能机械与电子产品博览会”在这里盛大举行。在“湾区制造,全球共享”的主题下,近500家全球科技企业齐聚一堂,展现智能
    的头像 发表于 12-05 17:10 799次阅读

    新动态:电器电子产品概述及有害物质限制使用管理

    电子产品与电气产品分类电器电子产品已成为现代社会不可或缺的组成部分,广泛渗透到生产与生活的各个角落。从广义上,可将其分为电子产品和电气产品
    的头像 发表于 10-23 16:00 579次阅读
    新动态:电器<b class='flag-5'>电子产品</b>概述及有害物质限制使用管理

    物联网天线如何影响智能家居发展

    智能家居解决方案正逐步融入几乎所有家用电子设备。智能扬声器、智能照明、智能恒温器和集线器是智能家居
    的头像 发表于 06-12 10:16 1129次阅读

    Matter 智能家居的通用语言

    企业正在测试 134 种独特的 Matter 产品。 在消费者对智能家居设备无缝互操作性需求的推动下,Matter的广泛采用将吸引更多的开发者。
    发表于 05-19 15:35

    明远智睿SSD2351开发板:智能家居智能核心

    随着科技的不断发展,智能家居逐渐走进人们的生活,为人们带来更加便捷、舒适、智能的生活体验。明远智睿的SSD2351开发板作为智能家居系统的智能核心,发挥着至关重要的作用。 SSD235
    发表于 05-07 18:59

    智能家居Mesh组网方案:实现智能化生活的无缝连接NRF52832

    随着科技的不断进步,智能家居智能家电已经渗透到我们生活的方方面面。然而,由于产品种类的增多和商家的众多,用户在使用智能家居产品时往往会感到
    发表于 04-15 14:07

    【MINI小课堂】如何辨别MINIWARE的正品烙铁头? #电烙铁 #焊接 #电子产品

    电子产品
    易迪赛智能科技
    发布于 :2025年03月17日 16:34:52

    智能家居项目设计

    智能家居,内涵多个模块,板子电路和PCB设计
    发表于 03-14 17:54 6次下载

    电子产品设计与调试

    1.  电子设计的性质与任务 2.  设计的要求 3.  电子产品研制的一般过程 4.  电子设计与电子产品研制的差异 5.  电子设计报告
    发表于 03-10 18:01 0次下载

    SMT技术:电子产品微型化的推动者

    在现代电子制造领域,SMT(Surface Mount Technology)技术扮演着至关重要的角色。SMT技术,即表面贴装技术,是一种将电子元件焊接到电路板上的方法,它极大地推动了电子产品
    发表于 02-21 09:08

    AI赋能,智能家居芯片面临哪些机遇?

    。 本次展会,三星电子、TCL等全球头部厂商,以及海信、长虹、联想、小鹏汇天等国内头部科技企业纷纷带来了最新的产品成果。共性来看,如今AI正在深度融入如今的智能家居产品。 图源:“TC
    的头像 发表于 01-21 14:37 848次阅读
    AI赋能,<b class='flag-5'>智能家居</b>芯片面临哪些机遇?

    飞腾国产3.5寸一体机主板,智能制造的得力助手

    在当今时代,智能制造发展趋势越演越烈。从汽车制造的高度自动化生产线,到电子产品的精密组装,再到智能家居设备的个性化定制生产,
    的头像 发表于 01-13 08:57 774次阅读

    【行业挑战】气密性检测设备在智能家居产品中的应用与挑战

    。气密性检测设备在这一领域的应用不仅关系到产品的性能,还直接影响到用户体验和产品的市场竞争力。智能家居产品,如智能扬声器、
    的头像 发表于 12-31 13:53 554次阅读
    【行业挑战】气密性检测设备在<b class='flag-5'>智能家居</b><b class='flag-5'>产品</b>中的应用与挑战

    电子产品使用热敏电阻的理由

    电子产品的功能多样靠电子元件实现,热敏电阻因灵敏度高、响应快、体积小成本低等优点应用于电子产品中。
    的头像 发表于 12-25 11:00 840次阅读
    <b class='flag-5'>电子产品</b>使用热敏电阻的理由

    EMQ联合Azure举行专题活动:消费电子产品智能体升级之路

    12月12日,EMQ映云科技与微软联合开展的研讨会在深圳顺利举行。本次活动以「消费电子产品智能体升级之路」为主题,邀请业内的顶尖专家和企业代表,共同探讨消费电子产品的出海趋势和智能
    的头像 发表于 12-17 14:26 4886次阅读
    EMQ联合Azure举行专题活动:消费<b class='flag-5'>电子产品</b>的<b class='flag-5'>智能</b>体升级之路