goo blog サービス終了のお知らせ 

情報技術の四方山話

AI、IoT、ヤマハルータ、VPN、無線LAN、Linux、クラウド、仮想サーバと情報セキュリティのよもやま話

はやぶさ(hayabusa)2、りゅうぐうに着陸成功!-おめでとうございます!

2019-02-22 08:21:16 | AI,IoT,SensorNetworking

いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。

はやぶさ(hayabusa)2、りゅうぐうに着陸成功!表土取得のための弾丸発射に成功したとのこと。弾丸発射での物質採取は世界初のことで、はやぶさ2プロジェクトの素晴らしい成果です。

地球との通信遅延は20分ほどです。タッチダウンの際は、地球との通信が途絶えるので、自律制御で動作しています。
宇宙プロジェクトはこのように通信時差が必ずあるので、自律制御が必須です。

はやぶさ1の際は、自律制御で想定外の状況を検知し、自動的に待機することで、次のチャンスを待つことを繰り返し、最終的に地球への帰還を果たしました。

はやぶさ2の観測ミッションはまだまだ続きますが、無事帰還して欲しいですね。

はやぶさ2ミッションサイトへ

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Linux,Groovy-IoT, Arduino,GroveでSensorネット-温度計をつくってみる(2)

2019-01-20 09:22:50 | AI,IoT,SensorNetworking

いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
様々なセンサーからの情報をLinuxに集めることを試しています。

今回は「Linux,Groovy-IoT, Arduino,GroveでSensorネット-温度計をつくってみる」の第二回。


■できてしまいました

中程の小さなセンサーで気温を取得して、LCDディスプレイに温度を表示しています。
温度センサーはアナログーデジタル変換端子に、LCDディスプレイはI2C端子に繋いでいます。

マイコンのプログラムは、温度センサーのサンプルプログラムをまず動かし、開発環境のLinuxで温度を読み取れることを確認した後、LCDディスプレイのサンプルプログを動かし、表示の仕方を確認しました。

温度計は、この2つの機能をソフトで組み合わせ、一つのソフトにして実現しています。

システムの開発環境の使い方は、事前に概ね理解できていたので、デバイスを使うためのライブラリを開発元サイトで探し、インストールして動かしています。例題もライブラリと一緒に付いてきます。

ハードウエア接続は、正しいコネクタ接続ができれば簡単です。どのコネクタにつなぐかは、開発元サイトに写真付きで紹介してあり、使うまでの手順も書いてあります。


■パーツなど

前回の記事で詳しく紹介しています。


■感想

開発言語は"Arduino C言語"とでも呼ぶべきC言語風の言語です。私は、C言語の経験があるので、サンプル・プログラムを読むことができたので、ソフトウエアの作り込みは、楽しい作業でした。

サンプル・プログラムは簡明に書いてあるので、何処を変えれば良いのかは判りやすく、プログラムを少しでも経験したことがある方なら、直ぐに楽しむことができるようになります。

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Linux,Groovy-IoT, Arduino,GroveでSensorネット-温度計をつくってみる(1)

2019-01-19 10:49:51 | AI,IoT,SensorNetworking

Linux,Groovy-IoT, Arduino,GroveでSensorネット-温度計をつくってみる(1)

 

いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
様々なセンサーからの情報をLinuxに集めることを試しています。

■温度計をつくってみよう

最終的には、簡便な方法法で温湿度計などの情報を集めたいのですが、先ずは温度計デバイスから温度データを読み取り、表示することに挑戦します。

■ArduinoとGROVEを使う

センサーその他様々なデバイスをつなぐ仕組みとしてArduinoマイクロコンピュータボードがあります。
Arduino公式ページ(En)はこちら



このボードには「Hat(帽子)」と呼ばれる、様々な機能拡張ボードを取り付けることができます。
Hatを使うことで、電気的な特性など知らなくても、いろいろなデバイスをつなぎ、使うことができます。

特に、GROVE規格はArduino、Raspberry Piなど様々なコンピュータボードに簡単に接続できるように策定(正規化)されており、写真のようなGROVE端子が沢山ついたHatと組み合わせることで、容易にArduinoやRaspberry Piと接続ができます。
GROVE公式ページ(En)はこちら

 

■材料

先の写真の通りですね。

