Mbed OS version of IoT.js implementation running on GR-PEACH

ビルド方法

ビルド環境セットアップ

Host PC要件 : Ubuntu 16.04 (64-bit)



1. 以下のコマンドを実行し、下表に示すツールをインストールします。

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install [Package]
PackageVersion
build-essential12.1ubuntu2
gyp0.1+20150913git1f374df9-1ubuntu1
mercurial3.7.3-1ubuntu1
cmake3.5.1-1ubuntu3
git1:2.7.4-0ubuntu1.4
python2.72.7.12-1ubuntu016.04.3
valgrind1:3.11.0-1ubuntu4.2
python-pip8.1.1-2ubuntu0.4

2. 以下のコマンドを実行してMbed OS用ビルドツール mbed CLIをインストールします。

$ sudo -H pip install mbed-cli

3. GNU Arm Embedded Toolchainをインストールします。

  • ダウンロードしたファイルを任意のディレクトリに展開します。
    (以下、展開先を${TOOLCHAIN}と記載します)

tar xjf gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2
  • ツールチェインのパスを設定します。

環境変数を使用する場合

$ export GCC_ARM_ROOT=${TOOLCHAIN}/gcc-arm-none-eabi-6-2017-q2-update/bin
$ export PATH=$GCC_ARM_ROOT:$PATH

mbed CLIで指定する場合

$ mbed config -G GCC_ARM_PATH $GCC_ARM_ROOT

iotjs環境のビルド

1. 本プログラムのクローン

下記コマンドを実行し、本プログラムをクローンしてください。

$ hg clone https://HinoNaka@os.mbed.com/users/HinoNaka/code/GR-PEACH_mbed-os-iotjs/

クローンが正常に終了すると、GR-PEACH_mbed-os-iotjs という名称のディレクトリが生成されますので、下記コマンドで当該ディレクトリへ移動してください。

$ cd GR-PEACH_mbed-os-iotjs

(Optional)
GR-PEACH-mbed-os-iotjsディレクトリを指す環境変数 ROOTを設定してください。以降の記載は本環境変数が設定されているものとします。

$ export ROOT=$(PWD)

2. 作業用ディレクトリ(e.g. work)を作成し、当該ディレクトリに移動してください。

$ mkdir -p work
$ cd work

(Optional)
作業用ディレクトリを指す環境変数 WORK を設定してください。以降の記載は本環境変数 が設定されているものとします。

$ export WORK=$(PWD)

3. iotjsのソースツリーを取得します。

$ git clone https://github.com/pando-project/iotjs

クローンが正常に終了するとiotjsというディレクトリが生成されますので、当該ディレクトリに移動してください。

$cd iotjs

コミットID: acae9c8b2d40e7598b8d39b630b79113ce880a7e を取得します。
(下記例では、あわせてposixというブランチを作成し、当該ブランチへ切り替えています)

$ git checkout -b posix acae9c8b2d40e7598b8d39b630b79113ce880a7e

4. mbed-osセットアップ
Mbed OSソースツリーを格納するフォルダを生成し、当該フォルダへ移動します。

$ mkdir -p $(WORK)/iotjs/src/platform/mbedos5
$ cd $(WORK)/iotjs/src/platform/mbedos5

Mbed OSのソースツリーをクローンします。

$ git clone -b mbed-os-5.9 https://github.com/ARMmbed/mbed-os.git

クローンが正常に終了するとmbed-osというディレクトリが生成されますので、当該ディレクトリに移動してください。

$ cd mbed-os

コミットID: 50bd61a4a72332baa6b1bac6caccb44dc5423309 を取得します。
(下記例では、あわせてposixというブランチを作成し、当該ブランチへ切り替えています)

$ git checkout -b posix 50bd61a4a72332baa6b1bac6caccb44dc5423309

5. sd-driverの取得
下記コマンドでmbedos5ディレクトリへ移動します。

$ cd $(WORK)/iotjs/src/platform/mbedos5

sd-driverをクローンします。

$ git clone https://github.com/ARMmbed/sd-driver.git

クローンが正常終了するとsd-driverディレクトリが生成されますので、当該ディレクトリへ移動します。

$ cd sd-driver

コミットID: c8ae38fb291e086232566b0f1372cfb69c277e84 を取得します。
(下記例では、あわせてposixというブランチを作成し、当該ブランチへ切り替えています)

