2016年4月 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

2016年4月15日

散髪

今回も「ザ・理髪」。
1ヶ月以上ほったらかしだったので、すっきりさっぱりしていただいた。

髪の毛はすっきりしたのだが、ずっとニュースで流れている地震の情報を見るとなかなかすっきりできない。
早く沈静化して欲しいところ。

Posted by his at 18:22 | | コメント (0) | トラックバック (0)| 日々のメモ

2016年4月14日

地震

熊本で地震。福岡でもかなり揺れた。

マグニチュードは6.5と大きくなさそうに見えるが、震度は7を記録したとのこと。
福岡でも感じる余震が頻発しており、ゆっくりできない。

活断層があそこにもあり、中央構造線とつながっているらしいことは初めて知った。

Posted by his at 19:15 | | コメント (0) | トラックバック (0)| 自分への戒めメモ

2016年3月17日

万歩計 電池切れ

前回電池切れから約10ヶ月。
やはり正常な電池は10ヶ月ぐらいで切れるようだ。

仕事帰りに電池を買って、交換完了。

次は来年の年明けぐらいか。

Posted by his at 19:19 | | コメント (0) | トラックバック (0)| 日々のメモ

2016年3月10日

散髪

1ヶ月以上ぶりに、「ザ・理髪」へ。
伸び放題で見苦しかったが、さっぱり刈り上げていただいた。

丁寧にやってもらうので、はやりここにこれるときはここ。

「いつまでやれるかねぇ」ということをおっしゃっていましたが、
少なくともあと10年ぐらいはやっていただきたいところ。

通勤が大変だとのことだが、なんとか頑張っていただきたい。

またお願いしよう。

Posted by his at 20:19 | | コメント (0) | トラックバック (0)| 日々のメモ

2016年2月 2日

散髪

久々に「ザ・理髪」に行くことができた(^^)。

よもやま話をしながら、手際良くやっていただいた。
仕上がりは久々でもすっきりさっぱり(^^)。

やっぱり、来れるときはここがいいなぁ。

Posted by his at 20:23 | | コメント (0) | トラックバック (0)| 日々のメモ

2016年1月11日

散髪

「ザ・理髪」に行く時間が取れず、仕方なく(?)近所のチェーン店の床屋さんへ。
久々に行ったが、結構混んでいた。


髭も剃ってもらい、まずまずさっぱり。
頭は5mmのバリカンで刈り上げてもらったが、風邪気味だったのでちょっと寒いかなぁ。

Posted by his at 16:42 | | コメント (0) | トラックバック (0)| 日々のメモ

2015年12月15日

散髪

なんと「ザ・理髪」が年末休暇に入っており、例のチェーン店で散髪。
ただし、自宅近くのお店ではなく、会社最寄りの駅側にあるお店に行ってみた。

平日の夕方だったせいか、お客はいない。
まぁ、すぐにやってもらえるから良いか。