Arduino UNOマイコンボード x 1
GROVE Hat (Arduino用)x 1
GROVE温度計 x1
GROVE LCDパネル x 1
GROVEパーツ間接続ケーブル x 2
USB2ケーブル x 1

(*)GROVE Hat、温度計、LCDパネル、パーツ間接続ケーブルは、GROVE Starterkit for Arduinoに含まれています。
(*)USB2ケーブルはArduinoを接続し、電源供給と通信を行います。私の場合はArduino UNO互換ボードについてきました。

■開発環境
OS:macOSまたはLinux。Windowsでも可ですが試していません。
各OSともJava実行環境が必須です。

開発用IDE:Arduinoプロジェクトから無償でダウンロードが可能です。
オンライン版、デスクトップ版があります。私はデスクトップ版を使っており、オンライン版はまだ試していません。
公式開発案内ページはこちら

開発言語:Arduino版C言語
基本はC言語の文法ですが、マイコンプログラミングなので、OS上で使う公式C言語のように豊富なライブラリは整っていません。これは、マイコンプログラミングの一般的な特徴ですね。

プログラム例:開発環境に標準で沢山ついています。
先ずは"Blink"を読みだしてコンパイルしロード・実行すればArduino基盤上のLEDが点滅し、使い方の基本がすぐわかります。

■Arduinoマイコンへのプログラムのロードと起動

開発環境とArduinoがつながれば、あとは開発環境でマイコンソフトをコンパイルし、Arduinoへロード、起動することができます。つながってしまえばびっくりするほど簡単です。

■ArduinoマイコンプログラムとGROVEデバイスのソフト的な接続
開発環境には、Starter Kit用の例題が含まれています。まずはそこからいろいろ試すことができます。

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Linux,Groovy-IoT, Arduino,GroveでSensorネット-Arduino互換ボード

2019-01-18 07:59:36 | AI,IoT,SensorNetworking

Linux,Groovy-IoT, Arduino,GroveでSensorネット-Arduino互換ボード

 

いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
様々なセンサーからの情報をLinuxに集めることを試しています。

センサーその他様々なデバイスをつなぐ仕組みとしてArduinoマイクロコンピュータボードがあります。
Arduinoはオープン・ハードウエアとして知られており、誰でもどう作られているのかを知り複製することができます。

そのため、たくさんの互換品、発展品があります。
私が購入したものも「Arduino UNO互換品」です。

■全体写真

名刺より大きいボードです。CPU=マイコンが乗っており、ソフトウエアを動かすことで、たくさん付いているピンと情報をやり取りします。
ピンの先にはセンサー、モーター、表示、通信など、様々なものがつながります。
ソフトウエアの開発はPCとUSB接続してPC上で行います。電源供給もUSBから受けます。

開発にはWindows、macOS、Linuxを使うことができ、私はmacOSとLinuxを使っています。
Linuxを使うことで、Respberry Pi等様々なコンピュータと連携することができます。

このボードには、プログラムで制御できるLEDが一つ付いているので、最初のLチカ(LEDをチカチカさせること)までは取り組みやすいものです。

マイコン上のソフトができれば、開発用PCとは切り離して動作させることもできます。
その際は5Vアダプタから給電できますが、今は安価になったUSB2の電源アダプタで電源供給したほうが簡単です。

■表

Arduinoにはたくさんのコネクタがあります。何でもできるようにはなっていますが、初心者にはよく判りません。
マイコンとハードウエアを接続する知識が必要だからです。

 

■裏

何もありません。

 

■よくわからないので

私は、よくわからないので以下のものを合わせて買いました。
当面のゴールは、温度計を作ろうとしています。

 

■マルチファンクション・シールド

理解しやすいものをと思い、マルチファンクション・シールドを買いました。
Arduino UNOに重ねて使います。開発環境に、本格的にマルチファンクション・シールドを使うためのライブラリをセットし、例題の”24時刊アラーム時計”を動かしています。
プログラム制御できるLEDが4つ付いており、最初はその明滅や、ブザーを鳴らしたりしてみました。その部分は標準開発環境付属の例題があるので、意外と簡単です。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Linux,Groovy-IoT, Arduino,GroveでSensorネット-Arduinoを試す

2019-01-17 09:00:12 | AI,IoT,SensorNetworking

Linux,Groovy-IoT, Arduino,GroveでSensorネット-Arduinoを試す

 

いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
様々なセンサーからの情報をLinuxに集めることを試しています。

