2018/11/17

レビュー:FM/MW/SW/LW/PLL 短波ラジオ TECSUN PL-880


1.購入


 日本の通販サイトでは 27,000円前後でした。(2018/9月ごろ)
 もう少し安いところがないか探した所、米国Amazonで$159.98だったので購入。
 (中国の通販サイトで買えばもっと安いのかもと考えたのですが、中国のサイトでの購入経験がなかったので今回はパスしました)

PL880               $159.98
Shipping & Handling  $13.67
Tax                   $0.00
Inport Fees Deposit  $13.89
===========================
Total               $187.54 → \21,460 (※)
※クレジット会社からの請求金額

 その後、米国Amazonからメールがあり、「関税の実費を差し引いた$7.55を返金する」とのこと。クレジットカード経由で返金されるそうです。返金分$7.55を考慮すると21,000円弱で購入できたことになります。

2.輸送


 2016/9/16に発注し、2018/9/24に到着。8日間で到着です。日本側の配送はクロネコヤマトさんでした。

3.レビュー


周波数範囲
・AM/FMは問題なし。FMはワイドFM対応。
・短波も上限が30MHzまでありフルカバーです。

感度
・AM/FMは問題なし
・SWも結構良いと思います。

良い点
・やわらかい音。長時間聞いていても疲れない。
・受信帯域を細かく選択できる。短波放送を聞くのに便利
・スリープタイマがある。ラジオを聴きながら寝るのに便利
・操作性が良い。(大型ディスプレイ、テンキー、三連ダイヤル)
・周波数メモリーがある
・SSBも受信できる
・電池持ちが良い

残念な点
・充電中にラジオ(AM/SW)を聞くとノイズが混じる。FMは問題なし。
・やや重い。旅のお供に持っていく気にはあまりならない。
・メモリした周波数がどの放送局だか分からない。周波数と放送局名をセットでメモリできるとうれしい。
・暗闇の中での操作性がイマイチ。寝るときにラジオを聴く場合、暗闇の中での操作が発生します。スリープタイマーの延長、選局(周波数メモリの呼び出し)が暗闇の中でもできるとうれしい。
・SSBの音質がイマイチ(不明瞭)

4.総評


 気に入っています。買ってよかった。
 今どきの短波ラジオなので、感度が良く電池持ちが良いです。やや大型のため、旅先に持っていくような使い方よりは、固定機のような使い方が合います。
 スピーカーが大きいので柔らかい音がします。短波放送にはフェージングが付き物ですが、フェージング時のノイズも耳障りがよく、長時間聞いても疲れないです。

2018/08/14

Raspberry PiのAVR開発環境を最新化する(改訂版)

昔の手順より良い方法があったので手順を変更して再掲します。


先日、avr-libcのHomePageを眺めていた時にtime.hを見つけました。time.hはその名の通り時刻に関する操作を行うライブラリです。時計を作るのに使えそうだなと思い、簡単なコードを書いてコンパイルしたところコンパイラが"time.hがない"と言うではありませんか! ソースコードを確認したけどスペルミスはない。「またまた、ご冗談を…」と/usr/lib/avr/include/を覗いてみたところ確かに無かった。(絶句)

どうやらavr-libcのバージョンが異なるのが原因のようです。

  • avr-libcのHomePageの最新バージョンはv2.0.0
  • Raspberry Piにインストールされているavr-libcバージョンはv1.8
そこでRaspberry PiのAVR開発環境を最新化することにしました。

(1)最新化に必要なソフト


せっかくなのでgccも最新化します。

・binutils-2.31.tar.xz
 https://www.gnu.org/software/binutils/

・gcc-8.2.0.tar.xz
 https://gcc.gnu.org/

・avr-libc-2.0.0.tar.bz2
 http://www.nongnu.org/avr-libc/

・avr-size用パッチ
 https://gist.github.com/larsimmisch/4190960

(2)コンパイル手順


avr-libcのHomePageにコンパイル手順の説明があります。基本的にこの手順で実施すればOKですが、スクリプト"download_prerequisites"を実行するとgccをビルドするのに必要なライブラリ(gmp,mpfr,mpc等)を自動的にダウンロードしてくれます。さらにgccのビルド時にダウンロードしたライブラリも一緒にビルドしてくれます。

(2-1)環境設定


$ mkdir $HOME/local
$ export PREFIX=$HOME/local
$ export PATH=$PREFIX/bin:$PATH

(2-2)GNU Binutilsのビルド


$ mkdir $HOME/src/avr-gcc
$ cd $HOME/src/avr-gcc
$ wget http://ftp.jaist.ac.jp/pub/GNU/binutils/binutils-2.31.tar.xz
$ wget https://gist.github.com/larsimmisch/4190960/archive/16c6b9627f8451eeebd644a4b9a741edfdb0c45e.zip
$ unzip 16c6b9627f8451eeebd644a4b9a741edfdb0c45e.zip
$ tar xvf binutils-2.31.tar.xz
$ cd binutils-2.31/binutils
$ patch -u < ../../4190960-16c6b9627f8451eeebd644a4b9a741edfdb0c45e/avr-binutils-size.patch
$ cd ..
$ mkdir obj-avr
$ cd obj-avr
$ ../configure --prefix=$PREFIX --target=avr --disable-nls
$ make -j4
$ make install

(2-3) gccのコンパイル


$ wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-8.2.0/gcc-8.2.0.tar.xz
$ tar xvf gcc-8.2.0.tar.xz
$ cd gcc-8.2.0
$ ./contrib/download_prerequisites
$ mkdir obj-avr
$ cd obj-avr
$ ../configure --prefix=$PREFIX --target=avr --enable-languages=c,c++ --disable-nls --disable-libssp --with-dwarf2
$ make -j4
$ make install

