ラジコを聞く~その2~

以前、raspberrypiでradikoを聞けるようにしましたが、いつの間にか聞けなくなってしまいました。AdobeがFlashのサポートをやめたことが関係しているとかいないとか。

別の方法はないかと思い検索していたらこちらのサイトを見つけました。感謝です。

まずはStreamlinkというものをインストール。こちらのサイトの通りにコマンド。

pip install --upgrade --user streamlink

すると
『Command “python setup.py egg_info” failed with error code 1 in /tmp/pip-build-uWhOKs/cryptography/』
というエラーが出てしまいました。
こちらのサイトを参考にさせて頂くと、必要なライブラリが足りないかもらしい。
試しに、

pip install cryptography

と打ってみると、エラーが出なくなりました。

次にmpvという再生アプリケーション(?)をインストール

sudo apt-get install mpv

後はスクリプトファイルを作りコマンドを実行。

#!/bin/sh
~/.local/bin/streamlink -p mpv http://radiko.jp/#!/live/FMT best

↑はFM TOKYOを聞く場合。
スクリプトファイルを作らずに直接コマンドを実行しても、何故かうまくいきません。

前の方法よりスムーズに聞けるようになりました。快適!

raspberrypiなどの更新系コマンド

apt-getなになに、がいつも混乱するので簡単にメモ。

普段Ubuntuを更新するときは下記のようにしてる。

sudo apt-get update
sudo apt-get upgrade -y
sudo reboot

raspberrypiを更新するときは下記のようにすると良さそう。

sudo apt update
sudo apt full-upgrade -y
sudo apt autoremove -y
sudo apt clean
sudo reboot

そして

sudo rpi-update

このコマンドはプレリリース版へ更新するコマンドのよう。

それと

sudo apt-get dist-upgrade

dist-upgradeはDebianのバージョンを更新するコマンドのよう。

使いどころを気を付けなくては。

参考にさせて頂いたサイト
apt-get dist-upgradeとapt-get upgradeの違い
raspberrypiのOSを更新する方法
Raspberry Pi の OS を最新の安定版にアップデートする(2020年7月版)

Codiadでログインを省略する

ブラウザベースのIDE、「Codiad
インストールも手軽でとても気にってます。

が、raspberrypiなどローカルでメモ帳代わりに使ったりするときにいちいちログインするのが面倒だったので
省略できないかなぁと思って色々やってみました。

シュッとしたやり方が見つからなかったのですが(汗)

〇やり方その1

codiad/data/users.phpの中にあるユーザーデータを見る。


codiad/components/userclass.user.phpに上のログイン情報を追記

