コンピュータ(注意)今更RaspberryPi2を使うネタです。7月ぐらいから仕事が微妙に忙しく体力的にも割とハードな感じだったので全くなにもできてませんでした。いえそろそろ何かやらないとという感じで再始動します。(現在は営業的な業務の管理職なのでデイタイムには全くなにもできない状況...)リハビリを兼ねて、少し前に教えてもらったNode-REDをRaspberryPiにインストールして、少し使ってみたいと思います。いえ、家にある開発に使用しているRaspberryPi3を使うのは環境が変わってしまう可能性があるので、家に転がっていたRaspberryPi2を使用して見ようと思います。2も3も多分作業的には変わらないかなと思います。Zeroだと違うとは思いますが...RaspberryPi2にNode-REDをインストールしてみる家に余っていたRaspberryPi2を使うのですが、いつも通りRaspbianをダウンロードしてもうまくいきません。WiFiのUSBドングルのドライバの対応がうまく行っていないのだと思います。最近のRaspbianイメージはBusterベースなのですが、RaspberryPi2BではWiFiのUSBドングルのドライバがうまく認識できないので少し古いイメージを使用します。今回使用したイメージは一つ古い2019-04-08-raspbian-stretch.img(2019/08現在)です。基本、以下のサイトを見ながらインストールをしていくことになります。先程Raspbianのイメージのインストールを行い、ネットワークの設定を行った後からの設定になります。インストール後のRaspbianのバージョンは以下のようになっていると思います。stretchインストール後にaptコマンドを使用してパッケージ関連のアップデートを行っておきます。upgradeNode-REDのインストールコマンドは以下となります。https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)このコマンドを実行すると過去にNode-REDがインストールされていた場合でもアンイストール後に最新版のインストールを行ってくれます。その際、Node.jsのバージョンがLTSバージョンに変わるので古いバージョンのNode.js使用していた場合には注意が必要かもしれません。質問されますが、内容を確認して問題なければyキーを押下します。インストールは時間が結構結構かかるので、その間は別の作業をするのがおすすめです。以下のような表示になればインストール終了です。インストール後のNode.jsバージョンの確認Node-REDと同時にインストールされたNode.jsのバージョンも確認しておきましょう。-v6.10.3Node.jsはうまくインストールできているようです。Node-REDの起動コマンドラインでNode-REDを開始する場合にはnode-redコマンドを起動します。node-red実行すると起動したコンソールが奪われてしまうので、RaspberryPiの起動時にサービスとしてスタートさせるのがおすすめかもしれません。いっても、Node-REDはWebブラウザで使用するので操作するのでそのままでいいかもしれませんが。nodered.serviceサービスを停止するのであれば以下のコマンドを実行します。nodered.serviceエディタへのアクセスNode-Redが無事に起動したら、Webブラウザから以下のアドレスでアクセスをします。http://<ip-address>:1880http://<hostname>:1880IPアドレスでもホストネームでも問題ありません。Raspbianがデフォルト状態でmDNSが使用できるようであれば以下のようなアクセスも可能です。http://raspberrypi.local:1880RaspbianのX経由のブラウザでアクセスする場合は、http://localhost:1880とします。これで無事に作業を始めることができるようになりました。以降はPCからのWEBブラウザ経由で操作をしてみようと思います。Worldを動かしてみます。左側のノード一覧の【入力】グループの中から【inject】ノードをワークスペースにドロップします。するとドロップされたノードは【タイムスタンプ】という表示に変わります。続いては、左側のノード一覧の【出力】グループの中から【debug】ノードをワークスペースにドロップします。ドロップされたノードは【msg.payload】という表示に変わります。上記のような表示になっていればOKです。ノードをワークスペースに配置したら、ノード間の端子をマウスでドラッグしてつなぎますこの操作が基本的な操作になります。ここまでで一旦実行してみます。画面の左上にある【デプロイ】ボタンをクリックします。【デプロイ】ボタンはワークスペースに変更があると赤く表示が変わります。変更が反映されないときなどは確認をしておきましょう。(変更がないときにはグレーダウンしています)【デプロイ】ボタンをクリックすると、結果が表示されます。エラーがなければ以下のようなに表示されます。デプロイが成功したら、画面左にある【デバック(虫のアイコン)】ボタンを押します。すると右側のタブがデバック表示に変更します。これで準備ができました。ここまできたら【inject(タイムスタンプ)】ノードの左側のボタンをクリックしてみます。クリックするとデバックタブに実行結果が表示されます。デバックに表示されているのはタイムスタンプのNumber型での表示なのでよくわからない数値になっています。今回はHelloWorldという文字列を表示させたいので編集していきます。ワークスペースの【inject(タイムスタンプ)】ノードのダブルクリックします。するとワークスペースにノード編集画面が表示されます。その中に【ペイロード】の値を【日時】から【文字列】に変更します。変更後に入力ボックスにHelloWorldを入力します。終わったらノード編集の【完了】ボタンを押します。ボタンを押すと以下のような画面になります。【inject(タイムスタンプ)】ノードが【inject(HelloWorld)】ノードに変わっています。変更が確認できたら右上の【デプロイ】ボタンをクリックします。デプロイが成功したら【inject(HelloWorld)】ノードの左側のボタンをクリックしてみます。念願のHelloWorldが表示されました。おわりに今回は長くなってきたのでここまでとなります。ノンコーディングでもできるっていうのはいいですね。いえ、始めるにはある程度、事前知識が必要になるので、準備も必要なんだろうなと感じました。今後はWebサービスをやってみたりArduinoとの連携やRaspberryPiのGPIOの使用をやってみたいと思います。前回のエントリーを公開後にコメントを頂いたので、それについ...2019-09-18【RaspberryPi】Node-REDでWebアクセス(クライアント)後半Webアクセスの処理も後半となります。月別アーカイブ参加グループはてなブログをはじめよう!ueponxさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。