係数のやる気のない備忘録

文章力ないじゃん自分

Arduino UNOでPythonを使ってシリアル通信をすると再起動してしまう件

ArduinoUNOとPyserialを利用してシリアル通信を試みていた。

が、どうしてもシリアルを送ると再起動してしまう。

Leonardoだと問題なくできるのでプログラムの問題でもないし、本体が壊れているわけでもなかった。

 

調べるとpyserialはCOMポートを開く際にDTRがLowになり、

LowになるとArduino UNOが再起動してしまうことがわかった。

 

なので、シリアルオープンのコマンドを

com = serial.Serial("port",9600)

で一行にせず

com = serial.Serial()
com.port = port
com.baudrate = baud
com.timeout = 1
com.setDTR(False)
com.open()

とすることでDTR信号が送られず、UNOが再起動されず正常に通信できるようになった。

 

stackoverflow.com

Chinachuで録画サーバーを作る(その1)

https://chinachu.moe/

録画鯖を4〜5年前に作ったが、そろそろHDDの寿命が来る。

せっかくなのでこの機会にまるまる環境を置き換えることにした。

perl+しょぼカレはね、うん。

 

今までの環境

ProLiant MicroServer N54L

メモリ4GB

HDD500GB+3TB+4TB

foltia Anime Locker Ver4.0

使いまわすもの

PT3×1

SCR3310-NTTCom

 

今回の環境

富士通 TX1310 M3

PGダイレクトで13000円位で購入

HDD 500GB+4TB

500GBはあまりものを、4TBは新規購入

OS:Ubuntu 18.04

PT3

SCR3310-NTTCom

 

OSインストール

chinachuやる人はこれくらい知ってると思うので簡略。

 

Ubuntuをダウンロード

Win32DiskImagerでUSBメモリに書き込み。(ISO→IMGに。)

USBメモリから起動。(BIOSRAID→ACHIにしておく)

インストール後

sudo apt update

sudo apt upgrade

いつもの。

 

Mirakurun入れる前に色々準備

カードリーダー入れる

なんかいろいろ入れる。

apt -y install pcscd pcsc-tools libpcsclite-dev autoconf build-essential curl git-core libssl-dev libtool libboost-all-dev pkg-config yasm dkms unzip

終わったらカードリーダーが動作するか確認。

pcsc_scan | grep "Japanese Chijou Digital"

Japanese Chijou Digital B-CAS Card (pay TV)

とでればおk。Curl+Cで止める。

PT3ドライバ入れ替え

デフォルトのPT3のドライバを止める。

sudo nano /etc/modprobe.d/blacklist.conf

末尾に blacklist earth-pt3 を追加。

入れ終わったら以下実行。

cd /tmp

git clone https://github.com/m-tsudo/pt3.git

cd pt3/

 

インストールは

sudo bash ./dkms.install

もしくは

make

make install

で。

 arib25ライブラリ

mkdir ~/git

cd ~/git

git clone https://github.com/stz2012/libarib25.git

cd libarib25/

cmake .

make

sudo make install

sudo /sbin/ldconfig

recpt1

cd /tmp

wget http://hg.honeyplanet.jp/pt1/archive/tip.tar.bz2

tar xvjf tip.tar.bz2

cd pt1-"hogehoge"   注意"hogehoge"はランダム

cd recept1/

sed -i".org" 's/pt1video/pt3video/g' pt1_dev.h

./autogen.sh

./configure --enable-b25

make

make install

 

 

Mirakurunインストール

Node.jsインストール

sudo apt install curl

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

sudo apt install nodejs

node -v

 

Mirakurunインストール

sudo npm install pm2 -g

sudo npm install mirakurun -g --unsafe --production

Rivarunは入れなくてよし。

Mirakurun設定ファイル編集

サーバー設定

sudo mirakurun config server

ポートとか変えるならここで。

チューナー設定

sudo mirakurun config tuners

PT3×1ならたぶんそのままで動く。

PLEXチューナーの場合は以下参考に。

カーネルバージョンの指定等もあるので要注意。

www.jifu-labo.netチャンネル設定

sudo mirakurun config channels

 

 

Chinachuインストール