横と後ろは8mmのバリカンで刈り上げ。
上の方は、申し訳程度にハサミで切ってもらった(^^;

短時間でぱぱっとやってもらえるのはありがたい。
また、自宅近くのチェーン店は分業化が進みすぎて慌ただしいが、
こちらはそれほどの慌ただしさは感じなかった。

#3人しか店員さんがいなくて、静かだったからかな。

Posted by his at 17:33 | | コメント (0) | トラックバック (0)| 日々のメモ

2015年11月22日

Raspberry Pi 2 で RadioShark2(その2)

Raspberry Pi 2 で RadioShark2(その1)からの続き。

libhidapiに関して検索すると、HID API for Linux, Mac OS X, and Windowsを発見した。
 #というか、日本語で書かれたページが出てこない(^^;
上記ページと、hidapi APIを見ながら、しばし後悔(^^;

サンプルプログラムも付いているのでなんとかなるだろうと、久々にviでCのソースをいじる。
 #これまた、5年以上振りだと思う(^o^;

悪戦苦闘すること数時間。
なんとかコンパイルエラーがなくなるところまできたが、linkするファイルがわからない。
以前のバージョンのshark2.c

gcc -g -o shark2 -lhid shark2.c
でコンパイルできたが、
今回は-lhidapiではダメだった。

インストールされたパッケージ名をもう一度よく見て、-lhidapi-libusbにしたところ、
なんとかコンパイルが通った(^^;;

その後、ちょこちょこ実行時エラーを修正し、なんとかLEDの制御が出来るレベルまできたのが下記。

/* This souce code written my Michael Rolig (email: michael_rolig@alumni.macalester.edu)
* This can be considered to be in the public domain
*/

/* Modified for Radio Shark2 2007-05-11
* This source code is written by Hisaaki Shibata (email: shibata@luky.org)
* Original Shark2 controll code in Delphi is written by
* Kawabe (email: mail.kwb@gmail.com)
* This can be considered to be in the public domain.
*/

/* Modified for Radio Shark2 on Raspberry Pi 2 with hidapi.h 2015-11-22
* This source code is written by Hisaaki Shibata (email: shibata@luky.org)
* This can be considered to be in the public domain.
*/

#define DEBUG false /* Set true for copious debugging output */
#define SHARK_VENDID 0x077d /* Griffin's Vendor ID */
#define SHARK_DEVID 0x627a /* The radioSHARK2's Device ID */

#define READ_EP 0x5 /* libhidapi read command? */
#define WRITE_EP 0x5 /* libhidapi write command? */
#define SEND_PACKET_LENGTH 7 /* size of an instruction packet: shark2=7 */

#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "hidapi/hidapi.h"

void usage(int argc, const char** argv) {
printf("%s <command> <arg>\n\tchange state of radioSHARK2\n\n", argv[0]);
printf("commands:\n"
" -fm <freqeuncy> : set FM frequency, e.g. '-fm 80.7'\n"
" -am <frequency> : set AM frequency, e.g. '-am 730'\n"
" -blue <intensity> : turn on blue LED (0-127) '-blue 127'\n"
" -red <0/1> : turn on/off red LED '-red 1'\n");

/* Declare variables used later */
hid_device *handle;
struct hid_device_info *devs, *cur_dev;

devs = hid_enumerate(0x0, 0x0);
cur_dev = devs;
while (cur_dev) {
printf("Device Found\n type: %04hx %04hx\n path: %s\n serial_number: %ls",
cur_dev->vendor_id, cur_dev->product_id, cur_dev->path, cur_dev->serial_number);
printf("\n");
printf(" Manufacturer: %ls\n", cur_dev->manufacturer_string);
printf(" Product: %ls\n", cur_dev->product_string);
printf("\n");
cur_dev = cur_dev->next;
}
hid_free_enumeration(devs);

}

int main(int argc, const char** argv) {

/* Declare variables used later */
int ret;
hid_device *handle;
struct hid_device_info *dev;

/* Build the instruction packet to send to the shark */
unsigned char PACKET[SEND_PACKET_LENGTH] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
unsigned short encodedFreq;
float freq;
unsigned int intensity;

if (argc == 3) {
if (strcmp(argv[1], "-fm") == 0) {
/* Tune to an FM frequency */
PACKET[0] = 0x81;
encodedFreq = 0;
freq = atof(argv[2]);
encodedFreq = ((freq * 10 * 2) - 3 );
PACKET[1] = (encodedFreq >> 8) & 0xFF;
PACKET[2] = encodedFreq & 0xFF;
PACKET[3] = 0x33;
PACKET[4] = 0x04;
PACKET[5] = 0x00;
PACKET[6] = 0x28;
if (DEBUG) {
printf("band = fm\n");
printf("freq = %.1f\n", freq);
printf("encoded freq = 0x%x\n", (unsigned int)encodedFreq);
}
} else if (strcmp(argv[1], "-am") == 0) {
/* Tune to an AM frequency */
PACKET[0] = 0x81;
encodedFreq = 0;
freq = (float)atoi(argv[2]);
encodedFreq = ((unsigned short)freq * 4 ) + 16300;
PACKET[1] = (encodedFreq >> 8) & 0xFF;
PACKET[2] = encodedFreq & 0xFF;
PACKET[3] = 0xF3;
PACKET[4] = 0x36;
PACKET[5] = 0x00;
PACKET[6] = 0x24;
if (DEBUG) {
printf("band = am\n");
printf("freq = %d\n", (unsigned int)freq);
printf("encoded freq = 0x%x\n", (unsigned int)encodedFreq);
}
} else if (strcmp(argv[1], "-blue") == 0) {
/* Adjust the blue LED */
intensity = atoi(argv[2]);
PACKET[0] = 0x83;
PACKET[1] = (char)intensity;
} else if (strcmp(argv[1], "-bblue") == 0) {
/* Adjust the blue LED's pulsing rate */
intensity = atoi(argv[2]);
PACKET[0] = 0xA1;
PACKET[1] = (char)intensity;
} else if (strcmp(argv[1], "-red") == 0) {
/* Toggle the red LED */
intensity = atoi(argv[2]);
if (intensity) PACKET[0] = 0x84;
else PACKET[0] = 0x84;
PACKET[1] = (char)intensity;
} else {
/* Bad command - display the program's usage instructions */
usage(argc, argv);
exit(1);
}
} else {
usage(argc, argv);
exit(1);
}

/* Initialize the hid library */
ret = hid_init();
if (ret != 0) {
fprintf(stderr, "hid_init failed with return code %d\n", ret);
return 1;
}

/* Open the shark */
dev = hid_enumerate(SHARK_VENDID, SHARK_DEVID);
handle = hid_open(SHARK_VENDID, SHARK_DEVID, 0);
if (handle == NULL) {
fprintf(stderr, "hid_open failed with return code %d\n", handle);
return 1;
}

/* Send the instruction packet constructed above to the Shark */
ret = hid_write(handle, (char*)PACKET, SEND_PACKET_LENGTH);
if (ret == -1) fprintf(stderr, "hid_write failed with return code %d\n", ret);

/* Close the shark */
hid_close(handle);

/* Close the hid object */
hid_free_enumeration(dev);

return 0;
}


上記をshark2-hidapi.cに置いている。
 #サンプルコードからまるっともらってきたりしてゴミが残っていたり、
 #見直しも何もできていないけど(^^;

これを

gcc -g -o shark2-hidapi -lhidapi-libusb shark2-hidapi.c

でコンパイルし、
shark2-hidapi -red 1

とやると、赤いLEDが点灯した(^O^)

サウンド出力はまだ確認していないけど、、LEDが制御できたのなら、チューナーも動いているはず。

もう今日は寝る!

続く。

Raspberry Pi 2 で RadioShark2(その1)

こっそり(?)、ヤフオクでRadioShark2をもう1台手に入れた。

 #現在、El CapitanでRadioShark2が動かない(対策その1)に書いているように
 #Mac miniにRadioShark2をつないで、FM福岡を録音しているが、
 #どうせならRaspBerry Pi 2で録音できるようにしたいと考え、
 #入手したものだ。
 #今やっている録音は中断できないので、もう1台ということで(^^;;;

LinuxでRadio Shark2 (その3:一応出来た編)に書いているように、
LinuxでのRadioShark2のコントロールは、もう8年ほど前になんとかできているので、
これを使えば一発だろうと考えた(^^)。

Raspberry Pi 2の4つもあるUSB端子に入手した2台目(二代目?)RadioShark2を接続してみた。

/var/log/syslogを見ると、
 #syslogなんて、何年振りに見るだろう(^^;;;;;

Nov 23 00:40:30 hispi kernel: [53265.439196] usb 1-1.2: new full-speed USB device number 7 using dwc_otg
Nov 23 00:40:30 hispi kernel: [53265.547632] usb 1-1.2: New USB device found, idVendor=077d, idProduct=627a
Nov 23 00:40:30 hispi kernel: [53265.547650] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Nov 23 00:40:30 hispi kernel: [53265.547660] usb 1-1.2: Product: radioSHARK
Nov 23 00:40:30 hispi kernel: [53265.547671] usb 1-1.2: Manufacturer: Griffin Technology, Inc.

てな感じに、きちんと認識されている。

さすが、Linux(^^)

これは思った通り楽勝だと思い、shark2.cをコンパイルしてみようとしたが、
そもそもlibhid.hのインクルードすらできない(@_@;;

うーん、と悩んでapt-cache search libhidでそれらしいパッケージを探してみた。

root@hispi:/home/pi# apt-cache search libhid
libhidapi-dev - Multi-Platform library for communication with HID devices (development files)
libhidapi-hidraw0 - Multi-Platform library for communication with HID devices (hidraw backend)
libhidapi-hidraw0-dbg - Debugging symbols for libhidapi-hidraw0
libhidapi-libusb0 - Multi-Platform library for communication with HID devices (libusb backend)
libhidapi-libusb0-dbg - Debugging symbols for libhidapi-libusb0
libhidrd0 - runtime library for parsing and generating USB HID reports
libhidrd0-dbg - detached debugging symbols for libhidrd0
libhidrd0-dev - development files for parsing and generating USB HID reports

「これだな」ということで、apt-get install libhidapi-devを実行すると、他にもあれこれインストールされた。
関係しそうなのは下記。

root@hispi:/home/pi# apt-show-versions |grep libhid
libhidapi-dev:armhf/jessie 0.8.0~rc1+git20140201.3a66d4e+dfsg-3 uptodate
libhidapi-hidraw0:armhf/jessie 0.8.0~rc1+git20140201.3a66d4e+dfsg-3 uptodate
libhidapi-libusb0:armhf/jessie 0.8.0~rc1+git20140201.3a66d4e+dfsg-3 uptodate

さて、これでコンパイル...とやってみたが、エラーだらけ(^^;;;
これも予想していたので、/usr/include/hidapi/hidapi.hを見てみたら、
なんとがっさりhid.hと中身が変わっていた(@o@;;

うーん、続く

2015年11月16日

散髪

今日も「ザ・理髪」にて。

疲れていたこともあり、途中でウトウトしてしまった。
仕上がりはいつものようにすっきりさっぱり(^^)。

年内にもう一度お願いすることになりそう。

Posted by his at 20:38 | | コメント (0) | トラックバック (0)| 日々のメモ

2015年11月 1日

El CapitanでRadioShark2が動かない(対策その2)

しかし、Audacityでは指定日時の1回分の予約は出来るものの、
RadioShark2付属ソフトのような
「毎週日曜日の14時から55分間、山下達郎のSunday Song Bookを録音」
というような設定はできないようだった。

また、Audacityは機能がいっぱいありすぎて、
「バッチファイル的に、一定時間録音して、音声ファイルを出力しておしまい」
というシンプルな用途には向いていない感じだった。

「うーん、Mac OS Xでcrontabって使えるのか?」とか、
「Audacityをコマンドラインで起動して、予約録音のパラメータを引数にできるのか?」、
「いやいや録音だけなのだから、もっとシンプルなソフトはないのか?」など
あれこれ調べていると、用途にドンピシャなナイスな(^^;ソフトを発見した。

MacFeeling Software
マックな感じのソフト達

QTAir(キューティーエアー)
というもの。

録音設定で音源も設定できるので、RadioShark2を入力源にすると、それだけで外部に音声が流れてきた。
 #「プレビュー音を出さない」をチェックすると、聞こえなくも出来る。
 #ちなみに、QTAirインストール直後の初期設定では「プレビュー音」がありだったので、
 #すでに登録していたSondFlower+LadioCastの音声出力とmixされて、しかも微妙に時間にディレイがあり
 #エコーがかかったような音声で聞こえた(^^;
さらに、出力ファイル形式の指定もできて、至れり尽くせり。

試しにリアルタイムで録音してみたけど、タイムスタンプ付きのファイル名が出力され
いい感じです。

予約設定は「繰り返し」に曜日指定が出来るので、まさにドンピシャ!です。
テストで5分ほど予約録音してみましたが、裏でiTunesで音楽を聴きながらでも
全く問題なく録音できていました。

せっかくFMアンテナを立てたので、RadioShark2も、もう少し使っていけそうだ。

El CapitanでRadioShark2が動かない(対策その1)

Radio Shark2を接続してFM福岡録音専用機(ちょっと嘘)としているMac Miniを
よせばいいのに下調べもせずにEl Capitanにupgradeしました。

 #これがまた、普段と同じくディスプレイを接続しないまま
 #VNC経由でupgradeして、
 #途中でどうにもならんかったりした(^^;のですが、
 #upgradeそのものは無事完了

動作確認したところ、Radio Shark2のアプリそのものは動いていて、
選局などは動くのですが、どうにも音が出ません。

 #「システム環境設定」でも「Radio Shark2」は見えていて、
 #しかもレベルメータが動いているので、音声が出ていることまで
 #Mac OS Xからも認識している感じなのですが...。

あれこれ調べると、
OS X El Capitan: Working & Not Working Apps
の"Not Working"の欄にRadio Sharkの名前が...。
しかし

RadioSHARK (app works but gets no sound from device).
Workaround: Use Audio Hijack 3.1.1 to round sound from RadioSHARK input to Line Out

という、気になる記述があった。
なんとかなるのか!?...と思いAudio Hijackというものをダウンロードして
あれこれ操作すると確かに音声が流れてきた(^^)。

しかし、Audio Hijackは有償ソフトであり、フリーのまま使うと
10分ほどでホワイトノイズがミックスされた音声出力となった。

「現在の音声が聞こえないのはEl Capitanのバグであり、そのうち直る(^^;」と考え、
購入せず(^^;にできる方法はないかとあれこれ調べてみた。

Audio Hijackと同じように、AudioFlowerというものがMac OS X上の仮想オーディオデバイスとなり、
同じようなことができそうな気配であった。

これまたAudioFlowerもEl Capitanではすんなり動かないことがNet上で報告されていたが、
SoundFlower-2.0b2.dmgというものを探し出し、Audacityでのタイマー録音も出来たし、
LadioCastというmixerソフトをつかって、ライブでのラジオ聴取も出来るようになりました\(^^)/。
 #Net上にAudioFlower Audacityで検索すると、いっぱい出てきます。

その2に続く

2015年10月26日

El Capitanでtrimforce

El Capitanにした後に、ふとシステムレポートを見るとtrimが無効になっていた(^^;
お世話になったChameleon SSD Optimizerでtrimをenableにしようとしたが、どうもうまくいかない。

あれこれ調べると、Appleがtrim Enablerを提供しているとのこと。

【Tips】「OS X El Capitan」のサードパーティ製SSDのTrim有効化は「trimforce」が簡単
これであっさりtrimが有効になりました。

El Capitan trimforce.png

Posted by his at 19:22 | | コメント (0) | トラックバック (0)| システム管理関連の覚え書き

2015年10月20日

MT-6.2

MTOS-5.2.xのサポートが2015/9/30で終わっていた(^^;
個人利用ライセンスでMT-6.2にしてみた。

テストを兼ねた投稿です。

Posted by his at 20:38 | | コメント (1) | トラックバック (0)| システム管理関連の覚え書き

2015年10月16日

散髪

今回も「ザ・理髪」にて。
ボサボサになっていたけど、刈り上げてもらいスッキリした。

肘が痛いというと、腕のマッサージまでしてもらえた(^^;
頭も肘もスッキリ。ありがとうございました。

Posted by his at 13:06 | | コメント (0) | トラックバック (0)| 日々のメモ



?????????

??????????????????????????Ρ????(??)???????????????????????????
???????????????Ĵ?????????ǵ?????ä??????????????????????????????????????Τ????????Τ????????????????m(_|_)m??
????(??)?????????????α???Ļ? ??襤?????å???IJ????????κ?????????Ķ??????????????? ?????????Ź?Τ???ä???????? [?????]