raspberrypiにasteriskをインストール

必要なパッケージ(必要か?)をインストール

sudo apt-get install -y build-essential binutils cpp dpkg-dev fakeroot gcc libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libc-bin libc-dev-bin libc6 libc6-dev libdpkg-perl libgomp1 linux-libc-dev make manpages-dev git-core subversion libjansson-dev sqlite autoconf automake libxml2-dev libncurses5-dev bison flex curl sox libncurses5-dev libssl-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git subversion unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev libedit-dev

asteriskをダウンロード&解凍

cd /usr/local/src
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
sudo tar zxvf asterisk-18-current.tar.gz

インストール

cd  asterisk-18.13.0
sudo ./configure
sudo make menuselect
メニュー画面の「Core Sound Packages」必要なフォーマットのファイルを選択し
[*]CORE-SOUNDS-JA-WAV
[*]CORE-SOUNDS-JA-GSM
[*]CORE-SOUNDS-JA-G729
[*]CORE-SOUNDS-JA-G722
[Save & Exit]
sudo make
sudo make install
sudo make samples
sudo make config
sudo ./contrib/scripts/get_mp3_source.sh
sudo asterisk start
sudo asterisk -vvvvr

起動したら成功。

wifiのパスワードをハッシュ化する

raspberrypiでwifiの設定
/etc/wpa_supplicant/wpa_supplicant.confにSSIDとパスワードを書きますが、
そのwifiパスワードを直に書かない方法。

wpa_passphrase "SSID" "パスワード"

と入力すると、ハッシュ化されたパスワードが画面に出力されます。
それを書き込んで再起動します。

network={
   ssid="SSID"
   psk=ハッシュ化されたパスワード(※""は不要)
}

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

raspberry pi で固定ip

古い記憶をたどって /etc/network/interfaces を編集すると、

ここを編集するな、/etc/dhcpcd.conf を編集せよ、のようなことが書いてある気がする。

恐る恐る末尾に書き加えてみる
sudo vim /etc/dhcpcd.conf

interface eth0
static ip_address=192.168.1.100/24
static routers=192.168.1.1

とりあえず動いています。

ラジコを聞く~その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

と記述する。

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