Node.jsで動かすには

Node.jsとはなにか

Node.jsはJavaScriptをブラウザではなくPC上で動作させるためのソフトウェアです。ブラウザで動かす場合はそのページを開いていないとobnizを使えないのに比べ、Node.jsを使えば手元のパソコンやサーバーなどでずっと動かすことが出来るため、1時間ごとに気温をDropboxに保存するなどのことが簡単にできるようになります。更にNode.js用に作られたライブラリも豊富にあるため様々なソフトウェアが簡単に作れます。

特徴

  • PCやサーバーで動くため、プログラムの常時稼働が可能
  • Node.jsライブラリを使って色々なことが出来る。

Install Nodejs

初めてNodejsを使うならば、まずはNodejsのインストールからです

https://nodejs.org/

こちらのサイトからダウンロードできます。

Create Nodejs Project

Node.jsのプロジェクトを作成しましょう。
プロジェクトと言ってもフォルダを作って中に1つ2つファイルを入れるだけです。まずはフォルダを作ります。名前はなんでも良いです。そして、Windowsならコマンドライン。MacやLinuxならシェルからそのフォルダに入り

npm init

とコマンドを打ちます。色々聞かれますが、Enterを押してとりあえず進みます。すると空だったこのフォルダにpackage.jsonというのが出来ます。
これがプロジェクトのファイルとなります。

次に、アプリを書くためのapp.jsを用意します。空っぽなテキストファイルを用意してapp.jsという名前にしてこのフォルダに保存します。ここまででプロジェクトの作成は完了です

Install obniz.js

次にobnizをnpmからインストールします。
ブラウザでは<script>タグを使って外部のプログラムを読み込んでいましたが、Node.jsではnpmというソフトを使って名前だけでソフトをインストールします。

npm install obniz 

と打って実行します。これにより最新のobniz.jsがダウンロードされ、プログラムの中から使えるようになりました。

Coding

app.jsをエディタで開いてプログラムを書いてみましょう。まずは先ほどインストールしたobniz.jsを取り込みます。Node.jsではこのようにインストールしたソフトを読み込みます。ブラウザで<script>で読み込んでいたのに似ています。

const Obniz = require("obniz");

これでOKです。この後はHTMLでプログラムしていたときと全く同じです。jQueryはもう使っていないので注意しましょう。まずobnizに接続します。それらの記載方法は同じです。

var Obniz = require("obniz");

var obniz = new Obniz("1234-5678");
obniz.onconnect = async function () {

}

そして同じ用にonconnectに色々なプログラムを書きます。サーボモーターを動かすのもHTMLのときと同じです。

var Obniz = require("obniz");

var obniz = new Obniz("1234-5678");
obniz.onconnect = async function () {
  var servo = obniz.wired("ServoMotor", {gnd:0, vcc:1, signal:2});
  servo.angle(90);
}

このようにすればOKです。

実行

このJavaScriptを実行するにはコマンドラインまたはシェルから

node app.js 

とコマンドを打てば実行されます。そして自分から停止させるまではこのアプリは動き続けます。停止には「Ctrl + C」を押します。

他のサービスとの連携

npmでは色々なパッケージが配布されています。
他のWebサービスと連携させることができるのはHTMLとの大きな違いです。

例えばTwitterなら
https://github.com/desmondmorris/node-twitter

Dropboxなら
https://github.com/dropbox/dropbox-sdk-js

といったライブラリがあります。
これらとobnizを連携させて色々なものを作ってみましょう。