NECの超軽量2-in-1 Windowsノート LAVIE Hybrid ZERO HZ300

買っちゃった。
まさかこんないい機種が、むちゃくちゃ手ごろな値段で買えるとは思わなかった。
http://nec-lavie.jp/pictures/pc/lavie/nt/201702/hz330gas/192x192.jpg

(この記事、基本的には「私のPC購入日記」ですが、HZ300に興味のある方向けの情報も入れてます)

3年ほど使ってる ASUS Transbook T100TA が、バッテリー不調(経年劣化?)により突然電源断することが増えてきた(保存してないデータも消えるし)ので、新しいノートPCを買うことにした。

そこで、3年間T100TAを使ってみて感じた、次のノートPCでかなえたい条件を考えた。
私の場合は、でっかいデスクトップPC(自作)があるのノートPCにはパワフルというより機動力が欲しい。具体的には、

  • CPUは、そこそこでいい
  • メモリは4GB以上
  • ストレージは64GB以上
  • バッテリは8時間以上
  • 軽量(できれば1.2Kg以内)
  • ディスプレイは11~13インチ台
  • できればフルHD
  • タッチパネル
  • 2-in-1だと嬉しいけど、予算との兼ね合いかな
  • お値段は、5万円台だとありがたいけど、7万円台以内で・・・
  • Officeは無くていいけど、あると嬉しい

・・・と、結構無茶な要求。

と思ってネットで探してたら、こんなサイト見つけた。

NEC Direct(NECダイレクト)

で、この機種が目に留まった。
LAVIE Hybrid ZERO [Windows 10 Home、Core m3、Office Home & Business Premium、ムーンシルバー、1年間保証] (NSLAA773HDGH1S)
f:id:tokieng:20170924144516j:plain
画像出典: NECアウトレット商品ノートPC

ええ!これって、あのものすごく軽い LAVIE Hybrid ZERO なの!昔、電器屋の店頭で触ったことがあって、あまりの軽さにびっくりした記憶のある機種が!
それがまさか、税抜きとはいえ79,800円だなんて!消費税入れると8.7万円くらいと予算ややオーバーだけど、これは掘り出し物だ! 「アウトレット品」ですけどね!
出始めは、たしか15万円くらいしたような・・・。

なんてったって、2-in-1のWindows機なのにキーボード付けた重量が800g未満で、タッチパネルのフルHD液晶で、なのに10時間(公称)も持つバッテリー。
私の願望をすべて、予算よりちょっと出るだけで叶えてくれるなんて!

でも機種名書いてないな・・・。Hybrid ZEROは、古いモデルも含めていくつか機種あるみたいだし。むやみに飛びついても・・・。
[商品詳細]に書いてある条件といえば、

  • LAVIE Hybrid ZERO
  • 11.6インチ液晶 フルHD IPS液晶(タッチパネル)
  • CPU m3-6Y30
  • メモリ 4GB
  • ストレージ 128GB eMMC
  • LTE/3G通信機能なし
  • Office Home & Business Premium プラス Office 365 1年間
  • モバイルパワーキーボード
  • 本体のみ 398g、キーボード付けると786g
  • バッテリー 10.3時間

合致するのは、

  • PC-HZ300DA(2016年春モデル)
  • PC-HZ300FA(2016年秋モデル)
  • PC-HZ300GA(2017年春モデル)

あたりか。
ちなみに11.6型のHybrid ZEROには、HZ300以外にも、LTE内蔵のHZ330、キーボードがなくてスペックも若干抑え目なHZ100の3系統あるけど、表記している条件からすると明らかにHZ300系。

さて、DAかFAかGAか。
価格.com で価格の相場を調べてみると、

  • PC-HZ300DA:最安値で9万円ほど(税込み)
  • PC-HZ300FA:最安値で8.3万円ほど(税込み)
  • PC-HZ300GA:最安値で14.6万円ほど(税込み)

