pigpiod

pigpiodはデーモンとしてpigpioライブラリを起動するユーティリティ。
pigpioはバックグランドで動作し、インターフェイスからのコマンドを受け取る。
起動するには管理者権限(sudo)が必要だが、起動後は通常ユーザーでもコマンドを使える。

$ sudo pigpiod

pigpiodオプション

-a value        // DMAメモリ割り当てモード
                //  0 = auto, 1 = PMAP, 2 = MBOX, Default = auto

-b value        // GPIOのサンプルバッファサイズ(m秒)
                // 100-10000, Default = 120

-c value        // ライブラリ内部設定
                // Default = 0

-d value        // プライマリDMAチャンネル
                // 0-14, Default = 14

-e value        // セカンダリDMAチャンネル
                // Default = 6, 可能であれば0-6のいずれかを使用

-f              // fifoを無効化

-g              // フォアグラウンドで実行

-k              // ローカルとリモートソケットインターフェイスを無効化

-l              // リモートソケットインターフェイスを無効化

-m              // アラートの無効化

-n IP address   // IPアドレスにソケットインターフェースの使用を許可する
                // 名前かドット付きのアドレスを指定
                // このオプションを使用しない場合はすべてのアドレスを許可
                // -n オプションは複数指定出来る
                // -k が使用されている場合は効果なし
                // -l のみが使用されている場合は -n localhost は効果あり

-p value        // ソケットのポート指定
                // 1024-32000, Default = 8888

-s value        // サンプルレートの指定
                // 1, 2, 4, 5, 8, 10 (m秒), Default = 5

-t value        // 周辺機器のクロック指定
                // 0 = PWM, 1 = PCM, Default = PCM
                // pigpioは、PCMとPWMの一方または両方を使用する。
                // PCM使用時PWMはオーディオに使用できる
                // PWM使用時PCMはオーディオに使用できる
                // wavesまたはハードウェアPWM使用時オーディオには
                // PWMもPCMも使用できない

-v -V           // バージョンを表示して終了

-x mask         // 更新可能なGPIO
                // ユーザーがGPIO n を更新する可能性がある時
                // (1 << n)を設定した54ビットマスク
                // デフォルトはすべてのGPIO

Raspberry Pi OS(systemd)の場合、起動時に自動実行したければ下記コマンドを実行

$ systemctl enable pigpiod

sudoで実行しろ!って怒られたら素直に言う通りにする
自動実行を消したければenableをdisableに変更