MKR1000からThingSpeak.comへ
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 |
このプロジェクトについて
私はすでにESP826612-Eのコードを開発しており、DHT11によって取得され、ThingSpeak Webサイトにワイヤレスでアップロードされ、グラフ化された環境センサーデータを取得しました。新しいArduinoMKR1000で動作するように、小さな変更を加える必要がありました。
<図>ステップ1。
DHTデータラインをMKR1000ピン1(ボードの背面に1のラベルが付いています)に接続します。
<図>ステップ2.WiFi101ライブラリとDHTライブラリを以下からダウンロードします:
https://github.com/arduino-libraries/WiFi101
https://learn.adafruit.com/dht
ステップ3。
ArduinoIDEのボードマネージャーに移動します
ツール->ボード->ボードマネージャー
Arduino SAMDボード(32ビットARM Cortex M0 +)を検索する
バージョン1.6.3をダウンロードします(MKR100ボードがインストールされなかったため、1.6.4で問題が発生しました)
<図>ステップ4。
無料のThingSpeak.comアカウントを作成し、フィールドにグラフ(湿度と温度)のラベルを付け、ThingSpeakの「書き込み」APIキーをWiFiSSIDとWiFIパスワードとともに提供されたスケッチに貼り付けます。
ステップ5。
適切なComポートを選択し、MKR1000を探して、コードをコンパイルして実行します。
シリアルウィンドウにThingSpeakに送信されている更新が表示されます。
楽しんでください!
<図>
コード
- MKR1000からDHT、ThingSpeakワイヤレスクラウドベースの環境センサーグラフ化
MKR1000からDHT、ThingSpeakワイヤレスクラウドベースの環境センサーグラフ Arduino
AdaFruit、WiFi101 WebClient、およびThingSpeakArduinoテンプレートのスケッチの組み合わせ。/ *このスケッチは、ADAFruits DHTスケッチ、WiFi101 Webclient、およびMKR1000用にStephenBorsayによって修正されたThingSpeakModifiedのarduinoの例を組み合わせたものです* / #include//シールドされたチップを使用していないため、これは必要ありません#include #include "DHT.h" #define DHTPIN 1 //ピンは何ですか接続されている、pin1は端から5番目のピンです//使用しているDHTセンサータイプのコメントを外します!#defineDHTTYPE DHT11 // DHT 11 //#define DHTTYPE DHT21 // DHT 21 //#define DHTTYPE DHT22 // DHT 22DHT dht (DHTPIN、DHTTYPE); String apiKey ="YourApiKeyHere"; // ThingSpeakcharからのAPIssid [] ="YourSSIDHERE"; //ネットワークSSID(name)char pass [] ="YourPasswordHere"; //ネットワークpasswordintkeyIndex =0; //ネットワークキーのインデックス番号(WEPにのみ必要)//#defineWEBSITE "api.thingspeak.com" int status =WL_IDLE_STATUS; // DNSを使用したくない場合(およびスケッチサイズを縮小したい場合)// server:// IPAddress server(74,125,232,128);の名前の代わりに数値IPを使用します。 // Googleの数値IP(DNSなし)char server [] ="api.thingspeak.com"; // Googleの名前アドレス(DNSを使用)//イーサネットクライアントライブラリを初期化する//接続するサーバーのIPアドレスとポートを使用する//接続するサーバー(ポート80はHTTPのデフォルト):WiFiClientclient; void setup (){//シリアルを初期化し、ポートが開くのを待ちます:Serial.begin(9600); while(!Serial){; //シリアルポートが接続するのを待ちます。ネイティブUSBポートにのみ必要} //シールドの存在を確認します:if(WiFi.status()==WL_NO_SHIELD){Serial.println( "WiFiシールドが存在しません"); //続行しない:while(true); } // Wifiネットワークへの接続を試みます:while(status!=WL_CONNECTED){Serial.print( "SSIDへの接続を試みています:"); Serial.println(ssid); // WPA / WPA2ネットワークに接続します。open/ WEPネットワークを使用している場合はこの行を変更しますstatus =WiFi.begin(ssid、pass); //接続を10秒待ちます:delay(10000); } Serial.println( "Wi-Fiに接続"); printWifiStatus(); } void loop(){//測定の合間に数秒待ちます。 delay(2000); // floatを使用することをお勧めしますが、パッケージサイズまたはfloat変換は機能しません//文字列関数またはfloat変換関数で将来改訂されますint h =dht.readHumidity(); //温度を摂氏(デフォルト)として読み取りますint t =dht.readTemperature(); //温度を華氏(isFahrenheit =true)として読み取りますint f =dht.readTemperature(true); //読み取りが失敗したかどうかを確認し、早期に終了します(再試行します)。 if(isnan(h)|| isnan(t)|| isnan(f)){Serial.println( "DHTセンサーからの読み取りに失敗しました!");戻る; } //華氏で熱指数を計算します(デフォルト)int hif =dht.computeHeatIndex(f、h); //摂氏で熱指数を計算します(isFahreheit =false)int hic =dht.computeHeatIndex(t、h、false); Serial.print( "湿度:"); Serial.print(h); Serial.print( "%\ t"); Serial.print( "温度:"); Serial.print(t); Serial.print( "* C"); Serial.print(f); Serial.print( "* F \ t"); Serial.print( "熱指数:"); Serial.print(hic); Serial.print( "* C"); Serial.print(hif); Serial.println( "* F \ n"); Serial.println( "\ nサーバーへの接続を開始しています..."); //接続を取得した場合は、シリアル経由でレポートを返します。if(client.connect(server、80)){Serial.println( "サーバーに接続"); client.print(F( "POST")); client.print( "/ update?key =apiKey&field1 =" +(String)h + "&field2 =" +(String)t + "&field3 =" +(String)f + "&field4 =" +(String)hic + " &field5 ="+(String)hif); String tsData ="field1 =" // ThingSpeakに与える長さが必要+(String)h + "&field2 =" +(String)t + "&field3 =" +(String)f + "&field4 =" +(String) hic + "&field5 =" +(String)hif; client.print( "POST / update HTTP / 1.1 \ n"); client.print( "ホスト:api.thingspeak.com \ n"); client.print( "接続:閉じる\ n"); client.print( "X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print( "Content-Type:application / x-www-form-urlencoded \ n"); client.print( "Content-Length:"); client.print(tsData.length()); //データ文字列の長さをtsclient.print( "\ n \ n");に送信します。 client.print(tsData); client.stop(); delay(1000); }} void printWifiStatus(){//接続しているネットワークのSSIDを出力します:Serial.print( "SSID:"); Serial.println(WiFi.SSID()); // WiFiシールドのIPアドレスを出力します:IPAddress ip =WiFi.localIP(); Serial.print( "IPアドレス:"); Serial.println(ip); //受信信号強度を出力します:long rssi =WiFi.RSSI(); Serial.print( "信号強度(RSSI):"); Serial.print(rssi); Serial.println( "dBm");}
GitHubのコード
同じコードですが、GitHub for MKR1000https://github.com/sborsay/Arduino_Wireless/blob/master/MRK100_DHt_TS 回路図
DHTデータラインをMKR100ピン1(5番目のピンアップ)に配線します 5vとアースをDHTセンサーに接続します。どちらもMKR1000によって提供されます。
製造プロセス
- 専門家へのインタビュー:3Dfilemarket.comの創設者であるPhilip Cotton
- マンハッタンスカイライン:NXP i.MX8MMを備えたコンパクトなARMCOM
- Kontron:新しい組み込みコンピューティング標準COM HPC
- DHT Tiny Breakout for the Raspberry Pi
- ThingSpeak Temperature Monitor with Raspberry Pi
- Raspberry Pi、DHT11センサー、Thingspeakを使用して最初のIOTを構築します。
- Mkr1000 のピン配置:IoT プロジェクトに最適な選択肢
- Parts.Cat.Com のメリットと登録方法
- Shop.Cat.Com のガイド
- My.Cat.com を開始する
- ASTM A551 クラス DHT 熱処理済み