物联网 - 用不到15美元控制智能家居,何乐不为?
在本文中,我将对物联网进行概述,并介绍一种使用Wemos D1来实现物联网的方法。
引言
当我们谈论当今科技领域最热门的关键词时,我们不能忘记“物联网”。随着互联网的发展,物联网将扮演重要的角色。这就是为什么我要写一篇关于物联网的小文章。我们可以从最简单的事情开始,即通过互联网控制灯光。在本文中,我将控制LED的开关。从这个开始,你可以在家里控制灯光、风扇、空调等等。但是对于这些交流电器,你需要继电器来控制它们的开关。
什么是物联网?
物联网(IoT)是由物理设备、车辆、家用电器和其他嵌入了电子、软件、传感器、执行器和连接功能的物品组成的网络,这些物品能够连接和交换数据,从而为将物理世界更直接地集成到基于计算机的系统创造了机会,带来了效率的提高、经济效益和减少的人力劳动。(维基百科)
如你所知,我们无法否认物联网在我们生活中扮演的重要角色。它在各个行业都帮助了我们。我相信在你的贡献下,它在未来会有很大的发展。
物联网如何工作?
物联网系统包括四个组件:传感器、连接、数据处理和用户界面。
- 传感器:传感器或设备将从环境中收集数据。这可以是湿度、温度、气体传感器、GPS等。
- 连接:从传感器接收到的数据被发送到云端。为此,我们有多种方法,例如蜂窝网络、卫星、Wifi、蓝牙、低功耗广域网(LPWAN)等。
- 数据处理:一旦数据到达云端,软件就会对其进行某种处理。它可以检查气体量是否超过限制。
- 用户界面:最后,我们将通过屏幕上的按钮、文字来控制风扇,了解家中的气体值。它可以是智能手机屏幕或网站,也可以是通过短信的通知。所有这些都是用户界面。我们通过这个界面与电器进行交互。
让我们做一个简单的项目
现在,让我们开始我们的项目。我们首先应该做的是准备一些组件。
Wemos D1开发板
首先,我们需要一些东西将设备(灯、风扇等)连接到互联网,然后我们就可以通过互联网在任何地方控制它们。显然,需要一个可以连接Wifi的开发板。其中之一就是Wemos D1。这个开发板包含ESP8266模块,大约12美元。我们可以在亚马逊上这里看到它。
这个板的左侧是ESP 8266 Wifi芯片。它用于通过Wifi连接、接收和发送数据。我们使用这个芯片来访问家中的Wifi。然后,我们将通过Wifi发送控制指令来控制所有设备。请参阅以下数据表
* GND引脚,也称为LOW引脚,我们需要将设备的阴极连接到这个引脚。
* D0 - D15引脚是正极引脚,用于插入设备的阳极。例如,要控制LED,我们需要将LED的长腿插入其中一个正极。还有其他引脚你可以了解更多,但在基本的设备控制中,我们只使用这些引脚。
连线
显然,我们需要电线来连接所有设备。有三种类型的电线:公对公、母对母和公对母。你将为你的项目选择合适的电线。
面包板
面包板是一个可以方便地检查原理图以及我们的设备与Wemos D1连接的组件。我们将把LED、Wemos板和一些电线放在上面。我将为那些没有听说过面包板的人解释如何使用它。
它是一个坚硬的物体,表面有很多孔。两侧有红色和蓝色的线条,表示你应该连接阳极或阴极。但它们只是符号,实际上你根本不需要遵循它们。上面还有一些数字,5、10、15、20等。它有助于我们轻松查看每行孔的顺序。
请看下面的插图。
面包板中的孔与同一行中的其他孔连接。在插图中,同一条黄色、红色或蓝色线上的所有孔都连接在一起。它就像一根电线。你可以将电线、LED的引脚、传感器的引脚插入这些孔中。
Arduino IDE
'IDE'是集成开发环境的缩写。它是一个软件包,整合了开发人员编写和测试软件所需的基本工具。通常,它包含一个代码编辑器、一个编译器和一个调试器,开发人员通过一个图形用户界面访问它们。
我们使用Arduino IDE编写代码并将其上传到Wemos D1开发板。我们可以在这里下载它。
Blynk应用程序
它是一个用于通过MQTT协议控制智能家居的应用程序,无需额外的服务器安装。Blynk为我们正在使用的ESP 8266模块提供了SDK。我们需要做的是添加按钮来控制电器。点击这里在Android上安装它,或者点击这里在iOS上安装。假设我们正在连接一个在D0端口的设备,我们想对其进行控制,我们将在Blynk界面上执行几个简单的步骤。
如果我们有四盏灯,我们将看到这样的屏幕
制作电路
在掌握了一些关于原理图和组件的基本知识后,让我们开始收集它们,完成我们的第一个简单的物联网系统。我用4个LED来模拟家里的4个电器。但实际上,为了控制交流电器,我们还需要继电器。
将LED的阳极连接到10、15、20和25号线。LED的阳极是长引脚。然后将它们分别连接到D1到D4端口。对于阴极,我们将它们全部连接到Wemos D1上的GND。我们使用公对公电线进行这些连接。
将代码上传到Wemos D1
完成电路后,我们最后需要做的是编写一些代码并将其上传到Wemos D1。如我上面所说,硬件和互联网之间的通信可以通过MQTT协议进行。对于初学者来说,这个协议可能有点复杂,所以我们将使用另一种解决方案来解决这个问题,一个为硬件和互联网提供平台的第三方,那就是Blynk。Blynk直接为Arduino提供了SDK,因此你只需运行它,无需做任何其他事情。你可以在这里下载Blynk库。要添加库,请转到Sketch -> Include library -> Add .ZIP library,然后选择你刚刚下载的zip文件。
安装Arduino的Blynk SDK后,我们进入示例部分,如下所示
下面有一小段代码
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "YourAuthToken";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";
void setup()
{
// Debug console
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8442);
}
void loop()
{
Blynk.run();
}
接下来我们要做的就是更改一些参数
YourAuthToken
:是你注册Blynk时获得的令牌。注册成功后,Blynk会通过电子邮件发送给你。YourNetworkName
:是你家的Wifi地址。它可以是你的Wifi热点地址。YourPassword
:是你的Wifi密码。
现在,让我们通过USB端口将Wemos D1连接到电脑上,为它供电,然后享受我们的项目吧。
结论
本文旨在为初学者介绍物联网。它真的非常基础和便宜。
感谢dandy72,他提醒了我一件我应该告诉你的关于物联网系统的事情。这只是对物联网的介绍,所以如果你觉得它有趣,你应该学习更多关于物联网的特性,特别是物联网的安全性。对于一个无法限制人们访问的系统来说,这真的很危险。你可以在互联网上找到更多相关信息。比如搜索“物联网安全”这样的关键词。
我希望你能从这个开始做出更多有趣的事情。感谢你的阅读!!!