출처 : Serial Communication in Java with Raspberry Pi and RXTX
HowTo: Serial connection to Raspberry Pi (Java, RXTX, UART)
How to Use RXTX on Raspberry Pi or BeagleBone
Ryanteck Raspberry Pi Serial Debug Clip review
Raspberry Pi and the Serial Port
Raspberry Pi UART serial wont work
Using the UART
Raspberry Pi Serial Communication: What, Why, and a Touch of How
RPi Serial Connection
핀맵
적색 - 5V
백색 - TXD
녹색 - RXD
흑색 - GND
bluetooth 장착 확인
Bus 001 Device 006: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
서비스 설치
서비스 실행 확인
bluetooth is running.
-
블루투스 serial 부팅
출처 : A cheap Bluetooth serial port for your Raspberry Pi
기본적으로 라즈베리 파이는 직렬 포트로 부팅 할 때 부팅 메시지를 기록하고. 또한에 로그인 콘솔을 시작합니다.
라즈베리파이는 직렬 포트로 사용하는 기본 전송 속도는 115200 BPS 이지만 블루투스 모듈은 공장에서 9600 BPS로 되어 라즈베리파이의 전송속도를 9600 BPS로 설정해야 됩니다.
RPi의 Serial port의 기본 전송 속도 확인 (/boot/cmdline.txt, /etc/inittab)
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline rootwait
.. 생략 ...
#Spawn a getty on Raspberry Pi serial line
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
RPi의 Serial port의 기본 전송 속도 변경 (/boot/cmdline.txt)
dwc_otg.lpm_enable=0 console=ttyAMA0,9600 console=tty1 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline rootwait
Kernel Debugger Boot (커널 디버깅 할때만 하세요)
dwc_otg.lpm_enable=0 console=ttyAMA0,9600 kgdboc=ttyAMA0,9600 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
RPi의 Serial port의 기본 전송 속도 변경 (/boot/inittab)
#Spawn a getty on Raspberry Pi serial line #T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100 T0:23:respawn:/sbin/getty -L ttyAMA0 9600 vt100
BlueCove 컴파일 하기
출처 : Bluecove programming problem
BlueCove 컴파일 관련 패키지 설치
Devices:
hci0 00:1A:7D:DA:71:10
BlueZ 라이브러리 설치 - 컴파일시 필요
ant 설치
BlueCove ant 빌드
Buildfile: /home/pi/bluecove-gpl-2.1.0/build.xml
clean:
[delete] Deleting directory /home/pi/bluecove-gpl-2.1.0/target
init-native:
[mkdir] Created dir: /home/pi/bluecove-gpl-2.1.0/target/classes
[mkdir] Created dir: /home/pi/bluecove-gpl-2.1.0/target/native
[echo] java.home /usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/jre
verify-java-home:
verify-cruisecontrol:
init:
verify-bluecove-main-exists:
compile:
[echo] compiling on java 1.8.0
[javac] /home/pi/bluecove-gpl-2.1.0/build.xml:87: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 3 source files to /home/pi/bluecove-gpl-2.1.0/target/classes
[javac] warning: [options] bootstrap class path not set in conjunction with -source 1.3
[javac] warning: [options] source value 1.3 is obsolete and will be removed in a future release
[javac] warning: [options] target value 1.1 is obsolete and will be removed in a future release
[javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
[javac] 4 warnings
jni-headers:
[echo] create JNI headers using java.home /usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/jre
compile-native-lib:
[echo] compiling .c -> .o
[apply] /home/pi/bluecove-gpl-2.1.0/src/main/c/BlueCoveBlueZ_SDPServer.c: In function 쁞luecove_sdp_extract_pdu
[apply] /home/pi/bluecove-gpl-2.1.0/src/main/c/BlueCoveBlueZ_SDPServer.c:94:47: warning: assignment from incompatible pointer type [enabled by default]
[echo] linking .o -> libbluecove_arm.so
[echo] ldd libbluecove_arm.so
[exec] /usr/lib/arm-linux-gnueabihf/libcofi_rpi.so (0x76f1d000)
[exec] libbluetooth.so.3 => /usr/lib/arm-linux-gnueabihf/libbluetooth.so.3 (0x76eef000)
[exec] libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x76dbf000)
[exec] /lib/ld-linux-armhf.so.3 (0x76f40000)
[exec]
[exec] Version information:
[exec] /usr/lib/arm-linux-gnueabihf/libcofi_rpi.so:
[exec] libc.so.6 (GLIBC_2.4) => /lib/arm-linux-gnueabihf/libc.so.6
[exec] /usr/lib/arm-linux-gnueabihf/libbluetooth.so.3:
[exec] ld-linux-armhf.so.3 (GLIBC_2.4) => /lib/ld-linux-armhf.so.3
[exec] libc.so.6 (GLIBC_2.7) => /lib/arm-linux-gnueabihf/libc.so.6
[exec] libc.so.6 (GLIBC_2.4) => /lib/arm-linux-gnueabihf/libc.so.6
[exec] /lib/arm-linux-gnueabihf/libc.so.6:
[exec] ld-linux-armhf.so.3 (GLIBC_2.4) => /lib/ld-linux-armhf.so.3
[exec] ld-linux-armhf.so.3 (GLIBC_PRIVATE) => /lib/ld-linux-armhf.so.3
[copy] Copying 1 file to /home/pi/bluecove-gpl-2.1.0/src/main/resources
[copy] Copying 1 file to /home/pi/bluecove-gpl-2.1.0/target/classes
native-lib:
jar:
[jar] Building jar: /home/pi/bluecove-gpl-2.1.0/target/bluecove-gpl-2.1.0.jar
all:
BUILD SUCCESSFUL
Total time: 31 seconds
Sample 컴파일 및 실행
BlueCove version 2.1.0 on bluez
Address: 001A7DDA7110
Name: raspberrypi-0
Server Started. Waiting for clients to connect...