ラズベリー PI – 手頃な価格のホーム オートメーション システムを実装します。 [パート III]

数ヶ月後に戻るにしました このプロジェクト 作成するつもりで、 無料ホーム ・ オートメーション システム, と 経済的に手頃な価格; このマイコンの低消費, しかし クロスプラット フォーム ポータブル OS デバイスへ GNU/リナックス 利用可能 ポート GPIO.以前の記事 我々 はのモジュールを制御することを学んだ リレー optoacopladosラズベリー PI によって bash, PHP, Python; この機会に オートメーション システムを最適化して, ついでに移行したと ラズベリー PI 3 処分するには ワイヤレス接続, 場合は、任意の以前のモデルを使用することができますが、.

ハードウェア 8 つのリレーの 2 つのモジュールで構成されています 各, 合計を構成します。 16 アウト 制御するには 家電機器, ジャックス電気, 照明; 終わりのないです。 デバイス それはこの小さなを変換すること ラズベリー PI 3, 必要なすべての 気に入って家 u 事務所 従来.

ビルディング オートメーション方式

回路ブレーカー スイッチ図 domotic DIY.

コントロール パネルのプログラムは PHP, コードの最適化は、 以前のバージョン 管理するものが、 GPIO 経由で直接 bash 大幅にプロセスを加速します。; 必要があります。, 以来、私たちはこのページ経由で提供 WiFi.

FremooticsPI

オートメーション システム web コントロール パネル.

事実 追加ファイルがないです。 ポート出力を管理するには GPIOラズベリー によって Python; この単純なを変換します web ページ, 1 つのファイル, 本当のスタート地点でいつの日かになっているを 完全ホーム ・ オートメーション システム 私が開発する、 一緒に.

<html>
<head>
<title>Panel de control - Sistema domotico libre</title>
</head>

<body>
<div align="center">
<br></br>

 <!--GPIO4/IN1-->
 <form action="" method="post">
 Interruptor 01 &nbsp;<input type="submit" name="encender4" value="Encender">
 <input type="submit" name="apagar4" value="Apagar">

 <!--GPIO17/IN2-->
 <form action="" method="post">
 &nbsp; Interruptor 02 &nbsp;<input type="submit" name="encender17" value="Encender">
 <input type="submit" name="apagar17" value="Apagar">

<br></br>

 <!--GPIO27/IN3-->
 <form action="" method="post">
 Interruptor 03 &nbsp;<input type="submit" name="encender27" value="Encender">
 <input type="submit" name="apagar27" value="Apagar">

 <!--GPIO22/IN4-->
 <form action="" method="post">
 &nbsp; Interruptor 04 &nbsp;<input type="submit" name="encender22" value="Encender">
 <input type="submit" name="apagar22" value="Apagar">

<br></br>

 <!--GPIO18/IN5-->
 <form action="" method="post">
 Interruptor 05 &nbsp;<input type="submit" name="encender18" value="Encender">
 <input type="submit" name="apagar18" value="Apagar">

 <!--GPIO23/IN6-->
 <form action="" method="post">
 &nbsp; Interruptor 06 &nbsp;<input type="submit" name="encender23" value="Encender">
 <input type="submit" name="apagar23" value="Apagar">

<br></br>

 <!--GPIO24/IN7-->
 <form action="" method="post">
 Interruptor 07 &nbsp;<input type="submit" name="encender24" value="Encender">
 <input type="submit" name="apagar24" value="Apagar">

 <!--GPIO25/IN8-->
 <form action="" method="post">
 &nbsp; Interruptor 08 &nbsp;<input type="submit" name="encender25" value="Encender">
 <input type="submit" name="apagar25" value="Apagar">

<br></br>

 <!--GPIO5/IN1-->
 <form action="" method="post">
 Interruptor 09 &nbsp;<input type="submit" name="encender5" value="Encender">
 <input type="submit" name="apagar5" value="Apagar">

 <!--GPIO6/IN2-->
 <form action="" method="post">
 &nbsp; Interruptor 10 &nbsp;<input type="submit" name="encender6" value="Encender">
 <input type="submit" name="apagar6" value="Apagar">

