簡體   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