电子说
步骤1:Arduino控制器
要将nunchuk粘贴到Wifi,我们使用了Arduino。该代码是针对Arduino Mega的,因此我们可以有两个串行端口(Rx和Tx引脚),一个用于对Arduino编程,而另一个用于Wifi(ESP8266)。这是一种非常简单的方法。
在最终产品中,您可以将ESP8266分别连接到任何Arduino上的Tx和Rx,例如UNO或低成本的Pro Mini(请确保正确地插入新产品中的针脚)码)。但是,这样做有点吓人,因为您可能会使Arduino无法从USB端口访问以进行重新编程,因为程序在运行时将接管编程端口。有一些软件串行库会使用其他数字引脚作为Tx和Rx,但它们可能无法以ESP8266的速度运行。有些人对ESP8266进行了重新编程,使其以较低的速度运行,但这对初学者来说是一个挑战。使用MEGA或具有多个Hardware Tx Rx端口的任何Arduino都可以轻松做到这一点。
这种更复杂方法的一个很好的例子是:
https://www。 Instructionsables.com/id/ESP8266-Wifi-Temperature-Logger/
步骤2:连接ESP8266 Wifi模块
有有很多网站向您展示如何连接ESP8266。我们选择如下图所示进行连接。颜色代码如下:
红色=电源3.3 V
黑色= GND 0V
棕色= 3.3V(启用芯片)
白色=转到MEGA上的RX1(是ESP8266 TX)
灰色=指向MEGA上的TX1(是ESP8266 RX)
Step 3:连接双节棍
您可以购买可以在面包板上访问双节棍销的插头,但是如果您手边没有这些插头,您可以通过将跨接线插入主插头孔旁每个插针的插槽中,轻松地进行连接。双节棍使用i2c通信,并且大多数Arduino都内置有i2c总线。只需按图所示连接电源即可。双节棍可以在3.3v或5v电压下工作,因此无论您使用哪个电压都无关紧要。将SDA连接到模拟引脚4,将SCK连接到模拟引脚5,或者,如果您使用的是Arduino Mega,请将SDA和SCK连接到Mega的相应端口。
请注意,只有Nintendo品牌双节棍才有效。不要购买非品牌的双节棍!
步骤4:设置服务器
我们在达勒姆(Durham)的朋友Shaw Terwilliger Splatspace Maker Space编写了一个非常不错的Python程序,该程序将PC变成ESP8266s或任何互联网设备的中继,可以相当安全地相互通信。该程序的作用是让两个或多个ascii串行通信设备登录到运行该代码的PC。如果他们使用相同的端口,即192.168.1.132:54321,并从发送相同的字符串“例如,任何ascii字符串”开始。之后,任何发送到PC的内容都将转发给其他人。
Shaw已将代码放置在Github网站上,并从此处的版本开始对其进行了更新。此指令中发布的代码是我们使用的版本。您必须在计算机上安装Python 2.7才能运行该程序。它在终端窗口中运行,并在建立和删除链接时报告所有活动。
我们使用Windows上的Putty之类的telnet程序对其进行了测试。该程序允许两个telnet会话相互通信,就像ESP8266一样。
https://github.com/splatspace/esprelay/
步骤5 :设置接收ESP8266
此处的图和照片显示了我们如何连接接收ESP8266。此设置用于诊断ESP是否正确接收。我们使用FTD芯片模块将串行数据连接到USB端口,以便可以使用计算机上的终端程序对其进行检查。
由于我们的FTDI模块没有非常强大的电源,因此无法始终运行ESP8266。由于ESP8266似乎可以正常工作,但仍会造成一些混乱,因此会不断重置。添加电源,如图所示的LiPo升压电路,可以解决此问题并使接收器电池工作!
如果您希望使用控制器来控制某些东西,则可以用诸如Arduino,并解释nunchuk数据以控制任何东西。如果您非常精明,可以对ESP8266重新编程以执行所需的任务。它具有GPIO端口,可以通过Arduino IDE进行编程。
步骤6:在Windows上通过终端接收数据
在PC上,我们使用YAT终端程序查看了双节棍的串行字符串已到达。
要设置ESP8266,请输入以下命令:
AT + RST
AT + CWJAP =“您的Wifi的SSID”,“您的Wifi密码”
AT + CIPCLOSE
要开始与nunchuk发送器通信,类型:
AT + CIPSTART =“ TCP”,“ esprelay服务器的IP地址,例如192.168.1.132” ,54321
AT + CIPSEND = n
无引号的ascii字符串 r n
AT + CIPCLOSE
如果需要帮助,ESP8266的AT命令的在线资源数量。引号“是必需的。AT + CIPSEND = n告诉ESP接下来是n个ascii字符。例如,如果您使用“ hi”,则n = 2,如果您使用“ hi there”,则n =8。
在显示YAT屏幕的图中,我们为每条串行线添加了时间戳,您可以看到我们大约每100毫秒或大约每秒10条获得一个串行字符串,这是通过我们的家用路由器进行的,因此由于距离非常低。
第7步:控制事物
这足够快,可以用于飞机无线电控制,但仅50毫秒就可以了最好是10毫秒(典型值),也许有人可以改善我们的结果!
全部0条评论
快来发表一下你的评论吧 !