$ git checkout -b posix c8ae38fb291e086232566b0f1372cfb69c277e84

6. mbed-gr-libsの取得
下記コマンドでmbedos5ディレクトリへ移動します。

$ cd $(WORK)/iotjs/src/platform/mbedos5

mbed-gr-libsをクローンします。

$ git clone https://github.com/d-kato/mbed-gr-libs

クローンが正常終了するとmbed-gr-libsディレクトリが生成されますので、当該ディレクトリへ移動します。

$ cd mbed-gr-libs

コミットID: d921d611d596ecaebaab49070ef82450c583309c を取得します。
(下記例では、あわせてposixというブランチを作成し、当該ブランチへ切り替えています)

$ git checkout -b posix d921d611d596ecaebaab49070ef82450c583309c

7. AsciiFONTの取得
下記コマンドでmbedos5ディレクトリへ移動します。

$ cd $(WORK)/iotjs/src/platform/mbedos5

AsciiFONTライブラリを追加します。

$ mbed add https://os.mbed.com/teams/Renesas/code/AsciiFont/

8. iotjs環境のビルド
下記コマンドでiotjs環境のビルドディレクトリに移動し、ビルドを実行します。

$ cd $(WORK)/iotjs
$ ./tools/build.py --no-snapshot

9. GR-PEACH用コードのコピー
(Optional) 既存のiotjs環境に上書きする場合、下記コマンドを実行してください。

$ rm -rf $(WORK)/iotjs/deps/posix
$ rm -rf $(WORK)/iotjs/src/ext-modules
$ rm -rf $(WORK)/iotjs/src/platform/mbedos5/iotjs_def.h

下記コマンドでGR-PEACH用コードをコピーします。

