有給消化中(あと5日)

  • 有給消化期間も残すところあと5日。あっという間に日は過ぎていく

やったこと

react-native

  • androidのアプリを作りたかったので作成中
  • 内容としては以前にElectronで作成したもののAndroid版。
    • ミルクとおむつの時間を記録できるツールです
  • reactは本を2冊やった程度なので、自分で書きはじめる、となるとなかなかうまくできない
  • 最近になって意図したように書けるようになってきた。
  • β版くらいは来週中にできるようにしたい

車庫証明

  • 車の所有権を移動するためにとりに。

読書

  • 達人プログラマーを久しぶりに読み直しはじめました
  • 社会人になりたてのとき以来だから8円ぶりくらいかな?
  • 全然内容覚えてなかったし、意味わからなかったけど、今になるとやっと意味が分かってきた気がする
  • サクッと読んでしまおう。

有給消化中

  • 毎日書くのは無理だった。残念。
  • 先週はいろいろとやっていました。

やったこと

  • Androidのアプリ作り始める
  • 自転車であてもなく走る
  • 実家に帰って雑務

Androidのアプリ作り始める

  • 以前にelectronで作成したものの、Android版の作成
  • react nativeで作ってみようと思ったけど、関連のライブラリがWebだと動かなくて、なかなかうまくいかず。。
  • Androidに送らないとデバッグできないなんてしんどい。。
  • いっそのこと、書き直ししたほうがはやいかなー。。

自転車であてもなく走る

  • 運動不足解消のために家の近くの川沿いをひたすら走ってみました。
  • 往復で大体50kmちょいでしたが、もう限界。体力足りないです。
  • 自転車用の道路があんまり整備されていなかったので、走りやすくなかったのが残念。

実家に帰って雑務

  • 雇用保険の紙が必要な気がしたので、とりに。
  • 後、親の携帯の契約をMVNO回線に。
  • 時間なかったけど全部で来たのでよかった。

有給消化10日目

  • え、まだ10日なの?もっとたっている気がするけど。。

やったこと

railsチュートリアル

  • 第14章。やっと最後までできた

railstutorial.jp

  • 最後のほうがだんだん仕組みがわかってくるので、詰まることが減った気がする
  • とはいえ、一部のソースが間違っていたせいで動かない、みたいなことは多いけど。
  • 動的型付けはやっぱり苦手で、実行しないとスペルミスに気が付かないのがなかなか難しい。。
  • 日本語だとスペルミス気が付くけど、英語だと気が付かないのはなんでなんだろうか。
    • 言語の認識に何か違いがあるのかな?

部屋の片づけ

  • いろいろ雑多に入れていた棚からいらないものを整理する
  • 意外と捨てるものは少ない。。
  • 本棚準備しないとそろそろ無理だなー

次にやること

  • 前にelectronで作ったアプリをAndroid向けに作り直ししてみようかなーと思う。
  • とりあえず、react nativeでやってみて難しそうであればJavaかな。わからんけど

有給消化9日目

  • 日付がたつと起こったことを忘れますね。よくない

やったこと

  • 次の会社の人と話す
  • MTG参加

MTG参加

  • 所用があったので、自転車を押しながら参加していました
  • 有給なので時間を自由に使わせてほしい。。。

次の会社の人と話す

  • 次の会社の人に会ってどんなことをするのか話をした
  • 基本は雑談ベース。
  • 自分のスキルにあっているか(というかあっていないことが確実なので)不安だが、できることをやってく中でつかんでいくしかないなと。
  • 頑張らないと。

Raspberry Pi 3で地デジを見る

はじめに

  • どこでもテレビを見れる環境が欲しかった
  • 主に寝かしつけした後に動かずにそのままテレビ見たいなーという要望に応えることにしました

やったこと

  • 家にあったタッチパネルに入っていたラズパイで構築 → めっちゃ苦戦したので、NG
    • 苦戦した内容については後述します
  • 新しくSDカードにOSをインストールして1から構築 → OK

必要なもの

  • ラズパイ
    • 家にあったのは3ですが、変換処理しないのであれば、ほかのでも大丈夫そうです。
  • 地デジチューナー
    • 本当は複数のやつほしっかったのですが、売ってなかった

www.amazon.co.jp

  • B-CAS読み込みするもの

www.amazon.co.jp

  • B-CAS
    • 家で不要になったテレビから借りたものの、Mini B-CASだったので、アダプタを購入

www.amazon.co.jp

インストール

  • 以下のリンクからOSを書き込み。便利ですね

