首先,我将简要介绍一下我们的项目......它的“语音控制的家庭自动化系统”,我们通过语音或语音命令控制家用电器。我们已经成功完成了语音识别模块。但我们的问题是通过 WiFi 实现发送器{用户发出语音命令}和接收器{家用电器存在}之间的通信,即我们有 2 个与 Arduino 接口的 ESP8266 12E模块在发射器和接收器端,这两个 WiFi 模块都需要通信(交换 Arduinos 发送的一些数据)。所以请让我们知道在发射器端 wifi 模块和接收器端 wifi 模块需要使用哪些 Arduino 代码和还关于要使用的头文件或附加软件(如果有)。
2 回答
一年前我在一个类似的系统上工作过。我正在开发一个遥控玩具。我的主要区别是我使用了没有附加 Arduino 的 ESP8266。一个 ESP 用作 WiFi 热点,另一个连接到它,通过 UDP 发送消息。
出于某种原因,我无法连接两个 ESP 模块(我认为这是我的板子有问题),但我从我的电脑发送了消息,它运行良好。我不会让你负担所有的代码,但这里是 GitHub 链接。
所要做的就是它们将在同一个 WiFi 网络上,然后您可以使用 ESP8266 WiFi 库在两者之间发送消息。就像我上面说的,我使用了 UDP,它有利于高速,没有错误检查。但也有 TCP(更高层,有错误检查代码),或者您可以使用库的服务器/客户端部分来设置完整的 Web 服务器并向其读取/写入数据。在不知道什么类型的数据的情况下,我无法评论什么是最好的方法。
至于标头,您将需要WiFi.h
,如果您使用的是 UDP,您将需要WiFiUdp.h
除了 Arduino IDE 之外,您不需要任何外部软件。我从头开始自学这个产品,使用两个主要资源:Arduino 库参考和 ESP8266 Arduino GitHub 页面上的文档
您可以通过在接入点模式下启动一个 wifi 模块来实现这一点,而另一个必须设置为站模式才能连接到第一个。如果您想添加路由器,只需将两个 ESP8266 模块都设置为站模式并将它们连接到路由器。然后通过 ESP8266 的 AT 命令传输您想要的任何数据。这是他们的参考。
https://room-15.github.io/blog/2015/03/26/esp8266-at-command-reference/
如果您是 Esp8266 和 Arduino 的新手,这将对您有所帮助。
http://www.teomaragakis.com/hardware/electronics/how-to-connect-an-esp8266-to-an-arduino-uno/
祝你好运 !