測定してThingSpeakに計測データをアップしてグラフ化しました。ネットワーク関連のWiFiモジュールやEthernetモジュール1/シールド2などは利用せずに、PCでNode.jsを動作させて計測制御とデータ送信を行っています。夏休みの宿題帳には、地域性があるそうで「夏休みの友」と呼ぶ宿題帳みたいなものだったり、個別の宿題だったりいろいろあるそうです。私が子供の頃は、「夏休みの友」というのを渡されていました。その夏休みの友には、お天気記録欄(四角い枠)があって小学校の低学年の頃は「晴れ・曇・雨」などのアイコンを書いてました。定義のなさに一人悩んでましたね。夏休みになると「お天気の実験」をしてしまうのは、これが原因(潜在意識の中に刷り込まれている?!)では無いかと思ったりします・・・ということで、ArduinoとSparkFunのウェザーシールドを使った気象観測装置を作ります。UNOかUNO互換機を買っていて持っているから.観測目的で作成する場合にはWiFiデバイスが搭載されているボードを使ったほうが良いでしょう。センサーはウェザーシールドのみを使い先にウェザーシールドを購入していたから。使わないともったいないので使っています。計測したデータを溜めてグラフにすることも出来ます。IoTやクラウドサービスがどんどん広がってきていているので便利なものは何でも使います。WiFi/Ethernetシールドやモジュールは使わないWiFiシールドやEhternetシールドって以外と高い。追加でシールドは使わないことにしました。つまずいたArudinoとシリアル通信を使った方法は、多くの情報があって直ぐに見つかると思っていました。「Javascriptを使ってAdruinoを制御する方法」を紹介しているブログページでFirmataを使えるのではと思い。関連記事を探して、Johnny-fiveライブラリやj5-sparkfun-weather-shieldライブラリにたどり着きました。個人的には、Node.jsでなくPythonで制御できると良いのです。手頃なライブラリやセンサー制御方法の紹介記事がNode.jsの方が多いように思いました。夏休みの限られた期間で、計測機を完成させて計測するには、取り扱っている「記事の量」が多いNode.js/Javascriptが良いだろうと考えて、Javascriptでプログラムを作成しました。R3など)は、シリアル・インターフェース以外の通信手段を持っていません。そこで、シリアル・インターフェースを使ってデータのやり取り(送受信)を行います。〜例えば、価格180円の「あちゃんでいいの」キットと、260円のATmega328Pでも動来ます。中国製互換機が500円くらいならパーツで作るより互換機買ったほうが安い。-SparkFun社が販売している気象観測用のウェザー・シールドです。センサーを搭載しています。オプションとして、モジュラージャックを通して風速・風向・雨量などのセンサーを取り付けることが可能で、GPSを取り付けるポートもついています。UNOとウェザーシールドを使って気象観測機を作成する手順を紹介しましょう。Arduinoの設定まずは、ArduinoにFirmataを書き込みます。StandardFirmataを選んでArduinoに書き込みます。Arduinoの準備はこれだけです。npmをインストールします。安定版のLTSをダウンロードしてインストールします。64bitを用いました。・・・・インストーラー終了コマンドプロンプトでnpmコマンドのバージョンをチェックしてみます。Arduinoを使うライブラリ(johnny-five)をインストールjavascriptを使ってArduinoを動作させるためのライブラリをインストールします。Shield用のライブラリウェザーシールド搭載のセンサーにアクセスするためのライブラリをインストールします。ThingSpeakクライアントライブラリThingSpeakへデータを送るためのライブラリをインストールします。ThingSpeakの設定ThingSpeakにサインアップしてアカウントを作成します。アカウントができたら、チャネルを作成します。KeyとChannelIDをチェックします。ThingSpeakで、チャネルIDとAPIキーをチェックします。//必要ならCOMポートを指定します。variantはARDUINOです。計測データを100倍して切り捨て処理後に1/100に戻しています。気圧は計測値が101.00となりますので、hPa表示にするため、1/10としています。field3設定しています。//setTimeout(()=>{console.log('Timeout');},1000);});日本語でコメントを追加していますので、このままコピペしてもエラーになるかもしれません。ThingSpeakでグラフを確認プログラムを起動して、インターバルタイムで設定した間隔でデータがThingSpeakへ送信されるます。ThingSpeakのChannelSettingsでグラフ表示(ポイント数やタイトル、XY軸の項目名など)を設定・調整すると出来上がりです。ThingSpeakは、計測データとグラフ表示データを調整することが出来ます。人工衛星のニュースなどを見ていると、気がつきせんでしたか?!実際の運用に入る前に、「機能のテスト」を行っていますよね。個々の機能テストを行って問題が無いことが確認できてから本番の運用へ進みます。運用時のポイントは観測インターバルタイムを何分?何時間?に設定刷るかでしょう。粗すぎると変化が見えなくなってしまいますし、細かすぎると変化の無いデータでいっぱいになっちゃいます。計測インターバル間隔は、10分〜30分程度の間隔としておき、グラフの様子を見ながらインターバルタイムの調整を行うと良いでしょう。まとめThingSpeakは、データをExport出来ますので別のパソコンでグラフ化したりデータを分析することも出来ます。UNOなどを使った場合、WiFi/Ethernetシールドやモジュールがなくても、パソコンで制御でき、Arduinoで計測したデータをクラウドサービスへ送り出すことが出来ました。運用開始してからしばらくは、データの状態を見ながら設置場所を移動したりインターバルタイムの調整が必要かもしれません。まとめ気象観測装置を使い、データが収集できてくると・・・もしかすると、気象現象とグラフ上の変化の気象現象の関連性が見つかるかもしれません。響きは悪く無い!梅雨明け前後の観測データがあるとよかったか梅雨も開けたし、ゲリラ雷雨でも今年は台風の発生数が少なくて、8月に台風はくるでしょうか?・・・ん?おかしなものだこれではまるで、災害を待ち望んでいるようではないか???準備は整った!!スマホを持って、ポケモンGOだ!!!モジュールは、センサー等をArduinoと配線するだけで使えるようにした基板です。シールドがArduino基板に重ねて使えるのに対して、モジュールは配線接続して使います。UNO等のコネクタ配列に合わせた拡張ボードで、Arduinoに重ねて使う基板の事ををシールドと呼びます。