SigfoxkWhメーター
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
アプリとオンラインサービス
> |
| |||
| ||||
|
このプロジェクトについて
1)一言で言えば
このチュートリアルは、古い誘導電力計をインターネットに接続するデバイスを作成するのに役立ちます。そして、それは正確にはどのようなメーターですか?それは一種の最も古いですが、まだ使用されているパワーメーターです。それは回転ディスクを持っています、そしてそれは少し黒い縞でそれの周りに反射ペイントを持っています。黒い部分が通り過ぎるのを見るたびに、それは1回転が完了したことを意味します。このプロジェクトでは、120ターンは1kWhの消費量に相当します。
2)マイクロコントローラー、IoTネットワーク、その他の使用物
したがって、Arduino MKRFOX1200 が必要になります 、 Sigfox があります (そしてそれがネットワークです)接続。 SigfoxはLPWANネットワークであり、インターネットに何でも接続できます。ネットワークはISM帯域868MHzで動作し、毎日140メッセージ(それぞれ12バイトのペイロード)をアップリンクで送信できます。しかし、それはネットワークだけではありません。 Sigfoxは、メッセージの操作方法をカスタマイズする機会を与えてくれます。実際、すべてのメッセージはSigfoxクラウドに保存されており、そこから宛先(コールバックなど)を定義することでメッセージを取得できます。
ThingSpeak:
ThingSpeakは、ユーザーフレンドリーなデータ表示のためのIoTプラットフォームです。このプロジェクトでは、転送が発生するとすぐにグラフを使用して受信した消費量を表示するのはSigfoxコールバックの宛先です。
1つ もっと 時間 - どちら 電気 エネルギー パワー 消費 メーター します 私たち 使用しますか?
これ:
<図>
3)実用的なもの
- 1。 接続 すべて リストされている パーツ as 表示 で 配線 図。 接続の背後にある理論については説明しません。不明な点がある場合は、お気軽にお問い合わせください。それにジュースを与えることを忘れないでください:)(usbパワーバンク、またはあなたのラップトップusb出力など)。
- 2。 書く a コード。 このページの下部に添付されているコードがあります。繰り返しになりますが、コードの内容が不明な場合は、お気軽にお問い合わせください。
- 3。 作成 ThingSpeak チャンネル あり 分析 。 https://thingspeak.com/に登録し、チャンネル番号を作成します。 1名前、説明、フィールド1- 消費を指定します。 チャンネル番号を作成します。 2チャンネル番号に基づく1ですが、名前が異なります。次に、チャネル番号でMatlabAnalysisオプションを選択します。 2そして次のコードを書きます:
readChannelID =TYPE_CHANNEL1_ID_HERE; readAPIKey ='TYPE_CHANNEL1_READ_API_KEY_HERE'; writeChannelID =TYPE_CHANNEL2_ID_HERE; writeAPIKey ='TYPE_CHANNEL2_API_KEY_HERE'; data =thingsSpeakRead(readChannelID、 'ReadKey'、readAPIKey、 'OutputFormat'、 'table'); analysisData =data; analysisData。( 'Consumption')=(data。( 'Consumption')+ YOUR_CURRENT_CONSUMPTION_STATUS_IN_WH)/ 1000; thingsSpeakWrite(writeChannelID、analyzedData、 'WriteKey'、writeAPIKey);
- 4。 作成 Sigfox コールバック。 すでにバックエンドにMKRFOX1200を登録しているといいので、これを行う方法のチュートリアルをスキップします。 https://backend.sigfox.com/にログインした後、コールバックセクションに移動し、次のように作成します。
- タイプ:データアップリンク
- チャンネル:URL
- カスタムペイロード構成:status ::uint:32:little-endian
- URLパターン:
https://api.thingspeak.com/update?api_key=
EXPLAINED1
&field1 ={customData#status}
- HTTPメソッドを使用する:GET
* EXPLAINED1 - これをChannel1 ThingSpeak WriteApiKey
に置き換えます
4)デバイスのインストールと背後にあるロジック
したがって、このプロジェクトの最も難しい部分はすでに完了しています。次に、CNY70センサーを両面テープでパワーメーターのガラスに取り付けます。回転ディスクの中央に配置するように注意してください(図取り付け )。次に、デバイスボタンを2回押して、キャリブレーションを実行します。センサーがディスクの反射部分を読み取ると、ダイオードが点灯します。センサーが黒い縞を読み取る場合、ダイオードはオフになるはずです。キャリブレーションが成功したら、デバイスボタンをもう一度押します。これで、デバイスは消費電力の読み取りを開始し、Sigfoxを使用してこの値を30分ごとにインターネットに送信します。読み取りの精度は25Whに設定されています(この場合、3ディスク回転ごと)。
<図>
5)最終出力
これらすべての手順を実行すると、実際の電力消費量を以下のような美しいThingSpeakチャートで確認できます。
<図>
コード
- SigfoxkWh電気エネルギー電力計
SigfoxkWh電気エネルギー電力計 Arduino
これは、パワーメーターをインテリジェントにするための.inoコードです。#includeint DIODE =13; int BTN =12; int BTN_state =0; int BTN_prev =0; int BTN_NR_OF_PRESS =0; int CALC =0; unsigned long i =0; uint32_t CONSUMPTION =0; boolean SHINE =false; boolean KARDAN =false; void setup(){pinMode(DIODE、OUTPUT); pinMode(BTN、INPUT); Serial.begin(9600); if(!SigFox.begin()){Serial.println( "Sigfoxモジュールは利用できません。"); }} void loop(){int senzor =analogRead(A3); BTN_state =digitalRead(BTN); if(BTN_state!=BTN_prev){if(BTN_state ==HIGH){BTN_NR_OF_PRESS ++; }} BTN_prev =BTN_state; if(BTN_NR_OF_PRESS%3 ==0){if(senzor> 300 &&senzor <950){digitalWrite(DIODE、HIGH); } else {digitalWrite(DIODE、LOW); }} if(senzor <1020 &&SHINE ==false){SHINE =true; } if(senzor> 1020 &&SHINE ==true &&BTN_NR_OF_PRESS ==4){CALC ++; SHINE =false; } if(CALC%3 ==0 &&CALC!=0 &&KARDAN ==false){KARDAN =true;消費量+ =25; } if(CALC%3!=0){KARDAN =false; } if(BTN_NR_OF_PRESS%4 ==0){digitalWrite(DIODE、LOW); if(SHINE ==false){for(millis();(millis()-i)> 1800000;){i =millis(); SigFox.debug(); SigFox.beginPacket(); SigFox.write(CONSUMPTION); SigFox.endPacket(); }}}}
回路図
MKRFOX1200とCNY70およびその他のものとの接続の概略図。 製造プロセス