chinachu用にユーザーを作る。

sudo adduser chinachu

sudo -i -u chinachu

sudo apt install git

cd ~/chinachu

./chinachu installer

実行すると

Chinachu Installer Menu:
[!] These are installed under all /home/chinachu/chinachu/...
[!] Recommend the Auto installation.
1) Auto (full) 3) Node.js Environment 5) ffmpeg
2) submodule 4) Node.js Modules
what do you install? >

1を入力、Enter。

 

設定ファイル作成

echo "[]" > rules.json

cp config.sample.json config.json

nano config.json

vimは嫌でしょ。

 

config.json内の

uid をnullから"chinachu"に

recordedDirを保存先に変更(末尾は/で)

細かいところは公式見ればわかるはず。

Gamma Configuration · Chinachu/Chinachu Wiki · GitHub

 

起動

./chinachu service wui execute

プログラムが終了しなければ正常に動作しているはず。

Ctrl+Cで抜ける。

 

自動起動設定

sudo pm2 start processes.json


chinachu-operator x 1 x 0.9.5-gamma.0 x fork x online x 0 x 0% x 28.4 MB 
chinachu-wui x 0 x 0.9.5-gamma.0 x fork x online x 0 x 1.2% x 171.9 MB 
mirakurun-server x 2 x 2.7.1 x fork x online x 0 x 5.7% x 157.2 MB 

3つあること確認

mirakurunがなかったら

sudo mirakurun stop

sudo mirakurun start

で3つ出るように。

3つ揃ったら

sudo pm2 save

sudo pm2 startup

で次回から3つが起動する。


EPG取得

./chinachu update

これで

http://localhost:20772/#!/schedule/table/

に番組表が出てくるはず。

ライブ視聴もできれば完成、なはず。

 

 

 

以下参考。

kusano-k.hatenablog.com

www.jifu-labo.net

ksmksks.hateblo.jp

  

UbuntuにNVIDIAドライバーを入れようとしたらつまづいた話

友人の研究室にお手伝いでたまに行く。

どうやら今回はGTX1060を積んだLinuxサーバーを作るみたい。

だけどnvidiaのドライバーがうまく入らないらしい。

なんで俺に聞くんだと思いつつ、いろいろ試したのをメモする。

しかし、正しい方法はわからないので参考にはあまりしないでほしい。*1

 

0,今回の環境

OS:Ubuntu 18.04

GPU:GTX1060

 

1,事前準備

ドライバー削除

dpkg -l | grep nvidia
dpkg -l | grep cuda

 

すでにnvidiaの何かが入っているかもしれない。

入っていたら

sudo apt-get --purge remove nvidia-*
sudo apt-get --purge remove cuda-*

で消しておく。消した場合はここで再起動。

 

GUICUI

ログイン状態にしてCtrl+Alt+F1 で,CUI画面にする。

 

XWindow的なのを止める

$ sudo service lightdm stop
$ pkill Xorg

GUIを提供するサービス?を止める。

止めないと入らない(はず)。

 

注意:自分はこの方法で止めずに

sudo systemctl set-default multi-user.target

CUIにしてインストール。インストール後に

sudo systemctl set-default graphical.target

GUIに戻した。

 

2,リポジトリ(ppa)を登録

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

 

3,ドライバーのインストール

sudo apt-get install nvidia-384

本当は390を入れたいが、384が最新であり実質390なので多分大丈夫。

*2

 

4,確認

reboot

再起動後に

dpkg -l | grep nvidia

nvidia-smi

 

多分実行できるはず。

 

5,CUDAも

CUDA Toolkit 10.0 Download | NVIDIA Developer

  1. `sudo dpkg -i cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb`
  2. `sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub`
  3. `sudo apt-get update`
  4. `sudo apt-get install cuda`

(注意:正しく入るかは未確認)

 

最後に

この方法のほうがいいかもしれない。

slackware.jp

 

参考ブログ

以下参考

swytel.hatenablog.com

qiita.com

swytel.hatenablog.com

*1:じゃあなぜブログにするのかって話でもあるが

*2:Ubuntu – Details of package nvidia-384 in bionic

