2020.03.29ArduinoとNode.jsで測定したセンサからの値をmongoDBに保存してみたよ!ポストシェアはてブ送るPocket目次ToggleArduinoとNode.jsで測定したセンサからの値をDBに保存できる?mongoDBの準備Node.js(サーバ側)のソースNode.jsを起動してmongoDBにデータを保存するmongoDBにデータが保存されたことを確認ArduinoとNode.jsで測定したセンサからの値をDBに保存できる?前回までの記事で、「測距モジュールとArduinoとNode.jsとSocket.IOで距離を測定してブラウザに表示!」という記事を掲載させていただきました。今回は更にArduinoとNode.jsで測定したセンサからの値をDB(mongoDB)に保存してみましたので、その方法をご紹介したいと思います。今回はDBにmongoDBを使用しました。mongoDBをインストールしましょう。Node.js(サーバ側)のソースapp.jsのソースを作成します。1requireでmongodbのソースを読み込む2接続文字列をurlの中に格納します。localhostの下にはmydbと記述しています。mydbはデータベースの名前です。3sp.onの中にArduinoからデータが送信されてきたときの処理を記述します。4Arduinoから送信されてきたデータは変数dに追加されます。5console.logで変数dに格納されている値を確認します。6lengthプロパティで変数dの文字数を取得し、変数lenに格納します。7変数lenに格納されている文字数が12文字より大きかったらifの中の処理を実行します。8JSONデータからlengthの値を変数aに格納します。9mongoDBに接続する処理を記述します。今回はproductsという名前でコレクションを取得します。10取得したコレクションにドキュメントを挿入する処理を記述します。{}で上記でエラーが発生したときには、errorと表示するようにします。12Arduinoからのデータの受信処理が完了したら変数dの値を空にセットしなおしておきます。()で、変数aに格納されているArduinoから送信されてきたデータをクライアント側に送信します。"";}}});Node.jsを起動してmongoDBにデータを保存するNode.jsのソースを用意し、Arduinoからセンサのデータが送信されてきていることが確認できたら、mongoDBを起動します。mongoDBをインストールしたフォルダのbinに移動し、「mongod.exe」をダブルクリックします。すると、以下の画面が表示されますので、これはそのまま放置します。次にNode.jsを起動します。app.js」を入力して実行します。すると、Arduinoから送信されてきたセンサ(測距モジュール)の値が受信されます。データを数個受信できたら、「Ctrl+C」で処理を中断します。mongoDBにデータが保存されたことを確認mongoDBにデータが保存されたことを確認します。コマンドプロンプトでmongoDBがインストールされたフォルダまで移動し、「mongo」と入力して実行します。mydb」と入力して実行します。次に、「db.products.find()」と入力して実行すると、Arduinoから送信されてきたセンサ(測距モジュール)の値がしっかりと保存されていることが確認できます。今回はこのようにして、ArduinoとNode.jsで測定したセンサからの値をmongoDBに保存してみました。mongoDBで使用できるモジュールとして「mongoose」というモジュールがあるみたいですが、そちらのほうは上手く実装することができませんでした。DBにデータを登録することができたので今回はよしとします。コメントをキャンセルメールアドレスが公開されることはありません。電子工作2020.03.29VMwareのシリアルポートに接続する方法プロフィールKAZUKIです。モノづくりが好きで、ブログでは電子工作やゴミ回収ロボットのことを書いています。その他雑記も書きます。興味のある記事がありましたら是非読んでみてください。