どうみても、GAではなさそう・・・。

(ちなみに、楽天で調べるともっと安い店舗も出てくるけど、本来はOffice付きのこの機種なのに [Officeなし] と書かれたものが出品されてて、怪しさ満点。箱開けてOffice抜いて売ってるんかい!)

スペックの相違を調べてみた。
http://nec-lavie.jp/navigate/products/pc/161q/01/lavie/hz/spec/index02.html
http://nec-lavie.jp/navigate/products/pc/163q/09/lavie/hz/spec/index02.html
http://nec-lavie.jp/navigate/products/pc/171q/02/lavie/hz/spec/index02.html

項目 DA FA GA
液晶 LED FullHD 同左 LED FullHD IPS
背面カメラ RealSenseカメラ。FullHD。200万画素 WQHD。500万画素 同左
本体重量 410g 398g 同左
総重量 798 786g 同左

スペックから判断すると、GAっぽいんだけどなー。
FAだったら他店舗のほうが安いかなー。NEC Directのアウトレットでポチッと買うかな~、どうしよっかなー。

と考えていたら、「もしかしたら秋葉原の店頭で何か別の機種の掘り出し物があるかもしれない!」と急に思い立って、秋葉原の市場調査に行くことにした。
展示品限りとか本日広告の品とか、いろいろ見て回ってきた。

そこで得た結論。
私の予算で買える範囲中で、HZ300を超えるものは全く見当たらない、と。メーカーの安心感もダントツだし。
他と比べて無茶苦茶安いアウトレットと銘打った商品だけど、メーカー直販だから安心だし(どっかの楽天の店舗とは違って)。

えぇい、ぽちっとな!

f:id:tokieng:20170924161732j:plain

買っちゃった。
てか、 PC-HZ300GAかいな!!2017年春モデル!今年の!
これはびっくり!
ハード的な差異は少ない(液晶が変わったかどうか?)ものの、うれしい。

あと、今回購入したHZ300GAではなくHZ300DA発売時の記事だけど、これすごい。
japanese.engadget.com
DAのカメラはRealSenseだけど、GAは違うっぽいので、そこのところ割り引いて読んでください。

安心保証サービス月額版

で、2017年春モデルということは、NECが提供している「安心保証サービス月額版」の対象になっているということ。FAとGAは対象だけど、DAは対象外。
121ware.com > サービス&サポート > 安心保証サービス月額版 最大1年間無料
これは月額400円を払うことで、メーカー保証だけでなく落下や水に対する事故に対しても追加出費なく修理してくれるサービス。
同様の保証サービスを3~5年間前払いにて契約するというプランもあるが、何年使うか分からないのでちょっと躊躇してしまう。
しかしこれは月額制なので、止めたいときに止められる。しかも、はじめの1年間は無料!
やった!

結論

LAVIE Hybrid ZERO PC-HZ300GAが、アウトレット品ながら 税抜き79,800円で売ってる!
欲しい方は以下のページへ!
NECアウトレット商品ノートPC

買ったのに、あのページの「限定数」が減ってないなー。残数ではないんかな?

あと 安心保証サービス月額版の対象機種なので、特に外に持ち歩く人には(この機種は持ち歩くのに最適)おすすめ。

で、まだポチッと買っただけで届いてないので、商品の使用感は分かんない(笑)

とりあえず、買えると思ってなかった機種が、思ってもない金額で売ってたので、ほかに悩んでる人の参考になればと思い、記事書いてみました。

あ、そうそう。アウトレット品でなくても、メーカーカスタマイズでメモリ増やしたりして買えますよ!
NEC Direct(NECダイレクト)
LAVIE Direct HZ(D) が、HZ300とかの11.6型液晶タイプです。
LAVIE Direct HZ は、液晶が13.3型のタイプです。
てか上記バナー広告からサイトにアクセスすると、直接サイトに行ったときよりも割引率の高いクーポンがもらえるのね。知らんかった・・・。
あー、13.3型ひかれるなー(完全に私の予算オーバーだったけど)。いいなー。ほしいなー。

