Skip to content

Dragon Board 410c WoT Tutorial

dynamis edited this page Dec 13, 2016 · 19 revisions

Dragon Board による WoT チュートリアル

Translations:

English translated version

このチュートリアルについて

Web 技術だけで Real (センサーやハードウェアの入出力) × Virtual (Web ブラウザによる画面出力) + Network (サーバとのネットワーク通信でサービス連携) の基礎を学びつつ Web of Things (あるいは単に IoT) 時代のハードウェアデバイスの体験やプロトタイピング開発を始めていただくためのチュートリアルです。

Web 開発者は勿論、学生などでも Web (HTML/CSS/JavaScrit) の基礎的な知識だけで簡単に WoT (Web of Things あるいは単に IoT) デバイスのプロトタイピングが出来るような環境とサンプルコードを用意しています。ハードウェア側についても半田ごてや回路設計の知識などがないレベルから開始できるようにしています。

Project GEM (Gecko Embedded) で対象としている、ブラウザ技術だけで実現する組み込み製品開発に関心のある方は勿論、学校や専門学校での教育用の教材としてもご利用ください。

必要機材

  • Dragon Board 410c - Chip1Stop
  • Grove 拡張 (Mezzanine) ボード (96 Boards Sensors) - Switch Science
  • Grove GPIO 入力モジュール (いずれか)
    • ON/OFF のデジタル入力を行うモジュール。本チュートリアルではボタンを使う場合で説明します。傾きセンサやタッチセンサを使う場合はボタンを押すところを傾けるとかセンサにタッチするなどと読み替えてください。
    • ボタン - Seeed, Switch Science
    • 傾きスイッチ - Seeed, Switch Science - 角度ではなく転倒検出など
    • タッチセンサ - Seeed, Switch Science
  • Grove GPIO 出力モジュール (いずれか)
    • ON/OFF のデジタル出力を行うモジュール。本チュートリアルでは LED を使う場合で説明します。ブザーを使う場合は LED が点灯するところをブザーが鳴ると読み替えてください。
    • LED (赤) - Seeed, Switch Science
    • ブザー - Seeed, Switch Science
  • Grove ADC モジュール
    • アナログセンサーの可変値を読み取るための I2C モジュール。ADC モジュール経由でアナログセンサーを接続します。
    • ADC (Analog to Digital Converter) - Seeed, Switch Science
  • Grove アナログセンサー (いずれか)
    • 本チュートリアルでは光センサを使う場合で説明します。温度センサや水分センサを使う場合はそれぞれに読み替えてください。
    • 光センサ - Seeed, Switch Science
    • 温度センサ - Seeed, Switch Science
    • 水分センサ - Seeed, Switch Science - 地中の水分や水深など
  • Grove I2C 入力モジュール
  • Grove I2C 出力モジュール
  • KVM デバイスセット (USB/WiFi 経由のリモート接続で開発する場合は不要)
    • HDMI ディスプレイ、HDMI ケーブル (Full サイズ)
    • USB キーボード、USB マウス
  • micro USB 通信ケーブル (OS イメージ書き換えと HDMI ディスプレイ利用時以外は不要)
    • 充電専用のケーブルと間違えないように注意してください

このチュートリアルでは組み込み製品で実際に使える SoC を使った Linux が動作するの開発ボードとしては手ごろな価格で容易に入手可能で、技適も通過して国内でも安心して使える Dragon Board を利用します。Dragon Board について詳しくは 開発ボードのページ を参照してください。

周辺ハードウェアには簡単のため Grove システム のモジュールを使います。Low Speed 拡張コネクタの GPIO/I2C 端子に各種センサーやデバイスを直接繋ぐことも出来ますが、Grove ではコネクタ、ケーブル、ボードのサイズを統一してデジタル信号、アナログ信号、UART、I2C で通信するデバイスを簡単に接続出来るようになっています。Arduino や Raspberry Pi でプロトタイピングを行う際にも便利です。

事前準備

Dragon Board は出荷時に Android OS が搭載されていますが、本チュートリアルでは Yocto Linux のビルドに書き換えたものを使用します。Dragon Board 410c のメモ ページ記載の OS イメージ書き換え手順 に従って事前に書き換えます。

基本操作