センサーその他様々なデバイスをつなぐ仕組みとしてArduinoマイクロコンピュータボードがあります。
Arduinoを使ってセンサ、制御、表示装置をつなぐ規格としてGROVEがあり、既に普及しています。
GROVE対応デバイスの使い方を知るためにGROVE Starter Kit for Arduinoを購入してみました。

私はこのキットにはArduinoマイクロコンピュータが含まれているものだと思い込んでいましたが、含まれていません。
そこで、Arduino本体と、Arduinoに重ねて使うことができる「Multifunction Shield」というデバイスを一緒に購入してみました。
Arduino本体だけでは視覚的に動作を確認することができないと思った次第です。

上の写真の箱に乗っているデバイス、下の写真の一番下にあるデバイスは同じもので、やはりGroovy-IoTでStarter Kitには含まれません。
Groovy-IoTについては前回の記事で概要を説明しています。


■ArduinoとMultifunction Shieldが動いているところ

これは、私のMacとUSB接続しているArduino上に装着したMultifunction Shieldを時計にして動かしている様子です。
Multifunction Shieldの開発元が配布しているライブラリと実装例が提供されているので、Arduinoの開発環境の使い方が判れば、時計を動かすことは簡単でした。

Arduinoも初心者、その機能を拡張するモジュールの追加も初心者でしたので、ここまで一日半ほどかかりました。大半はArduino開発環境をこさえる時間、使い方を知るためにLEDを点滅させるプログラムを作った時間になります。プログラムはサンプルが沢山あるので、それを使って変形して作りました。


■ArduinoとMultifunction Shield

Ardiunoは検索すると何種類も出てきます。メーカーもいろいろあるので「模造品」かと思って調べていると「正規の模造品」でした。
Ardiunoの仕様は公開されており、だれでもつくって良いそうです。オープン・ハードウエアとして普及しています。
そのため、目的に応じて様々な形をしたものがあり、様々な機能を載せたものがあります。

一番典型的なものはArdiuno UNOとして発売されたものです。これも、本家以外は”UNO Like”で、UNOの機能を備えていますが、ちょっとだけ違うところもあります。初心者の私には違いも何も判らず、正規版があることも知らなかったので、とにかく最初のArdiuno基板は”UNO”を目印に選びました。

「きっと失敗して壊す」と思って「二枚でいくら」の安価なArduino基板を選び、結果としては”UNO Like”品でした。問題があるかどうかも判りませんが「期待通り」動いています。購入品は電源が入るとLEDランプが点き、直感的に通電していることが判るので便利です。またこのLEDをプログラムで点滅させることができ、最初の一歩に適しています。

Multifunction Shieldの写真を見ると、Ardiuno本体と大きさがそっくりなので、重ねて使えそうです。
仕様も、どう使うかも全く知らずに購入しました。使い方マニュアルや、使い方の紹介Youtubeも購入後に見つけています。

手に入れてみると、四つの赤色LED、LED数字表示パネル、スイッチ、可変抵抗(いわゆるボリューム)、センサー、制御装置、通信装置などをつなぐ端子がついています。使うためには以下のマニュアルが必須です。

Multifunction ShieldのPDFのマニュアルはこちら(En)


■Ardiunoの電源は?

ArduinoとPC間をUSB接続するだけです。ArduinoはUSB接続から電力をもらいます。最初の一歩はそれで十分です。
Arduino基板に電源供給用のコネクタがついていますが、これを使う機会は少ないと思います。


Aduinoアプリが完成し、PC無しでArduinoを動かす場合、USB2規格以上の電力が必要な開発や稼働環境では電源アダプタによる電力の供給が必要です。PC無しでArduinoを使う場合も、USB2規格のUSB充電器を電源にすれば簡単に動きます。

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Linux,Groovy-IoT, Arduino,GroveでSensorネット-Groveを試す(1)

2019-01-16 07:59:57 | AI,IoT,SensorNetworking

Linux,Groovy-IoT, Arduino,GroveでSensorネット-Groveを試す(1)

 

いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
様々なセンサーからの情報をLinuxに集めることを試しています。

センサーその他様々なデバイスをつなぐ仕組みとしてGroveがあります。
Grove対応デバイスの使い方を知るためにGrove Starter Kit for Arduinoを使ってみます。

箱に乗っているデバイスはGroovy-IoTでStarter Kitには含まれません。
Groovy-IoTについては前回の記事で概要を説明しています。

