使用 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
我尝试了几种方法来解决此问题,但 none 有所帮助。
我尝试过的解决方案:
- 将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
但是我一直有同样的错误
有没有其他更好的办法解决?
我正在使用带有 Fedora 的虚拟机 OS
我正在尝试 运行 mib520 平台上的程序,我使用 iris motes
我的java版本
openjdk 版本“1.8.0_31”
OpenJDK 运行时环境(build 1.8.0_31-b13)
OpenJDK 服务器 VM(内部版本 25.31-b07,混合模式)
您一定是在必须运行 make 命令时跳过了这一步。
导航到apps/tests/TestSerial文件夹并键入make [platform]
(例如make telosb,make iris e.t.c),运行的makefile就是makefile在定义如下的TestSerial文件夹中:
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 应用程序。
所以在虹膜微尘上一步一步,例如你会
导航到 apps/tests/TestSerial
文件夹
输入make iris
进行申请
连接您的 mote,然后输入 motelist
。此命令将列出所有连接的微尘。您的 mote 名称应列在 "Device" 部分下。请注意这一点,以便在接下来的两个步骤中使用。
通过键入命令 make iris install.1 bsl, [DEVICE NAME]
安装您的应用程序。这将制作您的程序并将其上传到您的设备。
运行 运行ning java TestSerial -comm serial@[DEVICE NAME]:iris
的 TestSerial 应用程序
如果您使用其他平台,例如 telosb,则只需将上述命令中出现的所有 iris 替换为 telosb。
我正在学习 Tiny OS 教程第 4 课“Mote-PC 串行通信和 SerialForwarder”,我卡在上面的那一行 “安装 TestSerial 后,您需要 运行 相应的 Java 应用程序通过串行端口与其通信。这是在构建 TinyOS 应用程序时构建的。从中应用程序目录,类型
$ java TestSerial
然而,当我输入这个时,我遇到了以下错误
Error: Could not find or load main class TestSerial
我尝试了几种方法来解决此问题,但 none 有所帮助。
我尝试过的解决方案:
- 将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
但是我一直有同样的错误
有没有其他更好的办法解决?
我正在使用带有 Fedora 的虚拟机 OS
我正在尝试 运行 mib520 平台上的程序,我使用 iris motes
我的java版本
openjdk 版本“1.8.0_31”
OpenJDK 运行时环境(build 1.8.0_31-b13)
OpenJDK 服务器 VM(内部版本 25.31-b07,混合模式)
您一定是在必须运行 make 命令时跳过了这一步。
导航到apps/tests/TestSerial文件夹并键入make [platform]
(例如make telosb,make iris e.t.c),运行的makefile就是makefile在定义如下的TestSerial文件夹中:
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 应用程序。
所以在虹膜微尘上一步一步,例如你会
导航到
apps/tests/TestSerial
文件夹输入
make iris
进行申请
连接您的 mote,然后输入
motelist
。此命令将列出所有连接的微尘。您的 mote 名称应列在 "Device" 部分下。请注意这一点,以便在接下来的两个步骤中使用。通过键入命令
make iris install.1 bsl, [DEVICE NAME]
安装您的应用程序。这将制作您的程序并将其上传到您的设备。运行 运行ning
java TestSerial -comm serial@[DEVICE NAME]:iris
的 TestSerial 应用程序
如果您使用其他平台,例如 telosb,则只需将上述命令中出现的所有 iris 替换为 telosb。