繁体   English   中英

通过以太网连接2个Beaglebone Black设备

[英]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。

  1. 为您的BBB设置静态IP地址。 为此,请按照Derek Molloy的说明进行操作
  2. 看一下如何使用骨骼脚本管理按钮LED

  3. 为服务器创建一个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.'); }); 
  1. 为客户端创建一个javascript文件(当按下按钮时将发送命令),例如“ client.js”,并使用命令“ node client.js”从控制台运行它,这是一个简单的客户端例
 // 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM