Arduino IoT Cloudを試してみた
解説記事
スマートフォンをIoTデバイスとして試す、Arduino Cloudの実力
https://xtech.nikkei.com/atcl/nxt/column/18/01109/120600037/

カメラにアプリをインストール
Arduino のアカウントでログイン。

PC側もArduino のアカウントでログイン。
https://app.arduino.cc/

左側にdevice のタブがある。
スマホにアプリをインストールして、ONすると、スマホのセンサ情報がクラウドに送られて、
PCでも表示できる。

alt

alt

Resourcesの所にいくと、ドキュメントありハードやソフトやAPIあり。

ドキュメントをちらっと読むと、Deviceのところで、新しくデバイス追加とある。
ここで、ESP8266を追加しようとすると、Arduinoボード以外のサードパーティのボードを選んで、ESP8266のGenericを選んで、表示される、DeviceIDとSecretKeyを保存しろとあるので、保存して次に進むと、DeviceのところにESP8266に名前を付けたものが追加された。
ESP8266の方は何もつないでないので当然オフライン。この後、ESP8266にどっかにあるサンプルコードで、固有のDeviceIDとSecretKey書き込んで動かすと、スマホの時みたいに、データがArduino Cloud上に送られて表示できるという仕組みだと思う。

仕組みと手順が分かってしまえば、自分でコードを書くことなく使えるので便利なようだが、見えない部分が多くなってきて自分的にはしっくりこない感じ。



Google Apps Scriptについて
検索してみたら、簡単そうに書いてあるページがあったので試してみた。

Google Apps Script(GAS)を解説!初心者でも分かる使い方とは
https://www.profuture.co.jp/mk/column/34051

メールを送るスクリプトがあったので試してみたらエラーで動きません。
コピペしたらシングルクォーテーションが全角になってしまって、それとセミコロンが一つ抜けてた。
コード貼るなら、動くの貼っといて欲しい...

こちらのサイトはイイ感じです。

Google Apps Script 入門
https://www2.kobe-u.ac.jp/~tnishida/programming/GAS-01.html

硬式ドキュメントはこちら
https://developers.google.com/apps-script?hl=ja
Google スプレッドシートでセンサデータの可視化をやってみた
Ambient簡単で良いな。と思って他にどんな人がどんなことに使ってるのか検索してみたら以下の書き込みを見つけました。

https://twitter.com/yumu19/status/1627980936254980096

センサデータのログをクラウドに保存するやつやろうとしてるのだけど、Ambient、Arduino Cloud、Azure IoT Central、AWS IoT、Googleスプレッドシートと選択肢が多すぎる・・・

Googleスプレッドシートもそんなことができるのかと思って検索すると、以下のサイトがありました。

Google スプレッドシートでセンサデータの可視化
https://docs.leafony.com/docs/examples/advanced/2_p/esp32/esp32_googlesheets_1/


ここに書いてある通りなんですがやってみて動いたので、へぇ~こんなこともできるんだって思いました。
大まかな流れは、
・googleスプレッドシートを新規作成、スプレッドシートには固有のIDがついててURL表示されてる。
・Google Apps Scriptでスプレッドシートを操作すしてデータを追記するスクリプトを書く。
・このスクリプトをWebアプリとして実行できるようにすると、ブラウザでURLにデータを付加して送るだけで、スプレッドシートにデータが追記される。
・IOTで利用するためには、ESP8266などを使ってWifi接続、URLにデータを追記してWebアクセスプログラムをArduinoIDEを使って書き込む。
・あとはESP8266センサをつないで使えばいい。
ということです。

マイコンのソースコードを見ると、Wifi接続した後に、アクセスするURLを以下のようにデータをつなげていって、最後にGETしてます。

String URL = "https://script.google.com/macros/s/";

URL += KEY;
URL += "/exec?";
URL += "UniqueID=";
URL += UniqueID;
URL += "&temperature=";
URL += temperature;
  ・・・・

ウェブアプリを生成すると、
https://script.google.com/macros/s/ここに固有の文字列/exec

となるので、execの後にデータをつなげていってブラウザで送って動作確認できます。

https://script.google.com/macros/s/ここに固有の文字列/exec?UniqueID=test&temperature=25&humidity=50&illumination=1

という感じ。

alt
Ambientを試してみた
IoTデータの可視化サービスのAmbientを試してみました。
サイトはこちら、
https://ambidata.io/

登録すれば一部無料で使えます。データを送ると可視化できます。
ESP8266のサンプルがあったので、サイトの通りインストール。
センサ持ってないのでサンプルプログラムを書き換えて、単にmillis()で時間を送るプログラムを書き込み。

alt

alt

しばらく待ってチャンネルを表示させるとこんな感じでデータがグラフされて見えます。
(一度止めて2回出してるのでグラフがのこぎり型になってます)
便利ですね。

alt
ホームページのコンテンツの呼び出し方法を変えました。
ホームページの方のコンテンツの呼び出し方法を、これまではphpでコンテンツの中身のファイルを読んできて、ひな形に入れ込んでから表示してて、 

contents.php?記事番号

でリンクを貼ってたのですが、これだとどこの記事が読まれたか分からないし、googleさんにインデックスを作ってもらえないらしいので、呼び出しの方法を変えました。
記事はarticlesのフォルダに入ってたので、そのまま、

articles/記事番号.shtml

でリンクを貼りなおしました。
それにつれて、ヘッダーフッターを直して、画像のリンクが相対リンクだったので直リンクに書き直して、記事が269あったので結構時間がかかって丸1日でやっと終わりました。

最初からこうしておけばよかった...

2024.02.21 12:14 | pmlink.png 固定リンク | folder.png ソフト・HDL・Web

- CafeLog -