используя Java для чтения данных с последовательного порта в Tiny OS - PullRequest
0 голосов
/ 20 марта 2019

Я прохожу учебный урок 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

однако я продолжаю иметь ту же ошибку

Есть ли другой способ исправить это?

Я использую виртуальную машину с Fedora OS
Я пытаюсь запустить программу на платформе mib520 и использую радужную оболочку

моя версия Java

openjdk версия "1.8.0_31"
Среда выполнения OpenJDK (сборка 1.8.0_31-b13)
OpenJDK Server VM (сборка 25.31-b07, смешанный режим)

Спасибо за преимущество

1 Ответ

1 голос
/ 20 марта 2019

Вы, должно быть, пропустили шаг, когда вам нужно было выполнить команду make.

Перейдите в папку apps / tests / TestSerial и введите make [platform] (например, make telosb, make iris и т. Д.), Файл запуска, который будет запущен, будет файлом сборки в папке 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

Итак, make-файл компилирует TestSerial.java. После этого вы можете приступить к установке приложения и запуску приложения TestSerial.

Итак, шаг за шагом по ириске, например, вы бы

  1. Перейдите в папку apps/tests/TestSerial

  2. Подайте заявку, набрав make iris

  3. Подключите свой голос и затем наберите motelist. Эта команда выведет список всех подключенных моментов. Имя вашего помощника должно быть указано в разделе «Устройство». Обратите внимание на это для использования в следующих двух шагах.

  4. Установите приложение, набрав команду make iris install.1 bsl, [DEVICE NAME]. Это создаст и загрузит вашу программу на ваше устройство.

  5. Запустите приложение TestSerial, запустив java TestSerial -comm serial@[DEVICE NAME]:iris

Если вы используете другую платформу, такую ​​как telosb, просто замените все вхождения радужной оболочки в приведенных выше командах на telosb.

...