public function Authenticate()
{
    $pass = false;
    $this->EncryptPassword();
    $users = getJSON('users.php');

    /* --- 追記 --- */
    $this->username='ユーザー名';
    $this->password='ハッシュされたパスワード';
    /* --- /追記 --- */
 

こうするとログイン画面で何も入力せず、ログインボタンを押すだけでログインできる。

〇やり方その2
カッコ悪いけど・・・
codiad/index.phpのformにログイン情報を書いて、jQueryで自動サブミットしてしまえ。
下記の部分を






・
・
・

↓のように書き換え






・
・
・



これで0.5秒で自動ログインしてくれます。
スマートなやりかたではありませんが(汗)

wake on LANをオンにする

WOLを使って電源を入れたいけど、うまくいかなかったのでメモ。

まずマジックパケットを送る側のPC(自分の場合はraspberrypi)でwake on lanをインストール。

sudo apt-get install wakeonlan

そこから電源を入れたいPCのMACアドレスに向けて

wakeonlan 00:00:00:00:00:00

と送っても電源が入らない・・・
BIOSの設定も問題なし。何故だろう。。。

マジックパケットを受け取る側のPCにethtoolをインストール。

sudo apt-get install ethtool

WOLが有効か確認

sudo ethtool eth0(←ifconfigで確認)

ぶわぁっと出てくるので下記を確認
『Wake-on: g』gなら有効なので問題なし
『Wake-on: d』dなら無効なので有効にする必要あり

有効にするには下記のコマンドを打つ

sudo ethtool -s eth0 wol g

これを起動時に実行して欲しかったので、/etc/rc.local
に書きました。
そしたらうまくWOLできるようになりました!

参考にさせて頂いたサイトはこちら

インストールされているphpのパッケージを調べる

新年始まりました。
おうちのraspberrypiにnextcloudをインストールしようと思ったところ
——
This version of Nextcloud requires at least PHP 7.2
You are currently running 7.0.33-0+deb9u10. Please update your PHP version.
——
と出てしまいました。PHPのバージョンが古いようです。

最新バージョンを入れるにあたり、とりあえずPHP関連のパッケージ?ライブラリ?は何がインストールされてるのかなぁと思い、調べ方を調べました。

apt list --installed | grep php

参考にさせて頂いたサイトはこちら

raspberrypiの音量変更

raspberrypiにスピーカーをつないで音楽やラジオを再生しているのだけど、
な~~んか音が小さく感じる。
スピーカーの電源をraspberrypi本体のUSBポートから、
独立した電源アダプタに切り替えてみても音量変わらず・・・

あるときふと思った。スピーカーの音量ではないのではないか。

Windowsにもボリューム調整あるし、
raspberrypi本体にも内部ボリュームがあるのではないかと。
調べたらあっさり出てきた。。。
参考にさせて頂いたサイトはこちら

まず調べる。

amixer -M

ババババと文字が出てくるのでボリュームの名前を見る。
自分の環境では「PCM」という名前だった。

現在の音量を調べるとき

amixer sget PCM

音量を100%にするとき

amixer sset PCM 100%

音量を20%増減するとき

amixer sset PCM +20%
amixer sset PCM -20%

これですごく快適になった。

raspberrypiでWifiやBluetoothを無効にする

raspberrypiでWifiやBluetoothを無効にしたい。
ずっと電波を探し続けているなんてなんか可哀そうな気がしたので。

/boot/config.txtの末尾(かどこかに)に

#Wifi オフ
dtoverlay=pi3-disable-wifi

#bluetooth オフ
dtoverlay=pi3-disable-bt

と記述する。

別の方法
/etc/modprobe.d/raspi-blacklist.confに

#bluetooth off
blacklist btbcm
blacklist hci_uart

#wifi off
blacklist brcmfmac
blacklist brcmutil

と記述する。

参考にさせて頂いたサイトはこちら

サービスの自動起動のON・OFF

サービスの自動起動をしたり、停止したり。

サービスの自動起動ON

sudo update-rc.d サービス名 defaults

サービスの自動起動停止

sudo update-rc.d サービス名 remove

参考にさせて頂いたサイトは
こちら
↑のサイトではApacheからNginxの切り替えについての記事でした。

テンキーでraspberrypiを操作する

raspberrypiで部屋の電気(ルームライト?)を赤外線で操作したり
radikoを聞けるようになったは良いものの、毎回SSHでログインしてコマンドを打つのがとても面倒に感じてました。

ルームライトの操作なんてリモコンを操作した方が100倍早く、
壁のスイッチを押したほうが1000倍早い。
なので、物理ボタンでraspberrypiを操作して電気のオンオフをできないものかなぁと思った次第。

キーボードを直接つないで直接コマンドを叩くことも考えたのですが、それではあまりうまみもなく、場所も取るので却下。
と、ふと、そこで思い付いたのがテンキー。

テンキーで例えば「1」を押したら電気OFF!みたいなことできたら最高ではないかと。

さっそく調べてみたところ、pythonで操作する方法が多めに出てきたのですが、
自分はPHPしか読み書きできないのと、よし!この際pythonを覚えよう!という気持ちが沸かなかったのと、もっと楽な方法はないかなぁという欲があり、さらに調べていたところ、先人を発見。こちらのサイトを参考にさせて頂きました。

結論。
エイリアスを設定する。

/etc/bash.bashrc
の末尾に記入。

alias 1='~/bto_ir_cmd/my_room_light_off.sh'
alias 2='~/bto_ir_cmd/my_room_light_on.sh'
alias 800='~/my_tokyofm.sh'
alias 9='~/my_radiko_stop.sh'

これで「1」を押せば電気OFF、「2」を押せば電気ON、「800」でTokyo FMが再生、「9」でラジオが停止されるというようにしました。

いざ「1」Enter!・・・・・・

何も起きない。。。

画面をつないでみたら、ログイン画面で止まっていた。道理でコマンドが入力されないわけだ。
こちらのサイトを真似させて頂いて、自動ログインを有効にしました。

/etc/systemd/system/getty.target.wants/getty@tty1.service
の↓のような部分にユーザー名を追記。

ExecStart=-/sbin/agetty --autologin ユーザー名 --noclear %I $TERM

これで物理ーテンキーからコマンドを受け付けるようになりました。
テンキーからraspberrypiを操作できるようになってものすごく便利になりました。

とくにradikoの起動が非常にスムーズになり、快適なラジオ生活がおくれるようになりました。