$ cp -pr $(ROOT)/src/iotjs/* $(WORK)/iotjs/

10. lwipパッチ適用
以下コマンドでlwipパッチを適用します。

$ cd $(WORK)/iotjs/src/platform/mbedos5/mbed-os
$ git apply lwip_improve.patch

11. ESP32 TRNG対応パッチ適用
以下コマンドでESP32のTRNGを活用するためのパッチを適用します。

$ cd $(WORK)/iotjs/src/platform/mbedos5/mbed-os
$ git apply trng_support.patch

12. Mbed OS版iotjs環境のビルド
下記コマンドを実行してMbed OS版iotjs環境をビルドします。
(リリースビルドの場合)

$ cd $(WORK)/iotjs/src/platform/mbedos5
$ make clean; make DEBUG=0

(デバッグビルドの場合)

$ cd $(WORK)/iotjs/src/platform/mbedos5
$ make clean; make DEBUG=1

13. ビルドが正常に終了すると、以下の通りバイナリが生成されます。
(リリースビルドの場合)

$ ls -l ${WORK}/iotjs/src/platform/mbedos5/BUILD/RZ_A1H/GCC_ARM-RELEASE/iotjs.bin

(デバッグビルドの場合)

$ ls -l ${WORK}/iotjs/src/platform/mbedos5/BUILD/RZ_A1H/GCC_ARM-DEBUG/iotjs.bin

実行方法

1. GR-PEACHにmicro SDカードを挿入します。

2. GR-PEACHのEthernetポートから遠い側のUSBポートとHost PCをマイクロUSBケーブルで接続します。

3. Host PCでGR-PEACHが『mbed:』ドライブとして認識されたら、iotjs.binをmbedドライブにコピーします。

4. ターミナルS/Wを立上げ、『mbed Serial Port』と接続します。
/media/uploads/HinoNaka/img1.jpg
シリアルポートは下記設定としてください。

Baud rate115200
Data8 bit
Paritynone
Stop1 bit
Flow controlnone

5. 正常に書込みが終了したらGR-PEACHのRESETボタンを押下します。

6. ターミナルS/W上に下記メッセージが表示されます。
/media/uploads/HinoNaka/img2.jpg

7. Enterキーを押下してコード入力モードに移行します。
/media/uploads/HinoNaka/img3.jpg

8. 実行するJavascriptコードをターミナルソフトウェアに貼り付けてEnterキーを押下すると、実行開始します。Javascriptコード例については、test/case.txtを参照ください。

Files at this revision

API Documentation at this revision

Comitter:
Osamu Nakamura
Date:
Thu Jul 18 10:43:16 2019 +0900
Parent:
3:b4a4111c9e15
Commit message:
Remove unnecessary documents

Changed in this revision

doc/ƒlƒbƒgƒ[ƒNŠÂ‹«‚̐§Œä‚ɂ‚¢‚Ä.txt Show diff for this revision Revisions of this file
doc/ƒrƒ‹ƒh•û–@.txt Show diff for this revision Revisions of this file
doc/ƒ‚ƒWƒ…[ƒ‹‘Ήžó‹µ.txt Show diff for this revision Revisions of this file
doc/ˆÚAŠÖ”ˆê——.xlsx Show diff for this revision Revisions of this file
doc/Žg—p•û–@.txt Show diff for this revision Revisions of this file
doc/§ŒÀŽ–€.txt Show diff for this revision Revisions of this file
--- a/doc/ƒlƒbƒgƒ[ƒNŠÂ‹«‚̐§Œä‚ɂ‚¢‚Ä.txt	Thu Jul 18 10:23:07 2019 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-==================================
-  ƒlƒbƒgƒ[ƒNŠÂ‹«‚̐§Œä‚ɂ‚¢‚Ä
-==================================
-
-javascript ‚©‚çƒlƒbƒgƒ[ƒNŠÂ‹«‚𐧌䂷‚é•û–@‚ɂ‚¢‚Ä‹Lq‚µ‚Ü‚·B
-
-¡ nic ƒ‚ƒWƒ…[ƒ‹
-
-  nodejs ‚â iotjs ‚Å‚Í•W€ŽÀ‘•‚³‚ê‚Ä‚¢‚È‚¢Aƒlƒbƒgƒ[ƒNŠÂ‹«‚𐧌䂷‚邽‚ß‚Ì
-nic ƒ‚ƒWƒ…[ƒ‹‚ð•W€ŽÀ‘•‚µ‚Ä‚¢‚Ü‚·B
-
-
-¡ nic ƒ‚ƒWƒ…[ƒ‹‚Ì‹@”\
-
-  nic ƒ‚ƒWƒ…[ƒ‹‚ɂ͉º‹L‚Ì‹@”\‚ª‚ ‚è‚Ü‚·B
-
-  Eenumerate   - ƒ{[ƒh‚É“‹Ú‚³‚ꂽ NIC ˆê——‚ðŽæ“¾‚µ‚Ü‚·B
-  Eifup        - IPAmaskAgatewayA(dns)‚ðŽw’肵‚ălƒbƒgƒ[ƒN‚֐ڑ±‚µ‚Ü‚·B
-  Eifdown      - ƒlƒbƒgƒ[ƒN‚©‚çØ’f‚µ‚Ü‚·B
-  Eifconfig    - ó‘Ô‚ðŽæ“¾‚µ‚Ü‚·B
-  Entpdate     - ƒCƒ“ƒ^[ƒlƒbƒgŽž‚Æ“¯Šú‚µ‚Ü‚·B
-
-  “Á‚ÉŽw’肪‚È‚¢ê‡‚Í javascript ‚̐擪‚ÉŽŸ‚̃R[ƒh‚ðŠÜ‚ß‚Ä‚¨‚­‚±‚Æ‚ð
-‚¨Š©‚ß‚µ‚Ü‚·B
-
-    var nic = require('nic');
-    var eth = nic.enumerate().ETHERNET;
-    if( eth ) {
-        eth.ifup();                             // DHCP
-        eth.ntpdate({ server: "ntp.nict.jp" }); // Žž“¯Šú
-    }
-
-  nic ƒ‚ƒWƒ…[ƒ‹‚̏ڍׂɂ‚¢‚ẮAudoc/api/nic.htmlv‚ð‚²——‚­‚¾‚³‚¢B
-
-                                                                        ˆÈã
--- a/doc/ƒrƒ‹ƒh•û–@.txt	Thu Jul 18 10:23:07 2019 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-==============
-  ƒrƒ‹ƒh•û–@
-==============
-
-¡XV—š—ð
-
-  2018”N08ŒŽ27“ú iš1j‰ÓŠ‚̎菇‚ðXV
-  2018”N12ŒŽ20“ú iš2j‰ÓŠ‚̎菇‚ðXV
-                  •s—v‚Ȏ菇‚̍폜E®—
-  2019”N02ŒŽ01“ú  iotjs‚̎擾Œ³‚ð•ÏXi“à—e‚͕ύX‚È‚µj
-                 iš3j‰ÓŠ‚̎菇‚ðXV
-
-¡ƒrƒ‹ƒhŠÂ‹«\’z
-
-  “®ìŠm”FŠÂ‹«
-    OS : Ubuntu 16.04
-
-  1) ƒpƒbƒP[ƒWƒŠƒXƒg‚̍XV
-        sudo apt update
-
-  2) ƒCƒ“ƒXƒg[ƒ‹Ï‚݃pƒbƒP[ƒW‚̍XV
-        sudo apt upgrade
-
-  3) ƒpƒbƒP[ƒW‚̒ljÁ
-        sudo apt install [package]
-
-          ypackagez       : yversionz
-          build-essential   : 12.1ubuntu2
-          gyp               : 0.1+20150913git1f374df9-1ubuntu1
-          mercurial         : 3.7.3-1ubuntu1
-          cmake             : 3.5.1-1ubuntu3
-          git               : 1:2.7.4-0ubuntu1.4
-          python2.7         : 2.7.12-1ubuntu0~16.04.3
-          valgrind          : 1:3.11.0-1ubuntu4.2
-          python-pip        : 8.1.1-2ubuntu0.4
-
-  4) Mbed CLI ‚̃Cƒ“ƒXƒg[ƒ‹
-        sudo -H pip install mbed-cli
-
-  5) gcc-arm-none-eabi ‚̃Cƒ“ƒXƒg[ƒ‹iš2j
-    ˆÈ‰º‚ÌURL‚©‚ç gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2 ‚ð
-    ƒ_ƒEƒ“ƒ[ƒh‚µ‚Ü‚·B
-        https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads
-
-    ƒ_ƒEƒ“ƒ[ƒh‚µ‚½ƒtƒ@ƒCƒ‹‚ð”CˆÓ‚̃fƒBƒŒƒNƒgƒŠ‚ɉ𓀂µ‚Ü‚·B
-        tar xjf gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2
-
-    ƒpƒX‚̐ݒè‚ðs‚¢‚Ü‚·B
-      # ŠÂ‹«•Ï”‚ðŽg—p‚·‚éê‡
-        export GCC_ARM_ROOT=ƒ‰ð“€æ‚̃pƒX/gcc-arm-none-eabi-6-2017-q2-update/bin„
-        export PATH=$GCC_ARM_ROOT:$PATH
-
-      # Mbed CLI ‚ÅŽw’è‚·‚éê‡
-        mbed config -G GCC_ARM_PATH $GCC_ARM_ROOT
-
-
-¡ƒrƒ‹ƒh•û–@‚ɂ‚¢‚Ä
-
-  ‰º‹L‚̃Rƒ}ƒ“ƒh‚ÅŠJ”­ŠÂ‹«‚̍\’zEƒrƒ‹ƒh‚ðs‚¢‚Ü‚·B
-
-    # ì‹ÆƒfƒBƒŒƒNƒgƒŠì¬
-        export WORK=${HOME}/work
-        mkdir -p ${WORK}
-        cd ${WORK}
-
-    # iotjsŽæ“¾
-        git clone https://github.com/pando-project/iotjs
-        cd iotjs
-        git checkout -b posix acae9c8b2d40e7598b8d39b630b79113ce880a7e
-
-    # mbed-osŽæ“¾
-        mkdir -p ${WORK}/iotjs/src/platform/mbedos5
-        cd ${WORK}/iotjs/src/platform/mbedos5
-
-        git clone -b mbed-os-5.9 https://github.com/ARMmbed/mbed-os.git
-        cd mbed-os
-        git checkout -b posix 50bd61a4a72332baa6b1bac6caccb44dc5423309
-
-    # sd-driverŽæ“¾
-        cd ${WORK}/iotjs/src/platform/mbedos5
-        git clone https://github.com/ARMmbed/sd-driver.git
-        cd sd-driver
-        git checkout -b posix c8ae38fb291e086232566b0f1372cfb69c277e84
-
-    # mbed-gr-libsŽæ“¾iš1j
-        cd ${WORK}/iotjs/src/platform/mbedos5
-        git clone https://github.com/d-kato/mbed-gr-libs
-        cd mbed-gr-libs
-        git checkout -b posix d921d611d596ecaebaab49070ef82450c583309c
-
-    # AsciiFontŽæ“¾iš3j
-        cd ${WORK}/iotjs/src/platform/mbedos5
-        mbed add https://os.mbed.com/teams/Renesas/code/AsciiFont/
-
-    # iotjsƒrƒ‹ƒh
-        cd ${WORK}/iotjs
-        ./tools/build.py --no-snapshot
-
-    # ƒ\[ƒXƒR[ƒh‚ð”z’uiš3j
-        # Šù‘¶‚̊‹«‚ɏ㏑‚«‚·‚éê‡‚́AˆÈ‰º‚̃tƒ@ƒCƒ‹íœ‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B
-            rm -rf ${WORK}/iotjs/deps/posix
-            rm -rf ${WORK}/iotjs/src/ext-modules
-            rm ${WORK}/iotjs/src/platform/mbedos5/iotjs_def.h
-
-        # [CDROM]‚Ì src/iotjs/* ‚ð iotjs/ ‚ɏ㏑‚«ƒRƒs[
-            cp -pr [CDROM]/src/iotjs/* ${WORK}/iotjs/
-
-    # lwipƒpƒbƒ`“K—p
-        cd ${WORK}/iotjs/src/platform/mbedos5/mbed-os
-        git apply lwip_improve.patch
-
-    # Mbed TLS ‚Å Wireless Camera Shield ‚É“‹Ú‚³‚ê‚Ä‚¢‚é ESP32 ‚̐^«—””­¶Ší
-    # ‚ðŽg—p‚·‚éê‡‚͈ȉº‚̎菇‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢Biš2j
-        cd ${WORK}/iotjs/src/platform/mbedos5/mbed-os
-        git apply trng_support.patch
-
-    ##yƒm[ƒgz
-    ## Wireless Camera Shield ‚ðÚ‘±‚¹‚¸‚É IoT.js ‚𓮍삳‚¹‚½‚¢ê‡‚âA
-    ## ESP32 ƒpƒbƒ`‚ð“K—p‚µ‚È‚¢ê‡‚́A‰º‹L‚Q‰ÓŠ‚̕ύX‚ðs‚Á‚čărƒ‹ƒh‚µ‚Ä‚­‚¾‚³‚¢B
-        ƒtƒ@ƒCƒ‹ƒpƒXFiotjs / src / platform / mbedos5 / Makefile
-        35s–Ú:
-          •ÏX‘Oj    --cmake-param=-DENABLE_MODULE_VIDEO=ON                  \
-          •ÏXŒãj    --cmake-param=-DENABLE_MODULE_VIDEO=OFF                 \
-        ƒtƒ@ƒCƒ‹ƒpƒXFiotjs / src / platform / mbedos5 / mbed_app.json
-        107s–Ú:
-          •ÏX‘Oj    "ENABLE_MODULE_VIDEO=1",
-          •ÏXŒãj    "ENABLE_MODULE_VIDEO=0",
-
-    # mbedŠÂ‹«Œü‚¯ƒrƒ‹ƒh
-        cd ${WORK}/iotjs/src/platform/mbedos5
-        make clean; make DEBUG=0
-          ¦debugƒrƒ‹ƒh‚·‚éê‡‚Í DEBUG=1 ‚Æ‚µ‚Ä‚­‚¾‚³‚¢
-
-    # GR-PEACH ‚ɏ‘‚«ž‚ÞƒoƒCƒiƒŠƒtƒ@ƒCƒ‹‚ªˆÈ‰º‚ɐ¶¬‚³‚ê‚Ü‚·
-        ls -l ${WORK}/iotjs/src/platform/mbedos5/BUILD/RZ_A1H/GCC_ARM/iotjs.bin
-
-
-                                                                        ˆÈã
--- a/doc/ƒ‚ƒWƒ…[ƒ‹‘Ήžó‹µ.txt	Thu Jul 18 10:23:07 2019 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-======================
-  ƒ‚ƒWƒ…[ƒ‹‘Ήžó‹µ
-======================
-
-1) ‘Ήžƒ‚ƒWƒ…[ƒ‹‚ɂ‚¢‚Ä
-~~~~~~~~~~~~~~~~~~~~~~~~~
-  IoT.js ‚̃‚ƒWƒ…[ƒ‹inodejs‚̃‚ƒWƒ…[ƒ‹‚É‘Š“–j‚Ì‚¤‚¿
-  ‰º‹Lƒ‚ƒWƒ…[ƒ‹‚ɂ‚¢‚Ä“®ìŠm”F‚ðŠ®—¹‚µ‚Ä‚¢‚Ü‚·B
-
-      assert, buffer, console, dgram, dns, events, fs, 
-      http, https, module, net, stream, timers, tls, process
-
-  ã‹LˆÈŠO‚̗Ⴆ‚Î BLE ‚Ȃǂ̃‚ƒWƒ…[ƒ‹‚ɂ͑Ήž‚µ‚Ä‚¢‚Ü‚¹‚ñB
-
-2) API Reference ‚ɂ‚¢‚Ä
-~~~~~~~~~~~~~~~~~~~~~~~~~
-  Œ»ÝŽg—p’†‚Ì IoT.js ‚̃o[ƒWƒ‡ƒ“‚͈ȉº‚É‚È‚è‚Ü‚·B
-
-    IoT.js version
-        Wed Jul 4 12:03:55 2018
-        commit : acae9c8b2d40e7598b8d39b630b79113ce880a7e
-
-  ã‹Lƒo[ƒWƒ‡ƒ“‚ÌŠeƒ‚ƒWƒ…[ƒ‹‚Ì API Žd—l‚ɂ‚¢‚ẮAˆÈ‰º‚ð‚²ŽQÆ‚­‚¾‚³‚¢B
-
-    IoT.js API Reference
-      https://github.com/pando-project/iotjs/blob/acae9c8b2d40e7598b8d39b630b79113ce880a7e/docs/api/IoT.js-API-reference.md
-
-                                                                        ˆÈã
Binary file doc/ˆÚAŠÖ”ˆê——.xlsx has changed
--- a/doc/Žg—p•û–@.txt	Thu Jul 18 10:23:07 2019 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-============
-  Žg—p•û–@
-============
-
-Žg—p•û–@‚ɂ‚¢‚ẮA‰º‹L‚̃hƒLƒ…ƒƒ“ƒg‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
-
-  - test/case.txt
-
-
-                                                                        ˆÈã
--- a/doc/§ŒÀŽ–€.txt	Thu Jul 18 10:23:07 2019 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-============
-  §ŒÀŽ–€
-============
-
-Œ»ÝAˆÈ‰º‚̐§ŒÀŽ–€‚ª‚ ‚è‚Ü‚·B
-
-¡§ŒÀŽ–€
-
-1) POSIX/LINUX ŠÖ”‚̈ڐAó‹µ‚ɂ‚¢‚Ä
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  ˆÚAŠÖ”‚Í IoT.js ‚𓮍삳‚¹‚邽‚ß‚É•K—v‚È‚à‚Ì‚Ì‚Ý‚Æ‚È‚è‚Ü‚·B
-  POSIX/LINUX ‚̊֐”Žd—l‚ÉŠ®‘S‘Ήž‚µ‚Ä‚¢‚é‚킯‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
-  ˆÚAó‹µÚ×‚ɂ‚¢‚ẮA‰º‹L‚̃hƒLƒ…ƒƒ“ƒg‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
-
-  - ˆÚAŠÖ”ˆê——.xlsx
-
-
-2) Å‘åƒ\ƒPƒbƒg”‚ɂ‚¢‚Ä
-~~~~~~~~~~~~~~~~~~~~~~~~~
-  LWIP ‚É‚ÄŽg—p‰Â”\‚ȃ\ƒPƒbƒg”‚⃁ƒ‚ƒŠƒTƒCƒY“™‚ð‰º‹LÝ’èƒtƒ@ƒCƒ‹‚É‚Ä
-  Ý’肵‚Ä‚¢‚Ü‚·B
-  Ý’è‚ð•ÏX‚·‚éê‡‚͐ݒèƒtƒ@ƒCƒ‹‚ð•ÒW‚µ‚čărƒ‹ƒh‚µ‚Ä‚­‚¾‚³‚¢B
-
-    ƒtƒ@ƒCƒ‹ƒpƒXF
-        iotjs / src / platform / mbedos5 / mbed_app.json
-
-    161:  "target_overrides": {
-     +1:    "*": {
-     +1:      "lwip.socket-max": 60,
-     +1:      "lwip.tcp-server-max": 60,
-     +1:      "lwip.tcp-socket-max": 60,
-     +1:      "lwip.udp-socket-max": 60,
-     +1:      "lwip.pbuf-pool-size": 10,
-     +1:      "lwip.pbuf-pool-bufsize": 1072,
-     +1:      "lwip.mem-size": 3200
-     +1:    }
-     +1:  }
-
-
-3) IPv6 ‚ɂ‚¢‚Ä
-~~~~~~~~~~~~~~~~
-  mbed-os(5.9.3)‚̃fƒtƒHƒ‹ƒgÝ’è‚ÍIPv6‚ª–³Œø‚É‚È‚Á‚Ä‚¢‚Ü‚·B
-  IPv6‚ð—LŒø‚É‚·‚éê‡‚͉º‹LÝ’èƒtƒ@ƒCƒ‹‚ð•ÒW‚µ‚čărƒ‹ƒh‚µ‚Ä‚­‚¾‚³‚¢B
-  ¦‚È‚¨ IPv6 ‚ð—LŒø‚É‚µ‚½ê‡‚̉e‹¿”͈͂¨‚æ‚Ñ“®ì‚ɂ‚¢‚Ä‚Í–¢Šm”F‚Å‚·B
-
-    ƒtƒ@ƒCƒ‹ƒpƒXF
-        iotjs / src / platform / mbedos5 / mbed_app.json
-
-    161:  "target_overrides": {
-     +1:    "*": {
- <’ljÁ>:      "lwip.ipv6-enabled": true,
-     +1:      "lwip.socket-max": 60,
-     +1:      "lwip.tcp-server-max": 60,
-     +1:      "lwip.tcp-socket-max": 60,
-     +1:      "lwip.udp-socket-max": 60,
-     +1:      "lwip.pbuf-pool-size": 10,
-     +1:      "lwip.pbuf-pool-bufsize": 1072,
-     +1:      "lwip.mem-size": 3200
-     +1:    }
-     +1:  }
-
-
-4) ƒlƒbƒgƒ[ƒNŠÂ‹«‚̐§Œä‚ɂ‚¢‚Ä
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  Œ»óAƒlƒbƒgƒ[ƒN‚ւ̐ڑ±‚Í EthernetInterface ƒNƒ‰ƒX‚Öƒ}ƒbƒsƒ“ƒO‚³‚ê‚é
-ƒfƒoƒCƒX(GR-Peach ‚̏ꍇ‚̓Iƒ“ƒ{[ƒh‚̃fƒoƒCƒX)‚Ì‚Ý‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
-  javascript ‚©‚琧Œä‚·‚é•û–@‚ɂ‚¢‚ẮA‰º‹L‚̃hƒLƒ…ƒƒ“ƒg‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
-
-  - ƒlƒbƒgƒ[ƒNŠÂ‹«‚̐§Œä‚ɂ‚¢‚Ä.txt
-
-
-5) ƒJƒƒ‰ELCD‚̐§Œä‚ɂ‚¢‚Ä
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  videoƒ‚ƒWƒ…[ƒ‹(ƒJƒƒ‰)‚Ædisplayƒ‚ƒWƒ…[ƒ‹(LCD)‚𓯎ž‚ÉŽg—p‚·‚éê‡A
-  display.openLCD() ‚ðŽÀsŒã‚É video.openCMOSCamera() ‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B
-
-  ‚Ü‚½Alcd.start() ‚Ì format ‚ÌŽw’è‚‚¢‚āAŠeƒŒƒCƒ„[‚ɑ΂µ‚ñŽÀsŽž‚Ì‚Ý
-  —LŒø‚É‚È‚è‚Ü‚·B
-  “ñ‰ñ–ڈȍ~‚͏‰‰ñ‚ƈقȂé format ‚ðŽw’肵‚Ä‚àA‰‰ñ‚̐ݒ肪—LŒø‚É‚È‚è‚Ü‚·B
-
-    —áj
-      lcd.startSync(0, buf, 'rgb565');
-      lcd.stopSync(0);
-      lcd.startSync(0, buf, 'rgb888'); // format ‚Í 'rgb565' ‚É‚È‚è‚Ü‚·
-
-
-6) IoT.js ƒIƒŠƒWƒiƒ‹‚Ì http(https) ƒ‚ƒWƒ…[ƒ‹‚Ì–â‘è‚ɂ‚¢‚Ä
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  IoT.js ƒIƒŠƒWƒiƒ‹‚Ì http(https) ƒ‚ƒWƒ…[ƒ‹‚ɂāAˆê‰ñ‚Ì SOCKET ’ʐM‚Å‚Í‘—‚è‚«‚ê
-  ‚È‚¢ƒTƒCƒY‚̃f[ƒ^‚𑗐M‚µ‚悤‚Æ‚·‚é‚ƁA“ñ‰ñ–ڈȍ~‚É‘—M‚³‚ê‚éƒf[ƒ^‚ðŠÜ‚ޗ̈æ
-  ‚ª‘—M‘O‚ɉð•ú (”j‰ó) ‚³‚ê‚Ä‚µ‚Ü‚¤‚±‚Æ‚ª‚í‚©‚è‚Ü‚µ‚½B
-
-  ‚±‚Ì–â‘è‚ð‰ñ”ð‚·‚é‚½‚߁AŽŸ‚̑΍ô‚ðs‚¢‚Ü‚µ‚½B
-
-    1. IoT.js ƒIƒŠƒWƒiƒ‹‚Ì‘—MŠÖ” write() ‚ðƒI[ƒo[ƒ‰ƒCƒh‚µA‚»‚̊֐”“à•”‚Å
-       ƒf[ƒ^‚ð‚ ‚ç‚©‚¶‚߈ê‰ñ‚Ì SOCKET ’ʐM‚Å‘—‚è‚«‚ê‚éƒTƒCƒY‚É•ªŠ„‚µ‚Ä‚¨‚­B
-       •ªŠ„‚µ‚½ƒf[ƒ^‚𒀎ŸƒIƒŠƒWƒiƒ‹‚Ì‘—MŠÖ”‚É“n‚·B
-              - 4096 ƒoƒCƒg‚²‚Æ‚É•ªŠ„
-              - ƒ†[ƒUƒR[ƒh‚©‚ç‚Í write() ŠÖ”‚̓gƒ‰ƒ“ƒXƒyƒAƒŒƒ“ƒg
-    2. POSIX ‘w‚Ì SOCKET ‚Ö‚Ì‘—Mˆ—‚́Aˆø”‚ÅŽw’肳‚ꂽƒTƒCƒY•ª‚ð‘—‚èØ‚é‚Ü‚Å
-       ƒ‹[ƒv‚·‚éB
-
-  ã‹L 1. ‚ðŽÀŒ»‚·‚邽‚߁Ahttp(s) ƒ‚ƒWƒ…[ƒ‹‚ðŽg—p‚·‚éê‡‚Í fixup ƒ‚ƒWƒ…[ƒ‹‚ð
-  ŽŸ‚̂悤‚É require ‚µ‚Ä‚­‚¾‚³‚¢B
-
-    - http ƒ‚ƒWƒ…[ƒ‹‚ðŽg—p‚·‚éê‡F
-
-          require('fixup')('http');     // http ‚ð require ‚·‚é’¼‘O‚É’Ç‹L
-                                        // http ƒ‚ƒWƒ…[ƒ‹‚ðC—‚·‚éA‚̈Ó
-          var http = require('http');
-
-    - https ƒ‚ƒWƒ…[ƒ‹‚ðŽg—p‚·‚éê‡F
-
-          require('fixup')('https');    // https ‚ð require ‚·‚é’¼‘O‚É’Ç‹L
-                                        // https ƒ‚ƒWƒ…[ƒ‹‚ðC—‚·‚éA‚̈Ó
-          var https = require('https');
-
-  ‚±‚Ì‹Lq‚ð‚·‚é‚Æ IoT.js ƒIƒŠƒWƒiƒ‹‚Ì‘—MŠÖ”‚ª’u‚«Š·‚¦‚ç‚ê‚Ü‚·B
-
-                                                                        ˆÈã