ひとつ気がかりなのは、そろそろ次の機種が発表される頃かな?ということくらい。
(まぁでも出始めはきっとお高くて、私には買えないでしょうけどー)

黒電話をスマホの子機(Bluetoothヘッドセット)に!③

②の続き。
ラズパイ(Raspberry Pi)を使って、黒電話をスマホのヘッドセットにしようと工作してます。
tokieng.hatenablog.com
tokieng.hatenablog.com

PulseAudioのインストール

今回は、バージョン10をインストールしてみる。
なぜ10なのかは、前回の記事を参照のこと。

apt-getコマンドでインストールできるバイナリは公開されていないので、Linux(UNIX)らしくソースコードをダウンロードして、自分でビルドする必要がある。
ちなみに、以下のやり方で必ずうまくいく、というわけではない(メモ片手に書いてるだけで、あんまりちゃんと確認してない)ので、ご注意を。

ビルド

ここで公開されている。
https://www.freedesktop.org/wiki/Software/PulseAudio/

News
Jan 2017
2017-01-19: PulseAudio 10.0 has been released. (Changes)
1) ソースコードを持ってくる。tar.xz形式で圧縮されているので、展開する。
$ wget https://www.freedesktop.org/software/pulseaudio/releases/pulseaudio-10.0.tar.xz
$ tar xf pulseaudio-10.0.tar.xz
$ cd pulseaudo-10.0

※念のため書いておくと、最初の "$" は、シェルのプロンプトを表すので入力しないこと。

2) 必要なライブラリをインストールする
$ sudo apt install libtool intltool libcap-dev libsndfile1-dev libspeexdsp-dev libsbc-dev libcap-dev libssl-dev libasound2-dev libsamplerate0-dev liborc-0.4-dev libwebrtc-audio-processing-dev
3) いよいよビルド
$ ./bootstrap.sh ←いらないかも?
$ ./configure --sysconfdir=/etc --localstatedir=/var --disable-bluez4
$ make -j 4

makeコマンドに "-j 4" をつけると、ラズパイ2とかラズパイ3では、ビルドが少し早くなる。
エラーが出たら、必要なライブラリがないとかが原因なので、なんとかして解決する。

4) 既にインストールされているものを削除する

既にPulseAudioがインストールされている状態なので、インストール済みのものを消す。入っているものを探してみた。

$ apt list --installed | grep pulse

そしたら以下のものが出てきた。

libpulse-mainloop-glib0/stable,now 5.0-13 armhf [インストール済み、自動]
libpulse0/stable,now 5.0-13 armhf [インストール済み、自動]
libpulsedsp/stable,now 5.0-13 armhf [インストール済み、自動]
pulseaudio/stable,now 5.0-13 armhf [インストール済み、自動]
pulseaudio-module-bluetooth/stable,now 5.0-13 armhf [インストール済み]
pulseaudio-module-x11/stable,now 5.0-13 armhf [インストール済み、自動]
pulseaudio-utils/stable,now 5.0-13 armhf [インストール済み、自動]

あと、pavucontrolも。

ひたすら消す。
あ、libpulse0 は、消そうとするといろんなものがついでに消されてしまうので、とりあえず残しておいた。

$ sudo apt-get remove libpulse-mainloop-glib0 libpulsedsp pulseaudio pulseaudio-module-bluetooth pulseaudio-module-x11 pulseaudio-utils pavucontrol
5) インストールする
$ make install

起動してみる

PulseAudioをデーモン起動させる。
初期状態では時々勝手にPulseAudioが終了してしまうので、
/etc/pulse/daemon.conf に、
 exit-idle-time = -1
を追記しておく。

$ pulseaudio -D

"-D" をつけることで、デーモンとして起動する。(バックグランドで起動しつづけている)