<br></br>

 <!--GPIO13/IN3-->
 <form action="" method="post">
 Interruptor 11&nbsp;<input type="submit" name="encender13" value="Encender">
 <input type="submit" name="apagar13" value="Apagar">

 <!--GPIO12/IN4-->
 <form action="" method="post">
 &nbsp; Interruptor 12 &nbsp;<input type="submit" name="encender12" value="Encender">
 <input type="submit" name="apagar12" value="Apagar">

<br></br>

 <!--GPIO19/IN5-->
 <form action="" method="post">
 Interruptor 13 &nbsp;<input type="submit" name="encender19" value="Encender">
 <input type="submit" name="apagar19" value="Apagar">

 <!--GPIO16/IN6-->
 <form action="" method="post">
 &nbsp; Interruptor 14 &nbsp;<input type="submit" name="encender16" value="Encender">
 <input type="submit" name="apagar16" value="Apagar">

<br></br>

 <!--GPIO20/IN7-->
 <form action="" method="post">
 Interruptor 15 &nbsp;<input type="submit" name="encender20" value="Encender">
 <input type="submit" name="apagar20" value="Apagar">

 <!--GPIO21/IN8-->
 <form action="" method="post">
 &nbsp; Interruptor 16 &nbsp;<input type="submit" name="encender21" value="Encender">
 <input type="submit" name="apagar21" value="Apagar">

</div>
</body>
</html>

<?php