www.raspberrypi.org

  • 書き込みしたMicroSDカードをラズパイに入れて起動
  • 起動すると以下のような設定が出てくる。キーボードで全部できるのはありがたい

    • 言語・タイムゾーンの設定
    • パスワードの設定(デフォルトから変更してねってことらしい)
    • Wifiの設定
    • 画面の設定
      • ラズパイはデフォルトで起動すると、画面の端っこのほうは何も表示されない場合があります
      • ↑のは以前にだいぶ苦戦した記憶が。。再起動しないと有効にならないものの、簡単になったものだ。
    • SoftwareUpdate
      • 時間がかかるのでのんびり待ちます。
  • バージョンの確認(前は8ではまったので)

$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:        10
Codename:       buster

ドライブ周り

チューナの設定

  • ドライバをインストールします
curl -O http://plex-net.co.jp/plex/px-s1ud/PX-S1UD_driver_Ver.1.0.1.zip
unzip PX-S1UD_driver_Ver.1.0.1.zip
sudo cp PX-S1UD_driver_Ver.1.0.1/x64/amd64/isdbt_rio.inp /lib/firmware/
  • チューナを接続してドライバが認識しているか確認します
tail -f /var/log/messages
Aug 13 10:54:06 raspberrypi kernel: [  425.858809] smsusb:smsusb_probe: Device initialized with return code 0
Aug 13 10:54:06 raspberrypi kernel: [  425.899897] dvbdev: DVB: registering new adapter (Siano Rio Digital Receiver)
Aug 13 10:54:06 raspberrypi kernel: [  425.900359] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
Aug 13 10:54:06 raspberrypi kernel: [  425.901140] usb 1-1.3: DVB: registering adapter 0 frontend 0 (Siano Mobile Digital MDTV Receiver)...
Aug 13 10:54:06 raspberrypi kernel: [  425.901161] dvbdev: dvb_create_media_entity: media entity 'Siano Mobile Digital MDTV Receiver' registered.
Aug 13 10:54:06 raspberrypi kernel: [  425.901561] smsdvb:smsdvb_hotplug: DVB interface registered.
Aug 13 10:54:06 raspberrypi kernel: [  425.903403] usbcore: registered new interface driver smsusb
  • 大丈夫そうなので先に進めます

B-CASの設定

  • 認識に必要なツールを入れます
sudo apt install pcscd pcsc-tools libpcsclite-dev cmake build-essential
  • B-CASの読み込みに必要っぽいツールを入れます
git clone https://github.com/stz2012/libarib25
cd libarib25/
cmake .
make
sudo make install
  • makeのコマンドは久しぶりだ。。

  • B-CASの認識確認

$ sudo pcsc_scan
Using reader plug'n play mechanism
Scanning present readers...
0: SCM Microsystems Inc. SCR 3310 [CCID Interface] (53312015230277) 00 00
 
Thu Aug 13 11:11:58 2020
 Reader 0: SCM Microsystems Inc. SCR 3310 [CCID Interface] (53312015230277) 00 00
  Event number: 0
  Card state: Card inserted, 
  ATR: 3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99

ATR: 3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99
+ TS = 3B --> Direct Convention
+ T0 = F0, Y(1): 1111, K: 0 (historical bytes)
  TA(1) = 12 --> Fi=372, Di=2, 186 cycles/ETU
    21505 bits/s at 4 MHz, fMax for Fi = 5 MHz => 26881 bits/s
  TB(1) = 00 --> VPP is not electrically connected
  TC(1) = FF --> Extra guard time: 255 (special value)
  TD(1) = 91 --> Y(i+1) = 1001, Protocol T = 1 
-----
  TA(2) = 81 --> Protocol to be used in spec mode: T=1 - Unable to change - defined by interface bytes
  TD(2) = B1 --> Y(i+1) = 1011, Protocol T = 1 
-----
  TA(3) = 7C --> IFSC: 124
  TB(3) = 45 --> Block Waiting Integer: 4 - Character Waiting Integer: 5
  TD(3) = 1F --> Y(i+1) = 0001, Protocol T = 15 - Global interface bytes following 
-----
  TA(4) = 03 --> Clock stop: not supported - Class accepted by the card: (3G) A 5V B 3V 
+ Historical bytes: 
+ TCK = 99 (correct checksum)

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99
        Japanese Chijou Digital B-CAS Card (pay TV)
  • Japanese Chijou Digital B-CAS Card (pay TV) と出ていればOKらしい

Mirakurunのインストール

  • Mirakurunをインストールします
    • チューナ的なやつらしい

github.com

  • インストールは公式にしたがって。
    • ラズパイのバージョンが古いとnodeがうまく入らなくてメッチャ苦戦します。
    • 古い場合はおとなしく新しいバージョンにupgradeするのが賢明です
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm install mirakurun -g --production
sudo mirakurun init # to install as service
sudo mirakurun restart # when updated
  • initしたときにエラーっぽいのが出ますが、気にしない。