起動に成功しているかどうかを確認する。数秒経ってから、以下を実行する。

$ ps aux|grep pulseaudio
  • PulseAudioが起動しているとき
$ ps aux|grep pulseaudio
pi        1044  0.4  1.9 109148  8448 ?        S<l  07:43   0:01 pulseaudio -D
pi        1069  0.0  0.4   3768  2036 pts/0    S+   07:49   0:00 grep --color=auto pulseaudio
# ↑pulseaudioのプロセス(1行目)が出力されているので、PulseAudioは起動中
$
  • PulseAudioが起動していないとき
% ps aux|grep pulseaudio
pi        1085  0.0  0.4   3768  2036 pts/0    S+   07:49   0:00 grep --color=auto pulseaudio
$ # ↑PulseAudioのプロセスが出力されず、grepのプロセスのみ出力されているので、PulseAudioは起動していない

ちなみに、PulseAudioデーモンを停止させるには、以下のコマンドを実行する。

$ pulseaudio -k

動作確認

まず、USBオーディオの設定

USBオーディオ変換ケーブルをラズパイに差している状態では、ラズパイからの音声出力先として、以下の3つが存在することになる。

  • 本体内蔵のHDMI端子から
  • 本体内蔵のアナログ出力端子(ヘッドフォン端子)から
  • USBに接続したオーディオ変換ケーブル出力端子から

なので、どこから出力するかを指定する必要がある。
どうやってやるのか忘れたw(おいおい)
思い出したら、追記しよう・・・。

音を鳴らしてみる。wavファイルが入っているので、それをpaplayコマンドで鳴らす。

$ paplay /usr/share/sounds/alsa/Front_Center.wav

音が鳴らなかったら、オーディオ出力先を再度確認するとともに、PulseAudioが起動中であることを確認すること。

スマホとラズパイをペアリングして、スマホの音を鳴らす

スマホもラズパイ(USB Bluetoothドングル)も、BluetoothA2DPに対応している(はず)なので、スマホで音楽を再生してみる。
A2DPは、音楽などをヘッドフォンで鳴らすためのプロファイル。

まずはスマホとラズパイをペアリングする。
GUIで操作してもよいが、ここではbluetoothctlを使ってみる。

$ bluetoothctl
[bluetooth]#

このときに、bluetoothctlのコマンドを入力する。どんなコマンドがあるかは、helpコマンド。

[bluetooth]# help

では早速、ペアリングしてみる。

[bluetoothctl]# discoverable on
[bluetoothctl]# pairable on
# ラズパイをペアリング可能なモードにする。
# ここでスマホのBluetooth設定画面に、ラズパイが出てくるはず。
# その画面で、ラズパイを選択すると、ラズパイ側では以下のような出力がされる。
[NEW] Device XX:XX:XX:XX:XX:XX Xperia XZ
# ↑ ラズパイがスマホ(ここではXperia XZ)を見つけた。
# XX:XX:XX:XX:XX:XX は、スマホのBluetoothアドレスなので、コピーしておく。
# ラズパイに「このデバイスと接続してもよいよ、信用して!」と伝えるために、以下のコマンドを実行する。
# (XX:XX:XX:XX:XX:XXの部分は、実際には上で検出された実際のBluetoothアドレスを入力する。さきほどコピーしたのをペーストする。
[bluetoothctl]# trust XX:XX:XX:XX:XX:XX
# うまくいくと、下の2行が表示される。
[CHG] Device XX:XX:XX:XX:XX:XX Trusted: yes
Changing XX:XX:XX:XX:XX:XX trust succeeded

Androidの場合は、以下のようになっていればよい。
f:id:tokieng:20170913224521p:plain
もし「メディアの音声」が表示されないときは、PulseAudioが起動中かどうかを確認して、再度試してみる。

ofonoのインストール

