问题:我需要从一个Beaglebone通过以太网网络获取信息到另一个Beaglebone,它将根据第一个Beaglebone提供的信息启动灯光。我的背景主要是硬件,所以我不知道这是否可行。我想有一种方法可以直接向/从IP地址传输信息,但这主要是猜测 - 不知道如何做到这一点。我也无法使用Google找到关于此的任何内容。
我的任务是,有效地,按下一个房间的按钮,点亮另一个房间的LED。我可以使用的工具有两个BBB,一个本地网络,一些Arduino Unos和一些PIC。 BBB似乎最适合这份工作。以任何方式在它们之间运行直接电线是不可行的。如果有更好的方法来完成这项任务,那么我将非常感谢(可能作为评论,然后我将使用这个想法开始一个新的,合适的帖子)?
答案 0 :(得分:2)
我建议你使用Node.js和bonescript,这是专门为BBB创建的库。在我看来,这是使两个BBB通过TCP / IP相互通信的最快速,最简单的方法。默认情况下,BBB已经安装了node.js和bonescript。作为最简单的IDE,您可以使用可以在BBB上的端口3000上访问的Cloud9。
为服务器创建一个javascript文件(将接收命令并打开LED / etc),例如将其命名为“server.js”,然后使用命令“node server”从控制台运行它.js“,这是一个简单的例子:
// I am server.js var net = require('net'); var server = net.createServer(function(c) { console.log('client connected'); c.on('data',function(data) { console.log("Received data is: " + data); var reponse = "Hello form BBB Server!"; // Do something more c.write(reponse); }); c.on('end', function() { console.log('client disconnected'); }); }); server.listen(8124, function() { console.log('Server is launched.'); });
// I am client.js var net = require('net'); var server_ip = '192.168.7.2'; // here enter your BBB-server IP address var client = net.connect(8124, server_ip, function() { console.log('connected to server!'); client.write('Hello from BBB client'); }); client.on('data', function(data) { console.log(data.toString()); client.end(); }); client.on('end', function() { console.log('disconnected from server'); });
结合这些步骤,您将得到您想要的东西。