(2-4)avr-libcのコンパイル


$ wget http://download.savannah.gnu.org/releases/avr-libc/avr-libc-2.0.0.tar.bz2
$ tar xvf avr-libc-2.0.0.tar.bz2
$ cd avr-libc-2.0.0/
$ ./configure --prefix=$PREFIX --build=`./config.guess` --host=avr
$ make -j4
$ make install

(3)PATH設定


下記を$HOME/.profileに追加する
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/local/bin" ] ; then
    PATH="$HOME/local/bin:$PATH"
fi

2018/05/05

モニタ、キーボードなしでRaspberryPiにraspbianをインストールする(改訂版)

最新のRaspbian Stretchは仕様変更があったようで昔の手順ではうまく出来なくなってしまいましたので手順を最新化して再掲します。

変更点は下記です。
  • 固定IPの設定方法変更 : etc/network/interface から /etc/dhcpcd.conf に変更
  • ssh有効化手順追加 : Raspbian Stretchは「デフォルトssh無効」に変わったため

RaspbanをインストールするにはモニタとキーボードをRaspberryPiに接続する必要があります。しかし、つなぐのは面倒なのでSSH経由でraspbianの初期設定する方法を試してみましたので備忘録を兼ねて紹介します。

■用意するもの

  • Linuxマシン
  • SDカードリーダ

■OSイメージをダウンロード

Linuxマシン上での作業です。
まずはOSイメージをミラーサイトからダウンロードします。
$ wget http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/raspbian-2018-04-19/2018-04-18-raspbian-stretch.zip
$ wget http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/raspbian-2018-04-19/2018-04-18-raspbian-stretch.zip.sha256
$ sha256sum -c 2018-04-18-raspbian-stretch.zip.sha256
2018-04-18-raspbian-stretch.zip: 完了

■イメージファイルをマウントする

Linuxマシン上での作業です。
raspbianのIPアドレスを固定するため、イメージファイルをマウントして設定ファイルを書き換えます。
$ unzip 2018-04-18-raspbian-stretch.zip
$ fdisk -l 2018-04-18-raspbian-stretch.img
Disk 2018-04-18-raspbian-stretch.img: 4.6 GiB, 4953473024 bytes, 9674752 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9cba179a

Device                           Boot Start     End Sectors  Size Id Type
2018-04-18-raspbian-stretch.img1       8192   96453   88262 43.1M  c W95 FAT32 (LBA)
2018-04-18-raspbian-stretch.img2      98304 9674751 9576448  4.6G 83 Linux

  • 2018-04-18-raspbian-stretch.img1 : raspbian上では"/boot"にマウントされる
  • 2018-04-18-raspbian-stretch.img2 : raspbian上では"/"にマウントされる
ここからはrootでの作業です。
# mount -o loop,offset=50331648 2018-04-18-raspbian-stretch.img /mnt/

オフセットの値はfdisk中の98304にセクタサイズ512を掛けた値。

■ネットワーク関係のファイルを変更

ファイルのオーナがrootなのでrootになって作業します。
("xxx"部分は自分のネットワーク環境に合わせて適宜書き換える)

# vi /mnt/etc/dhcpcd.conf

・変更前
# Example static IP configuration:
#interface eth0
#static ip_address=192.168.0.10/24
#static ip6_address=fd51:42f8:caae:d92e::ff/64
#static routers=192.168.0.1
#static domain_name_servers=192.168.0.1 8.8.8.8 fd51:42f8:caae:d92e::1

・変更後
# Example static IP configuration:
interface eth0
static ip_address=xxx.xxx.xxx.xxx/xx
#static ip6_address=fd51:42f8:caae:d92e::ff/64
static routers=xxx.xxx.xxx.xxx
static domain_name_servers=xxx.xxx.xxx.xxx

# umount /mnt

■sshを有効化

raspbian上の/bootに"ssh"というファイルを置くとsshが有効化されます。
# mount -o loop,offset=4194304 2018-04-18-raspbian-stretch.img /mnt/
オフセットの値はfdisk中の8192にセクタサイズ512を掛けた値。

# touch /mnt/ssh
# umount /mnt

■SDカードに書き込む

LinuxマシンからSDカードにイメージファイルを書き込みむ。("/dev/sdb"は自分の環境に合わせて適宜書き換える)

# dd bs=16M status=progress if=2018-04-18-raspbian-stretch.img of=/dev/sdb

■Raspberry PiにSDカードを挿入して起動する

Linuxマシンからssh経由でRaspberry Piにログインする。(user=pi, passwd=raspberry, xxx.xxx.xxx.xxxは先に設定したIPアドレス)
各種設定をする。
$ ssh pi@xxx.xxx.xxx.xxx
pi@xxx.xxx.xxx.xxx's password: raspberry
pi@raspberrypi ~ $ sudo raspi-config

これで完了です。

RaspberryPiにCUI版Emacsをインストールする

標準のEmacsではGUI対応のため、沢山のパッケージがインストールされます。ssh経由でしかEmacsを使用しないなどGUI不要の場合は"emacs-nox"をインストールすると良いです。XをサポートしないEmacsなので、インストールされるパッケージが少ないです。
# apt update
# apt install emacs-nox

■emacs-noxについて

GNU Emacs editor (metapackage, without X support)

■補足

emacs-noxではホイールマウスの設定は使えないようです。
.emacsの該当部分をコメントアウトする
;;;; ホイールマウス
;(mouse-wheel-mode t)
;(setq mouse-wheel-follow-mouse t)

【備忘録】時系列データの編集方法(R言語, tidyverse)

TimeSeries.knit 1 サンプルデータ作成 2 日付単位に集計する 2.1 月毎集計 2.2 四半期毎集計 ...