これらはデバイスや、ボード上のimp、インターネット接続やデバイスに接続されたハードウェアなどをカプセル化するクラス群へのアクセスを提供するものです。コードこの例では、我々の方でコードを記述しました。1行目から26行目までをワークスペースのデバイスコード画面にコピー&ペーストしてください。前のセクションで記載済みのコードは削除して構いません。ボタンを押してください。コードの文法をチェックして、現在のモデルに属する全てのデバイスが受け取れるようにコードをパッケージ化します。デバイスに再起動するように伝えます。対応デバイスがインターネットに接続する都度、インストールすべき新規・更新用アプリケーションコードがないかをチェックします。存在する場合にはすでに持っているコードを置き換え、新しいソフトウェアを実行します。ペーストしたプログラムが新しいコードになります。ログ画面に以下のようなメッセージがあることがお分かりになるでしょうか。usedこのコードは何をしているのかこのコードはとてもシンプルですが、imp対応デバイスがどのように動作するか、いくつか肝となる部分を示しています。Impの既製のコードライブラリをどのように呼び出すかを示しています。ハードウェアドライバがそれになります。ライブラリ群はあなたのコードを拡張するパワフルな手段を提供しますが、これについての詳細は後のセクションで見ていきます。LED(のドライバ)を意味するライブラリを組み込んでいる、と理解してください。22行目ではクラスをインスタンス化して、このいくつかのメソッドを13行目で呼び出しています。LEDの色を更新しています。クラス?インスタンス?メソッド?これらの用語に不慣れに感じるのであれば、それはあなたがオブジェクト指向プログラミングに触れていないからかもしれません。オブジェクト指向言語です。オブジェクトとは、データ(『プロパティ』と呼びます)とそのデータで機能する関数(『メソッド』と呼びます)を組み合わせたソフトウェアの構成です。クラスはテンプレートとなるオブジェクトで、主に作業用コピー(『インスタンス』)の作成に使用されます。接続しているデバイスハードウェアを制御するために使うオブジェクトです。全てのピンと標準コンポーネントの通信バスに対するプロパティがあります。プロパティの1つであることを知っています。これらは下記のようにピリオドでつながって示されているからです。プロパティをください」という意味になり、この関係を示すピリオドの使い方は『ドット構文』と呼ばれます。自身のメソッドとプロパティを持つオブジェクトです。バスのパラメータ群を設定するのに使われています。いう名称の後にあるカッコは、そのメソッドを呼び出す(実行する)ようデバイスに指示します。メソッドは、デバイスに対しどのようにそのバスを使うかを指示する値を持っています。ドキュメント(英語)に記載されています。オブジェクトを参照しました。19行目で(変数を使わない)完全なオブジェクトとして書くことも出来ました。オブジェクトを設定しなさい」と実際にやっています。電源が行くように設定しています。制御する役割があります。することで、省電力を実現しています。オペレータを紹介しています。これは変数をグローバル変数としつつ、初期値を設定するのに使われています。オペレータを使います。Key-Valueの対を構成するデータ構造である『テーブル』を生成して値を投入するのにも使われます。グローバル変数をシステムテーブルに格納するからです。ここでは3つのグローバル変数を生成しています。あとで参照しやすくするため。点灯しているかどうかを記録するためです。14行目もまた重要です。メソッド」を意味します。対して最初のパラメータで定義された秒数が経過したあとで2つめのパラメータにある関数を実行するよう指示しています。関数をパラメータとして渡しています。今すぐにここで実行しなさいという指示となることを思い出してください。実際26行目でループを開始している際に用いているように。ベースのデバイスにおいてループを実装する方法になります。コンタクトすることといった重要なシステムタスクを実行する機会を得ることができます。ループの間ハウスキーピング機能を実行することを妨げてしまいます。これは避けなければなりません。イベント駆動プログラミング手法の一例です。コードはイベントによってトリガーが引かれたときにのみ実行されます。作業を完了し、実行が必要なユーザコードがない場合、デバイスは電力を節約するためスピードを落としたり、スリープ状態に入ることさえあります。このイベント駆動の性質については、次のセクションで詳しく説明します。制御する方法はありません。状態を遠隔から変更するコードを実装します。Impは、オリジナル文書からの翻訳によるいかなる問題についても責任を負いかねます。Imp利用規約に基づき利用されるものとします。Imp社から許可を得て翻訳・掲載しています。Imp公式の翻訳文章ではありません。imp004mモジュールに対応させる為、プログラムコードについては一部改変しています。