■Arduinoとは
Arduinoは様々なセンサーや制御装置を利用することを目的とし、マイクロコンピュータと接続端子を取りまとめて一つにしたものです。
Arduinoを使うことで、ハードウエアとマイクロコンピュータ上のソフトウエアをつなぐことが容易になります。
ArduinoはUSB経由で他のコンピュータ、一般的にはPC、MacやRaspbery Pi等と接続し、通信することができます。
この機能を用いてArduinoマイクロコンピュータのプログラムを開発し、Ardiuno基盤に繋いだセンサーデータをUSBで接続したコンピュータに送ったり、コンピュータから制御装置への命令を実行することができます。

Ardiunoのハードウエア仕様はオープンに公開されているので、本家以外の様々なメーカー製のものがあります。

■GROVE Starter Kit for Arduinoとは
Ardiunoには様々なデバイス(センサー、制御、通信)がつながりますが、その物理的な接続方法を整理し規格化したものがGROVEです。
GROVE規格対応のデバイスであれば、簡単なケーブリングだけでArduinoとデバイスがつながります。

代表的なGROVEデバイスをひとまとめにしたものが、GROVE Starter Kit for Arduinoです。

箱の中央一番下に乗っているデバイスはGroovy-IoTでStarter Kitには含まれません。
写真には見えませんが、Arduino用のGROVE接続基盤が右側のLEDディスプレイの下に入っています。
また、GROVE接続用のケーブルや電源ケーブルも箱の底に入っています。

■Arduino本体はGROVE Starter Kit for Arduinoに含まれない
そうです。このキットを使うにはArdiuno本体が必要です。キットには含まれていません。かつArduinoのプログラムを作る環境、動かす環境が必要です。
私は、やはりキットに含まれないGroovy-IoTを使ってGROVEデバイスを接続するのでArdiunoは不要だと思っていましたが、あったほうが様々なGROVEデバイスを楽しく理解することができます。

Groovy-IoTについては前回の記事で概要を説明しています。

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Linux,Groovy-IoT, Arduino,GroveでSensorネット-とにかくつなぐ

2019-01-15 04:41:57 | AI,IoT,SensorNetworking

Linux,Groovy-IoT, Arduino,GroveでSensorネット-とにかくつなぐ

 

いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
様々なセンサーからの情報をLinuxに集めることを試しています。
いろいろな方法があろうかと思いますが、既に広がり始めているGrove規格を使ってみます。

Grove規格のデバイスをLinuxに接続するには、Linuxとつながるインターフェイスに変換する必要があります。
まずは、大宮技研が開発し、発売中のGroovy-IoTを使ってみました。

これはGroveインターフェイスをUSBに変換する小さなボードです。右側にmicro USBのインターフェイスがあります。スマホの充電などで広く普及しているケーブルを使うことができます。
Linux側は当然USBに接続します。写真上側には白いGrove規格のインターフェイスが4つ並んでいます。写真は表と裏です。

I2C
UART
GPIO1
GPIO2

があり、接続するGroveデバイスに応じて接続します。

LinuxからはUSBの/dev/ttyACMxデバイスに見えます。このデバイスを通じてGroovy-IoT上のGroveコネクタに接続されたGroveデバイスと通信します。
Groveデバイスにアクセスするには、オープンソースとして公開されているKikoriミドルウエアを使い、KikoriのWebAPI(RESTful API)でセンサーと通信できます。

Groovy-IoT+Kikoriで膨大なハードウエア接続の知識を、既知のソフトウエア・インターフェイス(RESTful API, WebSocket)に変換できるというわけです。
これまでの常識を大きく変えるもので、センサーハードウエアとのインターフェイスの設計がLinuxとRESTful APIの知識で可能になります。

Groovy-IoT + kikori (0. 導入前の前提情報)

接続環境を構築後、Groovy-IoT/Grove/温度計、Groovy-IoT/Grove/LED明滅を試し、期待通りの動作を確認しました。
私はハードウエアの知識は全く持ちませんが、センサーがつながり、値を読み取ることと、LEDを明滅させることができました。これは素晴らしい環境です。

Kikoriが対応するハードウエアであれば簡単なプログラムはLinux上のbashでできます。
また、もっと判りやすい開発環境enebular-editorを利用することでGUIによるセンサーの接続設計が可能です。いずれ取り組みたいと思います。

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

