「IoT」カテゴリーアーカイブ

RaspberryPiでプログラムを自動起動する方法

RaspberryPiでせっかく作ったプログラム、毎回コマンドやマウスで動かしてたらキリがない。
まして、電源入れたらひとりでに起動する組み込みで使用したい。自動化どうするんだっけ・・・

こんにちは、北神です。

RaspberryPiで、プログラムを自動起動する方法です。

古きLinuxユーザーの方は、init.dを想像するかもしれませんが、
今ではsystemdという仕組みが物凄く簡単ですので、ぜひsystemdを活用してみてください。

ます、systemdで起動する内容を設定する .serviceというファイルを作成します。
主にテキストのファイルですので、nanoやviで書き込みます。

[Unit]
Description= Custom Service
[Service]
Type=simple
ExecStart=/usr/bin/python3 /home/pi/service.py
[Install]
WantedBy=multi-user.target

Sytemdでは、service記述によりたくさんのオプションがあり、細かく設定する事ができます。
上記では、/home/piに保存したservice.pyをPython3で起動する単純な物です。

このファイルを、以下のコマンドでディレクトリにコピーします。
仮に hello.service としましょう。

sudo cp hello.service /etc/systemd/system/
sudo systemctl daemon-reload

これで、Systemdが読みに行けるファイルになりました。

実際に、起動を開始するには

sudo systemctl start hello.service 

終了する際は

sudo systemctl stop hello.service 

で行うだけです。

また、状態の確認は

sudo systemctl status hello.service 

で行えます。

簡単ですね。

最後に、自動起動を設定する際は、

sudo systemctl enable hello.service 

で行い、逆に自動起動を停止する際は

sudo systemctl disable hello.service 

で行えます。

非常に簡単ですので、覚えておいて損はないでしょう。

ではでは。

RaspberryPiでRAMディスク化する方法

RaspberryPiはLinuxで動いていますが、突然電源を切ってしまうと、ディスクを壊したりOSが起動しなくなる。
そんな問題が起きたりします。

回避のために行った内容をまとめていきます。

こんにちは、北神です。

RaspberryPiは組込み用途を想定された作りをしていない為、所謂「電源のブチ切り」には対応していません。

しかし、次第に組込み用途で使用される事が増え、世界中のエンジニアがアイディアを出し合い、とても良い方法が提案されました。

それは、「overlayfs」です。

この機能は、OSやアプリケーションの設定を変更せずに、起動時は、ディスクをRO(リードオンリー)に設定し、
起動後にアプリが書き込むファイルは、RAM上でRW(リードライト)にする機能です。

もう少し詳しく話しますと、

フォルダのアドレスをRAMやtmpに変更する必要がなく、書き換えや保存も”見かけ上”変更なく同等に実行されます。

しかし、見かけ上問題がないだけで、内部では書き換えや保存はRAM上で行われる為、保存ができたと思っても再起動をしますと保存前に戻ります。

さらに、試して気が付きましたが、書き込みがRAM上で行われる為、起動完了までの時間が少し速くなる事がわかりました。

ただ、ログ等の書き込みがRAMで行われてしまう為、電源を抜くと確認しに行く事ができない事を留意してください。

早速、そのoverlayfsの設定方法ですが

コマンドにて

sudo raspi-config nonint enable_overlayfs

これだけです。
これだけで、Rebootを行うと、起動時にROで立ち上がります。
書き込みや保存は全てRAMに転送されますので、保存されません。
これにより、電源ブチ切りを行っても、SDカードのディレクトリに障害は発生しません。
起動失敗による障害が減ると予想されます。

また、再びディスクに書き込みや保存を行いたい際は

sudo raspi-config nonint disable_overlayfs

を行い、再起動後に書き換えができます。

このoverlayfsに加え、systemd(systemctl)を駆使する事で、組込み用途で使用できるRaspberryPiに変化させる事できます。

ではでは。

ESP32でI2Cに接続されたデバイスの一覧を表示する方法(Arduino-IDEを使用)

ESP32でI2Cに接続されたデバイスを確認したい時ありませんか?

どのアドレスにデバイスがつながってるか、一覧で表示して欲しいですよね。

こんにちは、北神です。

RaspberryPiでは、i2cdetectというコマンドがあります。

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- 4a -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

