2018年11月25日日曜日

obniz+GPSで地図上に現在地表示

 先日から、obnizというIoTデバイスを使って、いろいろとやっています。

 obnizは、Arduinoやラズパイなど、一般的な「マイコンボード」と異なり、ボード側にプログラムを書き込むということはしません。

 obnizはWifiからインターネットを経由して、クラウドサーバーに接続されています。ユーザーはHTML+javascriptで作成したプログラムを作成し、ブラウザ上で実行することで、クラウド経由で、IDで紐付けされたobnizと通信するというものです。
 
 obnizに接続したセンサーなどは、javascriptからは「オブジェクト」として扱われている感じで、ピン配置もプログラム内で指定できます。

 試しにいろいろやっていますが、一例が「GPSモジュール」とobnizの組み合わせで、測位データをもとに、Googleマップに現在位置を表示するというものです。

 使用GPS GPS受信機キット「みちびき」3機受信対応(秋月電子

 サイズ・表示切替・更新間隔の指定もできるようにしています。

 スクリプト内に、センサーの定義や通信を行うコードが記載されています。

 情報の表示や操作といったインターフェース部の制作が使い勝手を左右しますが、obnizでは、HTML+Javascriptの組み合わせなので、ブラウザ上で表示や操作を行うことが簡単にできます。




<!doctype html>
<!---
//
// GPSモジュール GYSFDMAZB(みちびき対応)+obniz
//
--->
<html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <script src="https://obniz.io/js/jquery-3.2.1.min.js"></script>
  <script src="https://unpkg.com/obniz@1.13.1/obniz.js"></script>
<title>GYSFDMAZB-Test</title>
<meta charset="utf-8">
</head>
<body>
 <h1 style="text-align: center; color: #FF0004; border-bottom: thin solid #1A00FF; 
            border-spacing: 5px 0px;">GYSFDMAZBモジュール受信テスト</h1>

<p id="mes" align="center">iGPGGA値</p>

<table width="200" border="0" align="center">
  <tbody>
    <tr>
      <td width="85">緯度</td>
      <td width="99" align="right"><div id="lon"></div></td>
    </tr>
    <tr>
      <td>経度</td>
      <td align="right"><div id="lat"></div></td>
    </tr>
  </tbody>
</table>


<script>
var obniz = new Obniz("OBNIZ_ID_HERE");
obniz.onconnect = async function () {
$("#lat").text("test");
let gps = obniz.wired("GYSFDMAXB", { vcc:7, gnd:8, txd:9, rxd:10, Opps:11 });

function mainLoop() {
var d = gps.getEditedData();
if (d.enable) {
    if (d.GPGGA) { 
     $("#mes").text(d.GPGGA.join(","));
       let p = d.GPGGA;
       if (p[6] != "0") {
             $("#lon").text(gps.nmea2dd(p[2]));
             $("#lat").text(gps.nmea2dd(p[4]));
     var locstr=gps.nmea2dd(p[2]) +"," + gps.nmea2dd(p[4]);
     var selt=$("#type option:selected").val();
     var sels=$("#size option:selected").val();
     var seli=$("#interval option:selected").val();     
           var ssrc="http://maps.google.co.jp/maps?ll=" + locstr + "&q=loc:" 
                     + locstr+"&t="+selt+"&z="+sels+"&iwloc=A&output=embed";
     $("#markmap").attr("src",ssrc);
     }
 }
 }
  setTimeout(mainLoop, seli);
}
setTimeout(mainLoop, 100);
};
</script>​
<div align="center">
  <iframe src="http://maps.google.co.jp/maps?ll=0.0000,0.0000
&q=loc:0.0000,0.000&output=embed&t=m&z=18" 
     width="90%" marginwidth="0" height="540" marginheight="0"
 scrolling="no" frameborder="0" id="markmap" ></iframe>
  <br>
  <label>表示形式:</label>
  <select id="type" >
    <option value="m" selected="selected">地図</option>
    <option value="k">航空写真</option>
  </select> 
     
  <label>サイズ:</label>
  <select id="size">
    <option value="1">1(最小)</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
    <option value="11">11</option>
    <option value="12">12</option>
    <option value="13" selected="selected">13</option>
    <option value="14">14</option>
    <option value="15">15</option>
    <option value="16">16</option>
    <option value="17">17</option>
    <option value="18">18</option>
    <option value="19">19</option>
    <option value="20">20</option>
    <option value="21">21</option>
  </select> 
     
  <label>更新間隔:</label>
  <select id="interval">
    <option value="5000">5秒</option>
    <option value="10000" selected="selected">10秒</option>
    <option value="30000">30秒</option>
    <option value="60000">1分</option>
    <option value="300000">5分</option>
  </select>
</div>

<br>
</body>
 
</html>


2018年10月1日月曜日

micro:bitと九九の練習

 ブログでも、micro:bitのプロジェクトを公開できる機能が使えるので、試してみました。
 まず、作例は「九九の練習」。シミュレーターで動作を確認できます。
【使用法】
  Aボタン・・「段の数」を一つ増やします。
  Bボタン・・「かける数」を一つ増やします。
  A+B・・・・「1×1」に戻します。
プログラムはここをクリックしてください。

 ボタンを押した後に「アニメーションを停止」ブロックを入れているのは、ボタンを押したときの反応をよくするためです。

 実はこのプログラムは「ベータ版」で作成したものなので、まだエディターへのリンクなどがうまくできていません。
 

2018年9月16日日曜日

要検証「ICT」は成功例だけとは限りませんね

 IT関連の事業をやっている私が言うのもなんですが、なんか最近「ICTブーム」に踊らされている感がありませんか?

  某通信大手の「ICTで明るい未来」っぽいCMもありますが、ICTって「失敗例」も結構あります。

  先日流れていたニュースも気になりました。

  電子投票 唯一実施の六戸町が休止へ 費用負担大きく(毎日新聞) https://mainichi.jp/articles/20180404/k00/00m/010/090000c  

 いくつかの新聞も扱っていましたが、休止の理由として「費用負担」を挙げていましたが、本当の理由でしょうか?
  直接的な原因は、記事にもあるように機器のリースを行っている「電子投票普及協業組合」ってところが、機器の更新をするのはコストが高くなってしまったためということです。

  でももっと根本的な原因は「普及」が進まないためですよね。昨今の技術進歩を考えれば、ある程度までの普及が進めば、機器のコストは一気に下げることができます。

  ここで考えなければならいないのは、なぜ「普及」しなかったかということです。

  一言でいえば、充分な「信頼性」が担保されなかったからなんでしょう。

  2003年実施の岐阜県可児市議員選挙では機器トラブルが起き、裁判で無効になった例もあるそうです。

  また、集計の時間の短縮・疑問票のあつかいは良くなっていますが、異議申し立ての際の「票の再点検」ってやりづらいですよね。タッチ式なので投票者の「意思」が形として残っていないので、点検しようがありません。

  結局「電子投票」といって導入されたシステムは、集計作業を迅速化することに目を向けてしまい、「選挙」という仕組み全体では設計されていなかったということなんでしょう。

  これって「技術」を扱う人間が陥りやすい罠なんだと思います。

  旧態依然といわれようが「投票表紙」という有権者の意思を「形」として残してあるというのが、選挙という仕組みの「信頼性」を担保していたんですね。

  であれば、「投票用紙」を残したまま、開票終了時間をはやくする方法を考えればいいわけです。

  OCR(光学的読み取り器)を導入するのもいいでしょう。

 あるいはちょっと頭を柔軟にして、午後2時くらいまででいったん投票箱を閉めて、別会場で開票を始めるというのもありかもしれません(法令の改正や開票担当者を缶詰にするとかは必要ですが)。  
 「開票時間を短くする」ではなく「正確で信頼できる開票結果を早く公開する」が目的であれば、こういった方法もありだと思います。

  どうしても「新しい技術」に目がいってしまいますが、目的は「課題を解決すること」であり、その視点を持ちながら「技術」をどう組み合わせるか、広い視点で考えることが必要です。

  今回の「電子投票」。かなりの税金も投入されています。きちんと検証してほしいものです。  

2017年9月18日月曜日

「情報」という言葉

 コンピューター・IT業界って、やたらとカタカナ言葉や略語が多いですね。

 わかりにくく難しい言葉を連発することで、何となく「すごい事やっている」感をかもし出そうとしているのか、あるいはクライアントを煙に巻こうとしているのかと思うこともあります。実際、その手の営業電話がかかってくるんです(笑)。

 「御社のホームページを・・・」 こういった言葉で切り出されると、こちらは「たいした会社じゃないな」と判断します(理由は考えてください)。

 やっぱり、言葉は相手に伝わってこそ価値があります。活きてきます。

 一応地域で事業をしていますので、ご縁があって、事業者の奉仕団体「ロータリークラブ」に参加させてもらっています。ここ数年は「カミさんの顔よりパソコンの画面を見ている時間が長いだろう」という理由で、地区(熊本・大分両県で約2400名)の「IT研修委員長」という役職についています。110余年の歴史を持つロータリーもIT化の波が来ているので、それに対応しろってわけです。

 そんなこともあり、ロータリーの会員さん向けにITのお話をする機会もあります。

 ここだけの話ですが、大変ですよ~。相手の多くは私より先輩、しかも企業の経営者ばかり、普段は秘書さんとか部下に仕事をふっている方が多いと思います。そんな方にITの話をするのは、素直な子ども達の何倍も・・・・(愚痴はここでやめときます)。

 限られた時間の中で、パソコン操作とかの話はできません。年度はじめての研修などでは、まず「ITの必要性」を理解してもらうところからはじめます。

 最近は、こんな感じで話をはじめます。

 「こんにちは、地区IT研修委員会のモリカワです。今日はロータリーにとってもITが大事だというお話をさせていただきます。

 ところで皆さん、1905年ってどんな年か、知っていますか?

会場(ザワザワ・・・)

 「1905年を知らないと、もぐりって言われますよ。1905年はアメリカ・シカゴでポール・ハリスたちによって最初のロータリークラブがつくられた年ですよね(ウンウンと多数うなづく)。

 では、その年、日本ではどんなことがありましたか?」

会場では、きょとんとする方もチラホラ・・

 「そのころ、日本はロシアと戦争やっていて、1905年は、日本海海戦があたった年です。数年前NHKでやっていた『坂の上の雲』のクライマックスです。」



 IT=Information Technology は「情報処理技術」のことだというのは、よくご存知だと思いますが、実は「情報」というのは元々「軍隊用語」で明治維新後に誕生した言葉なのです。

 戦争では、敵方・味方の兵力(数や武器の他、士気や練度など)はもちろん、会戦場所の地形や天候、そして上部組織からの命令などを元に「作戦」を立てます。作戦立案のための「判断材料」が「情報」というわけです。



 元々軍隊用語だった「情報」ですが、日露戦争ころには国語辞典に載るようになっているとのことなので、一般的になったということでしょう(当時は徴兵制だったので、軍隊の文化も広まりやすかったでしょう)。

 ここらへんの詳しい話は、下記にまとめられているので、ごらんください。

情報処理学会機関紙「情報処理」45周年記念特別寄稿
 小野 厚夫「情報という言葉を尋ねて」
  http://ci.nii.ac.jp/naid/110002769607

 ちなみに、日露戦争というのは「無線電信」が本格的に使用されるようになった戦争です。「信濃丸」という哨戒艦からの「敵、第二艦隊(=バルチック艦隊)見ユ」という無線電信により、それまで行方不明だったバルチック艦隊が対馬海峡に向っているという確定情報となり、連合艦隊が出港したというのは、「坂の上の雲」にもえがかれている通りです。
 考えてみれば、「無線電信」とは、文章をトン・ツーで符号化して通信していたわけで、「元祖デジタル通信」というわけですね。
 

 ちょっと脱線しましたが、明治維新以降、軍隊用語として「情報」という言葉が登場したということは、それ以前は「情報」という言葉やその概念が日本にはなかったということでしょう。

 英語の「information」の語源を探っていくと、inform(知らせる)の名詞で

  in-「その状態にする」form「形」-tion「こと」

 ということで、「行動を形づくること」、軍隊的には「作戦立案や行動の判断の元となること」といった意味になります。

 今日的な目で見れば、「情報」というのが重要な概念であるということは理解できますし、戦争であれば、誤った情報は、兵士の命あるいは国家の命運を左右します。

 でも、明治以前に「情報」という言葉がなかったということは、日本人にはそういった考え方があまりなかったというか、必要がなかったということかもしれません。

 外国と陸続きの国境がなく他の国からの攻め込まれたこともほとんどなく、気候に恵まれていたため、田畑を一生懸命耕していればそれなりの収穫も得られるという生活の中では、情報を集めるということはあまり重要ではなかったのかもしれません。

 日本人は元々情報を重要視していなかったのではないかというのは、第二次世界大戦時の日本軍の作戦などにも現れているかもしれません。

 例えば、1942年に起きた「ガダルカナル島の戦い」では、「上陸したアメリカ兵は2000名程度」といった情報に基づき派遣した一木隊1000名は壊滅しています。
 これはアメリカ軍の兵力(水陸両用戦車まで備えた約11000名)を過小評価したためです。本来であれば、偵察を行いアメリカ軍の兵力を正しく評価して作戦を立てるべきだったはずです。
 ミッドウェー海戦時の索敵機が不十分だったためアメリカ空母発見が遅れたことをはじめ、「相手兵力」という基本的な情報を得ることを怠ったためによる作戦失敗という事例はとても多いように思われます。
※明治期の日本軍のほうが、謙虚に学ぶ姿勢があったのかもしれません。

 これに対しアメリカ軍などは「情報」を非常に重視していたことは、太平洋の島々に監視員を配置していたことや、レーダー開発や暗号解読に力を入れていたことからも良くわかります。電子工学やコンピューターの発明もこういった背景があったのです。
 
 ITは、情報処理の一部を機会にゆだねるための技術です。

 情報を積極的に活用しようという意識、意外と民族性に左右されているのかもしれません。
 プログラミングは、「情報処理」というプロセスの一部です。プログラミングだけでなく、情報を活用しようという意識も、コンピューター教育のなかで育みたいものです。
 

2017年9月14日木曜日

「プログラミング教育」に関する一考察

 文部科学省より2020年実施「学習指導要領」が発表される前後から、「プログラミング教育」という言葉が飛び交っています。またそれを取り巻く業界関係者の動きも活発です。なんといっても学校教育は大きな市場、お金の匂いもするんでしょう。
 最近は「プログラミング」が人気がある習い事となっているそうです。

 
 一応公の文書に出ている言葉なので私も使っていますし、私自身も「事業」としているのでなんですが、「プログラミング教育」って言葉は個人的にはどうも好きになれません(オイオイ)。

 「プログラミング」自体が悪いというのではなく、「プログラミング(本当はコーディング)」だけを強調してしまうと、もっと大事なことが疎かになってしまうのではないかという心配からです。



 私は、下は小学生から、高校・大学卒業程度の職業訓練生、そして上は70歳代の会社経営者まで、いろんな方を対象に、コンピューターやITの講義や講演をしています。

 たいてい初めの時間に、こんな質問をします。

 「ご自宅に、コンピューターはいくつありますか?」

 で、挙手を求めます。

「1つもない、ゼロの人?」・・さすがにいません

「1つ?」「2つ?」・・・ボチボチ、手があがりはじめます。

「3つ~5つ?」・・・・・かなり手があがります。

「6つ~10?」・・・・減ってきます。

「11~20?」・・・・手を上げる人はほとんどいなくなります 

「20以上?」・・・・お互い顔を見合わせます・・・

 みなさんは、いかがですか?

 あえて「〇台?」とたずねないことがミソなんです。

 パソコンやスマートフォンあるいは「ゲーム機」などを思い浮かべる人が多いと思います。ディスプレイやキーボードがついていて、文字や画像が表示されるもの・・・

 確かにそれらも「コンピューター」ですが、「情報を処理するプログラム可能な電子装置」というとらえ方をすると、ぐぐっとその数が増えてきます。

具体的には、コンピューターの心臓部である「プロセッサー(『マイコン』ということもあります)」という電子部品が使われている装置です。






 パソコンは当然ですが、液晶ディスプレイやプリンターにもプロセッサーが組み込まれています。キーボードの中にだってプロセッサーが組み込まれています。

 無線LANルーターやスイッチングハブがあれば、その中にもプロセッサーが組み込まれています。

 パソコン周りだけではありません。
 リビングに目を向けると、地デジ液晶テレビやビデオレコーダーはもちろん、エアコンにもプロセッサーが組み込まれています。またこれらを操作するリモコンにもプロセッサーが入っています。リモコンで操作できる照明機器や扇風機などにもプロセッサーが組み込まれているはずです。

 キッチンは、プロセッサーのオンパレードです。電子レンジ・冷蔵庫・IH調理器など調理家電の多くにプロセッサーが組み込まれています。
 
 玩具の中にもプロセッサーを組み込んだものが多いですね。ゲーム機も本体側は当然ですが、〇iiなどのコントローラーにもプロセッサーが組み込まれています。あるいは最近はやりの赤外線コントロールの自動車やミニドローンにも組み込まれています。

 ガレージに停めている自動車に目をやれば、「走るプロセッサーの塊」といってもいい状況です。カーナビやカーオーディオはもちろん、エンジンもほぼ100%プロセッサーによる制御となっています。障害物を見つけるバックセンサーやアンチロックブレーキシステムなど安全システムもプロセッサー抜きには考えられません。一般的な乗用車1台に50個以上のプロセッサーが組み込まれているといわれています。

 このように考えると、日本の家庭には、数十個から百個を超える数のプロセッサーがあり、その数だけそのプロセッサーを動かすためのプログラムがある、そして、こういったプロセッサーとプログラムで私たちの生活が支えられているというのが現在の社会の姿です。

 ボクが、プロセッサー搭載機器でも秀逸だと思うのは「炊飯器」。

前夜に、研いだ米と水を釜に入れてタイマーをセットしておけば、翌朝指定時間には炊き上がっている。
 それまではかまどと羽釜につきっきりで火加減の調節をしながら炊いていたのが、炊飯器に「お任せ」できるようになり、主婦の家事が大幅に軽減されたと思います。

 これが可能になったのも「プロセッサー」と「プログラム」のおかげです。

 プロセッサーは「炊き上がり時刻」から炊飯開始時刻を計算し、その時間から熱源を制御して加熱開始、温度センサーの計測値とあらかじめ設定された「炊飯曲線」を比較しながら、発熱量を調節します。「炊飯曲線」とは、昔ながらの「はじめチョロチョロ中パッパ、ジュウジュウ吹いたら火を引いて、ひと握りのわら燃やし、赤子泣いてもふた取るな」をデータ化したもの。最近の機種ではお米の銘柄ごとに炊飯曲線を調整して、おいしい炊き方にこだわっているとか。



 小学5年生では、家庭科で「ご飯の炊き方」を学びます。学校によってはガラス鍋を使って、火加減を調節しながらご飯が炊きあがる様子を観察していると思います。

 この実習の後にでも、子ども達に向けて「ところで、みんなの家では、ご飯はどうやって炊いている?」「お母さんはずっと火加減みている?」と問いかけるのも面白いですね。

 子ども達に話し合わせた後、じゃーんと分解した炊飯器を取り出し(なければ、写真でも)、基板の上を指さし、

 「この黒い部品が『プロセッサー』っと言って、みんなが学んだ『はじめチョロチョロ~』というご飯の炊き方の『プログラム』に従って、ご飯を炊いているんだよ」

 なんて話をはじめるのもいいですね。温度センサーやヒーターの話に関連付けたり、場合によっては、最適な炊飯曲線を得るために、家電メーカーの人たちが炊飯試験とプログラムの調整を繰り返していることとかも触れてもいいですね。

 そういった授業の中で、「プログラムって、人の知恵のかたまりなんだ」と、気づいてくれるだけでもまずは大成功です。炊飯器に限らずいろいろな機器に組み込まれているプロセッサーとプログラムの存在と役割にも気づいてくれるようにするのが、学びの最初の一歩だと思います。





 コンピューターの機能を集積回路(IC)に詰め込んだ「マイクロプロセッサー」が誕生したのは1971年のことです(この経緯に日本が絡んでいたというのも興味深い話ですが、別の機会に)。
 パソコンやスマートフォンの中核部品「CPU(中央処理装置)」としても使われていてますが、炊飯器に組み込まれているような「組込マイコン(マイクロコンピューターまたはマイクロコントローラーの略)」の方が実は数十倍以上も数が多いのです。

 この「組込マイコン」の普及(高機能化・低価格化)は目覚ましく、冒頭に話したように、「一家に数十~百個以上」という状況になっているわけです。
 そして、日々の生活だけでなく、日本の生命線ともいえる「モノづくり」のあり方も変えてきています。

 今後、IoT(モノのインターネット)やAI(人工知能)など新しい考え方や技術をつかった製品も登場します。
 子ども達が大人になる頃には、自動運転車などが普及しているかもしれません。単に便利というのを越えて、「命もゆだねる」時代になっているかもしれません。

 「教育」というのは、子ども達が社会の中で生きていく力を教え育むことだと考えています。子ども達の基盤は日々の生活です。
 コンピューターやプログラムが、日々の生活の中でどのように活かされているかを知るところから始まり、その後、日々の暮らしや課題を解決するためにコンピューターやプログラムを「道具」として使えるようになればと思います。


 などと思っているのですが、最近の「『プログラミング教育』界隈」をみていると、気になることがあるです。
 
 生活感・リアル感がない「プログラミング指導」があるなぁという思いです。

 子ども達がコードを書いてその通りの結果が得られると、子ども達は達成感を感じうれしく楽しいと感じます。そんな子ども達を見れば指導している側も保護者もよかったと感じるでしょう。

 でもですね、「子どもが楽しんでいること=子どものためになること」とは限らないんです。ビジネスであれば「子どもが楽しむ・保護者も納得」であれば十分です。
 でも教育という以上は、「子どものためになる」ことが最低条件です。もちろん「楽しくてためになる」がベストで、そうするためには、いい教材を用意して、さらに教師の腕の見せ所です。


 画面のキャラクターを思い通りに動かすのは楽しいかもしれませんが、子ども達の意識や発想を「画面の中(バーチャルな空間)」に閉じ込めておくってもったいないと思いませんか。

 子ども達の回りには、人の知恵が「プログラム」という形で詰め込まれたいろいろなモノが存在しています。そういったものを参考にしながら、人が生きているリアルな空間の中でコンピューターやプログラムを道具として活用する方法を学んでいく、そんな授業が行えるようになるといいですね。
 その中で、子ども達と、コンピューターとの付き合い方、技術との関わり方を考えていければいいなと思います。




 こうなってくると、単に「プログラミング教育」の範疇を越え、「コンピューター教育」「システム教育」という括りになります。無理かなって声も聞こえそうです。

 理想論ぽいこと言っているなという声も聞こえそうですが、海外にはこういった概念の教育を初等教育の段階から取り組みはじめた所もあるんです。


2017年7月30日日曜日

【最近小中学生向け講座やっています】
 久しぶりの更新です。

 ここ最近、講座を開催する機会が急に増え、ブログの更新が疎かになっていました。

 3月 民間学童施設「Let's Code!はじめてのプログラミング」小中学生
 5月 熊本県はたらきもんプロジェクトIT研修「IoT基礎」非常勤講師14h
 5月 熊本高専「わくわく科学実験講座」小中学生講座
 7月 熊本高専「わくわく実験講座」小中学生講座
 7月 「ESP8266とBlynkを使ったIoT体験講座」社会人

 特に最近力をいれているのが、micro:bit(および互換機chibi:bit)という小型マイコンボードを使った小中学生向けの講座です。



イギリスで開発されたmicro:bit、永年コンピューター教育に取り組んでいたBBC(イギリス公共放送)がこれまでの実践成果と反省を踏まえて開発したもので、昨年からイギリスの子どもたち(第7学年・日本での小5に相当)全員に配布しているという意欲的なプロジェクトです。

 「教育用」と前面に出している通り、とてもよく練られている教材です。

 私としても関心を持っていたのですが、昨年末より日本国内でも互換機「chibi:bit」が使用できるようになり、これまで数回講座をやっています。
 

 そして先月、マイクロビット教育財団は「アメリカ・カナダ」、そして今月になって日本での展開を開始すると発表しました。

 日本では2020年の学習指導要領改訂にあわせ、小学校でのプログラミング学習が本格化しますが、micro:bitを中心としたためになる教材開発にも力を入れたいと思います。

  

2017年3月12日日曜日

【WiFiインセクト、Blynkでパワーアップ】

 先週まで勤めていました「IoT講座」非常勤講師勤務終わりました。

 IoT(Internet of Things)の基本を体験してもらうというミッションを手探りで行いましたが、自分自身にも勉強になりました。

 IoTはいろいろな技術に支えられていますが、一番ホットな部分は「モノ」をネットにどうやってつなぐかというところです。

 本格的にサーバーを立てるやり方は難しいので、今回使ってみたのが「Blynk」というスマホ用IoTプラットフォームアプリです。
http://www.blynk.cc/

 実習でも、このアプリとESP-WROOM-02を使って、温度センサーの値を読み取ったり、フルカラーLEDやサーボの制御を行いました。

 私自身も「デモ用」に、以前つくった「WiFiインセクト」をBlynk化してみました。

















2017年3月6日月曜日

【IoT講座終了】

【IoT講座終了】
 先月より非常勤講師を勤めていました職業訓練施設での「IoT基礎講座」本日終了しました。



 3時間×8回の24時間でやったことは次のような内容です。

○はじめに
 身の回りのコンピューター
 IoTの事例(Webカメラ・玩具・家電など)
 IoTの活用が期待される分野

○ESP-WROOM-02モジュール
 様々なマイコンボード(Arduino等)
 ESP-WROOM-02概要
 開発環境のインストール
 はじめてのLチカ

○電子回路基礎
 デジタルとアナログ
 二進数とデジタル回路
 コンピューターのあゆみ

○フィジカルコンピューティング演習~基礎
 Arduino言語の基礎
 基本構文・変数・関数・入出力関数・シリアル通信

○フィジカルコンピューティング演習~センサー編
 スイッチ・人感センサー・温度センサー・温湿度センサー
 超音波センサー

○フィジカルコンピューティング演習~出力装置編 フルカラーLED・サーボ・リレー(事例紹介)

○ネットワーク基礎

○IoTシステム演習
 Blynkを例に
 LEDコントロール
 センサー数値読取
 サーボ制御

○まとめ
 今後のIoT技術の課題と展望 







はじめて、マイコン工作に挑戦する実習生だったのでちょっと心配しましたが、まずは身の回りの装置の仕組みを知る入口になったと思います。

2017年2月13日月曜日

10+11=101

  先週から、職業訓練施設での「IoT講座」の非常勤講師が始まりました。

 IoTといっても、フィジカルコンピューティングがはじめての訓練生が多いので、ハードウェアの基礎的なお話からはじめています。

 今日のテーマが「電子回路基礎」ということで、「アナログとデジタル」の話からはじめてみました。

 概念的な話より実物でというのが、今回の講座で心がけていることなので、まずは圧電スピーカーをマイク代わりに、オシロスコープで「波形観察」。
  波形を見てもらったところで、「トランジスタラジオ」と「インターネットラジオ」の聴き比べをしてもらいました。


 昔ながらのトランジスタラジオ(電子ブロックで組みたてた1石AMラジオ)とインターネットラジオ、どっちが早く音が聞こえる?なんてところから実際に確かめてもらいました。答は、昔ながらのトランジスタラジオが早く聞こえます(だいたい3秒程度の差があります)。

 インターネットラジオが遅くなるのは、アナログ→デジタル・デジタル→アナログの変換プロセスがあるから。
 ではどうして、そんな面倒なことをするの?ということからデジタル機器のメリットを考えて見ました。

 そして、デジタル回路での「計算」ということで、二進数での加算の原理と、それを実際の回路で組んでみた「2bit+2bitの加算器」の説明をしました。

 実際に、「電気回路で計算」する回路を見てもらうことで、CPUのなかでこんなことが起きているいるんだと実感してもらえたらいいなと思っています。





2017年2月6日月曜日

【Blynk】ただ今挑戦中!

最近、IoT関連のご相談をうける機会が多くなり、猛勉強中(従来比)です。

 一つの例が先日も実験していた「IFTT」というWeb連携サービスですが、よりIoTデバイスとの連携に特化した「Blynk」というサービスにも挑戦しています。

 http://www.blynk.cc/





 IoTデバイスとの連携を実現するスマートフォンアプリ(Googleプレイのページ)です(iphoneも対応)。

2017年2月5日日曜日

講座資料制作中

 講座をやるには資料が必要です。

 特に回路やプログラムの説明には欠かせません。

 講座の基本的な組み立てはできていますが、資料のほうは進行中です。

オリジナルはHTML




 幸いこれまで行ってきた講座で作成した説明図なども使えるものがあるので、活用します。


コンパイルの説明図


明日からの講座準備中

 明日2月6日より、職業訓練施設で非常勤講師を勤めます。

 「IoT(Internet of Things)」に関する講座で、24時間(3時間×8回)の訓練時間です。

 明日は初日ということもありますので、基本的なお話から始めますが、せっかくですので実習中心でおこないたいので、ESP-WROOM-02を使った「Lチカ」をやってみる予定です。

 そのため、ESP-WROOM-02開発ボードやブレッドボードなどを必要な部品を「教材セット」としてまとめています。10セット+予備です。
準備中の教材
施設側とこれまで打ち合わせていますが、訓練生の皆さんはIllustratorなどのアプリケーションソフトやVBAによる開発等はされているとのことですが、ハードウェアがらみははじめてということです(IoTの講座自体はじめて開講)。

 実は最近心配しているのが、小中学校などでの「モノづくり」「技術科」といった時間が減っていることです。
 年配男性の方は、「中学校でラジオとか組み立てたなぁ」という経験をお持ちの方も多いと思いますが、最近の中学生はあまり経験がないようです(学校しだい)。

 はじめて、LEDとか抵抗とかの電子部品に触る訓練生もいると思いますが、「自分が作ったものが動き出す」楽しみを知ってもらいたいと思います。

2017年2月4日土曜日

ESP-WROOM-02実験中!

昨年から、ESP-WROOM-02というWiFi機能つきモジュールで講座用教材を作っています。

現在取り組んでいるのが、「IoT」をキーワードにしたものです。


この装置は、温湿度センサーDHT-11を接続して計測データを送信するという仕組みです。

 データは、IFTTTという連携サービスにアクセスし、さらにEvernoteサーバー上のノートに追記するようにしています。