ThinkPad X240のブート画面ロゴを変更した話

購入したX240、win7だったのでwin10に上げたのですが、ブート時のロゴがwindowsの窓なんですよね。

あれ、いかにもアップデートした感じで嫌じゃないですか。

 

windows10 boot logo - Google 検索

まさにこれ。

BIOSでもUEFIでもこれが出るの嫌ですよね、じゃあ書き換えられないのかって?

ThinkPadだとこれが書き換え可能なんです。

 

How to change the BIOS boot screen logo image on Lenovo Laptops

英語だけど詳細な画像つき。

ThinkPadのブートロゴを弄ろう « PC関連 « Tankの暇潰し工作記

説明が簡単だけど日本語。

 

これらのブログの通りやるだけですが、一応手順を説明すると

 

1,BIOSのアップデートツールをダウンロードをする

2,ダウンロードしたEXEを開く

3,C:\DRIVERS\FLASH\ランダムな英数字(だったはず)にあるBIOS_LOGO.txtを読む。

4,それに従ってロゴファイルを作成、txtと同じディレクトリに置く。

5,アップデート!

 

はい簡単。

 

注意点としてはLOGO2は完全なEFIブートでないと読み込みがされないという点です。

そのためにはCSMを無効にしたりLegacyBootを無効にしたり(SecureBootは無効でいい)する必要があります。*1

 

BIOSだとブートがLOGO1が読み込み→windows窓になります。それはそれでいいかもだけど。

*1:言うまでもなくGPTの必要あり

ThinkPad X240を買った

突然ですがThinkpad X240を買いました。

 

ヤフオクで液晶が汚れていない、割と良さげな個体が出てたのでつい購入してしまったのです。

最近リースアップ上がりが結構出ているみたいで最安だと10k切るみたい。

 

 

購入したのがこれ

 

ここからWWAN積んだり、*1SSD変えたりBIOS書き換えたりした。

*1:コンフルのはついているが自分のは別ルートなのでついていない

Raspberry pi で chromium+selenium + chromiumDriver が上手く動かなかった話

4ヶ月ぶりの投稿です。

 

seleniumとBeautifulSoupを使ってスクレイピングしようと思ったのですが

Raspberry Piで実行するときに引っかかったのでメモ。

 

 

Raspberry Pi + Selenium で検索

ほとんどの人が Selenium + Firefox +geckodriver で動くと書いてあった

が、新しくウインドウが開くだけでリンクが開けなかった。

いろいろ調べたものの、

 

・原因がFirefoxのバージョンアップに伴う仕様変更(しかも大規模更新)

 →現時点で動いても、バージョンアップですぐ動かなくなる可能性がある

・動作しても非常に遅い(分単位でかかるみたい)

 

ことから、一旦保留にした。

 

Firefoxが駄目ならChromiumを使えばいいじゃない

Chromiumseleniumを利用している人を見つけた。

www.reddit.com

基本的にはここに書かれている流れに沿って行う。

 

ただ、最新バージョンのChromium-driverを入れてしまうと、RaspberryPiに入っているChromiumが古いため動作しない。

 

ページ内に書かれているリンクだと最新版が入ってしまうので、意図的にバージョンが低いものをインストール。

launchpad.net

 

で、


driver = webdriver.Chrome('/usr/lib/chromium-browser/chromedriver')

driver.get('http://www.google.com/')

 

すると動いた。

スプラトゥーン2大会の運営を行いました(オフライン・LANプレイ)

大学のクリスマスパーティーの出し物の一つとしてスプラトゥーン2大会を行った。

今回、この大会の設営を行ったので備忘録、参考として残しておきたい。

 

 

 

 

試合について

スプラトゥーン2で対戦する方法は

  • インターネットを利用したプライベートマッチ
  • ローカル通信でのイカッチャ
  • LANプレイでのイカッチャ

の3つの方法がある。

各方法のメリット・デメリットとして

 

 インターネットを利用したプライベートマッチ

メリット

・10人での参加が可能(8人以上は観戦での参加)

・通信が安定していればどこでも対戦可能

デメリット

・インターネット環境が必要

・遅延の可能性がある

