はじめにRaspberry Pi 2.3へのシステムのインストール
私の意見では、初心者にとって最も簡単な方法を説明します。
すべてのアクションはUbuntu 18.04で発生します。
コマンドのヘルプについては、「man」コマンド+目的のコマンドを使用してください。
man ls
または、キー--helpを使用した必要なコマンド
ls --help
1. microSDカードにRaspbian Stretch Liteオペレーティングシステムをインストールします。
MicroSDカードはクラス10で、容量は8ギガバイトである必要があります。
SDカードをコンピューターに挿入し、次のコマンドを入力します。
lsblk

この例では、マップはmmcblk0として定義されているため、この名前を使用します。
次に、以前に記録された情報のカードをクリアするには(ディスクイメージを作成します)、次のコマンドでそれを消去する必要があります。
dd if=/dev/zero of=/dev/mmcblk0
このコマンドにはスーパーユーザー権限が必要です。このため、最初にキーワード
「sudo」を追加する必要があります。 以下、
sudoなしでコマンドを提供します。 コマンドを入力するときにオートコンプリート(Tabキー)を使用する場合、これはコマンドとファイルパスの正しい入力を制御するために必要です。 コマンドの実行中に、オペレーティングシステムの新しいディストリビューションをダウンロードできます。
ここからダウンロード:
raspberrypi.orgRaspbian Stretch Liteが必要です。 ダウンロードしたzipを解凍します。拡張子がimgのファイルが必要です。これは、カードにコピーするディスクイメージです。 したがって、ディスクイメージがあり、ddコマンドが完了したら、次に進みます。
画像をカードにコピーします。
dd if=/path/to/raspbian.img of=/dev/mmcblk0 bs=4M status=progress
完了後、次のコマンドを入力します。
sync
カードを取り出して挿入し直します。
マップのブートディスクに空のファイルを作成します。
touch /media/$USER/boot/ssh
これは、Raspberryでsshサーバーを起動するために必要です。
カードを安全に取り外し、Raspberryに挿入し、有線ネットワークに接続して通電する必要があります。 2 apmeraの電源ユニットがない場合は、USB3を搭載したコンピューターから電源を供給できます。 最初の起動時に、システムはディスクのサイズをカードのサイズまで増やしますが、しばらく時間がかかります。
RPiのIPアドレスを確認するには、arp-scanユーティリティを使用できます。 インストールされていない場合は、次を設定します。
apt install arp-scan
ネットワークカードの名前を確認します。
ip a
または
netstat -i

wlp1s0という名前のwifiカードがあります。
arp-scanを実行します。
arp-scan -I wlp1s0 -l

IP 192.168.0.114のRPiが必要です。アドレスはDHCPによって割り当てられ、何でもかまいません。
sshでRPiにアクセスします。
ssh pi@192.168.0.114
最初の認証で
yesと入力してから、pi-
raspberryのパスワードを入力する必要があります。
Raspberryにログインできた場合は、次のコマンドを入力します。
init 0
このコマンドは、RPiをオフにします。
カードをもう一度コンピューターに挿入する必要があります。 ここで、「gparted」プログラムが必要です。インストールされていない場合は、以下を設定します。
apt install gparted
gpartedを開始します。ディスクmmcblk0p2のサイズを変更する必要があり、最後に300-500メガバイトまたはカードのサイズの2-3%の未割り当て領域を残します。これは、イメージが異なるメーカーのカードに収まるために必要です。 結果は次のようになります。

gpartedでの作業が完了したら、カードのバックアップコピーを作成できます。これにより、さらなる実験で問題が発生した場合に、既製のイメージが得られます。
dd if=/dev/mmcblk0 | bzip2 > raspbian.bz2
これで、次のコマンドでいつでもディスクを復元できます。
bzcat raspbian.bz2 | dd bs=4M of=/dev/mmcblk0
その結果、すぐに使用できるオペレーティングシステムとそのバックアップコピーを備えたmicroSDカードができました。
2. Raspbian Stretch Liteを構成します。
sshでRPiにアクセスします。 有線ネットワークとwifiの静的アドレスを構成するには、/ etc / dhcpcd.confファイルの最後に次の設定を追加します。
インターフェースeth0
static ip_address = 192.168.0.10 / 24
静的ルーター= 192.168.0.1
static domain_name_servers = 8.8.8.8、8.8.4.4
インターフェイスwlan0
static ip_address = 192.168.0.10 / 24
静的ルーター= 192.168.0.1
static domain_name_servers = 8.8.8.8、8.8.4.4これらの設定により、RPiは有線またはWiFiネットワークで同じIPを持ちます。
wifiを設定するためのファイル-/etc/wpa_supplicant/wpa_supplicant.conf
次の設定を追加します。
ネットワーク= {
ssid = "NAME"
psk = "PASS"
}ここで、WiFiネットワークからのNAMEおよびPASSユーザー名とパスワード。 RPiの使用場所が事前にわからない場合は、名前とパスワードを後で入力できます。
cronプログラムにタスクを追加します
crontab -e
最初の起動時には、テキストエディタnanoを選択する必要があります。nanoは最も馴染みのあるものです。

スケジュールを機能させるには、次の設定を追加します。
PATH = / usr / sbin:/ usr / bin:/ sbin:/ bin
シェル= / bin / bashタスク自体、各ダウンロードの時間と連続操作の継続時間を記録します。これは将来役立つ情報になります。
リブートスリープ60 &&日付>> my-reboot.txt
@weekly uptime >> my-uptime.txt終了するには、キーの組み合わせCtrl + x、Y、Enter
タイムゾーンの設定は、次のコマンドで行います。
dpkg-reconfigure tzdata
SDカードのリソースを増やすには、ロギングを停止してスワップファイルを削除できます。
(これにより、動作中のRPiの突然のシャットダウン中にSDカードの障害やデータ破損の可能性を減らすことができると思います):
apt update apt purge dphys-swapfile apt autoremove --purge apt install busybox-syslogd dpkg --purge rsyslog
プログラムのインストール:
apt install mosquitto mosquitto-clients sqlite3 libsqlite3-dev mc htop arp-scan vim supervisor python-pip python3-pip python-virtualenv python-dev
pip install psutil paho-mqtt pip3 install psutil paho-mqtt
homekit2mqttの場合、nodejsをインストールする必要があります。
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - apt-get install -y nodejs
インストールされているバージョンの確認
node -v nodejs -v
node-redのインストール:
npm install -g --unsafe-perm node-red
以下を開始します。
node-red

ブラウザのアドレスバーに、RPi 192.168.0.10:1880のIPアドレスを入力します

node-redを終了し、Ctrl + cを押して、.node-redディレクトリーに移動します
cd .node-red
node-redのパッケージをインストールすると、さまざまなデバイスのテスト、構成、および通信に必要になる場合があります。
npm i node-red-dashboard node-red-contrib-sonos node-red-contrib-knx node-red-node-serialport node-red-contrib-globalcache node-red-contrib-counter
ホームディレクトリに戻ります
cd
homekit2mqttをインストールします。
apt install libavahi-compat-libdnssd-dev npm install -g homekit2mqtt --unsafe-perm
コマンドでホームキットを実行してみることができます
homekit2mqtt

デフォルト設定で起動し、iPhoneまたはiPadのホームプログラムに新しいデバイスを追加できます
パスワード
piは現在のものを残します。
すべてがインストールおよび検証されたので、以前と同じ方法でSDカードをバックアップする必要があります。 これで、自動化システムをインストールする準備がすべて整いました。