apt-getでは、ofono-devでもAPI入らないっぽい?
ということで、 ofono も buildする。

ビルド

# 1) まず必要なライブラリをインストール
$ sudo apt install libudev-dev libdbus-glib-1-dev mobile-broadband-provider-info
# 2) ソースコードを持ってくる。tar.xz形式で圧縮されているので、展開する。
$ wget https://www.kernel.org/pub/linux/network/ofono/ofono-1.20.tar.xz
$ tar xz ofono-1.20.tar.xz
# 3) 展開先に移動して、ビルド実行
$ cd ofono-1.20
$ ./configure --sysconfdir=/etc --localstatedir=/var --enable-test --enable-tools
$ make -j 4
# 4) うまくいったらインストール
$ sudo make install
# 5) サービスとして自動起動するように設定する
$ sudo systemctl enable ofono
$ sudo systemctl start ofono

ちなみに、configureコマンドのオプションに --enable-test を入れているのは、動作確認用のスクリプトもインストールしておきたいので。

PulseAudioの設定

ofonoを使うよ、とPulseAudioに伝える必要がある。
/etc/pulse/default.pa の以下の行を書き換える。
load-module module-bluetooth-discover
 ↓
load-module module-bluetooth-discover headset=ofono

書き換えたら、PulseAudioを停止させて、再度起動させる。

ofonoの動作確認

先ほどのインストール手順で、動作確認用のスクリプトもインストールしておいた。このスクリプトは /usr/local/lib/ofono/test/ に存在する。
このスクリプトはPython3で記述されていて、いくつかのライブラリが必要なので、まずそれらをインストールする。

$ sudo pip3 install dbus-python
  • /usr/local/lib/ofono/test/monitor-ofono
  • /usr/local/lib/ofono/test/dial-number
  • /usr/local/lib/ofono/test/answer-calls

monitor-ofonoは、Bluetoothのイベントを表示するもの。このスクリプトを実行すると、スマホの着信や発信などのイベントが表示される。
dial-numberは、スマホに発信させるスクリプト。例えば「117」(時報)とか「03177」(東京地方の天気予報)とかにかけてみる。
answer-callsは、スマホにかかってきた電話を取るスクリプト

うまくいけば、dial-number、answer-callsを使って、スマホでの発信・着信操作が行える。通話状態になったら、ラズパイのUSBオーディオ変換ケーブルに差したマイク・スピーカーを使って、会話ができる。

次回予告

うまくいったら、次はいよいよ黒電話の改造だ!

黒電話をスマホの子機(Bluetoothヘッドセット)に!②

黒電話をスマホのヘッドセットにする工作。
①のつづきです。前回はこちら。
tokieng.hatenablog.com


黒電話といえばダイヤルとベルだけど、まずは準備から・・・。

Raspberry Pi(以下ラズパイ)を、Bluetoothハンズフリー機器としてスマホと接続できるようにした。
f:id:tokieng:20170805180215j:plain

ラズパイをBluetoothハンズフリー機器にする

Bluetoothハンズフリー機器とは

Bluetoothハンズフリー機器とは、
1)イヤホン
2)マイク
3)着信(電話を受ける)
4)発信(電話をかける)
の4つの機能を備えたものをいう(ことにする)。

そもそもBluetoothは通信方式であって、その通信路を使ってどのような機能を実現するかは、「プロファイル」という形で規定している。
たとえば、ノートPCにBluetooth無線マウスを接続して使うことができる。これは、HIP(Human Interface Profile)というプロファイルが規定してあって、ノートPCとマウスの両方がHIPの機能を持っているためだ。

で、ハンズフリーの場合はどんなプロファイルかというと、HFP(Hands Free Profile)がそれにあたる。

Bluetooth内蔵のスマホHFPに対応しているので、あとはラズパイ側にもHFPの機能を持たせればよい。
まずはそこから作っていくことにした。

HFPのメモ