共通

  • 電源のオンオフについて
    • ボードの起動には AC アダプタの接続が必要です。micro USB ケーブルなどからの電源供給では起動しません。
      • 通常の AC アダプタは系の大きさが異なるため、変換ケーブルを使って接続してください。
    • 電源オンにするには、AC アダプタの電源ケーブルを刺してください。Firefox on Yocto Project (Linux) のイメージではケーブルを挿したら自動的に起動します。電源が入ると PWR, RESET などの LED が点灯します。何も LED が点灯しない場合は電源やを確認してください。
    • 電源オフにするには、AC アダプタの電源ケーブルを抜いてください。終了させても自動再起動するので、Firefox や Node を終了させて RAM/SD への書き込みが行われない状態でケーブルを抜いてください。

シリアルコンソールや SSH でリモートログインする場合

  • micro USB ケーブルを使ってシリアルコンソールからログインする場合や、WiFi 経由で SSH を使ってログインする場合、dragonboard-410c-32 login: の用に表示されるログインプロンプトでは root ユーザを指定して起動してください。セキュリティ上は良くない設定ですが、今回は簡単のため全て root で動作させます。

ディスプレイ、キーボード、マウスを繋いで使用する場合

  • 電源をオンにすると root ユーザでログインした Linux のデスクトップが表示されます。
  • アプリケーションの起動
    • アプリケーションはデスクトップの右クリックメニューから起動します。Firefox は Internet ⇒ Firefox、ターミナルは Terminals ⇒ Xterm を起動してください。メニューには他にも多くのアプリケーション名が表示されますが、今回のビルドイメージには最小限のアプリケーションしか含めておらず起動できません。
  • Workspace の切り替え
    • デスクトップ (マウスポインタがウィンドウ上に無い状態) で縦スクロールをすると 4 つのワークスペースが切り変わります。ホイール操作などで意図せず切り変わることがあるので注意してください。

Groved 拡張ボードとモジュールを接続

Dragon Board に Grove の拡張ボードを載せ、使いたいモジュールを接続します。Grove コネクタは形が同じでも電圧 (5V もしくは 3.3V) や通信方式 (デジタル、アナログ、UART、I2C) が異なるので適切な端子に繋ぐよう注意してください。

Grove 拡張ボード (96 Boards Sensors) を接続

  • 96 Boards Sensors (拡張ボード) に付属のスペーサー 4 セットを取り付けます
    • 拡張ボードの表面 (コネクタが多数生えている方) からネジを穴に通し、裏面から六角形のスペーサーを取り付けます
  • Dragon Board の J8 コネクタ (低速拡張コネクタ、2x20 ピンが刺さる黒いコネクタ) に合わせて 96 Boards Sensors を上から重ねて 2 階建てにします

Grove モジュールを接続

  • Grove ボタンは同梱のケーブルで 96 Boards Sensors の G3 端子 (白色、垂直、中央付近 USB ポートより) に接続します
    • Grove ボタンは端子にカバーが付いていることがあります。そのままではケーブルが刺さらないので外してください
    • ボタン以外にも任意の GPIO デジタル入力デバイスを使うことができます。
  • Grove LED は同梱のケーブルで 96 Boards Sensors の G2 (EF) 端子 (ベージュ、水平、中央側の USB ポート上) に接続します
    • Grove LED は基盤と LED が分離した状態で出荷されていますので、向きに注意して指し込んでください。基板に書かれている円は完全な正円ではなくケーブルを挿すコネクタ側が一部欠けて弦になっている部分があります。LED 側も同様に欠けている部分があるので両者の方向を揃えてください。
    • LED 以外にもブザーなど任意の GPIO Output デバイスを使うこともできます。
  • 接続する GPIO 端子の位置は JavaScript 側で指定するポート番号次第です。I2C デバイス用のポートに接続しないこと、GROVE コネクタで供給されている電圧値 (5V or 3.3V) などには注意が必要ですが、JavaScript 側を書き換えれば他の GPIO ポートでも使用可能です。

開発マシン側の準備

