RaspberryPiでプログラミング、何がいい?

IoTでよく使われるRaspberryPi(以下、ラズパイ)ですが、どのプログラム言語を使っていますか?

よく聞くものとして「Python(パイソン)」がありますが、それ以外にもラズパイでは様々なプログラム言語を使ってプログラミングすることができます。

今回は、「Node-RED」というプログラミング言語(正確にはプログラミング環境なのでしょうが…)を紹介します。


PythonとNode-REDを比較するために、同じ電子回路で同じことをさせてみます。やることは電子回路をマイコンで制御する演習で必ず最初に作成する「Lチカ」です。これはLEDを1秒おきに点けたり消したりするプログラムで、LEDをチカチカさせるので「LEDチカチカ」、略して「Lチカ」と呼んでいます。

写真のように、LEDと抵抗をつないで簡単な電子回路を作り、それをラズパイのGPIOにケーブルでつなぎます。

ラズパイには電子回路と簡単に接続できるように、ケーブルをつなぐ端子があり、これを「GPIO(ジーピーアイオー)」と呼んでいます。


さて、回路の準備ができたら、プログラミングです。

ラズパイには最初から「Python」のプログラミング環境が用意されています。ラズパイメニューから[プログラミング]−[Thonny Python IDE]を開いてください。(「ソニー パイソン アイディーイー」と読みます。IDEが「プログラム開発環境」で、プログラムを作成し、実行し、間違いを修正(デバッグ)します。)

英単語が並んでいます。なんとなく英語っぽいですが、ちょっと違います。これが「Pythonプログラム」です。これでも、パッと見て分かり安い方なのですが… これを実行(緑の右向き三角ボタンをクリックする)すると、先ほど組み立てた電子回路のLEDが1秒ごとに点いたり消えたりします。

Thonny Python IDEの画面

次は同じことを「Node-RED」でやってみましょう。

Node-REDを実行すると、Webブラウザ上でプログラミングすることができます。実行したNode-REDがサーバの役割を果たします。小さなラズパイの中に小さなインターネットが存在するようなイメージです。

Webブラウザ上にNode-REDのブロック(ノードと呼びます)を配置し、ノード同士をつなげて左から右に処理が流れるように設定します。

今回のLチカは3つのノードをつなげるだけで実現できます。ノード毎にやることが決まっていますので、パッと見て分かりやすいと思います。

Node-REDの画面

いかがでしょうか?

Node-REDはノードをつないでプログラミングしていくので、入門編に向いていると思います。

テクノスクールで実施する在職者訓練では、「Python編」と「Node-RED編」を予定しています。内容はセンサーやモーターの制御と同じようですが、使うプログラミング言語によりやり方が違ってきます。

以前、Pythonで受講された方も次は「Node-RED」はいかがでしょうか?

在職者訓練の内容はこちら