で試行錯誤していたら、やっぱりHFPの仕様を知らないと困ることが出てきた。
調べたら、仕様書があった(英語だけど)。
https://www.bluetooth.com/specifications/adopted-specifications

いろんな単語が出てくるので、キーワードをメモしておくと、
主な登場人物としては、この2人。

  • AG = Audio Gateway = 電話機
  • HF = Hands-Free unit = ヘッドセットとか

この2人の通信をサポートするのが、以下の方々。

  • HCI = Host Controller Interface
  • GAP = Generic Access Profile
  • SPP = Serial Port Profile
  • RFCOMM = RS-232Cをエミュレートするもの。

RFCOMMでつないだ後、ATコマンドを送るみたい。
RS-232Cを介してATコマンド、というあたりが、昔のアナログモデムっぽい。
参考になるのは、以下の章を中心に読むとよいと思う。
> 4.10 Transfer of Call, Call Setup, and Held Call Status

ちなみに、HFPとよく似たのに、HSP(Hands Free Profile)というものがある。
普通のBluetoothイヤホンマイクは「イヤホン」「マイク」「電話を取るためのボタン」「ボリューム調整」という機能を持っているが、HSPはまさにそれを実現するためのプロファイル。HSPは、スマホとイヤホンマイク間で「双方向の音声」「ボタンが押されたという通知」「ボリュームの上げ下げ調整」を行う程度の機能しかない。
HFPは、HSPのゴージャス版という感じ。

ラズパイにHFP機能を持たせる

以下のソフトウェアが必要となる。

  • BlueZ
  • oFono
  • PulseAudio

ここでは、これらを簡単に紹介する。

BlueZ

ラズパイ(というかLinux)でBluetooth機能を利用するには、BlueZというソフトが必須。BlueZは、Bluetooth機能全般を司るソフトで、いくつかのプロファイルを実装している。
以前はBlueZ単体でHFPをサポートしていたが、今ではoFonoというソフトがあるので、BlueZ(バージョン5以降)からHFP機能は削除されているという。
http://www.bluez.org/release-of-bluez-5-0/

Remove internal support for telephony (HFP and HSP) profiles. They should be implemented using the new Profile interface preferably by the telephony subsystem of choice (e.g. oFono which already supports this)

Raspbian(2017年7月時点)にインストールされているBlueZは、バージョン5だった。ということでHFP機能は無く、oFonoが必要になる。

oFono

電話関係の制御をするソフトウェア。つまりHFP機能を実装したもの。
Raspbianには入っていないので、手動でビルドしてインストールが必要。

PulseAudio

そしてPulseAudio。これは、ラズパイの音声全般をコントロールするソフトで、ここでは相手からの音声をスピーカーで鳴らしたり、相手に伝える音声をマイクから拾うために使う。

Raspbian(2017年7月時点)でインストールされているPulseAudioは、バージョン5.0。
しかしバージョン5は、HFPをサポートしていない(お前もかよ・・・)。
https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/5.0/

So what's the way forward with getting the HSP and HFP profiles work with BlueZ 5? There is partial support for those in oFono (a telephony daemon), which will hopefully be completed soon, and the next PulseAudio release will then hopefully support HSP/HFP through oFono. This pulls in a telephony stack as a dependency for using your Bluetooth headset, which might be considered overkill. This issue is yet to be resolved with the BlueZ developers.

要約すると、

  • BlueZ 5 support (A2DP only)
  • だって BlueZ5がHSP/HFPサポートやめたから。
  • 次のPulseAudioのリリースでは、oFonoを経由したHSP/HFPのサポートをするよ。

ふむ、別のバージョンをビルドしてインストールしないといけないのか・・・。

で、バージョン6。
https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/6.0/

BlueZ 5 HFP (hands-free) profile support via oFono
 The oFono HFP backend for BlueZ 5 naturally introduces a runtime dependency on oFono. The minimum supported oFono version is 1.13.