micro USB ケーブルや WiFi 経由で Dragon Board のシェルにログインできるようにするため、シリアルコンソールのクライアントと ssh/scp コマンドが使えるように準備します。ssh コマンド は安全に端末のシェル (ターミナル) にログインするために使い、scp コマンド は SSH を利用して cp コマンドのように端末間でのファイル転送を行うために使うコマンドです。

  • macOS

    • OS 標準の cu コマンド、ssh/scp コマンドを使用します。インストールが必要なものはありません
    • ドライバなどのインストールも不要です
  • Windows

    • ターミナルエミュレータ Tera Term をインストールしてください
    • シリアルコンソールのドライバをインストールしてください
      • ドライバ配布ページ から Windows 用のデバイスドライバ をダウンロードしてください
      • Dragon Board に 96 Boards Sensors を搭載して電源を入れてください
      • 96 Boards Sensors の micro USB 端子 (拡張ボードの方) とパソコンを接続してください
      • 新しいデバイスが検出しドライバをインストールするウィザードが表示されたら、コンピュータ上のドライバを選択してインストールする方を選択し、先ほどの ZIP ファイルを展開したディレクトリを選択してください
        • ウィザードが表示されない場合や閉じてしまった場合、デバイスマネージャ (コントロールパネル ⇒ ハードウェアとサウンドから開けます) で FT230X 96Boards Console を右クリックしてドライバーソフトウェアの更新、コンピュータ上のドライバを選択から先ほどの ZIP ファイルを展開したディレクトリを選択してください。
      • USB Serial Converter として認識され、同時に新しく USB Serial Port が発見されます。それを右クリックし、同様にドライバーソフトウェアの更新をしてください。
      • USB Serial Port が認識されポート番号 (COM3 など) が割り当てられればドライバのインストールは完了です。

Dragon Board のターミナルに接続

まずはターミナルに接続してコマンドラインシェルでボードの操作をできるようにします。

ボード単体でターミナルに接続 (ディスプレイがある場合)

HDMI ディスプレイを繋いでいる場合、タスクバーなどが無いシンプルなデスクトップですが通常の Linux にログインしている状態と同じです (電源を入れると自動的に root ユーザとしてログインします)。マウスの右クリックメニューから Terminals ⇒ Xterm を起動します。

USB シリアルコンソールでターミナルに接続 (ディスプレイがない場合)

96 Boards Sensors の micro USB コネクタとパソコンを繋ぐと USB シリアルコンソールとして使用できます。Dragon Board 本体の micro USB 端子はシリアルコンソールとして使用できません。96 Boards Sensors が無い場合は既に WiFi 設定が完了していて SSH 接続出来るか HDMI ディスプレイを使って直接操作できる必要があります。

  • 96 Boards Sensors の Micro USB コネクタとパソコンを接続してください
    • 拡張ボード側です。Dragon Board 側の micro USB はシリアルコンソールとしては利用できません
  • Windows でターミナルエミュレータ Tera Term を使用する場合:
    • ttermpro.exe を起動し Serial で Port に COM3: USB Serial Port (COM3) などとなっているものを選択します。
    • Setup メニューの Serial port... を開き Baud Rate を 115200 に変更します。
    • dragonboard-410c-32 login: のように表示されるのでログインするユーザ名を root と入力します
      • 表示されない場合は USB ケーブルを挿したままで Dragon Board を再起動 (電源ケーブル抜き差し) してください。Linux 起動プロセスのログメッセージが表示された後、ログインプロンプトが表示されます (プロセスが表示されるがプロンプトが出ない場合は一度エンターキーを押すと表示されることがあります)。
    • root@dragonboard-410c-32:~# のようにシェルが表示されログイン完了です。
  • Mac の場合:
    • ls /dev/tty.* で tty デバイスのリストを確認
      • Mac では /dev/tty.usbserial-DACRG7O などがリストに出てきますが、この値はマシンによって異なります。各自の端末で実際に表示された tty デバイス名を使用してください。
    • sudo cu -s 115200 -l /dev/tty.usbserial-DACRG7O のように通信速度を 115200 ボー、デバイス名を先ほどのパスで指定してシリアルコンソールに接続します
      • -s オプションで通信速度を指定しないと正しく通信できません
      • Connected. と表示されますがこれは USB ケーブルの先に端末があるかどうかに関わらず通信ポートとして準備が出来たという意味です。電源が入っていなかったりボードのシェルにログインできていない状態でもそのように表示されます。
    • Password: というプロンプトが表示されるため Mac のログイン時に使用しているパスワードを入力してください。
      • このコマンドの実行には Mac の管理者権限が必要であり sudo コマンドを使用するため Mac の管理権限を持つユーザのパスワード入力が求められます。
    • dragonboard-410c-32 login: のように表示されるのでログインするユーザ名を root と入力します
      • 表示されない場合はエンターキーを押してください。エンターキーを押すまで Connected. の表示で停止したままになることがあります。
    • root@dragonboard-410c-32:~# のようにシェルが表示されログイン完了です。

Dragon Board の初期設定

まずは WiFi に接続して IP アドレスを確認します。

WiFi に接続する

