繁体   English   中英

使用java从Tiny OS中的串口读取数据

[英]using java to read data from serial port in Tiny OS

我正在学习 Tiny OS 教程第 4 课“Mote-PC 串行通信和 SerialForwarder”,我被困在它说“一旦你安装了 TestSerial,你需要运行相应的 Java 应用程序,通过串行端口。这是在构建 TinyOS 应用程序时构建的。在应用程序目录中,键入

$ java TestSerial

但是当我输入这个时,我面临以下错误

Error: Could not find or load main class TestSerial

我尝试了几种方法来解决此问题,但没有任何帮助。

我尝试过的解决方案:

  1. 将 CLASSPATH 设置为我当前所在的目录,即

export CLASSPATH=.:/home/wsn/tinyos-main/apps/tests/TestSerial

2)将CLASSPATH设置为tinyos.jar所在的目录

export CLASSPATH=.:/home/wsn/tinyos-main/support/sdk/java/tinyos.jar

3)使用java -cp . TestSerial运行命令java -cp . TestSerial java -cp . TestSerial

但是我一直有同样的错误

有没有其他更好的方法来修复它?

我在 Fedora OS 中使用虚拟机
我正在尝试在 mib520 平台上运行该程序,并且我使用的是 iris motes

我的java版本

openjdk 版本“1.8.0_31”
OpenJDK 运行时环境(构建 1.8.0_31-b13)
OpenJDK Server VM(构建 25.31-b07,混合模式)

当您必须运行 make 命令时,您一定跳过了该步骤。

导航到 apps/tests/TestSerial 文件夹并键入make [platform] (例如 make telosb、make iris 等),将运行的 makefile 将是 TestSerial 文件夹中的 makefile,其定义如下:

COMPONENT=TestSerialAppC
TOSMAKE_PRE_EXE_DEPS += TestSerial.class
TOSMAKE_CLEAN_EXTRA = *.class TestSerialMsg.java

TestSerial.class: $(wildcard *.java) TestSerialMsg.java
    javac -target 1.4 -source 1.4 *.java

TestSerialMsg.java:
    nescc-mig java $(CFLAGS) -java-classname=TestSerialMsg TestSerial.h test_serial_msg -o $@


TINYOS_ROOT_DIR?=../../..
include $(TINYOS_ROOT_DIR)/Makefile.include

所以makefile 编译TestSerial.java。 在此之后,您可以继续安装应用程序,然后运行 ​​TestSerial 应用程序。

因此,例如,在虹膜微粒上一步一步地进行

  1. 导航到apps/tests/TestSerial文件夹

  2. 通过键入make irismake iris应用程序

  3. 连接您的motelist ,然后输入motelist 此命令将列出所有连接的节点。 您的节点名称应列在“设备”部分下。 请注意这一点,以便在接下来的两个步骤中使用。

  4. 通过键入命令make iris install.1 bsl, [DEVICE NAME]来安装您的应用程序。 这将制作您的程序并将其上传到您的设备。

  5. 通过运行java TestSerial -comm serial@[DEVICE NAME]:iris来运行 TestSerial 应用程序

如果您使用其他平台,例如 telosb,则只需将上述命令中出现的所有 iris 替换为 telosb。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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