• ベストアンサー

シリアル通信について

脳波測定器B3 Bandというものを購入しました。 http://neuro-bridge.com/dev/b3band.html linuxにbluetoothでつなげて、測定値を表示させたいです。 /dev/rfcomm0が対応するデバイスファイルのようです。 アクセス権限を付与して cat /dev/rfcomm0 としても bash: /dev/rfcomm0: デバイスもしくはリソースがビジー状態です と表示されてしまいます。 どうしたらB3 Bandから測定値を読めるでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • 486HA
  • ベストアンサー率45% (1013/2247)
回答No.2

 B3 Bandに対応するWindows プログラムやAndroidアプリはラインセンスが伴って販売されています。 Linux 上で対応する方法についてはライセンス上から、ここらで回答できるものではありません。  こちらに問い合わせるのが先です。 sales@b-bridge.co.jp

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

現物持ってないし、LinuxでBluetooth使ったことすらありませんが……。 >bash: /dev/rfcomm0: デバイスもしくはリソースがビジー状態です >と表示されてしまいます。 >どうしたらB3 Bandから測定値を読めるでしょうか。 デバイスの規定どおりに初期化なりコマンドなり発行すればよろしいかと。 シリアルデバイス扱いなんでしょうけど、ボーレートやらの設定はされているんですか? デバイス側が57,600 Baudでも、Linux側の設定がそうなっているとは限らないかと思われますが…。 通信設定が合っていればGPSモジュールみたいに垂れ流してくれるデバイスなんでしょうか? 取得開始のコマンドを投入してその結果を返す。というデバイスならば規定されているプロトコル通りにやりとりが必要なはずですが…。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 2進数でのシリアル通信

    シリアルを用いてデータを伝送するプログラムを作りたいのですが、よく分かりません。 10進数では出来たのですが2進数に変換する際に上手く行きません。 シリアル通信のプログラムとして以下を使用しています。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <termios.h> #include <fcntl.h> #include <errno.h> #define BAUDRATE B9600 //hentyou-kaisu per second #define BSIZE 64 //byte size #define CR 0x0D // carriage return int fd; //file descriptor 0:H-nyuryoku,1:H-syuturyoku,2;error struct termios otio; int open_serial_port(char *modem_dev) //modem_dev = serial_dev { struct termios ntio; if ((fd = open(modem_dev, O_RDWR | O_NOCTTY)) < 0) { // O_RDWR=read&write O_NOCTTY= perror(modem_dev); exit (1); } tcgetattr(fd, &otio); //tanmatsu-no-now-settei-syutoku memset(&ntio, 0, sizeof(ntio)); ntio.c_cflag = BAUDRATE | CS8 | CLOCAL | CREAD; ntio.c_cc[VTIME] = 0; //burst-de-datadenso-wo-timeout-surutameno-timer ntio.c_cc[VMIN] = 1; //jyusin-moji-no-min tcflush(fd, TCIFLUSH); // not read data-wo flash tcsetattr(fd, TCSANOW, &ntio); //new-tanmatsu-settei-watasu return (0); } void close_serial_port(void) { tcsetattr(fd, TCSANOW, &otio); //motono-settei-ni-modosu close(fd); } int main(int argc, char **argv) { char *serial_dev; // char buf[BSIZE]; //data-wo-kakikomu-buffa-no-top-address char *buf = (char *)malloc(sizeof(char)*64); char msg[BSIZE]; int i,j; j=0; if (argc != 2) { fprintf(stderr, "usage : %s serial_dev\n", argv[0]); exit (1); } serial_dev = argv[1]; //device to write e.g. /dev/ttyUSB0 memset(buf, '\0', BSIZE); //m byte memory block no set \0=char-gatano-0 memset(msg, '\0', BSIZE); //syokika open_serial_port(serial_dev); i = 0; while (1) { //infinite loop sprintf(buf, "%d,", i); //printf-wo-buf-ni j = strlen(buf); write(fd, buf, j); //write to modem-device printf("%s\n", buf); sleep (2); //read(fd, msg, BSIZE); //printf("%s\n", msg); i++; if (i >= 10) i = 0; } close_serial_port(); free(buf); exit (0); } 2進数変換プログラムは、 #include <stdio.h> #include <stdlib.h> int main(void) { int i, n; int bits[1024]; int digit, amari; printf("10進数: "); scanf("%d", &digit); n=0; while(digit>=1){ amari = digit % 2; /* 配列変数に順番に代入して */ bits[n++] = amari; digit = digit / 2; } /* 逆順に表示している */ for(i=n-1; i>=0; i--){ printf("%d", bits[i]); } printf("\n"); return 0; } この両者をつなぎ合わせたいのですが、どうすればよろしいでしょうか。

  • CentOS7でRAID1の構築のエラー

    HDD追加のため、RAID1の構築をしています。 パーティションを、/dev/sdaと、/dev/sdb に作成しました。(sdcではできなかったため) RAIDの構築で、 mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2 としましたが、 mdadm cannot open /dev/sda2: device or resource busy となってしまいます。 dfで確認すると、 /dev/sda1 が/boot /dev/sdb1 が/run/media/centos/VID となっていたため、sda2、sdb2にしました。 また、 cat /proc/mdstat を確認すると、 Personalities: unused devices: <none> とでます。 ネットで調べているのですが、解決法が見つからず、対処法をご存知の方、やり方が間違っているなどありましたら教えていただけませんでしょうか。 よろしくお願いいたします。

  • Solaris8で"newfs"エラー

    Solaris8 for SUN SPARCで、外付のDISKを追加して、 "newfs /dev/rdsk/c1t0d0s0"を行うと "/dev/rdsk/c1t0d0s0: Device busy"と 表示されます。なぜファイルシステムが作成されないのでしょう? もちろんformat,スライス分割は完了しているのですが、 教えてください。

  • grubをインストールしたらOSが起動しなくなりました。

    CentOSを使っていました。 ハードディスク/dev/hdbを新たに追加し、/dev/hdbにgrubのインストールしようとしたらうまくいかなかったので以下を参考にhttp://members.jcom.home.ne.jp/xhp/grub-install.html hda1(CentOSインストールパーティション)のdevice.mapに(hd1) /dev/hdbを追加しgrub-install /dev/hdbとしたところうまくいったのですが、なぜか/dev/hda1が起動しなくなってしまいました。GRUBという文字が画面上にずっと表示されつづけます。 KNOPPIXでdevice.mapファイルをもとにもどそうとしたのですが、 rootになっても権限の問題で保存できずもとにもどせません。 何かアドバイスをいただけないでしょうか?

  • FAT32

    Vine4.1です。 /hdb1のFAT32をマウントできません。 デバイス Boot Start End Blocks Id System /dev/hdb1 1 6079 48829536 c W95 FAT32 (LBA) /dev/hdb2 * 6080 6094 120487+ 83 Linux /dev/hdb3 6095 7369 10241437+ 83 Linux /dev/hdb4 7370 24792 139950247+ 5 拡張領域 /dev/hdb5 7370 8389 8193118+ 83 Linux /dev/hdb6 8390 9026 5116671 83 Linux /dev/hdb7 9027 9281 2048256 82 Linux swap / Solaris /dev/hdb8 9282 24792 124592076 83 Linux ディスクトップのコンピューターを開くと、T と表示はされていますが、クリックしても 「ボリューム 'T' をマウントする権限がありません。」でマウントできません、簡単にマウントする方法はないでしょうか?

  • シェルスクリプトについて

    シェルスクリプト超初心者なので、どなたかにご教授をお願いできれば と思います。 行いたい処理は以下の通りです。 #fdisk -ul /dev/sda Disk /dev/sda: 42.9 GB, 42949672960 bytes 255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors Units = sectors of 1 * 512 = 512 bytes Device Boot Start End Blocks Id System /dev/sda1 * 63 208844 104391 83 Linux /dev/sda2 208845 83875364 41833260 8e Linux LVM とfdiskコマンドによって表示されたものに対して、 255 heads, 5221 cylinders, 83886080 sectors の部分を読み取り、output.txtに以下のように書き出したい。 # cat output.txt heads = "255" cylinders = "5221" sectors = "83886080" 以上ですが、どなたかサンプルコードを提供していただけないのでしょうか。 よろしくお願い致します。

  • 不明なPCIデバイス

    毎回PC起動時に不明なPCIデバイスが検出され困っています. デバイスプロパティ   ドライバ記述    PCI Device   ハードウェアID   PCI\VEN_4440&DEV_0016&SUB YS_00000004&REV_52   地域情報      PCI バス 0, デバイス 12, 機能0   PCIデバイス    PCI Device [NoDB] デバイスリソース   メモリ      00002000-00003FFF これを見た限りでは何のドライバかさっぱり解りません 最近色々と外付けの周辺機器を取り付けたので・・・ しかしどれも正常に動くので完全に消去したいのです デバイスマネージャで消去してもPC起動時に検出してしまいます 他にも似たような質問をされた方もいられるようですが いまいちよく解らなかったので質問させていただきました OS Windows XP VAIO PCV-V11B/B

  • Linux mint 音がでない

    P4M80-M4というマザーボードで組んだデスクトップに Linux mint 13 をインストールしましたが、音が出ないので苦戦しています。 https://wiki.ubuntulinux.jp/UbuntuTips/Hardware/SoundTroubleshooting を参考に情報を集めています。下記の情報から解決方法がわかる方、 お知恵をかしていただければ助かります。 1.サウンドデバイスがPCに認識されているかの確認 $ lspci | egrep -i multimedia\|audio を入力して以下の表示でした。 00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60) 2.lspci -v | less と入力し詳細表示は以下のとおりです。 00:00.2 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bri dge Flags: bus master, medium devsel, latency 0 00:00.3 Host bridge: VIA Technologies, Inc. PT890 Host Bridge Flags: bus master, medium devsel, latency 0 00:00.4 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bri dge Flags: bus master, medium devsel, latency 0 00:00.7 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge Flags: bus master, medium devsel, latency 0 00:01.0 PCI bridge: VIA Technologies, Inc. VT8237/VX700 PCI Bridge (prog-if 00 [Normal decode]) Flags: bus master, 66MHz, medium devsel, latency 0 Bus: primary=00, secondary=01, subordinate=01, sec-latency=0 Memory behind bridge: f4000000-f5ffffff Prefetchable memory behind bridge: f0000000-f3ffffff Capabilities: <access denied> Kernel modules: shpchp 00:0f.0 IDE interface: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80) (prog-if 8f [Master SecP SecO PriP PriO]) Subsystem: Biostar Microtech Int'l Corp Device 3206 Flags: bus master, medium devsel, latency 32, IRQ 20 I/O ports at b000 [size=8] I/O ports at b400 [size=4] I/O ports at b800 [size=8] I/O ports at bc00 [size=4] I/O ports at c000 [size=16] I/O ports at c400 [size=256] Capabilities: <access denied> Kernel driver in use: sata_via : 3.ALSAレベルでサウンドデバイスが認識されているかの確認 $ cat /proc/asound/cards 0 [V8237 ]: VIA8237 - VIA 8237 VIA 8237 with ALC655 at 0xdc00, irq 22 $ cat /proc/asound/card0/codec* | grep -i codec cat: /proc/asound/card0/codec97#0: Is a directory $ cat /proc/asound/card0/codec97#0/* | head -n1 0-0/0: Realtek ALC655 rev 0 宜しくおねがいします。

  • debian etchでビープ音以外が出ません。

    色々調べてみて色々やってみたのですがどうしても音が出ません。 環境はdebian etchでカーネルは2.6.18-6-686、 サウンドカードはないのでオンボードでIntel G31/ICH7を使っています。 とりあえずやったことは alsa alsa-oss alsa-source alsa-utils(とりあえずサイトで調べて出てきた物) をインストールしてalsaconfした後、alsamixer version1.013で音量をあげて wavファイルをダウンロードしてRythmboxで再生しましたが音は出ませんでした。(ちなみにalsamixerの画面でmを押しても何も変わらないので ミュートではない?) alsaconfをしたときに書き換わる/etc/modprobe.d/soundには alias snd-card-0 snd-hda-intel options snd-hda-intel index=0と書いてあり 何か加えると音がなる場合があると書いてあり調べたのですが どのように書き加えればいいかわからず、またサイトに載っているのを 書き足してみましたが結局音はでませんでした。 しかもsnd-hda-intelは特殊で音が出ない見たいなことが書いてあるところがありました。。サウンドカードを買うべきでしょうか。 それとdebianのスレッドテンプレにあるのもやりました。 echo a > /dev/dspをやってみたところデバイスもしくはリソースがビジー状態です と出ましたがalsaconfをやるとこの表示は消えました。 しかしvi dspで中身をみても何も書いてありません。 またlsof /dev/snd/*をやってみても特に何も表示されませんでしたがあいかわらず無音です。 誰か解決策がわかる方、いませんでしょうか。 よろしくお願いします。

  • VPSサーバのコマンド操作

    情けない話なのですが原因が分からず。 VPSのレンタルサーバーに接続出来なくなってしまい、 原因を調べるなり回復させたいのですが手段が分からず困っている状態です。 ・ウェブのコンソールパネルにはログインできる。 ・障害情報などは出てない。サーバは稼動の表示。 ・FTPが接続拒否、ブラウザからだと「このページは表示できません」「リモートデバイスまたはリソースが接続を受け付けません」と出る。 ・ 直前操作:RLoginから情報確認コマンドを打ったり。サーバー自体の操作は権限無しと表示されていた。 ・さくらVPSサーバ。 こんな状態ですが、何から調べれば良いのかなどアドバイスいただけませんでしょうか。持っている権限は一般権限のもののはずです。