nmtui コマンドを使って WiFi に接続します。WiFi ネットワークは SSID が公開されており、接続している端末間での通信のフィルタリングがされていないものを用意してください。スマートフォンでテザリングしてそのネットワークに接続しても構いません。

  • (上記手順で Dragon Board のターミナルに接続します)

  • nmtui コマンドを実行します。テキストベースの GUI で簡単に WiFi に接続できます。

  • Activate a connection を選択、接続したい SSID を選択します。

  • Authentication required by wireless network ダイアログで WiFi ネットワークのパスワードを入力、Quit を選択します。

  • nmcli device status コマンドで接続しているネットワーク一覧を確認できます。wlan0 の STATE が connected になっていれば接続完了です。

    root@dragonboard-410c-32:~# nmcli device status
    DEVICE  TYPE      STATE      CONNECTION
    wlan0   wifi      connected  mozilla1
    lo      loopback  unmanaged  --
    sit0    sit       unmanaged  --
    
  • 実際に外部ネットワークへの接続を確認したい場合は ping github.com などのコマンドで疎通確認してください。

IP アドレスを確認する

  • ip addr コマンドを実行してください。次のように IP ネットワーク情報が表示されるので、WiFi ネットワーク (wlan0) の IPv4 アドレス (inet の値) を読み取ります。以下の出力例の場合では 192.168.11.3 の部分です。それに続く /24 などの部分はサブネットマスク、brd 192.168.11.255 などはブロードキャストアドレスです。

    root@dragonboard-410c-32:~# ip addr
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1
       link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
       inet 127.0.0.1/8 scope host lo
          valid_lft forever preferred_lft forever
       inet6 ::1/128 scope host
          valid_lft forever preferred_lft forever
    2: sit0@NONE: <NOARP> mtu 1480 qdisc noop qlen 1
       link/sit 0.0.0.0 brd 0.0.0.0
    3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq qlen 1000
       link/ether 02:00:27:ed:2d:20 brd ff:ff:ff:ff:ff:ff
       inet 192.168.11.3/24 brd 192.168.11.255 scope global dynamic wlan0
          valid_lft 172295sec preferred_lft 172295sec
       inet6 fe80::27ff:feed:2d20/64 scope link
          valid_lft forever preferred_lft forever
    

root ユーザのパスワードを設定する (optional)

Dragon Board を他の人と同じネットワーク (WiFi) に接続する場合、他の人が勝手に (もしくは誤って) 接続しないよう、自分のボードの root ユーザにパスワードを設定します。設定後はシリアルコンソールや SSH で接続するときにそのパスワードが求められるので注意してください。

  • passwd コマンドを実行します
  • 新しく設定するパスワードの入力が 2 回求められるため、同じパスワードを入力します。
    root@dragonboard-410c-32:~# passwd
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully
    

SSH (WiFi 経由)で Dragon Board に接続する

パソコンから SSH コマンドを使って WiFi 経由で Dragon Board のターミナルに接続できます。両方の端末が同じネットワークに接続している必要があるので注意してください。

Dragon Board と Mac を同じネットワークに接続する

  • 上記手順で Dragon Board を WiFi に接続します。
  • パソコン側も同じ WiFi ネットワークに接続します。

SSH で Dragon Board に接続する (コマンドライン接続する場合)

Windows で MSYS や Cygwin を使っていたり Mac/Linux 環境でコマンドラインの ssh を使用する場合です。

  • パソコンで新しいターミナルウィンドウまたはタブを起動してください。Dragon Board のシェルに接続しているターミナルではありません。

  • ssh root@192.168.11.3 のように @ の前後に Dragon Board のユーザ名と IP アドレスを指定して接続します。

    • ボードのユーザ名は root です。ボードの IP アドレスは上記のように事前に Dragon Board 上で ip addr コマンドを使って確認します。
  • SSH 初回接続時はサーバ (ボード) 側のフィンガープリントが表示されるので yes と入力します。IP アドレスが変わる毎に同じ確認が表示されますが、同じ IP アドレスで 2 度目以降の接続をするときには表示されません。

    $ ssh root@192.168.11.3
    The authenticity of host '192.168.11.3 (192.168.11.3)' can't be established.
    ECDSA key fingerprint is SHA256:VIHbNtrjqWmp3iC27tZtqhAvC3ZSLQ/8GXiKuRZYnJ0.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '192.168.11.3' (ECDSA) to the list of known hosts.
    Last login: Tue Nov  8 02:17:52 2016 from 192.168.11.2
    root@dragonboard-410c-32:~#
    
    • Dragon Board の root ユーザにパスワードを設定している場合はパスワードを聞かれるので入力します
    • root@dragonboard-410c-32:~# のようにシェルが表示されログイン完了です。