この様な表示のものです。

これを、ESP32でも行いたい。
早速、ESP32(Arduino環境)で行えるライブラリが無いか調べました。

ズバッと、ありました。

https://www.arduinolibraries.info/libraries/i2cdetect

ダウンロードしてライブラリに反映します。

早速サンプルを試してみました。

#include 
#include 
void setup() {
    Serial.begin(115200);
    Wire.begin();
    delay(1000);
}
void loop() {
  i2cdetect();  // default range from 0x03 to 0x77
  delay(2000);
}

試しに、BMX055という9軸加速度センサを試しに接続しました。
このセンサーは、ワンチップですが、それぞれI2Cは3個分(加速度センサ、ジャイロセンサ、磁気センサそれぞれ)あり、
i2cdetectで見ると、3台分のアドレスが表示されました。

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- 13 -- -- -- -- -- 19 -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- 69 -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

これで、センサーのアドレスの確認や状態の認識ができますので、開発もスピーディーに行えると思います。

ではでは。

GPSを使って山手線一周を試してみた

こんにちは、北神です。

今回は「GPS/GLONASS受信機u‐blox M8搭載」を使ってGPSの性能がどの程度かの確認を行いました。

確認を行なった方法は、ノートPCにu‐blox M8を接続しGPSのデータを記録し続けます。簡易的なロガーのような機能です。

この状態で、山手線を一周し、どの程度線路に沿ったデータが取れるかの確認を行いました。

結果はこちら。

GPSで受信したNMEAと呼ばれるメッセージを解析し、緯度と経度をGoogleMapsに反映を行いました。

ドットが細かすぎて潰れた図になっていますが、地図を拡大するとこのように綺麗に線路に沿ったデータが取得できます。

また、GoogleMapsには地図を航空写真に変える機能があり、

こういった地図を見た際に「あれ、山手線ってどこ走っていたっけ?」といった疑問を

こう、実際に乗って見て確認することができました。

今回試したかったGPSの性能としては、そこそこ実用レベルであり、他の分野でも利用することが可能かと思われます。ただ、何箇所かGPSの情報が取得できなかった箇所もあり、アンテナの設置位置や補正方法等の検討は必要そうです。

今回はノートPCをロガーの代わりに試して見ましたが、RaspberryPiやその他の機器に接続して持ち運びが出来た際は、もっと色々な使い方が出てくるんじゃないかと思った次第です。

では。

株式会社アバンドでは、IoTに関するネットワーク開発、ハードウエア開発を行っております。

GPSやセンサー、通信に関わる案件お待ちしております。

まずは、お気軽にお問い合わせください。

ロール

ロール
(役、役割、役目、役柄、任務)
ロールは一般的には、「管理者」「承認者」「登録者」「ユーザー」などがあります。
WEBのブログですと、「サイト管理者」「編集者」「投稿者(ライター)」「デザイナ」「コメント管理者」
などになります。
IoTでのファクトリ関連ですと、「運営管理者」「生産計画者」「素材管理者」「ライン管理者」「生産管理者」「生産者」などとなります。

役割、権限を設定することにより、機能制限や表示制限を行います。
役割と作業内容を出し、機能や表示の有り無しを表にするのが、システムの要件定義では必要になります。
役割が重複する使用者が発生する場合があるので、しっかり検討してください。

文系女子が解説!今更聞けない5Gとは

【はじめに】

第五世代移動通信システム、通称『5G』の時代がもうすぐやってくる。

アメリカと韓国が既にサービスを開始したというニュースが記憶に新しい5G。日本では、東京オリンピックが開催される2020年には実用化できるように準備が進められてきた。目標の2020年まで残り半年となり、5Gに必要な高周波帯の電波の割り当ても総務省により発表された今日(こんにち)、5G時代の到来までいよいよ秒読みの段階となっている。一番早い企業は、2019年度中にもサービスを開始する予定だ。

4Gのサービス提供開始から約10年、新たな世代の通信はどのように進化するのだろうか。

 

【5Gの仕組み】

 

5Gが従来の通信と異なっている点は、これまでよりも高周波帯の電波で通信を行うという点だ。従来使われてきた4G向け帯域は、700/900MHz帯、1.5/1.7GHz、2.1GHz帯、2.5/3.5GHz帯などである。4Gでは幅広い周波数帯で通信が行われており、比較的高い周波数帯が使用される場面もあった。

