wifi如何连接树莓派控制arduino?


8

我有一个arduino uno,需要以互联网为媒介来响应iOS应用程序。我最初的计划是为arduino使用wifi屏蔽,但是由于此时我无法获得无线屏蔽,因此我想我可以使用连接到互联网的树莓派来控制arduino。我假设这可能吗?

我需要让树莓派响应Web服务器并将信号发送到arduino。这有可能吗?如果可以,有人可以给我一些建议,以进行此操作吗?

Answers:


3

我实际上正在从事类似的项目。它是一个简单的网络控制的遥控车。我和你在同一条船上,我本来想为我的arduino提供一个wifi屏蔽。但是我决定使用通过USB连接到mega 2560的树莓派。您应该考虑在arduino上运行Firmata Protcol。它带有Arduino IDE。只需在File-> Examples-> Firmata下查看,然后将StandardFirmata上传到您的面板。

我的下一步是运行带有firmata和socket.io节点软件包的node.js Web服务器。我最近开始尝试使用johnny-five node.js包。仅仅是因为Im在涉及node.js编程时有点笨拙,并且在使它仅与Firmata节点包一起使用时遇到问题。约翰尼五世(Johnny-five)似乎很有前途,我对此很幸运,但是我的代码仍在开发中。我会在我的github页面上发布一个链接,以便至少可以有一个参考(motor_test.js和motor_test.html,请记住,它仍然无法正常工作。我已经成功地控制了led,但是motor是一个如果我今天有时间,请通过node.js项目将代码发布到工作的LED控件中。

无论如何,我知道我无法为您提供完整的解决方案,但我希望这至少可以使您朝正确的方向前进。随时随时给我发送电子邮件(messyfresh@gmail.com),我想以任何方式提供更多帮助。

这里是参考。只是谷歌他们。我不能发布2个以上的链接。
在RPI(安装Node.js的http://joshondesign.com/2013/10/23/noderpi
我github上页(https://github.com/messyfresh/pi_rc
Firmata
的Node.js(我找到了最好的版本与socket.io和firmata一起使用的是0.8.2x)
Socket.io
Node.js Firmata
Johnny-Five Node.js


3

我最近通过node-serialport完成了这一工作

以下链接说明了完全控制Arduino的良好策略。

编辑:有人编辑并为我添加了一个链接:)

我的解决方案

查看arduino / serial.ino,pi / server.js和pi / views / profile.ejs。Server.js打开serialPort和带有profile.ejs的套接字。当profile.ejs发生问题时,它将触发server.js中的serialPort.write(buffer,encoding);

默认情况下,仅FYI,当打开串行连接时,Arduino Uno会重置。如果您在串行连接打开后不等待一两秒钟就尝试发送数据,它将失败。当我需要人机交互来触发serialport.write()时,我发现此问题已解决。可以通过搜索DisablingAutoResetOnSerialConnection找到另一种解决方案。

希望这可以帮助!

@ bobbyg603


您应该在您的注释中添加您所引用的github项目,然后OP可以看看
kolin 2014年

3

最简单的方法是在两个设备上都使用硬件UART(首先在Pi禁用控制台)。在115kilobaud配置时,您可以传输文本数据(例如JSON),甚至可以处理二进制数据(例如zip,jpg)。建议先从较低的速率开始,因为某些库的波特率较高。

然后,您可以用任何喜欢的方式在Pi上编写包装器:C,PHP,Java,.NET MONO,Perl或Python。

这是轻量级库的一个选项,您可以自行构建,并且有大量文章介绍了如何在Arduino和Raspberry Pi上执行此操作。


1

我们开发了一个小型php守护程序,该守护程序连接并包装了remserial守护程序(Uart-to-TCP-Socket)。它可以轻松扩展以执行其他任务,例如连接到Web服务器并发送一些数据。

该守护程序与一个完整的WEB UI一起包装在一个程序包中,以控制Arduino之类的名为CoPiino的板。

让我知道您是否需要提取守护程序的支持。

一些项目信息可以在这里找到 http://www.copiino.cc

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.