// Funciones PHP del pin GPIO 4

 if ($_POST[encender4]) {
 $a- exec("echo 4 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio4/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio4/value");
 echo $a;
 }

 if ($_POST[apagar4]) {
 $a- exec("echo 0 > /sys/class/gpio/gpio4/value");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 4

// Funciones PHP del pin GPIO 17

 if ($_POST[encender17]) {
 $a- exec("echo 17 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio17/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio17/value");
 echo $a;
 }

 if ($_POST[apagar17]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio17/value");
 $a- exec("echo 17 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 17

// Funciones PHP del pin GPIO 27

 if ($_POST[encender27]) {
 $a- exec("echo 27 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio27/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio27/value");
 echo $a;
 }

 if ($_POST[apagar27]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio27/value");
 $a- exec("echo 27 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 27

// Funciones PHP del pin GPIO 22

 if ($_POST[encender22]) {
 $a- exec("echo 22 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio22/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio22/value");
 echo $a;
 }

 if ($_POST[apagar22]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio22/value");
 $a- exec("echo 22 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 22

// Funciones PHP del pin GPIO 18

 if ($_POST[encender18]) {
 $a- exec("echo 18 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio18/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio18/value");
 echo $a;
 }

 if ($_POST[apagar18]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio18/value");
 $a- exec("echo 18 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 18

// Funciones PHP del pin GPIO 23

 if ($_POST[encender23]) {
 $a- exec("echo 23 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio23/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio23/value");
 echo $a;
 }

 if ($_POST[apagar23]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio23/value");
 $a- exec("echo 23 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 23

// Funciones PHP del pin GPIO 24

 if ($_POST[encender24]) {
 $a- exec("echo 24 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio24/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio24/value");
 echo $a;
 }

 if ($_POST[apagar24]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio24/value");
 $a- exec("echo 24 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 24

// Funciones PHP del pin GPIO 25

 if ($_POST[encender25]) {
 $a- exec("echo 25 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio25/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio25/value");
 echo $a;
 }

 if ($_POST[apagar25]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio25/value");
 $a- exec("echo 25 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 25

// Funciones PHP del pin GPIO 5

 if ($_POST[encender5]) {
 $a- exec("echo 5 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio5/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio5/value");
 echo $a;
 }

 if ($_POST[apagar5]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio5/value");
 $a- exec("echo 5 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 5

// Funciones PHP del pin GPIO 6

 if ($_POST[encender6]) {
 $a- exec("echo 6 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio6/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio6/value");
 echo $a;
 }

 if ($_POST[apagar6]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio6/value");
 $a- exec("echo 6 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 6

// Funciones PHP del pin GPIO 13

 if ($_POST[encender13]) {
 $a- exec("echo 13 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio13/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio13/value");
 echo $a;
 }

 if ($_POST[apagar13]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio13/value");
 $a- exec("echo 13 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 13

// Funciones PHP del pin GPIO 12

 if ($_POST[encender12]) {
 $a- exec("echo 12 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio12/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio12/value");
 echo $a;
 }

 if ($_POST[apagar12]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio12/value");
 $a- exec("echo 12 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 12

// Funciones PHP del pin GPIO 19

 if ($_POST[encender19]) {
 $a- exec("echo 19 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio19/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio19/value");
 echo $a;
 }

 if ($_POST[apagar19]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio19/value");
 $a- exec("echo 19 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 19

// Funciones PHP del pin GPIO 16

 if ($_POST[encender16]) {
 $a- exec("echo 16 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio16/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio16/value");
 echo $a;
 }

 if ($_POST[apagar16]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio16/value");
 $a- exec("echo 16 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 16

// Funciones PHP del pin GPIO 20

 if ($_POST[encender20]) {
 $a- exec("echo 20 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio20/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio20/value");
 echo $a;
 }

 if ($_POST[apagar20]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio20/value");
 $a- exec("echo 20 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 20

// Funciones PHP del pin GPIO 21

 if ($_POST[encender21]) {
 $a- exec("echo 21 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio21/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio21/value");
 echo $a;
 }

 if ($_POST[apagar21]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio21/value");
 $a- exec("echo 21 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 21

?>

実行するには ラズベリーとリレーの間の接続, 必要があります。 次の表の文字の麓に行き スキーマに基づく GPIO BCM; それ以外の場合、ファイル内の行を変更する必要があるありますので PHP, 置き換えると、 コード 番号 ピン 従業員.

ラズベリー PI モデル B +/2/3 リレー モジュール 1
+ 5V + 5V
GPIO 4
で 1
GPIO 17
で 2
GPIO 27 で 3
GPIO 22
で 4
GPIO 18 で 15
GPIO 23
IN1 6
GPIO 24
IN1 7
GPIO 25
IN1 8
GND GND
ラズベリー PI モデル B +/2/3 リレー モジュール 2
+ 5V + 5V
GPIO 5
で 1
GPIO 6
で 2
GPIO 13
で 3
GPIO 12
で 4
GPIO 19
IN1 5
GPIO 16
IN1 6
GPIO 20
IN1 7
GPIO 21
IN1 8
GND GND

一度接続するとすべて、 ピンラズベリー それぞれ VCC, GND, e 入力 の、 リレー; 残っているだけ PHP ファイルをコピーします。 に、 ラズベリー PI, 何を使用する SCP これを行うことができること リモートで.

usuario@maquina:~ $ scp index.php pi@192.168.1.*:/home/pi/
usuario@maquina:~ $ ssh pi@192.168.1.* -C sudo mv /home/pi/index.php /var/www/html/

また リモートで 我々 は web サーバのディレクトリにファイルを移動します。, 私達は所有者によって割り当てられますと SSH に、 ユーザーとグループの www データ; それを加えるでしょう、 グループ gpio, し、 変更を適用するを再起動します。.

usuario@maquina:~ $ ssh pi@192.168.1.* -C sudo chown www-data:www-data /var/www/html/index.php
usuario@maquina:~ $ ssh pi@192.168.1.* -C sudo usermod -a -G gpio www-data
usuario@maquina:~ $ ssh pi@192.168.1.* -C sudo reboot

最後です 私たちは 230 v リレーとフィードします。 見たとおり、 以前の記事 作って、 橋の入り口とその他の肯定的な棒の間, 単一の使用 プラグ, またはスイッチ ミニチュア サーキット ブレーカー; しかし、接続する場合 16 デバイス 高い消費は 2 つを使用することを推奨, またはより多くのプラグ.

relespuenteados

リレー モジュールの肯定的な棒の間のブリッジのスキーム.

残りの線, 対応する、 否定的な棒 とに、 をかかる 地球, 我々 はそれらを接続します。 デバイスに直接 制御する、 リレー モジュール, 私の場合、 プラグ domotic DIY; 我々 はまた、心に留めてください、 安全リレーは、1 a 出口を持つ必要があります。, だから 16 出力のリレーが必要になります 16宛先.

リレー図プラグ

図プラグ domotic DIY.

以下では ビデオ このパフォーマンスを見ることができます。 16 出力システム それらをチェックして, デモンストレーションを通して 低エネルギー ランプ; ような場合を忘れないでください。 フォローします。 YouTube いずれかをお見逃しなくする、 未公開動画 私は公開するつもり.

私を従うことができますあなたのようなかどうか Twitter, Facebook, Google +, LinkedIn, Feedly, この文書の下のボタンと共有したり, ご質問がある場合は提案がコメントすることを躊躇しないでください。.

多くの読者に到達するために役立つ Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

16 上の考え"ラズベリー PI – 手頃な価格のホーム オートメーション システムを実装します。 [パート III]

  1. Peatonet 質問, 私は、コードをコピーして、すべてが正しく動作, その移動後方ボタン以外, オンにシャット ダウンし、その逆.

    すべての素晴らしいブログをありがとう.

    • こんにちは XuFLeS, あなたのコメントのおかげで.

      おそらく、電源接続するリレーとは; それを接続したかどうかのチェックに役立つであろう通常オープン (ない) ではなく、通常閉鎖 (NC).

      じゃあね.

      • 私はテストに連絡先を接続する前に 230 V とリレーの led 赤になってのときパルスをオフにします。. それを逆にし、見栄えするコードを若干変更しました, しかし、真実は私に登場していた疑問です。. あなたの答えいただきありがとうございます.

  2. 良い貢献. 類似した何かを必要な灌水コントロールが一つの条件: N の 1 つを出力する場合は、します。 1 GPIOx になります 1. GPIO の骨すべて出力する場合のみの場合 0 を = = 0. 任意のアイデア?? 出力いるソレノイド バルブ GPIOx ポンプ. 既にあなたに感謝から.

    • こんにちはエドゥ,

      最終的な出力数に応じて, 1 つまたは複数のラズベリー PI を使用します。; 1 つは簡単になります。, いくつかがデバイス間の最適な方法の情報を評価する必要があります。.

      コメントありがとうございます.

  3. こんにちは, 携帯電話から、屋外照明を制御したいと思いますので、私はこれに興味が.
    ラズベリーとの何かをしようと初めてであろう.
    しかし、疑いが発生私この記事を呼び出すとき “パート 3”.
    欠落していないとしてパート 1 および 2 から何かを使用する唯一の PHP コード?
    私はこのコードが index.php になることを理解します。, どこイリアを配置?
    どうもありがとうございます!

    • こんにちは Paul,

      このコードだけで PHP は最もバージョンに実装することができます ' 現在’ システム.

      前のチュートリアルとそれらのレビューの説明ファイルはどこに (index.php), 適切なアクセス許可を与えるような, など…

      コメントのおかげで.

      • 迅速なご対応ありがとうございます.
        8 つのリレーの単板と接続しています.
        珍しいことが解決策を見つけることができない私に起きているが、.
        Web ボタンを与える, カーネルは、私を完全に活性化, その対応する電圧を与えるとされるまでそれを保つそれをオフします。, リレーは、一方が、その “クリックします。” スイッチではありませんが、実行しています。. 音がまるでリレーが伴うと非アクティブ化, メーターは、すべての変更を検出しません、だから高速です。.
        ためにあります。?
        ありがとう.

        Salu2!

        • バグを発見しました。.
          PHP コードで, コマンドをオフにするに, $a コードを削除します。- exec(“エコー 18 > /sys/クラス/gpio/アンエクスポート”); , あなたとして最初のスイッチである、今私は作品.
          今こそ, ラズベリーをオンにするの初めて; 中程度の強度の光を 8 つの led, オンにし、一度シャット ダウンする必要があるから、led に入れますまた、今作品を修正.

          Salu2!

          • 申し訳ありませんがそう多くのコメントが、これでは重いので、私は私の raspery で行う最初のプロジェクト、それは素晴らしいと非常に単純です! このチュートリアルは、.
            この装備が開きます世界、inmeso!
            ウェブ上, PHP を離れることがなく, スイッチがアクティブなを見ることができます。?
            スイッチ, タイム スケジュールとタイミング処理が届く?
            真実の,私は新しい世界を開きました, 非常に面白く、経済的です.

            Salu2 と感謝!

          • こんにちはポール GC.

            私は、コメントで私は説明確認スイッチは、GPIO の PHP 状態をアクティブ ・ リーディングと思う.

            時間をプログラムによって制御するには、最も簡単な方法はシステム CRON デーモンを使用して欲しいものを実行するには, どの侯爵ル時.

            コメントありがとうございます.

          • 既になり日除けプロジェクト, カーネルの状態を読むことは十分に使用
            exec ( “GPIO を読む 29”, $status21 );
            場合 ($status21[0] == 0) {
            }
            それが点灯表示するかっこやステータスを = = 1 シャット ダウンの.

            Gpio ポートの番号が読む gpio の番号が一致しません。, 私私は読み取りの番号で各ポートの等価のテーブルを置くここでする場合.

            まだ理解していない唯一のもの, です。 1 オフだと 0 それは.
            ラズベリーの理由, すべての出力の状態が, 中電圧と出力を残してまで動作しない電源を 2 回.

            サイトのリセットを作成します。, それは何かはすべての出力に順序を放たない, 、 “睡眠” して、それらすべてを消すに秩序を与える, このプロセスの後すべての機能が既に.

            そのため可能性があります渡されるこれらの 2 つのこと?

            Salu2!

          • こんにちは Paul, 私が遅延のため申し訳ありませんが午前の仕事や勉強の間に最近非常に少し時間.

            まずは、ブログの他の読者とあなたの進捗状況を共有しているあなたに感謝したいです。, 私が保留中の自由な時間を持っているときはホーム ・ オートメーション簡単かつ手頃な価格でチュートリアルのこのセクションを続ける, しかし、それは本当にプロジェクトとカスタム システムで 1 つずつ作るつもりで楽しみにして自分を以下のようにして私のプライド.

            値論理 low を割り当てることによって、これらのリレーを有効にする点 (0), 高論理値を入れますと (1) そのため通常閉鎖回路の代わりに通常開いていると 230 v にリレーを接続したことが可能です。, 私はこの記事の最初のコメントのリーダー XuFLes を言った、; あなたはそれを試してみるし、問題が解決しない場合, 気軽にコメント、その他の可能性を考えてみてください。.

            各 Raspbian 点火後リセット出力を行うことを避けるために, エクスポートおよび再起動する pin を設定する簡単なスクリプトを作成します。, rc.local から起動をするなどして、.

          • こんにちは!
            午後からの返信で何も!
            それはあなたの時間を取るに論理的で、特にこれらの日付.
            点火およびシャット ダウン, それは他の方法で回避動作します。, 私は接続されているリレーがあります。.

            そして、rc.local の何, リセットされたページに移動することを避けるために, 同様に、.

            Salu2!

  4. 良い歩行者, それらを読んで時間がかかった 3 ホーム ・ オートメーションに関するチュートリアルの部分, しかし、そのプログラミングは非常に高速で私, 私は超面白いが、完全なシステムの自動化を行うための詳細を不足している私たちと思うようであるし、外部の入力を受け取ることがテーマ, ( ボタン, センサー照明, など). 共同作業し、私は助けることができるし、私は全体のプログラミングを理解する助けを求める見返りに、電気部品と思うしたいと思います. 私のメールです。 tecnico.antono.raya@gmail.com

    挨拶と web おめでとう

  5. こんにちは、元気にしていますか, プロジェクトに興味があります。, 私は github のレポジトリを見ないが、, 協力したいと思います, 私は私のホーム オートメーション ベースのプロジェクトのラズベリー pi を購入しようとして, 私はエレクトロニクスについてはあまり知らないが… 我々 の学習します。, よろしくお願いいたします.

メッセージを残してください