インストール条件は oFono >= 1.13

バージョン7~9には、BT関連のトピックなし。

バージョン10では、
https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/10.0/

 Automatically switch Bluetooth profile when using VoIP applications
 Separate volumes for Bluetooth A2DP and HSP profiles

よく分からんが、きっとあると便利な機能が入ったんだろうな(笑)。

11にも、HFP関連のネタがいっぱいある。
https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/11.0/
が、今回の工作時点では、まだ開発中っぽかった。

ということで、PulseAudioは、10のビルドを試みてみる。

長くなったので、次の記事では、PulseAudioとoFonoのインストールを行ってみる。③に続く。

黒電話をスマホの子機(Bluetoothヘッドセット)に!①

黒電話

ひょんなことから、黒電話をプレゼントされた(ふつうこんなの贈らないw)。
黒電話とは、電話を掛けるときにダイヤルをじーこ・じーこ・・・と廻すやつで、着信するとリーン・リーンする、黒いあれ。
f:id:tokieng:20150609203450j:plain
ということで、これをスマホの子機(ヘッドセット)に加工することにした。

ひっくり返すと裏に600-A2と刻印されている。600-A2型の黒電話だった。
うっすらと "76" という数字も見える。これは1976年製造の印。お、私よりも年上だ!
f:id:tokieng:20150609203736j:plain

で、ヘッドセットとして持たせたい機能は、以下の4つ。

  • ダイヤルで発信
  • 着信したらベルを鳴らし、受話器を取ったら応答する
  • 受話器のスピーカーから音が聞こえる
  • 受話器のマイクを使って、音を伝える

手元に、暇を持て余しているRaspberry Piが転がっていたので、それを使うことにした。

やりたいことを図にしてみた。
まず、普通にスマホ単体を使って通話するときの図が以下で、
f:id:tokieng:20170805180129j:plain
このスマホにイヤホンマイクを繋いだ場合が、以下の図で、
f:id:tokieng:20170805180150j:plain
さらに、このイヤホンマイクをラズパイ+黒電話に置き換えた以下の図が、今回の作りたいものになる。
f:id:tokieng:20170805180215j:plain

用意するもの

というわけで、以下の4つを用意した。

