体験的マイコン学習(Arduino編)
センサーの値をチャットワークに表示してみよう
準備するもの
使う温度センサーによって変わってきます
- 温度センサー(今回はDS18B20を使っています): 1個
- ジャンパー線: 3本
必要なものを準備
(1)Node.jsをインストールします
(2)コマンドプロンプトでnode -vを実行しバージョンが表示されることを確認します
(3)フォルダを作って「npm init」コマンドを入力してください(npm initと入力するとpackage nameやversionなど聞かれますが、すべてEnterキーを押してください)
npm init
(4)johnny-fiveのインストール
// johnny-fiveのインストールコマンド npm install johnny-five
(5)post-chatwork-messageのインストール
// post-chatwork-messageのインストールコマンド npm install --save post-chatwork-message
(6)Chatworkの登録(登録されていない方)
(7)チャットワークにログイン後自分のアカウントをクリックしてAPI設定を選択そこでログインパスワードを入力しAPIトークンを取得
(8)表示したい場所のルームIDの確認
ルームIDはURLのhttps://www.chatwork.com/#!rid○○○…(ridの後ろの数字)
ブレッドボードへの接続
ブレッドボードへの接続を行ってきます
使う温度センサーによって変わります。詳しくはこちらのサイトから使っている温度センサーのページを見てください(デフォルトはDS18B20になっています)
以下の画像は今回DS18B20を使ったのですが普通のものと配置が違う(出力と電圧の位置が逆のもの)を使ったためその場合のブレッドボードの画像になります(普通のものをつかっている場合は上記のリンクをクリックして確認してください)
Ardiunoの設定
Ardiunoの準備
ardiuno.exeを起動して「スケッチ>ライブラリをインクルード>ライブラリを管理」を選択してConfigurableFirmataをインストール(検索でConfigurableと入れると出てくるのでクリック)
以下の画像はinstall後の画面になっています(INSTALLEDと表示されています)
インストールしたらConfigurableFirmataをマイコンボードに書き込む
プログラムの作成
jsファイルを作って下記のコードを入力(APIトークンやルームIDなど入力する箇所があるので上記で確認したものを入力して下さい)
var five = require("johnny-five"); const postChatworkMessage = require('post-chatwork-message') const CHATWORK_API_KEY = '取得したAPIトークン' //チャットワークのルームIDの指定(どこに表示するのか指定) const roomId = '確認したルームIDを指定' var board = new five.Board({port: "COM3(シリアルポートを入力 人によって違うので注意してください。確認方法は「ツール>シリアルポート」)"}); board.on("ready", function() { // This requires OneWire support using the ConfigurableFirmata var thermometer = new five.Thermometer({ // 温度センサーの種類(種類によって変わります) controller: "DS18B20", // 表示する頻度(単位はミリ秒でデフォルトでは60000を設定して1分ごとに表示するようにしています。自分の好きな時間に調整してください) freq: 60000, // ピンの配置 pin: 2 }); thermometer.on("change", function() { console.log("現在の気温" + (Math.round(this.celsius * 10) / 10) + "℃"); // チャットワークに送信 postChatworkMessage(CHATWORK_API_KEY, roomId, "現在の気温 " + (Math.round(this.celsius * 10) / 10) + "℃") }); });
実行する
(1)ArdiunoをPCに接続
(2)コマンドプロンプトでフォルダ作った場所に移動して下記のコマンドを入力
node ファイル名(○○.jsの○○の部分)
正常な場合はコマンドプロンプトに以下のように表示されます
気温が表示されていることを確認してください
(3)チャットワークを開いて確認する