SSH で Dragon Board に接続する (Tera Term を使う場合)

Windows でターミナルエミュレータ Tera Term を使用する場合です。

  • ターミナルエミュレータ Tera Term をインストールしてください。
  • エクスプローラなどから ttermpro.exe を起動し TCP/IP の Host に上記で調べた Dragon Board の IP アドレスを入力します。
  • Service が SSH になっていることを確認してください
    • 初回は SECURITY WARNING としてサーバホストのフィンガープリントが表示されますので Continue してください
  • Dragon Board 上のユーザ名 (root) とパスワード (初期設定では空。自分で設定した場合はそれ) を入力して OK をクリックします。
  • root@dragonboard-410c-32:~# のようにシェルが表示されログイン完了です。

サンプルスクリプトを転送する

パソコンから SSH (WiFi) やシリアルコンソール (USB) を使ってファイルを転送できます。

WiFi 経由で scp を使って転送する場合 (推奨)

  • サンプルスクリプト集は gecko-embedded-scripts リポジトリの grove-samples ディレクトリ に入っています。

  • リポジトリをまとめて ZIP としてダウンロードしてください。(git clone する場合、ZIP にまとめるか以下のファイル転送を単一ファイルではなくディレクトリ全体のコピーとしてください)

  • パソコンで新しいターミナルウィンドウまたはタブを起動してください。Dragon Board のシェルにシリアルコンソールや SSH で接続しているターミナルではありません。

  • scp gecko-embedded-scripts-master.zip root@192.168.11.3:~ コマンドで ZIP ファイルをパソコンから Dragon Board のホームディレクトリに転送します。

    • scp コマンドは cp コマンド同様にコピー元とコピー先を引数に取りますが、ファイルパスの前に root@192.168.11.3: のように、リモートサーバのユーザ名と IP アドレスと : を付けることで、ローカルマシンでは無くリモートサーバ上のファイルやディレクトリを指定できます。この例の場合コピー先のディレクトリは ~ つまりホームディレクトリを指定しています。
    • ZIP ファイル単体では無く ZIP 展開済みもしくは git clone したフォルダをコピーしたい場合は scp -r gecko-embedded-scripts-master/grove-samples root@192.168.11.3:~/gecko-embedded-scripts-master のようにコピー元のファイルを含むディレクトリとコピー先のディレクトリを -r オプション付きで指定します。
    $ scp gecko-embedded-scripts-master.zip root@192.168.11.3:~
    gecko-embedded-scripts-master.zip          100% 9802     9.6KB/s   00:00
    

USB ケーブルのシリアルコンソールで転送する場合

micro USB ケーブルでのシリアルコンソール接続でもファイルの転送は可能です。但しここでは説明を省略します。WiFi 接続が使えない場合などは例えば http://d.hatena.ne.jp/hirose31/20060910/1157901142 などの説明を参考にしてください。

Dragon Board 上で Node を動かす

