GitHubでのgit cloneやpull、pushの操作が出来ない終わらない遅い

このところGitHubでのgit cloneやpull、pushの操作が極端に遅い問題に遭遇していました。ネットで検索しても、当てはまるものが見つからなかったので、参考になる方もいるかと思い、書かせていただきました。
また、私が執筆した書籍、雑誌、ウェブページ、ブログなどにしたがって、cloneしようとしても、時間がかかる場合があります。ご不便をおかけした皆様には、大変、お手数をおかけいたしますが、その場合は、以下のように、「http」を「https」に書き換えて実行してください。
問題は、HTTPSではなくHTTPでclone元のURLを示していたことが原因でした。
遅い例: git clone http://github.com/bokunimowakaru/esp.git
改善例: git clone https://github.com/bokunimowakaru/esp.git
既に、cloneしてしまっている場合は、configを書き換えてください。
修正例 ~/esp/.git/config

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = https://github.com/bokunimowakaru/esp/
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
なお、この問題は2017年8月15日ごろから発生しています。それ以前の執筆時点には問題ありませんでした。ご容赦いただきたく、お願いいたします。

スピーカボックスへ収容したRaspberry Pi用ラジカセ風Speaker pHAT

Raspberry Pi用ラジカセ風Speaker pHATをケースへ入れるだけで、音質が格段にアップします。
スピーカユニットだけでは、振動版の背面の空気振動が、前面にも放射されるので、スピーカから効率よく音波を出力することが出来ません。スピーカボックスには、振動版の背面の空気振動を吸収したり、ボックス内で反射した振動により振動版を効率よく振動させたり、あるいはスピーカボックスそのものをほどよく振動したりするといった役割があります。

前回は、Raspberry Pi用ラジカセ風スピーカ Pimoroni製Speaker pHATの使い方について説明しました。今日は、このSpeaker pHATをポリプロピレン製のケースに収容してみました。
(前回の記事)
Raspberry Pi用ラジカセ風スピーカ Pimoroni社Speaker pHATの使い方

ポリプロピレン容器の蓋にSpeaker pHATを取り付ける

まずは、下図のように容器の蓋へSpeaker pHATを取り付けます。Speaker pHAT基板の裏側に実装されている電子部品をポリイミド製のテープなどで絶縁保護し、ケースの蓋をくり抜いて、装着します。
ご注意:
ここでは、ポリプロピレン製の耐熱容器を使用しましたが、ポリプロピレンは良く燃える素材です。火花や内部発熱などによって引火すると、火災の原因になります。十分に注意して実験し、実験後はACアダプタなどを抜き、電源を切って安全な場所に保管ください。
基板の4隅では、直径2.6mmのネジで容器へ固定します。さらに、背面の空気振動が前面に漏れたり、異音が発生したりしないように、接着剤を使ってスピーカとケースの長手方向を固定しました。

Speaker pHATには8個のナットが付属しています。このナットをスペーサとしてSpeaker pHAT基板とスピーカユニットとの間に入れると、隙間が出来てしまい、背面の空気振動が前面へ漏れてしまいます。したがって、基板とスピーカとの間にはナットを入れないようにしましょう。

Raspberry Pi Zero Wを取り付け、電源コードをハンダ付けする

Speaker pHATにRaspberry Pi Zero Wを取り付けます。写真の赤のコードが5V、黒がGNDです。

ただし、Raspberry Pi Zeroシリーズの5V電源には過電流保護の部品が入っていません。そこで、ヒューズを挿入しました。

ヒューズは0.3A以上、かつACアダプタからの供給でヒューズが溶断できるものを選びます。音楽を聴くような場合は、0.5Aくらいのヒューズを使用し、1.0AくらいのACアダプタを使用すれば良いでしょう。1時間に、数回程度、音声で時報や警報、連絡事項などをアナウンスする程度であれば、0.25Aくらいでも良いでしょう。ボクは長さ20mmのミニガラス管ヒューズを使用しました。

GPIOコネクタ部をより美しく

GPIOコネクタのハンダ付け部は、FMラジオのチューニングのようなデザインになっています。ピンを基板のギリギリまでニッパで切断し、ハンダを丸く盛ると、より美しく仕上がります。ただし、若干、挿抜耐回数が下がるかもしれません。製作後にHATを取り外さないのであれば、問題ないでしょう。

レベルメータの動作の様子(動画)

音楽の再生方法や、テキストの音声読み上げ方法については、下記の前回の記事をご覧ください。
(前回) Pimoroni製Speaker pHATの使い方
by ボクにもわかるRaspberry Pi
https://bokunimo.net/raspi/

Raspberry Pi用ラジカセ風スピーカ Pimoroni社Speaker pHATの使い方メモ