Raspberry Piは、側面の端子に音声出力はあるものの音声入力がないので、USBオーディオ変換ケーブルというものを使った。
本当は、Wi-FiBluetoothも内蔵しているRaspberry Pi3を使うのが楽なんだろうけど、単に持ってないので今回は使ってない(^^;

以下の手順で、工作を行うことにした。

  • ラズパイをBluetoothハンズフリー機器にする
  • 黒電話のダイヤルなどをラズパイの入力として使う
  • ラズパイから黒電話のベルを鳴らす

で、作ってみた。

いやー長かった。この苦労は次回以降のブログネタとして、とりあえず完成動画を。

ダイヤル廻すと、発信します。東京地方の天気予報(03-177)を聞いてみます。
画面左下のスマホの画面にもご注目!

黒電話(600-A2型)で発信 - ダイヤル廻して発信
ちゃんと受話器から音も聞こえるよ!

そして、スマホに電話をかけると、黒電話のベルが鳴ります。
受話器を取ったら、ちゃんとベルが止まります。

黒電話(600-A2型)で着信 - スマホに着信するとベルが鳴ります
え?ベルの鳴り方がちょっと違う?気づいたあなたは鋭い!
ちょっと回路に手を抜いたためにベルを鳴らすパワーが十分に得られなかったため、ちょっとごまかしてます(苦笑)。

f:id:tokieng:20170910162549j:plain

作るにあたっていろんなことを調べたり試行錯誤したので、せっかくなので作り方のメモを書こうと思います。次回に続く。

オートザム キャロルの写真 (エンジンルーム)

キャロル(マツダ オートザム キャロル AA6PA)の写真第2弾です。

ボンネットを開けて、エンジンルームを撮影しました。資料の意味でアップします。

 

第1弾(外観)は、こちら。

tokieng.hatenablog.com

 

マツダ オートザム キャロル(AA6PA) エンジンルーム

マツダ オートザム キャロル(AA6PA)  ボンネット裏全体

マツダ オートザム キャロル(AA6PA)  ボンネット裏1

マツダ オートザム キャロル(AA6PA)  ボンネット裏2

マツダ オートザム キャロル(AA6PA)  ボンネット裏3

マツダ オートザム キャロル(AA6PA)  ボンネット裏4

マツダ オートザム キャロル(AA6PA) エンジンルーム

マツダ オートザム キャロル(AA6PA) エンジンルーム

マツダ オートザム キャロル(AA6PA) エンジンルーム

販売はオートザム株式会社でしたが、ここでの表記は「マツダ株式会社」ですね。

オートザム キャロルの写真

キャロルの写真

唐突ですが、キャロルの写真をアップします。

マツダ オートザム キャロル。平成6年式 AA6PA型。キャロルの2代目(後期型)です。

くりっとした丸いボディ。丸い目。かわいい。

 

長年乗っていましたが、廃車(?)とするので、その記念にと撮ったものです。

 

キャロル AAP6A オートザム マツダ

キャロル AAP6A オートザム マツダ

キャロル AAP6A オートザム マツダ

キャロル AAP6A オートザム マツダ

キャロル AAP6A オートザム マツダ

キャロル AAP6A オートザム マツダ

キャロル AAP6A オートザム マツダ

キャロル AAP6A オートザム マツダ

キャロル AAP6A オートザム マツダ

キャロル AAP6A オートザム マツダ

キャロル AAP6A オートザム マツダ

キャロル AAP6A オートザム マツダ

キャロル AAP6A オートザム マツダ

キャロル AAP6A オートザム マツダ

キャロル AAP6A オートザム マツダ

キャロル AAP6A オートザム マツダ

キャロル AAP6A オートザム マツダ

 

 

 

ナンバープレートもそのまま載せていますが、もうこの番号の車は、無いのです。ありがとう、私のキャロルくん。

もしかしたら、ほかの番号でまだどこかを走っているかも・・・

ひかり電話ルーター という名の SIPサーバ

NTTのひかり電話を契約しているフレッツ光ユーザーは、「ひかり電話ルーター」をレンタルします。私は、RV-S340(以下、ルーター)を借りています(VDSL回線用ですね)。このルーターSIP機能に関するメモです。日曜プログラマ向け。

 

pjsipでSIPクライアントを作るときに注意すること

REGISTERは、すんなり成功します。

が、発信のためにINVITE(w/SDP)を送信すると、488応答で拒否されてしまいます。488応答ということは、SDPを許容できないとルーターが判断したことを意味します。同様に、着信時に200OK(w/SDP)を返信すると、やはりルーターはSDPを拒否します。

ということで、pjsipのSDPに関する挙動を変更する必要があります。コード変更するの面倒・・・と悩んでいたら、先人のいい情報見つけました。

最新のpjsua単体でひかり電話の発着信ができない - IGINブルネイ/syasudaの日記(MT版)

つまり、pjsip/include/pjsua-lib/pjsua.h の

#   define PJSUA_SDP_SESS_HAS_CONN    0

 ↓

#   define PJSUA_SDP_SESS_HAS_CONN    1

として、makeするとよいです。

 

公衆電話からの着信

Fromヘッダは、

From:"Coin line/payphone"<sip:anonymous@anonymous.invalid>;tag=hogehoge

のようになります。anonymous@anonymous.invalidは、非通知を表します。公衆電話からの発信なので非通知だよ、ということを表すために、 "Coin line/payphone" をつけているんでしょうね。

 

さいごに

「収容」の説明を探していて、面白いページを見つけたので、ご紹介。

www.ntt-east.co.jp