[英]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
我嘗試了幾種方法來解決此問題,但沒有任何幫助。
我嘗試過的解決方案:
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 應用程序。
因此,例如,在虹膜微粒上一步一步地進行
導航到apps/tests/TestSerial
文件夾
通過鍵入make iris
來make iris
應用程序
連接您的motelist
,然后輸入motelist
。 此命令將列出所有連接的節點。 您的節點名稱應列在“設備”部分下。 請注意這一點,以便在接下來的兩個步驟中使用。
通過鍵入命令make iris install.1 bsl, [DEVICE NAME]
來安裝您的應用程序。 這將制作您的程序並將其上傳到您的設備。
通過運行java TestSerial -comm serial@[DEVICE NAME]:iris
來運行 TestSerial 應用程序
如果您使用其他平台,例如 telosb,則只需將上述命令中出現的所有 iris 替換為 telosb。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.