センサーネットワークの構築に取り組んで-第一回

2019-01-07 15:13:01 | AI,IoT,SensorNetworking

センサー・ネットワークの構築に取り組んでー第一回

 

いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
今日から数回に分けて、センサーネットワークへの取り組みについてまとめてみます。

■センサーネットワークとは
いわゆるIoTを実現するための通信網ですね。これなしではつながりません。
一方で、IoTネットワークには大きく二つの通信要素があります。

1.デバイスとデータ読み取り機器間の通信
デバイス、例えば温度計は、それそのものではデーターを受け渡すことができません。
何らかの形で、コンピュータなどデーター読み取り機器に情報を渡す必要があります。

ここの通信の仕組みはハードウエアとも密接に関わり、一般に経験者が極端に少ない分野です。ただ規格化も進みつつあり数年前より遥かに取り組みやすくなりました。しかし、センサーデバイスを使うには、センサーの特性や取得できるデータの意味について理解することは不可避です。

2.データ読み取り機器と情報処理用コンピュータ間の通信
デバイスから取り出したデータを読み取り、情報処理用のコンピュータに渡し、人に役立つ形に情報を加工します。
温度センサーのデータも、いきなり人が判る数値情報ではなく、何らかの係数で変換して人が判るセ氏や華氏の温度を算出します。これは、全てのセンサーで同じです。

人に判るデータから、人が理解しやすい表現型で情報として表示します。情報の表示部分はデータの利用目的に応じて、それぞれ適した形になります。場合によっては生のデータが必要なのか、ある期間と属性を指定したデータが必要なのか、さらに、データを平均化したり、相関を見出したりと調整したデータが必要なのか、様々です。

情報の表現型が決まれば、それをコンピュータ間や利用者との間でやり取りする部分は既存の通信技術を使います。

■センサー・ネットワークの特徴
センサーネットワークでは、微小なデーターが沢山発生します。これを効率よく収集する仕組みが必要です。
これまでのマルチメディアの情報を受信する方向、すなわち「下り」とは逆方向の通信すなわち「上り」が重要になります。また、通信費用が高くなると利用が難しくなります。適切なデータ量=通信費用で実現できるセンサーネットワークをどう作っていくかは、IoTの現実的な課題です。特に広域の無線通信網をどう作っていくかは大きな課題です。

IoT用の広域無線ネットワークの整備は5Gの登場とともに進みますが、数年先です。でも、今でもできることもあります。次世代を見据えて試作を重ねることはとてもたいせつなことです。

■センサー・ネットワークを実現するために
通信網は当然自社で組めるものではありませんが、通信事業者様と協業することで通信網を構築します。これは全てのセンサーネットワークの利用者に当てはまります。通信網の変化に柔軟に適応するためにどうシステムを構築すればよいのか。これには理屈より経験が必要です。

なぜなら、現場は理屈通りに動ないのです。通信が途絶えることがある中で自律性をもって、データを失うことなく通信をするには、単に通信網の話ではなく、アプリケーションの設計から取り組む必要があります。

つづく。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

観測用フィールド監視エッジ・システムを再設計しました

2019-01-02 16:23:07 | AI,IoT,SensorNetworking

フィールド監視エッジ・システムを再設計しました


いつもアクセスありがとうございます。匠技術研究所の谷山です。
観測用フィールド監視エッジ・システムを再設計し、一新しました。これまでより圧倒的に柔軟になります。

弊社の観測用フィールド監視システムは、通信とLinuxの経験を活かして開発しています。
フィールドでの計測は、人が住んでいないところでも正確な情報にする必要があります。

今回再設計したシステムは、機能モジュールを更新し、最新の技術で再構築しました。
それにより、日本国内のみならず、多くの国でクラウドへの通信を使うことができます。

エッジ・コンピュータの性能も選択可能となり、フィールドデーターの「前処理」を安心して行うことができます。「前処理」により、クラウドに伝送するデーターも適正化。また伝送前圧縮も可能です。

フィールド・コンピュータはデジタルI/Oを直収し、デジタルI/Oチャンネル数も拡張可能です。
フィールド計測データーはI2C、シリアルなどこれまでのシステムを活かした接続が可能です。

エッジ・システムの既成概念を一新する、スケーラブルで、目的に特化させやすい柔軟なプラットフォームになりました。
様々な用途でお使いいただけます。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする