Vol.760 14.Dec.2018

個人で車の名義変更・譲渡する場合の手続き なばなの里のイルミネーション レコードプレーヤー ラズベリーパイ(23)〜mjpg-streamerで動画配信〜

C 個人で車の名義変更・譲渡する場合の手続き

by fjk

車の自動車検査証をみると「所有者」と「使用者」がある。これは、ローンで車を購入した場合、ローンが完済されるまで車の所有権を留保しておくためで、現金一括で購入した場合は最初から所有者を使用者(自分)に出来る。しかし、ローン完済後も自分で変更手続きを行わないと変更されず、車の所有権でないと車の売却や処分(廃車)が自由には行えない(所有者の承認が必要)。
 ローンが残っている場合は仕方ないが、ローンが完済している場合は所有者の変更である「所有権解除」を行っておくのがベター。所有者の変更を行わなくても車の譲渡は行えるが、3者が関わることになり、費用と時間がかかる。

【所有者の変更を行う場合】・・使用者が自分でやれば印紙代の500円(+印鑑証明代)で済む。

@販売店(前所有者)に「所有権解除」を申し込む
A販売店で解除手続きに必要な書類(譲渡証明書など、この書類は訂正不可)を準備してくれる。
  −>必要な添付書類:【自動車検査証、納税証明書、双方の印鑑証明書】
  ※ローンを使った場合は「ローン完済」が判る資料が必要。
B必要な書類を持って、管轄の運輸局に出向く。富山県の場合、運輸支局の隣にある富山県自動車整備振興会、自動車税センターに必要書類が揃っており、ここで、「自動車税・自動車取得税申告書」(記入例あり)、「500円印紙の貼付」を行う(印紙もここで購入できる)。
  −>必要な添付書類:【自動車検査証、納税証明書、双方の印鑑証明書、実印】
C隣の運輸支局に出向き、「申請書」(OCRシート1号、鉛筆書きなので修正可能)を記入(記入例がある)し、窓口に提出。
D新しい車検証が交付される。

実際に平日に手続きを行ったところ、@Aに1日(法人の場合内部決済が必要とのこと)、BCDに1時間弱(平日で空いていた、月末は混むとのこと)で変更が行えました。
 ※ 手続きを代理人が行うことが出来るが、その場合は委任状が必要。
 ※ 軽自動車の場合は陸運ではなく「軽自動車検査協会」が手続きを行う。

【譲渡する場合】・・・名義変更

基本的には上記とほぼ同じ流れとなる。旧所有者と新所有者が一緒に出向くのがベターだが、委任状があればOK。
@申請書
A譲渡証明書
B自動車検査証
C双方の印鑑証明書
D双方の実印(が押されている書類)
E代理人が申請する場合は「委任状」(本人が申請すれば不要)
F新所有者の車庫証明書

車検の期限が残っている場合は、譲り受け者にそのまま引き継ぎとなる。自動車税は毎年4月1日現在の使用者が支払うことになっているので、新たに支払う必要は無い。ただし、有償(税を除く)で譲渡する場合は自動車取得税の支払が必要な場合がある。また、任意保険の手続きも忘れずに。
 譲渡時には「自動車検査証」の他「自賠責保険証明書」「リサイクル券」も渡すこと。


N なばなの里のイルミネーション

by fjk

購入したシュピーレンを運転して、なばなの里のイルミネーションを見に行きました。
 行きは国道41号線でズーット行くつもりでしたが、道路工事などで思ったよりも時間がかかったので、高山インターから高速道路に乗りました。初日は親戚に止めてもらう約束になっていたので、日中の自由時間を有効に使おうと、お昼から夕方まで久しぶりに明治村に寄りました、
 2日目は、夜のイルミネーションまで時間があるので「犬山城」にゆきました。城近くの「からくり展示館」に寄ってみると、ちょうどからくり山車の操作練習(週1回のみ)を見ることが出来ました。そして、宿泊予定の道の駅「立田ふれあいの里」に寄り、車中泊ができそうか確認。なばなの里には、イルミ開始3時間前に到着したので、明るいうちに園内を確認。夜の準備で進入禁止のところもありましたが、園内の様子が理解でき、これで夜でも大丈夫。この日は17:10分から点灯というころで、それまでは車に戻って車内で小休止(仮眠、これが出来るのは便利。再入場には手にスタンプがあればOK)。ナバナの里のイルミネーションは迫力があり、光のトンネルと日本の情景は同じコースを2回巡回しました。イルミネーションを満喫したこところで、園内にある「湯浴みの島」(岩盤の露天風呂有り)で疲れを癒やし(1500円だが入場券に付属の1000円のクーポン券が使える)、道の駅に戻ったところ、すでに10台以上のキャンカーが停まっており、一緒に車中泊しました。
 3日目は「養老の滝」「大垣城」「岐阜城」「関鍛冶伝承館」などに立ち寄って帰路につきました。