ローカル通信のイカッチャ

メリット

・Switchだけで対戦できる

デメリット

・通信が切れやすい

・8人まで

 LANプレイのイカッチャ

メリット

・インターネットが不要

・遅延が少なく、通信の安定性が高い

・10人参加可能

デメリット

・全員が集まるので大規模な準備が必要

・イカッチャでのLANプレイへの切り替え方を知らない人が多い

 

今回の環境が

  • インターネットの接続が不可能(学内LANは使用不可)
  • 安定した通信が必須(通信が切れたらやり直しのため)
  • 観戦もできること

であった為、有線LANを利用してインターネットに接続せずに試合を行えるLANプレイでのイカッチャを採用した。

 

必要なもの

参加者用セット

  • Nintendo switch
  • Switch Dockセット
  • モニター
  • HDMIケーブル
  • LANケーブル
  • USB-LAN変換アダプタ(Switch対応)

また、人によっては手持ちでのプレイをする人もいる。この場合はTypeC-TypeA変換アダプタが必要である。

 

観覧用

  • 参加者用セット
  • モニターのかわりにプロジェクター

運営用

以下必要ならば準備するもの

  • PC
  • HDMI分配・切り替え器など

今回は観覧用にswitch2台利用し、合計10台で大会を行った。

配線図

今回はこのような配置で試合を行った。f:id:pyu666:20171222180520p:plain

HDMI-LANはプロジェクターとSwitchの距離が離れていたため利用した。

通常は不要だと思われる。

f:id:pyu666:20171222185945j:plain

設備にかかる費用

今回の場合

モニター 12,000*10 = 120000

ドックセット 個人所有のもの 0

USB-LAN変換器 1200*10 = 12000

LANケーブル 大学にあるものや個人所有のもの 0

HDMIケーブル 個人所有のものと数本購入 約1000

HDMI分配器など 個人所有のもの 0

ルータースイッチングハブ 個人所有のもの 0

 

多くのものを借りることで費用を抑えたものの、モニター代が響いたため、設備だけで合計 約130,000円となった。

大会ルールなど

大会ルールはほぼスプラトゥーン甲子園に準拠した。

コントローラーのみ各人の自由にした。

ルール ナワバリバトル1試合
準決勝と決勝は2試合先取
使用コントローラー Nintendo Switch
Proコントローラー
※有線コントローラーを使用
ステージ ・バッテラストリート
フジツボスポーツクラブ
ガンガゼ野外音楽堂
・海女美術大学
・コンブトラック
・タチウオパーキング
チョウザメ造船
・ホッケふ頭
の中からランダムで選出
ブキ ステージ決定後に、各大会前日時点で使用できる全てのブキから選択
ギア ステージ決定後に全てのギアから選択
※ギアパワーは初期状態
オプション ブキ、ギア、カメラ感度を最大90秒以内で設定
amiibo 持ち込みのみ可
※ギアパワーは初期状態

【スプラトゥーン2】第3回スプラトゥーン甲子園の開催期間と詳細(スプラ甲子園) | GameWith【スプラ2】

より引用

当日の進行

設営には時間がかかったものの、見積った時間内におさまった。(約1h)

大会も通信エラーなどの大きなトラブルもなく、概ね円滑に進んだと感じた。

反省点など

  • LANプレイの切替に手間がかかる。事前周知する必要がある。
  • 観戦の操作が大事だが、なかなか難しい。自動になるとすごく嬉しい。
  • 任天堂さんアップデートお願いします

全体の感想

LANプレイは非常に安定しており、みんなで集まって大会を行うのには一番良い方法なのではないかと思ったのだが、いかんせん

費用と手間が馬鹿みたいにかかる。

モニタだけで12万円ですよ?設営も1時間は見積もった方がいいですし。

何と言えばいいかわからないけれど、これは常設を想定して作られたのかな、と。

ゲームカフェの一角でやる分にはいいけれど、個人宅ではほぼ不可能。

大学で行えたのも予算があったからであり、予算がなければ厳しいだろう。

(研究室のモニタを利用すればいいかもね)

みんなで集まってテザリングでわいわいリーグマッチやるのが一番いいのかもね。