このリポジトリでは、太陽光発電値の簡単なシミュレーションが実装されています。主に3つのコンポーネントがあります。
最初に、MeterはPhotovoltaicsモジュール(PV)に初期化メッセージを送信します。このメッセージにはfile_name変数が含まれており、PVに、事前定義されたコンテンツを持つ名前file_nameを使用してファイルを初期化するように通知します。
1秒ごとに、ワット値がMeter.pyで読み取られます。これは、家の消費電力を反映する必要があります。次に、メーターはこのワット値とそのタイムスタンプを太陽光発電モジュール(PV)に送信します。 PV(すでにメーターを聴いています)は、この情報を取得し、タイムスタンプパラメーターを使用して事前定義された分布からワット値(PVによって生成された電力)をサンプリングします。次に、このデータはfile_nameに追加されます。
Ubuntuコンピューターを使用してください。すべての開発はUbuntu 16.04環境で行われます。他のOSはテストされていません。
rabbitmqサーバーを設定して実行する必要があります。
セットアップするには、rabbitmqガイドを参照してください。
後で、以下でサービスを開始します
sudo service rabbitmq-server start
Project Directoryに移動し、PIP依存関係をインストールします
pip install -r requirements.txt
Notebooks meter_simulator.ipynbおよびpv_simulator.ipynbを開きます。
ノートブックpv_simulatorで、コードまで実行します。
pv . listen_queue ()これにより、実行するメッセージを実行することができます。注:この待機は、ノートブックの割り込みで停止することができます。または、キーを備えたメッセージ(Pythonのタイプ辞書の): m_typeが1に等しいメッセージは、チャネルで.stop_consuming()メソッドを実行することでこの待機を停止します。
次に、ノートブックMeter_simulatorで、パッケージのインポートとセットアップパラメーターセクションを実行した後、どのタイプのシミュレーションが推奨されるかを選択できます。最初のものは遅く、もう1つはクイックシミュレーションです。
遅いシミュレーションが優先される場合、セットアップパラメーターの後のコードは、クイックシミュレーションセクションを実行できるまでです。
クイックシミュレーションが事前にフィフル化されている場合、セットアップパラメーターを実行した後、クイックシミュレーションセクションを実行する必要があります。
シミュレーションが終了すると(m_type = 1で)、pv_simulatorで新しいメッセージを待つと終了します。
シミュレートされた値を確認するには、 pv_simulatorノートブックの視覚化セクションに移動します。変数output_file_nameに視覚化されるCSVファイルのファイル名を割り当て、セルを実行します。
ビジュアルの例は次のとおりです。


アプリケーションがコンピューターで実行されるかどうかを確認するには、次のようにプロジェクトディレクトリのpytestsを単純に実行できます。
python -m pytest tests/