[英]Connecting 2 Beaglebone Black Devices Over Ethernet Network
问题:我需要通过以太网从一个Beaglebone到另一个Beaglebone获取信息,这将根据第一个Beaglebone提供的信息来启动照明灯。 不过,我的背景主要是硬件方面的知识,所以我不知道这是否可行。 我想象有一种直接向IP地址发送信息或从IP地址直接发送信息的方法,但这主要是猜测-不知道如何做。 我也无法使用Google在此上找到任何东西。
我的任务是有效地按一个房间的按钮并点亮另一个房间的LED。 我可以使用的工具是两个BBB,一个本地网络,一些Arduino Unos和一些PIC。 BBB似乎最适合这份工作。 以任何方式在它们之间直接布线都是不可行的。 如果有更好的方法来执行此任务,将不胜感激(也许作为评论,然后我将使用该想法开始一个新的,适当的帖子)?
我建议您使用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'); });
结合这些步骤,您将得到想要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.