明治村 犬山城 からくり展示館
水上イルミネーション 光のトンネル JAPAN日本の情景
養老の滝 大垣城 岐阜城


P レコードプレーヤー 〜78回転SPレコードを再生したい〜

by fjk

我が家には78回転の古いSPレコードがあり、ダイレクトドライブプレーヤは33と45回転のみで、真空管式の古いプレーヤが壊れてからは、これらのレコードは再生できなくなっていた。
 レコードの時代が終わり、もう聴けなくなったと諦めていたが、最近レコードの復活が叫ばれ、ネットでレコードプレーヤーを検索してみると、78回転のレコードを再生できるプレーヤがあることが判り、Viny Motion Air( ION Audio、9,980円 )のボタンを押した。
 この機種は、ポータブルスーツケースタイプで持ち運びや収納が容易で、リチウム電池( 4時間の再生可 )やスピーカーも内蔵しているので、どこでも・いつでもレコードを再生できる。更に、USB経由でのファイル化( EZ Vinyl/Tape Converterを製品のページからDL )や、Bluetooth3.0、RCA出力にも対応するなど、機能はありすぎるほどである。一般的に、安価なプレーヤは回転が安定せず、音質も良くなく、故障しやすいと口コミがあるが、古いレコードはそれほど音質にこだわる必要が無いので、「聴けるだけまし」と購入を決めた。
 届いたプレーヤをUSBで満充電( 約3時間 )し、試しに33回転のレコードを再生してみると、ノイズもほとんど無く、綺麗な音楽を聞くことができた。78回転のレコードの再生には78回転専用レコード針( ダイヤモンド、別売り )が必要、と説明書に記述があったので、ION_AUDIOの日本のページの「ION_Audio_Store/アクセサリー」から78回転専用交換針(3.680円)を購入し、SPレコードを再生したところ、レコード特有のノイズが少しあるが、音質は期待以上だった。またパソコンに接続し、音楽ファイル(wav)にも変換できた。
 BTヘッドホンのATH-S200BT( オーディオテクニカ )も準備し、ヘッドホンのスイッチをオン後( LEDが赤・青の点滅 )、プレーヤーのBT接続ボタンを押すと、双方のLEDが青色の点灯に変わり、ペアリングが完了し、ヘッドホンで再生音楽を聞くことが出来た。ヘッドホンの方がより綺麗に聞こえる。音量調整は双方で行えるが、レコードを交換する時はプレーヤの電源をオフにする必要があり、一旦BT接続が切れるが、再度電源ON後は自動でBT接続される。

Viny Motion AirとATH-S200BT SPレコードを78回転で再生中 Converterソフトで音楽を取込中


R ラズベリーパイ(24) 〜pigpioによるカメラ台の制御〜

by fjk

2つのサーボモータを使ってUSBカメラを取り付けたカメラ台のパンとチルトを制御する。マウントは3Dプリンタで作ることも考えたが、安価な市販の「SG90サーボ用カメラマウント(SG90付)」(\1,200)を利用した(付属サーボの1台は不良品だったので手持ちのSG90を使用)。サーボに付属のホーンはそのままではマウントに合わないので、カッターで短くする必要がある。サーボは事前に、後述のpigpioの制御例の手順で、回転角度の中心にあわせ、その後マウントに固定した。
 USBカメラ(C270)はスタンドが邪魔なので、回転軸の固定ピンのネジを外し、軸を抜いてスタンドとカメラを分離した。カメラは他にも使いたいので、取り外しが可能なように厚手の両面マジックテープでマウント(出っ張りの部分はプラ鋸で切除)に固定した。
カメラマウントキット ホーンの加工が必要 マウントの組み立て中
完成したマウントとC270 C270はピンを抜いて分解 両面テープでC270を固定

 サーボモータはwebiopiまたはgpiozeroなどで制御できるが、ソフトパルスで動作するため、振動するなど不安定である。そこで、より安定に動作させるために、wiringpi(ALT5モードで2本)またはpigpio(OUTモードで32本)を使うと、高精度で安定したPWM制御ができる。