Pimoroni社(英国)はRaspberry Pi用の虹色のケースで有名なメーカーです。最近はRaspberry Pi用の拡張ボード(HAT)などを次々に開発しており、SwitchScienceや秋月電子通商でも取り扱われるようになりました。
その拡張ボードのなかから、スピーカ、DAコンバータ、スピーカ用アンプ、10個のバーLEDが実装されたラジカセ風スピーカSpeaker pHATを紹介します(部品は全て裏面に実装されている)。
写真は、Raspberry Pi Zero 本体+Pibow Zero ケース+Speaker pHATを組み合わせた時の一例です。懐かしいラジカセのような図柄と、再生音とともに変化するLEDバー表示、そして基板の背面では白色LED(バーLED兼用)が透過色のPibow Zeroケースを照らします。
音楽とともに揺れる光を想像してみると、ワクワクしませんか?
Pimoroni
なお、ハードウェアを製作するには、ピンヘッダとスピーカ端子の半田付け、スピーカのビス止め作業が必要です。また、Raspberry Pi Zero には、Micro SDカード、ACアダプタを始め、開発用の周辺機器(モニタ、キーボード、マウス、USBハブ、USB無線LANアダプタ等)が必要です。
スピーカを基板へビス止めするときは、スペーサ用のナットを使用せずに、スピーカ本体を基板へ接触させてください。Pibow ケースの天面がスピーカのマグネット部に接触するので、スペーサを入れると、その厚みで下記長IOコネクタの接触が不十分となります(ケースに入れない場合はスペーサを使っても良い。音質はスペーサなしのほうが良いが、スペーサが無いと大音量時に音が割れる)。

インストール方法と使い方

インストールを行うには以下のcurlコマンドを実行します。
test.shを実行すると簡単な音声と音楽を再生します。test.pyはLEDのテスト用です。
また、mpg321でMP3ファイルの再生が出来ます。
$ sudo apt-get install mpg321
$ cd Pimoroni/speakerphat/test
$ ./test.sh                                                  # LED+オーディオデモ(mpg321なしでも再生可能)
$ ./test.py                                                  # LEDテスト用
$ mpg321 test.mp3                                      # MP3再生デモ
$ mpg321 再生したい音楽ファイル.mp3           # 好きな曲を再生しよう。

AquesTalkで漢字交じりのテキスト読み上げ(音声再生)

次に、漢字交じりの音声を読み上げるAquesTalkのインストールを行ってみましょう。
$ wget http://www.a-quest.com/download/package/aquestalkpi-20130827.tgz
$ tar xzvf aquestalkpi-*.tgz
$ aquestalkpi/AquesTalkPi -f aquestalkpi/test.txt |aplay
$ aquestalkpi/AquesTalkPi "漢字交じりのテキストを読み上げます" |aplay
筆者が配布しているESP-WROOM-02用のgitをダウンロード済の方は、下記のコマンドでインストールが可能です。
$ cd ~/esp/tools/
$ aquestalk_setup.sh
インストーラ:

簡易HTTPサーバで音声データ入力用のユーザインタフェースを作成

(追記:2017/8/13)
より音声データを簡単に再生するために、Raspberry Pi上で簡易HTTPサーバを動かします。下図は、パソコンやスマホのブラウザからRaspberry Piへアクセスした時の画面です。テキストボックスへ文字を入力し、[Enter]キーもしくは[送信]ボタンをクリックすると、音声が出力されます。
以下は簡易HTTPサーバのBashスクリプトです。nkfをインストールしてから実行してください。
#!/bin/bash
amixer cset numid=1 200
IP=`hostname -I|cut -d" " -f1`
TALK="日本語を話します。"
HTML="\
HTTP/1.0 200 OK\n\
\n\
<html><head>\n\
<title>Test Page</title>\n\
<meta http-equiv=\"Content-type\" content=\"text/html; charset=UTF-8\">\n\
</head>\n\
<body>\n\
<h3>AquesTalkPi</h3>\n\
<form method=\"GET\" action=\"http://"${IP}"/\">\n\
<input type=\"text\" name=\"TEXT\" value=\"TALK\">\n\
<input type=\"submit\" value=\"送信\">\n\
</form>\n\
</html>\n\
\n\
"
echo "Listening HTTP port 80…"  
while true
do
    echo -e $HTML\
    |sed -e "s/\"TALK\"/\"${TALK}\"/g"\
    |sudo netcat -lw0 -v 80\< br>    |while read TCP
    do
        HTTP=`echo -E $TCP|cut -d"=" -f1`
        if [ "$HTTP" = "GET /?TEXT" ]; then
            TALK=`echo -E $TCP\
            |cut -d"=" -f2\
            |cut -d" " -f1\
            |sed -e "s/+/ /g"\
            |nkf –url-input` 
            echo -E "TEXT="${TALK}
            kill `pidof aplay` &> /dev/null
            sleep 0.5
            aquestalkpi/AquesTalkPi "${TALK}"|aplay &
        fi
    done
done
# ダウンロード:

音量を変更するには

音が大きすぎる時は、以下のコマンドで音量を下げることが出来ます。スピーカの振動が構造部品などで共振し、音が割れてしまう場合は、音量を下げることで、多少、改善することができます。末尾の数字を小さくするほど、音も小さくなります。

amixer cset numid=1 230

動作の一例

完成後の動作例を示す動画です。

OSのバージョンによってはSpeaker pHATが動作しないらしい

Linuxのバージョンによっては動作しないという情報を得ています。ネットに記載された情報だと、少し古い4.9.24や、4.9.25では動作しないようです。
ただし、より古いバージョンでも動作するようなので、必ずしも最新版が良いとは限りません。当方が動作確認を行った時のバージョンです。

$ uname -a
Linux raspberrypi 4.9.30+ #1001 Fri May 26 16:03:39 BST 2017 armv6l GNU/Linux

バージョンによっては下記のようなエラーが出るらしい
Unable to determine hardware version. I see: Hardware : BCM2835
つぎは、スピーカボックスへ収容します。下記のリンクをクリックしてください。
スピーカボックスへ収容したRaspberry Pi用ラジカセ風Speaker pHAT
https://bokunimo.net/blog/raspberry-pi/55/
by ボクにもわかるRaspberry Pi