我正在从事类似的项目,该项目使用Internet与外部设备(移动设备)进行通信。我正在从传感器读取数据,并使用Web套接字在Web上传递它们。我正在为此项目使用Arduino Yun和Spacebrew(用于Web套接字通信)。这是非常有趣的方法,但在某些情况下是一个挑战。您可能会遇到异步/同步问题,在我的情况下,这使我不得不在处理代码触发的Yun上运行一些Python脚本。我目前在我的VPN上运行Spacebrew服务器,因此我可以连接留在家里的Yun,并从任何地方使用iphone来获取读数。
还值得一提的是,Yun附带了预安装的Temboo库,这是Web通信的理想起点。该配置非常简单快捷。您还会发现官方文档非常方便并且易于理解。这是尝试与Arduino Yun集成的类似Web的应用程序的绝佳起点。
太空酿造
滕博
Yun还内置了Temboo库,这是开始尝试的好方法,一旦您证明了这一概念,就可以开始缩小环境并在不想使用第三方软件的情况下迁移。
Node.js
您也可以在Yun本身上运行node.js,这是一篇不错的文章,其中包括一些可以安装的软件包:
什么是Arduino Yun的Bridge库?
您还询问了Bridge库。如您所知,Yun有两个处理器,一个正在运行您的处理代码,另一个在上面运行Linux(Linino)。Bridge基本上简化了它们之间的通信,因此它们可以彼此“交谈”,更多信息请参见:
http://arduino.cc/en/Reference/YunBridgeLibrary
(摘自arduino.cc文档:)
ArduinoYún板上有两个处理器。一个是像Arduino Leonardo一样的ATmega32U4。另一个是运行Linux和OpenWRT无线堆栈的Atheros 9331,它使开发板可以连接到WiFi和以太网。可以通过Arduino调用Linux系统上的程序或自定义脚本,以连接各种互联网服务。
桥接库简化了ATmega32U4与AR9331之间的通信。它继承自Stream,许多方法应该从Serial和Stream的其他派生类熟悉。
来自32U4的网桥命令由AR9331上的Python解释。它的作用是在Arduino要求时在GNU / Linux端执行程序,提供共享的存储空间,以在Arduino和Internet之间共享数据(例如传感器读数),并从Internet接收命令并将它们直接传递给Arduino。
Bridge允许双向通信,充当Linino命令行的接口。
从哪儿开始?
如果您是我,我将从Temboo开始,这是一个很好的学习过程,而且非常简单。您还将学习并了解董事会的工作方式以及如何与“外部世界”进行交流。一旦有了概念证明,就可以尝试使用不同的库并改进方法。也许以后您会发现Spacebrew更方便,甚至发现其他解决方案。