1.pigpioによるサーボモータ制御例 (pigpioの詳細 などを参照)
  $ sudo pigpiod   ・・・pigipoデーモンを開始する
  $ python      ・・・python対話モードを終了するにはctl+D
  >>> import pigpio
  >>> pi = pigpio.pi()
  >>> pi.set_servo_pulsewidth(17, 1500) ・・ピン番号(17)とパルス幅(1500us)を指定した例
2.カメラマウントのサーボ制御
@/home/pi/webiopi/にpigpio.htmlとpigpio.pyファイル作成
A【/etc/webiopi/configの修正】
  [SCRIPT]
  myscript = /home/pi/webiopi/piservo.py
  [HTTP]
  port = 8030
  welcom-files = /home/pi/webiopi/piservo.html
Bpigpioデーモンの起動を確認後、webiopiも起動する
  $ sudo systemctl start webiopi
Cwebブラウザからwebiopiユーザでアクセス
  http://<IPアドレス>:8030
DID(webiopi)、パスワード(raspberry)を入力 →web操作画面からサーボモータを制御。


※ 事前にmjpg-streamを別画面で起動(http://:8010)しておくと、ライブ動画で確認できる(mjpg-streamの起動画面からjavascriptをクリックすると、ストリーム画面が表示される)。
※ スクリプトにエラーがあるとweb接続できないので、その場合はデバッグモードで確認すること。
※ pythonのグローバル変数を関数内で変更する場合はglobal宣言が必要(参照のみは宣言不要)

ラズパイでサーボモータ制御中 ライブ動画表示とサーボ制御操作web画面
(動画表示とサーボ制御は別ウィンドウ)

サーボモータを制御するHTML<piservo.html (piservo.zip)>
<html>
<head>
    <meta http-equiv="Content-Type"content="text/html;charset=UTF-8">
    <title>WebIOPi piServo Test</title>
    <!--WebIOPiのJavascriptの使用宣言-->
    <script type="text/javascript" src="/webiopi.js"></script>
    <!--ボタンの静止、機能の設定と名称設定-->
    <script type="text/javascript">
        IOPI = webiopi();
        IOPI.ready(function(){
            var HomeBtn = IOPI.createButton("Home", "Home",
                function(){IOPI.callMacro("home");}
                );
            $("#homebtn").append(HomeBtn);
            var LeftBtn = IOPI.createButton("Left", "Left",
                function(){IOPI.callMacro("left");}
                );
            $("#leftbtn").append(LeftBtn);
            var RightBtn = IOPI.createButton("Right", "Right",
                function(){IOPI.callMacro("right");}
                );
            $("#rightbtn").append(RightBtn);
            var UpBtn = IOPI.createButton("Up", "Up",
                function(){IOPI.callMacro("up");}
                );
            $("#upbtn").append(UpBtn);
            var DownBtn = IOPI.createButton("Down", "Down",
                function(){IOPI.callMacro("down");}
                );
            $("#downbtn").append(DownBtn);
       });
    </script>
    <style type="text/css">
        button{
            font-size:2em;
            width:110px;
            height:70px;
            margin-left:20px;
            float:left;
        }
    </style>
</head>

<!-- ページの生成 -->
<body> <br>
    <p style="text-align:left;  margin-left:100px;">
    <font size=6>[Mout Servo Test]</font><br></p>
    <p style="align:center">
    <table border=0 cellspacing="10">
      <tr><td> </td><td><div id="upbtn"></div></td><td> </td></tr>
      <tr>
        <td><div id="leftbtn"></div></td>
        <td><div id="homebtn"></div></td>
        <td><div id="rightbtn"></div></td>
      </tr>
      <tr><td> </td><td><div id="downbtn"></div></td><td> </td></tr>
    </table>
    </p>
</body>
</html>

ラズパイでサーボモータを制御するスクリプト<piservo.py>
import webiopi
import pigpio
GPIO = webiopi.GPIO
pi = pigpio.pi()
Pan  = 17        # 左右サーボ接続ピン
Tlt  = 18        # 上下サーボ接続ピン
Pan_hm  = 1500    # 初期(Home)位置
Tlt_hm  = 1500
Pan_pos = Pan_hm   # サーボの現在位置
Tlt_pos = Tlt_hm
Pan_stp = 100      #1回の移動量
Tlt_stp = 50
Pan_max = 2000    # 動作範囲は少なめに
Pan_min = 1000
Tlt_max = 1700    # 動作範囲は少なめに
Tlt_min = 1200

#初期化関数 GPIOをPWMモードに設定
def setup():
    GPIO.setFunction(Pan, GPIO.PWM)
    GPIO.setFunction(Tlt, GPIO.PWM)
    pi.set_servo_pulsewidth(Pan, Pan_hm)
    pi.set_servo_pulsewidth(Tlt, Tlt_hm)

#マクロ関数
@webiopi.macro
def home():
    global Pan_pos, Tlt_pos
    Pan_pos = Pan_hm
    Tlt_pos = Tlt_hm
    pi.set_servo_pulsewidth(Pan, Pan_pos)
    pi.set_servo_pulsewidth(Tlt, Tlt_pos)

@webiopi.macro
def right():   # 動きが逆なら関数名をleftに
    global Pan_pos
    if Pan_pos < Pan_max:
        Pan_pos += Pan_stp
        pi.set_servo_pulsewidth(Pan, Pan_pos)

@webiopi.macro
def left():    # 動きが逆なら関数名をrightに
    global Pan_pos
    if Pan_pos > Pan_min:
        Pan_pos -= Pan_stp
        pi.set_servo_pulsewidth(Pan, Pan_pos)

@webiopi.macro
def down():  # 動きが逆なら関数名をupに
    global Tlt_pos
    if Tlt_pos < Tlt_max:
        Tlt_pos += Tlt_stp
        pi.set_servo_pulsewidth(Tlt, Tlt_pos)

@webiopi.macro
def up():    # 動きが逆なら関数名をdownに
    global Tlt_pos
    if Tlt_pos > Tlt_min:
        Tlt_pos -= Tlt_stp
        pi.set_servo_pulsewidth(Tlt, Tlt_pos)

#終了関数  GPIOのPWMモードを解除
def destory():
    GPIO.setup(Pan, GPIO.IN)
    GPIO.setup(Tlt, GPIO.IN)


◆ pigpio for Python Interface

pigpio for Python Interfaceは、汎用入力出力(GPIO)を制御するためにpigpioデーモンと会話するRaspberry用のPythonモジュール。
 pigpioデーモンを起動する通常の方法は、
  sudo pigpiod  ・・・pigpioはjessie以降、標準でインストール済みで、すぐ使える

※ここでは、サーボ制御に用いる関数の一部を抜粋。

pigpio.pi ( host, port, show_errors )
PiのGPIOへのアクセスを許可する。
 host := pigpioデーモンが動作しているPiのホスト名。デフォルトはlocalhost
 port := pigpioデーモンがリスンしているポート番号。デフォルトは8888
(使用例)
  pi = pogpio()
set_servo_pulsewidth ( user_gpio, pulsewidth )
GPIO上でサーボパルスを開始(500〜?2500、単位はμ秒)または停止(0)する。
 user_gpio := 0〜31.
 pulsewidth := 0 (off),
     500 (most anti-clockwise) 〜 2500 (most clockwise) 、1500 (centre)
 選択されたパルス幅は、再度set_servo_pulsewidthによって変更されるまで送信され続ける。
(使用例)
  pi.set_servo_pulsewidth(17, 0) # off
  pi.set_servo_pulsewidth(17, 1000) # safe anti-clockwise
  pi.set_servo_pulsewidth(17, 1500) # centre
  pi.set_servo_pulsewidth(17, 2000) # safe clockwise
set_PWM_range ( user_gpio, range_ )
GPIOで使用するPWM値の範囲を設定する。
 user_gpio := 0〜31.
 range_ := 25〜40000.
(使用例)
  pi.set_PWM_range(9, 100) # now 25:1/4, 50:1/2, 75:3/4 on
  pi.set_PWM_range(9, 500) # now 125:1/4, 250:1/2, 375:3/4 on
  pi.set_PWM_range(9, 3000) # now 750:1/4, 1500:1/2, 2250:3/4 on
get_servo_pulsewidth ( user_gpio )
GPIOで使用されているサーボパルス幅を返す。
 user_gpio := 0〜31.
hardware_PWM ( gpio, PWMfreq, PWMduty )
指定周波数と負荷サイクルでGPIO上でハードウェアPWMを開始する(要使用条件確認)。
 gpio := see descripton
 PWMfreq := 0 (off) or 1〜125000000 (125M).
 PWMduty := 0 (off) to 1000000 (1M)(fully on).

※さらに詳しくはPython Interfaceを参照。


個人で車の名義変更・譲渡する場合の手続き なばなの里のイルミネーション レコードプレーヤー ラズベリーパイ(23)〜mjpg-streamerで動画配信〜