mirakurunの設定

  • dvbv5のインストール
sudo apt install dvb-tools
  • チャンネル設定の追加
cd /usr/local
sudo mkdir conf
cd conf
sudo curl -O https://raw.githubusercontent.com/Chinachu/dvbconf-for-isdb/master/conf/dvbv5_channels_isdbt.conf
sudo npm install arib-b25-stream-test -g --unsafe

mirakurunの動作確認

  • mirakurunはWebから設定などが確認できるようになったので、確認します
  • http://IP :40772

f:id:nyaonyaoto:20200813112920p:plain
mirakurun

  • Eventタブを見るとチャンネルの情報が反映されているのがわかります。
  • ログも追いやすくてとても良いですね。

いったん動作確認

  • この時点でVLCなどを利用して見れるようになっているはずなので、確認をしてみます

  • VLCを起動して、「メディア」 - 「ネットワークストリームを開く」を選択

  • URLに「http://mirakurunのIP:port/api/channels/GR/27/stream」を入れる
  • 27の部分はチャンネルなので、mirakurunのWebからConfig - Channelsを選択してみて適当なチャンネルを選択してみてください
  • ここでチャンネルが見れれば今までの設定はOK

f:id:nyaonyaoto:20200813113454p:plain

EPGStationのインストール

  • 毎回URLを指定するのは面倒なので、簡単に表示できるようなWebのものをインストールします
  • セットアップマニュアルを参考に進めます

github.com

  • 依存するものは全部入っていたので飛ばす(前のOSだと入っていなかったのに)
git clone https://github.com/l3tnun/EPGStation.git
cd EPGStation
npm install
  • 謎のエラーが出る
npm ERR! cb() never called!

npm ERR! This is an error with npm itself. Please report this error at:
npm ERR!     <https://npm.community>

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/pi/.npm/_logs/2020-08-13T03_05_43_923Z-debug.log
  • エラーの解消方法として紹介されていた手順を試す
npm cache verify
ulimit -n 20000
  • でもエラーが出る。。。
  • 何度か試していたらエラーがなくなった。
    • タイムアウトっぽい挙動なので、その時間を延ばしてあげるのが良かったのかと。
npm run build
cp config/config.sample.json config/config.json
cp config/operatorLogConfig.sample.json config/operatorLogConfig.json
cp config/serviceLogConfig.sample.json config/serviceLogConfig.json
  • windowで動作確認しているので、それ用の設定を追加しておく

github.com

  • 起動の設定
sudo pm2 start dist/server/index.js --name "epgstation"
sudo pm2 save
  • 起動確認
    • http://IPアドレス:8888 にアクセスして、画面が表示されることを確認する

感想

  • 知らないツールをいろいろ調べながらインストールするのは久しぶりだったのでめっちゃはまった
    • それはまた別の記事にしようかと
  • ブログに記事書くの大変。再現性あるようにいい感じに調整しないとダメなんだもんね。。

参考サイト

denor.jp

ywnb.net

www.messiahworks.com

有給消化8日目

  • 有給消化だけど、ずっと家にいて、PC触っているの不思議

やったこと

railsチュートリアル

  • 今日は第11章、第12章をやった。

railstutorial.jp

railstutorial.jp

  • だいぶ勝手がわかってきた気がする
  • スクリプト言語なので、タイプエラーに気が付くには、テスト回さないと気が付かないんですね。。
  • いわれてみれば当たり前なのですが、その場でわからないのは結構面倒。。
  • そんなに詰まったところがなかったので、2章分できた。この調子で明日には終わりにできる

面談

  • 次の会社の面談(オンライン)
  • やって欲しいこととか、会社のミッションについて改めて説明。
  • やることが結構変わるので意識の変革みたいなのをしないといけない
  • 最初は苦しむだろうけど、ロールチェンジは大体そんなもんなのでしょうがない。
  • 楽しめるフェーズまで行けるように頑張る

地デジ配信サーバの構築

  • おもったより苦戦したので後でちゃんと記事にまとめる。

有給消化7日目

  • そろそろ日付ずれないように書きたい

やったこと

railsチュートリアル

  • 第10章まできた

railstutorial.jp

  • Mailのテストが記載している通りにやってもどうしてもうまくいかなかった
# エラーにならない
rails test:mailers

# エラーになる
rails test
  • ググっても記載していることは一緒。
  • あきらめて再起動してみて、もう一度実行したら、なぜかうまくいった。キャッシュだと思うのだが、よくわからない。。

かたづけ

  • 衣装ケースをいっぱい買ったので段ボールなどに入っているものを入れる
  • これを機に綺麗にしてやる

仕事

  • ミドルウェアのVerUp周りでヘルプ。
  • 詳しくない人にVerUpさせちゃいけない、と改めて。