しかし、5G向け帯域にはそれよりもさらに高い3.7GHz帯、4.5GHz帯、28GHz帯が使用される。総務省は、この周波数帯の電波を分割し、5Gを希望する通信会社に割り当て、各社が3.7GHz帯・4.5GHz帯を100~200MHz、28GHz帯を400MHzずつ使えることが決まった。

電波は、周波数が高くなるほど、より多くの情報を伝達できる。これまで使用されてきた4Gよりも高い周波数の電波を使用する5Gは、進化した通信システムとして「高速・大容量」「低遅延」「多数同時接続」の三つの利点が特徴だ。

【特徴】

「高速・大容量」「低遅延」「多数同時接続」という特徴を持つ5G。実用化されたら、具体的にどのようなことができるようになるのだろうか。

1.「高速・大容量」
5Gの最高伝送速度は、10~20Gbpsになる。これは、従来のLTE 100倍の速さだ。
この速さの通信では、1時間半の映画を2秒ほどでダウンロードできるようになると言われている。
総務省資料によると、動画コンテンツは、全世界のコンシューマ向けの通信量のうち約7割を占めるほどの人気コンテンツで、2020年に向けてさらに人気が上昇すると予想されている。(総務省資料『プラットフォームサービスを巡る現状と課題』http://www.soumu.go.jp/main_content/000579804.pdf)
5Gの実用化で、動画コンテンツはより手軽に楽しめるようになるだろう。

2.「低遅延」
通信が高速化する5Gでは、通信の遅延が大幅に減る。発生するのは1ミリ秒程度、従来のLTEの1/10の遅延になると言われている。
日常の生活では、従来の通信で遅延を実感する場面は少ないかもしれないが、工事現場などでの重機の遠隔操作や自動運転の分野では、一瞬の遅延が作業の精度や命の危険に関わることになり、大きな課題となっていた。5Gの実用化により、通信の遅延問題が解決の方向に向かえば、遠隔操作や自動運転が普及するのも遠い未来ではないかもしれない。

3.「多数同時接続」

5Gの特徴の中で、最も通信の進化を象徴しているのが「多数同時接続」である。3Gから4Gの進化では、データ通信の高速化・大容量化が目立っていたが、4Gから5Gの進化では一度に多数の機器を繋ぐことが可能になるのが大きな特徴と言えるだろう。5Gは、100万台/km2の機器が接続できるように設計されている。従来のLTEのおよそ100倍の台数だ。
これは、スマートフォンなどのモバイル通信だけではなく、様々なモノをインターネットに繋ぐ『IoT』の普及も視野に入れての仕様である。
また、IoTの普及以外にも、この特徴が活かせる場面がある。例えば、大人数を収容できるスタジアムやイベント会場などでは、未だに通信が繋がりにくいこともあったが、その問題は解消されるだろう。また、問題が解決できるだけではなく、観客達が自分の持っているスマートフォンやタブレットを使う新たなエンターテイメントの楽しみ方なども生まれるかもしれない。

【5Gの課題】

 

「高速・大容量化」「低遅延」「多数同時接続」。この三つの特徴を兼ね備えた5Gは、まさに夢のような次世代の通信システムだ。しかし、実用化にあたり、まだ解決しきれていない課題も残っている。

その最も大きな課題の一つが、高周波数の電波の特徴である伝搬減衰だ。高周波数の電波は、波長が短く直進性が高いため、空間に障害物があると減衰しやすいという特徴がある。高周波数の電波を使用する5Gは、この特徴の影響を避けては通れないだろう。

しかし、低周波数を使う4Gとの併用や、スタジアムや空き地などの空間に障害物のない場所での使用では、5Gの次世代的なメリットを存分に活かすことが可能である。

なぜ今、Iotなのか

1999年にIoTという言葉が初めて使われてから20年。今や、その言葉は、広く普及し、IT関係の者たちの耳にはタコができるほど馴染んだものになっている。
いつのまにか、IoTを取り入れる企業が珍しくなくなったものの、なぜ、我々はIoTに取り組まなくてはいけないのか。その理由を考えてみたことはあるだろうか。

なぜ今、IoTなのか。改めて考えてみたいと思う。

有名な理由としては、人口減少による労働者不足に備えているというものがある。
「平成29年版 情報通信白書」には、人口減少に関して下記のような記載がある。
『国立社会保障・人口問題研究所の将来推計(出生中位・死亡中位推計)によると、総人口は2030年には1億1,662万人、2060年には8,674万人(2010年人口の32.3%減)にまで減少すると見込まれており、生産年齢人口は2030年には6,773万人、2060年には4,418万人(同45.9%減)にまで減少すると見込まれている。』
ここまで人口が減ってしまうと、もちろん経済にも影響が出ると予想される。

総務省の発表している「IoT時代におけるICT経済の諸課題に関する調査研究」(平成29年)には、IoTによる将来的な経済インパクトについて、『経済成長シナリオ』『ベースシナリオ』と名付けられた2パターンの試算が記載されている。
『経済成長シナリオ』は、2030年までに全企業のうち50.7%がIoT利活用をするようになるという試算で、資金不足や必要性がないなどの根本的な要因でIoTを導入しない企業以外は、IoT化が進み、企業改革も成功したという想定になっている。
一方『ベースシナリオ』は、2030年までにIoTを利活用しているのは全企業のうち27.7%になるという試算で、経済成長シナリオとは違い、根本的な要因以外に、人材不足やネットワークインフラの未整備などの問題がある企業はIoT化しなかったという想定で行われた試算である。IoTを利活用している企業の中でも企業改革まで成功した企業は、経済成長シナリオよりも少なく、全企業の中で18.0%に留まると想定されている。

この2パターンの試算では、下記の表の通り、就業者数、市場規模、実質GDPに大きく差が出るとされている。

2016年 経済成長シナリオ(2030年) ベースシナリオ(2030年)
就業者数 6440万人 6300万人 5561万人
実質GDP 522兆円 725兆円 593兆円
実質GDP成長率 1.2% 2.7% 0.8%

これはIoTによるテレワーク化や省力化で、女性や高齢者なども就労が可能になる結果だと考えられている。人口減少による就業者数の減少は避けられないが、IoT化することによって経済は将来的に成長すると想定されているのだ。

また、製造業では、IoTを導入することによって、人間を超えた技術でものづくりができるようになる。
例えば、製品の表面加工などは、人間の手と目で作業を行っていたが、機械を使用してデータと照らし合わせれば、人間には気付くことができなかったところまで作業を行うことが可能だ。
これまでは人間の力で行っていた作業を機械に行ってもらうことで、よりクオリティの高い商品を大量に生産できるようになる。クオリティの高い商品が市場に出回り、適正な値段で取引されれば経済は回っていく。

このように、IoT化は日本の未来の重要なカギとなっているが、平成も終わる2019年の今、IoTには時代の追い風が吹いている。

2018年には、ドコモが法人向けグローバルIoTソリューション「Globiot」を提供開始し、ソフトバンクもNB-IoTの商用サービスを開始した。KDDIの「IoT世界基盤」は、2019年度中にサービス開始を予定している。これらは、携帯会社が持っている回線を使ってIoTに使用できるサービスだ。これにより、企業のIoTへの参入のハードルは非常に下がった。

また、IoT普及に一役かったスマートフォンに関しても、まだ人気は続きそうだ。IoTが普及した背景には、スマートフォンの家庭への爆発的な普及により、部品やセンサなどが大量に生産されたため安く手に入るようになったことがあるのは有名な話だ。総務省「平成29年版 情報通信白書」に掲載されているIHS Technologyによるグラフでは、iphoneが発売された2007年には全世界で1.1億台だったスマートフォンの出荷台数は、2013年以降は毎年10億台を突破している。
日本人のスマートフォン保有率も年々増え続けており、総務省「平成30年版 情報通信白書」によると、日本人のスマートフォン保有率は2017年に60.9%となった。スマートフォン保有率の上昇と合わせて、IoT家電の需要も増えれば、家庭にもIoTが普及し、新たな需要や技術が生まれる可能性がある。

なぜ『今』、IoTなのか。
IoTが注目され始めてから、何度も問われてきたその質問の答えはただひとつ。
日本が存続していくには、IoTが不可欠だからである。今、世界中でIoTが注目されているのは、人間の生存本能だったのかもしれない。時代が進むにつれて、IoTの必要性はどんどん高まっていく。

◆参考資料

「IoT時代におけるICT経済の諸課題に関する調査研究」(平成29年)
https://www.mhlw.go.jp/file/05-Shingikai-11601000-Shokugyouanteikyoku-Soumuka/0000062121_1.pdf

総務省『平成29年版 情報通信白書』
http://www.soumu.go.jp/johotsusintokei/whitepaper/ja/h29/html/nc111110.html

総務省『平成30年版 情報通信白書』
http://www.soumu.go.jp/johotsusintokei/whitepaper/ja/h30/html/nd252110.html

Electric Imp でI2C

Electric Imp でI2Cを動かす方法

下記は参考に書いたサンプルソースで実際に動く保証をするものではありません
——————————————————————
[Device]
——————————————————————

//6軸加速度センサMPU-6050の値を想定しています。
i2c <- hardware.i2cQP;

//最初に、I2Cを使うことを宣言します。
//i2cQPは、使用するI2Cのポート番号です。
//imp004m impExplorer Kitで使用できるI2Cは i2cQPの
//みなので問題ありませんが、
//モジュールや基板によってはポート番号が変わる場合
//がありますのでご注意が必要で

i2c.configure(CLOCK_SPEED_400_KHZ);
//I2Cのクロックを設定します。I2Cのクロックはセンサーの
//仕様に合わせて設定しますが、基本は400KHzで動作します。

local address = (0x68<<1);
//I2Cでアクセスするセンサーのアドレスを指定します。
//今回使用するセンサーはMPU-6050です。MPU-6050のアドレス
//は b1101000 であり、
//16進数で記述すると0x68になります。 ここではI2Cのアドレス
//を8ビットで表記するので、1ビット分左にずらして指定します。
//readとwriteを使ってデータのやりとりを行います。

i2c.write(address,"\x6B\x00");
//MPU-6050のデーターシートより、0x6Bに0x00を書き込むことで
//Resetが解除され使用開始することができます。
//I2Cでのデータのやりとりは文字列で行います。16進数のデータ
//を\x00と表記して記述します。癖がありますが、慣れると書き
//易いです。
//続いて、readですが、

local result = i2c.read(address,"\x3b", 14);
//と記述します。"/x3b"は、読み出したいレジスタのアドレスで、
//その次の14で読み出すデータサイズを指定します。
//これにより、3軸の加速度データとジャイロデータを読み出す
//ことができます。
//その後、センサーより受け取ったデータを Agent Codeに転送します。
agent.send("reading.sent", result);

——————————————————————
[Agent]
——————————————————————

device.on("reading.sent",stream);
//で受け取り、指定したstream関数を読み出します。

function stream(data) {
server.log(data);
}

//これにより、センサーを受け取ったデータを確認することができます。

文・ソース:北神

株式会社アバンドでは、IoTに関するネットワーク開発、ハードウエア開発を行っております。

まずは、お気軽にお問い合わせください。

ImpにArduinoからデータ送りたい。超簡単サンプル。

Arduinoから生き死をアナログデータで送って、imp で受信する方法
ツイッターに送信するサンプル。
impExplorer Kitを使った場合です。

Arduinoのプログラムは送信アナログで3V程度以内の通信にして下さい。
——————————————————————
Device
——————————————————————


#require "WS2812.class.nut:3.0.0"
// スリ―プタイム
const sleepTime = 60;

//はじから3つ目のポート
pot <- hardware.pinK;

// アナログのポート宣言
pot.configure(ANALOG_IN);

// ledの点滅
led <- null

function flashLed() {
    led.set(0, [0,0,128]).draw();
    // Wait 50 ms
    imp.sleep(0.05);
    led.set(0, [0,0,0]).draw();

}

//サーバ側に送る

function poll() {
    // Read the pin and log its value
    server.log("poll read");
    local pot =pot.read()
    server.log(pot);
    agent.send("analog_reading.sent",pot);
    // 送ったらLED光る
    flashLed();
    //impのサーバ待ち時間を設定
    imp.onidle(function() {
        server.sleepfor(sleepTime);
    });

}

// Start of program
// Configure SPI bus and powergate pin for RGB LED
local spi = hardware.spiAHSR;
spi.configure(MSB_FIRST, 6000);
led <- WS2812(spi, 1);

poll();

——————————————————————
Agent
——————————————————————

// ツイッターにクラス
#require "Twitter.class.nut:1.2.1"

// ツイッターの送信
tweeter <- null;
// Define functions

function tweetback(data) {
// ツイッター送った表示
server.log("Tweet tweeted");
}
function motion(data) {
server.log(data);
if(data&amp;amp;gt;100){
local message = format("まだ生きてるぜ[アナログ: %5u]",data);
tweeter.tweet(message, tweetback);
server.log(message);
}
else{
local message = format("死んだぜ[アナログ: %5u]",data);
tweeter.tweet(message, tweetback);
server.log(message);
}

}

// Twitter の own access credentials
// apps.twitter.comでキーをゲットしてね。
tweeter = Twitter("Consumer Key (API Key)***********",
"Consumer Secret (API Secret)***********",
"Access Token***********",
"Access Token Secret***********");

// デバイスから受ける指定
device.on("analog_reading.sent", motion);

株式会社アバンドでは、IoTに関するネットワーク開発、ハードウエア開発を行っております。

まずは、お気軽にお問い合わせください。

第1回高尾山IoT 月刊I/Oとの共同企画

7月某日 月刊I/Oとの共同企画が突然実施された!そう、高尾山IoTです。
月刊I/OのFさんとアバンド代表青木が高尾山に登り、頂上でなんか開発して、下山しながら稼働されるというイベント。

ひとまず登る。

登山中、なぜか、蝶に好かれる。ずーーーーと手に腰に蝶がへばりつく。
チューチュー吸われるw

さくっと山頂と行きたかったが、やはり最後の階段がキツイ。それ以外は楽勝なのでけど。
ひとまず、お決まりの写真

涼しいところを探し、開発開始!灼熱で死ぬ~とか、水曜どうでしょ?的展開を期待したが、心地いい涼しさ。
周囲から変な視線を感じつつ・・・

今回は、ソフトバンク提供の米Electric Impの開発キット!
説明ページコピペw
———————————————————-
「impExplorer Developer Kit」は、「imp004m Breakout Board」の持つ機能に加えて、温度、湿度、気圧、3軸加速度の4つのセンサーを搭載した開発ボードです。本製品は、「imp004m Breakout Board」とは異なり、単3電池3本で稼動し、センサーの設計や組み込み作業を行わずにプログラミングを始めることが可能です。
———————————————————-

さて、さて、まず、あれ、IoTだから、通信から、あれ、WiMAXが入らん!うわーーーーー!
ということで、Fさんのキャリアを借りて、開発・・・・

そして問題発生!
impExplorer Developer Kitのネットワーク設定は、スマフォで設定して、それをimpExplorer Developer Kitにスマフォの画面をかざすと
スマフォの画面点滅により、impExplorer Developer Kitにネットワーク設定ができるという、超親切設計なのですが、
何度やっても、ネットワーク設定ができない。

これでこの企画終わったか?・・・・・・あああ・あああ・・・・
もしっや、明るい?外でやっていて、お日様の光りが明るい?
ということで、手で影を作り、再度挑戦、あ、あ、あ、設定できた。

あとは開発のサンプルを見ながら開発!プラウザー上で開発出来ると結構簡単。

ハマるところサンプルコピペでは動きません
各端末でソースコード内の「hardware.***」を合わせないと動きません。
下記がその一覧に一部です。
https://electricimp.com/docs/api/hardware/spi/
https://electricimp.com/docs/api/hardware/i2c/

温度、湿度、気圧のセンサーで暑いときは「暑い」というメッセージと温度湿度、そして気圧から計算した大まかな高度をツイッターで表示。
https://twitter.com/takaosaniot

impExplorer Developer Kitに電池を入れて、特製wの箱に入れて、IoTデバイス完成!

そして、下山。
谷間等では通信できませんでしたが、温泉までしっかりデータが取れた。


そして、温泉入って、そば食べて終了!

月刊I/Oもあわせて読むとオモロイよ!

株式会社アバンドでは、IoTに関するネットワーク開発、ハードウエア開発を行っております。

まずは、お気軽にお問い合わせください。