サンプルスクリプトを展開する

  • 前述の手順でスクリプトの ZIP ファイルが転送できたら Dragon Board のターミナルにログインします (すでに SSH もしくはシリアルコンソールでログイン済みであればそのターミナルを開きます
  • unzip gecko-embedded-scripts-master.zipgecko-embedded-scripts リポジトリのファイルを展開します。
  • cd gecko-embedded-scripts-master/grove-samples で Grove を使ったサンプルスクリプトのディレクトリに移動します

サンプルスクリプトのディレクトリ には以下のファイルが含まれています

  • index.js
    • ボタン、LED、ジェスチャーセンサー、OLCD パネルを使ったサンプルコードを動かすサーバスクリプトです。
  • package.json
    • express など依存ライブラリを管理するためのパッケージ情報ファイルです。
  • lib/
    • ライブラリの JavaScript ファイルを収めたディレクトリです。
  • public/
    • index.js でホストする、localhost サーバの静的コンテンツを収めたディレクトリです。
  • test/
    • 各デバイスのテストコードが収められたディレクトリです。
    • test/adc.js
      • I2C 端子に ADC とアナログセンサーを繋いで入力値をループ出力するコードです。
    • test/button-led.js
      • GPIO 端子のボタンを押すと GPIO 端子の LED が光るテストコードです。
    • test/gesture-oled.js
      • I2C 端子のジェスチャーセンサーに応じて GPIO 端子の LED が光るテストコードです。
    • test/gpio-input.js
      • GPIO 端子の入力値をループ出力するテストコードです。
    • test/gpio-output.js
      • GPIO 端子の出力をオンオフ繰り返すテストコードです。

node module のインストール

  • (上記手順で Dragon Board のターミナルに接続して grove-samples ディレクトリに移動します)
  • npm install コマンドを package.json ファイルの存在する grove-samples ディレクトリで実行すると、必要となる依存ライブラリが自動的にインストールされます。

node サーバの起動 (index.js)

  • (上記手順で Dragon Board のターミナルに接続して grove-samples ディレクトリに移動します)
  • node index.js コマンドを実行すると Node サーバが起動します
  • HDMI ディスプレイを接続している場合は Dragon Board のデスクトップを右クリックして Internet ⇒ Firefox を起動して http://localhost:3000/ にアクセスすることでサーバにアクセスできます。
  • 同一ネットワークのパソコンからは http://192.168.11.3:3000/ でアクセスできるようになります。
  • ボードでは avahi-daemon も動作しており mdns での名前解決も可能です。同一ネットワーク上に複数のボードがない環境であれば http://dragonboard-410c-32.local:3000/ などで接続することも可能です。
  • ブラウザに public ディレクトの中身が表示されることを確認してください
  • Ctrl+C キーで node サーバを終了させます

Grove モジュールを使ってみる

Grove システム のモジュールを利用するサンプルスクリプトを動かしてみましょう。

  • Hello Sensors World

    • Grove のボタン (GPIO Input) モジュールを G3 (G pin) 端子 (垂直、中央付近 USB ポートより) に接続します。
    • Grove の LED (GPIO Output) モジュールを G2 (E pin) 端子 (水平、中央付近 USB ポート上) に接続します。
    • 前述の通り Dragon Board 上の grove-samples ディレクトリで node test/button-led.js を実行し node スクリプトを起動させます。
    • Grove ボタンを押したら LED が点灯することを確認します。
    • Dragon Board 上で Ctrl+C キーを押して node を停止させます。
  • ADC とアナログセンサーを使ってみる

    • Grove の ADC (I2C) モジュールを P8 端子 (水平、HDMI ボートの上) に接続します。
      • ADC モジュールのコネクタのうち、裏面に SCL, SDA, VCC, GND と書かれている方が I2C 端子で、ボードの P8 端子に接続する側です。
    • Grove の光センサー (アナログセンサー) モジュールを ADC モジュールに接続します。
      • ADC モジュールのコネクタのうち、裏面に GND, VCC, NC, SIG と書かれている方にアナログセンサーを接続します。
    • (必要に応じて) ADC モジュールのアドレスに合わせてコードを書き換えます
      • Grove ADC モジュール は I2C アドレスがデフォルトで 0x55 とされていますが、ロットによってはデフォルトのアドレスが異なるし、モジュールの配線をカットすることで各モジュールのアドレスを変更できます。お手持ちのモジュールに合わせて test/adc.js ファイルの I2C_ADDR の値を書き換えてください。
    • 前述の通り Dragon Board 上の grove-samples ディレクトリで node test/adc.js を実行し node スクリプトを起動させます。
    • 1 秒毎にセンサーの電圧値を取得して表示されます。センサーを手で覆ったりして暗くすると値が変わることを確認します。
    • Dragon Board 上で Ctrl+C キーを押して node を停止させます。
  • Express を使った Node サーバを使ってみる

    • Grove のボタン (GPIO Input) モジュールを G3 (G pin) 端子 (垂直、中央付近 USB ポートより) に接続します。
    • Grove の LED (GPIO Output) モジュールを G2 (E pin) 端子 (水平、中央付近 USB ポート上) に接続します。
    • Grove のジェスチャーセンサーモジュールを P8 端子 (水平、HDMI ボートの上) に接続します。
    • Grove の OLED モジュールを P11 端子 (垂直、P8 端子の隣) に接続します。
    • 前述の通り Dragon Board 上の grove-samples ディレクトリで node index.js を実行し、node サーバを起動させます。
    • パソコン側から http://192.168.11.3:3000/ に接続して各ページで動作を確認します (URL の IP アドレスは各自のボードのもので読み替えます)
    • Dragon Board 上で Ctrl+C キーを押して node を停止させます。
Clone this wiki locally