伝説のSpice特別企画 いまさらIOT
VSCodeを使用してNodeExpress開発環境
【伝スパ】xbeeIOT_NodeExpressを使ってサーバー側のプログラムを作成する
デバイス側のデバッグができて動作を確認できましたら、今度はウエブブラウザで操作するプログラムを作成します。 その開発環境はVSCodeです。 このエディタを使用してリモートでraspberry-pi につなげてプログラムを作成します。
この時の構成について説明しますと、VSCodeはローカルな場所にraspberry-piのコピーを置きます。 そして編集はローカルで行います。 編集したファイルを保存すると自動的にraspberry-piにアップロードされます。 そうして、常にローカルとリモートは同じ状態に保ちます。 もちろん実行はリモートの側で行います。 そのためにTeraTermも同時に起動しておきます。
rpi-gpioのパッケージをインストール
最終的にraspberry-piのgpioも制御します。 そのために今のうちにパッケージをインストールしておきます。
npm install rpi-gpio --save
参考リンク
Node.jsでraspberry piのハードウェアを叩く7つの方法
VSCodeにプログラムを展開する
プログラムはローカルのフォルダに展開してそれをリモートサーバー(raspberry-pi)に送ります。 圧縮解凍した4種類のファイル、フォルダをそれぞれの位置に上書きします。
ローカルのフォルダの位置とファイル
~\xbeeIOT\robot\views <- index.ejs ブラウザに送り込まれるHTMLひな形
~\xbeeIOT\robot\public\stylesheets <- istyle.css ブラウザに送り込まれるスタイルシート
~\xbeeIOT\robot\routes <- iindex.js サーバー側のJavascript
~\xbeeIOT\robot <- iMotorBee(フォルダ) モータコマンド発行Javascript
Javascriptは簡単で難しい
どんな言語でも難しいものですが、Javascriptも少し複雑になると難しいです。 プログラムの表現方法になれるしかありません。
しかし、自分の目的コードのサンプルになるコードはWebを探せばほとんどあります。 ある日は一日中サンプルを探していました。 大量の情報から上手に探してくる必要があります。 これもまた慣れが必要なようです。 探したものがまったく一致していると、コードをよく見ることもなく使用します。 目的と少し違うので改定をかけようとすると、これがまた読むのが難しい。 どこかのサイトにコピペ,プログラマという文言がありましたが、このように探してきては実行確認をしていると、根本的に自分で考えなくなる傾向にはなると思います。
でもインタプリタで、コピーしたものがほぼそのまま動作する環境は確かに便利です。 思わす注意が必要なのは、バグ(タイプミスでも)はそこを実行しないとわからないという柔軟性です。 コンパイル系の言語ではコンパイル時にエラーとして見つけられるようなものもインタプリタだからわかりません。 簡単で難しい言語だと思います。