私のホームオートメーションシステム。 オペレーティングシステムイメージの作成

はじめに

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.org
Raspbian 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カードをバックアップする必要があります。 これで、自動化システムをインストールする準備がすべて整いました。

Source: https://habr.com/ru/post/J446190/


All Articles