すべてのモノが「つながる」新たな未来へ。(gcc-arm-none-eabi)とdfu-utilのインストールをしておいてください。ここ(2)からは、Sens'itを開発PCと接続し、Sens'itのUpgrade及びFirmwareの開発、書込み、動作確認方法を説明します。Upgrade開発するファームウェアをSens'it上で動かすためには必ずUpgradeが必要です。これをせず、ファームウェアの書込みを行うと、Sens'itのメモリを壊してしまい、2度と元に戻らないみたいです。大まかな流れは以下の通りです。upgrade"を叩く上記2.3.についてですが、Sens'itをブートローダーモードにするSens'itのボタン操作でブートローダーモードにしますが、ボタンは若干押しにくいので、ペンのようなものでやられることをお奨めします。Sens'itの全面中央にあるボタンを4回連続で押します。中央ボタンを長押しします。->中央ボタンのところとUSBコネクタ部分のLEDが、準にゆっくり白点灯します。成功したときは、下の写真のようになっているはずです。1→2の順に点灯します。upgradeコマンドを入力してください。成功した場合は、LEDが緑点灯します。upgrade済みの場合は青点灯します。C言語ソース編集ここでようやく、ソースコードを編集し、独自のファームウェアを開発します。SDKのsrcフォルダにあるmain.cファイルを見てみます。}}初期化の後、whileループが回っている感じで、Arduinoでの開発イメージに近いですね。here*/と書かれているところに自身のコードを埋め込んでいくことになりそうです。ちなみに、SENSIT_API_sleep(MAX_SLEEP_DURATION);では、スリープ時間を指定せず、とにかく、ずーっと寝てろってことです。定期的にセンサデータを取得し送信したければ、ここの引数に実際のスリープ時間(秒)を入れることになります。SRC_BUTTON)のところですが、ずーっと寝ているSens'itを起こしてあげるトリガを決めています。この場合はSRC_BUTTONなので、「ボタンが押されたら起きましょう」ということになります。その後、CLICK_count()でボタンが押された回数を取得して、「4回」なら、APIをリセットします。この4回というのが、先に書いたブートローダーモードのボタン4回押してねという話につながりそうです。データを取得し、Sigfoxネットワークに送信するプログラムを作ってみます。Sigfoxデータ送信Sigfoxの場合、最大12バイトのペイロードを送るというルールがあるので、それ以下のサイズの送信データ配列とセンサー情報を取得する関数、そして、Sigfox送信用の関数を使います。SENSIT_API_sleep(300);ここで、SENSIT_API_send_sfx_frame()関数がデータ送信用のAPIです。日本では第1引数をSFX_RC3としておいてください。第2引数は送信時に点滅させるLEDの色、第3、第4引数に送信するデータ配列とその長さを指定。第5引数以降は、下り受信時の話なので、とりあえずは、上記のままで結構です。その後、SENSIT_API_sleep(300)で、300秒間(5分間)寝てもらいます。5分後に戻ってきます。get_temp_humid_lightという関数を作ってみます。return;}(コードをわかりやすくするため、エラー時は、何もせずにFALSEを返しています。センサーをスリープにするSENSIT_API_temp_sensor_mode_sleep:温湿度センサーSENSIT_API_light_sensor_mode_sleep:照度センサーあとは、ペイロード用のデータ配列に入れておきます。Sens'itに書き込んでみます。コンパイルその前に、コンパイルしないといけないので、必要に応じMakefileを編集し、makeコマンドを叩いておきます。Sens'itへの書込み書込みの際は、毎回、ブートローダーモードにしないといけません。上にも書いていますが、念のため、もう一度書いておきます。Sens'itの全面中央にあるボタンを4回連続で押します。中央ボタンを長押しします。->中央ボタンのところとUSBコネクタ部分のLEDが、準にゆっくり白点灯します。progコマンドを叩けば、Sens'itにファームウェアが書き込まれます。以上!しばらくすると、LEDが赤色に点滅し、データが送信されていることが確認できます。次回は、Sigfoxクラウドでデータが受信できたかを確認する方法を説明します。サイトマップ当サイトについてJPENKCCSは京セラコミュニケーションシステム株式会社の略称です。記載の会社名および製品名・サービス名は、それぞれ各社の商標または登録商標です。