ホチキス先生の「プログラマーと呼ばれたい」

InfoPath & SQL Server !

Archive for the ‘インターフェース’ Category

Surface Pro 3 でBUFFALO の USB LAN アダプター LUA4-U3-AGT を使う

leave a comment »

P1960053_Surface_Pro_3_LAN_Adapter_BUFFALO_LUA4-U3-AGT_mid_640_480

Surface Pro 3 を有線 LAN に接続するために USB の LAN アダプターを試している。手元にあった BUFFALO の USB LAN アダプター LUA4-U3-AGT を試してみた。

Surface Pro 3 の USB コネクタに取り付けると、自動的にドライバが適用されネットワークアダプターが構成される。

P1960057_Surface_Pro_3_BUFFALO_USB_LAN_Adapter_mid_640_480

Surface Pro 3 の「ネットワークとインターネット」「ネットワーク接続」ではイーサネット5と表示されている。

Surface_Pro_3_BUFFALO_LAN_Adapter_001_mid_640

Surface_Pro_3_BUFFALO_LAN_Adapter_002_mid_640

広告

Written by Yoshio Matsumoto

2018年11月24日 at 5:53 PM

Surface Pro 3 で中国製の USB LAN Adapter を使う – QTS1081B NO:9700

leave a comment »

P1960049_UAB_LAN_Adapter_for_Surface_mid_640_480

Surface Pro 3 を有線 LAN に接続するには LAN アダプターが必要だ。以前、国産メーカー製の USB LAN アダプターを買ったところ、Surface Pro 3 では認識しなかった。そこで試しに手元にあった中国製の UAB LAN アダプターを使ったところ、うまくいったので報告する。

メーカー名は不明だが、型番はわかっている。本体に紙のシールで QTS1081B NO:9700 と書かれている。

P1960032_USB_LAN_Adapter_for_Surface_mid_640_480

これを Surface Pro 3 の USB コネクタに接続すると、自動的にドライバが適用され、ネットワークに接続できるようになった。

P1960033_USB_LAN_Adapret_and_Surface_Pro_3_mid_640_480.jpg

USB_Network_Adapter_Property_001_mid_640

USB_Network_Adapter_Property_002_mid_640

「ネットワークとインターネット」「ネットワーク接続」でこのようにイーサネット4 と認識されている。

Written by Yoshio Matsumoto

2018年10月23日 at 5:10 PM

Micro:bit の学習用拡張実験モジュールを作る – CR2024 ボタン電池による給電と外部 LED のコントロールボード

leave a comment »

Micro:bit は本体に LED 表示機能を有し、加速度センサや磁気センサ、CPU の温度測定機能を利用した温度センサ機能、LED を照度センサとして利用できるなど、他のマイコンボードとは違い単体で様々な実験ができるところが特徴だ。さらに Micro:bit によるプログラミング実習を、外部 LED のコントロールやウエアラブルに使うことを考え、拡張ボードを作っている。

P1950915_Microbit_module_mid_640

市販のフレキシブル基板を使い、Micro:bit にあわせて穴を開ける。CR2032 ボタン電池ホルダーと接続ケーブル、赤、緑、青の LED を取り付ける。まだプロトタイプなので抵抗など必要な部品の全ては配置できていない。

Micro:bit 本体とは距離をあけて取り付けなければならないので、プラスチックのスペーサーを使う。

P1950917_Microbit_Bolt_mid_640

P1950918_Microbit_Module_Attach_mid_640

ここで問題点がひとつある。それは Micro:bit をボルトとナットで止めるときに、隣の I/O ピント接触してしいそうなところだ。

P1950922_Microbit_Module_Bolt_mid_640

なぜいま少し、1mm でも内側に穴を配置してくれていればこのような問題はおこらなかったのに、と設計者に恨みを言いたくもなるが、Micro:bit はこのような設計であり、ボルトには頭の下側が斜めになった「皿ネジ」を使うことが推奨されている。しかし皿ネジは見た目が悪く、安定感に欠けるのでできれば使いたくない。このあたりはどう解決するか試行錯誤している。

P1950925_Microbit_Battery_Connector_mid_640

給電コネクタ部分はこのようになる。あえてスイッチを設けず、コネクタを付け外すことでスイッチとするシンプルな構造とした。

P1950920_Microbit_Module_Attach_Overview_mid_640

2018年4月18日

松本 吉生(まつもとよしお)
Microsoft MVP Data Platform

1961年京都に生まれ、神戸で幼少期を過ごす。大学で応用化学を学んだのち、理科教諭として高等学校に勤務する。教育の情報化が進む中で校内ネットワークの構築運用に従事し、兵庫県立明石高等学校で文部科学省の「光ファイバー網による学校ネットワーク活用方法研究開発事業」に携わる。兵庫県立西宮香風高等学校では多部制単位制の複雑な教育システムを管理する学籍管理データベースシステムをSQL ServerとInfoPath、AccessなどのOfficeソフトウエアによるOBA開発で構築・運用する。2015年から2017年まで兵庫県立神戸工業高等学校でC#プログラミング、IoTなどのコンピュータ教育を行い、現在は兵庫県立神戸甲北高等学校に勤務する。2004年からマイクロソフトMVP(Microsoft Most Valuable Professional)を受賞し、現在15回目の連続受賞。2016年にマイクロソフト認定教育者(Microsoft Innovative Educator Experts : MIEE)を受賞し、現在4回目の連続受賞。

IoT 開発における Arduino ファミリーの優位性 – nodeMCU を使う理由

leave a comment »

IoT 開発のために主として Arduino ファミリーと呼ぶことができるマイコンボードを使っている。ここで「Arduino ファミリー」と言っているのは、オフィシャルな Arduino 開発環境である Arduino IDE を使って開発でき、物理的な仕様もほぼ Arduino に準じているものを指している。

IoT開発のためのマイコンボードについて考える – その必要な特性は何か – Raspberry Pi と Arduino

leave a comment »

現在、様々なマイコンボードが開発され生産、販売されており、それらは様々な用途に利用されているが、IoT 開発におけるマイコンボードに必要な特性は何だろう。

どこかに統計データがあるかもしれないが、現時点、2017年12月25日において、俺の日常的な感覚からすれば世界で最も利用されているマイコンボードは Raspberry Pi と Arduino だ。

Raspberry Pi の特徴は高性能であるということに尽きる。Raspberry Pi に最適化された OS Raspbianをインストールしてキーボードとモニタを繋げば普通の Linux PC として機能する。高機能であることの裏返しとして、OS をインストールしなければならない手間と価格が高いデメリットがある。たとえば Amazon で Raspberry Pi 3 Model B V1.2 国内正規代理店品の価格は 5,578 円だ。もうひとつ、Raspberry Pi の使いにくさとして A/D コンバータを持っていないことがある。アナログセンサを Raspberry Pi で使うには A/D コンバータを別途取り付けなければならない。ただし I2C などディジタル通信によるセンサも充実してきたので、これからはアナログ入力処理の必要は少なくなるかもしれない。ただマイコンボードや制御の学習のためにはアナログ入力処理ができたほうがいいだろう。

Arduino の特徴はオープンソースハードウエアであることだろう。回路設計が公開されており、だれでも電子部品を組み合わせて同じものを作ることができる。このために中国製を中心とする膨大なクローンが市場にあふれている。現在 Arduino を代表するモデル Arduino UNO R3 は Amazon で 999 円で手に入る。中国系のサイトでは 300 円だ。また互換品も多い。小型で Wi-Fi モジュールを搭載した WeMos D1 mini は俺のお気に入りだが、中国系サイトで 310 円から 350 円くらいだ。さらに Arduino UNO R3 は D/A コンバータを搭載しておりアナログ入力を処理できる。

データ処理はクラウドで行う時代になり、マイコンボードでは高度な処理を必要としない。したがって IoT でのマイコンボードの役割は、センサからデータを受け取りインターネットに送信することになるだろう。そのためにはセンサの値を読む I/O とともに、ネットワーク通信機能が必須になる。現時点では Wi-Fi が扱いやすいだろう。安定して動作すること、安価であることも重要だ。できるだけ多くのセンサを設置し、継続して大量のデータを収集することがビッグデータの時代には必要だ。壊れやすかったり単価が高ければ数多く設置することが難しい。そのためには高機能であることよりもシンプルな設計が望ましい。

もしマイコンボードにデータベースの機能を持たせたり、Web サービスなど高度な役割を持たせたいなら Raspberry Pi だろう。しかし単純にデータ収集を行うためなら Arduino だろう。ただ Arduino では通信処理において実装が難しいものもある。今一歩 Arduino が進化し、CPU や ストレージなどの機能が高くなれば IoT における主役として確固たる位置につけるはずだ。それを期待している。

2017年7月18日

松本 吉生(まつもとよしお)
Microsoft MVP Data Platform

1961年京都に生まれ、神戸で幼少期を過ごす。大学で応用化学を学んだのち、理科教諭として高等学校に勤務する。教育の情報化が進む中で校内ネットワークの構築運用に従事し、兵庫県立明石高等学校で文部科学省の「光ファイバー網による学校ネットワーク活用方法研究開発事業」に携わる。兵庫県立西宮香風高等学校では多部制単位制の複雑な教育システムを管理する学籍管理データベースシステムをSQL ServerとInfoPath、AccessなどのOfficeソフトウエアによるOBA開発で構築・運用する。現在は兵庫県立神戸工業高等学校でC#プログラミング、IoTなどのコンピュータ教育を行う。2004年からマイクロソフトMVP(Microsoft Most Valuable Professional)を受賞し、現在14回目の連続受賞。2016年にマイクロソフト認定教育者(Microsoft Innovative Educator Experts : MIEE)を受賞。

C# – 教科「情報」の授業で使うタイピングトレーニングのソフトを作っています。その 5。ユーザー ID を Active Directory から取得するようにした。

leave a comment »

教科「情報」の授業でタイピングソフトを自作して生徒実習をしている。このねらいは 2 つある。ひとつは、実際に使いやすいソフトウエアを使いたい、ということがある。特に生徒の実習データを Microsoft Flow に送信して集計しやすくする、ということがある。もう一つの目的は、ソフトウエア開発の実際を生徒に見せたい、ということだ。

いわゆる「ウォーターフロー型」の開発には限界があることが多く指摘されている。現代的なソフトウエア開発環境を最大限に活用するには、アジャイルと呼ばれる開発スタイルが望ましい。そこで教科「情報」の授業で自分が作ったソフトウエアを生徒に使わせながら、問題点や改善点を指摘させて次のバージョンに適用する、という手法でソフトウエア開発の実際を間接的に体験させるのだ。

そのためには、最初から完成されたソフトウエアを使わさない。最初はごく基本的な仕組みだけ作ったソフトウエアを使わせ、問題点や改善点を指摘することを演習とする。

様々な意見が生徒から出て興味深いのだが、これはまた別項でまとめることにする。今回のマイナーバージョンアップでは「学籍番号を入力するのが面倒だ」と「学籍番号を全角で入力してしまう間違いがおこる」ことを回避することを考えた。これは、システム管理をやっている者には常識的な実装になるが、ユーザー ID を Active Directory から取得することだ。これは一行のコードで実現できる。

——————————————————————————————-

myUserName = Environment.UserName;

——————————————————————————————-

そして取得したユーザー ID を gakuseID テキストボックスに表示する。

——————————————————————————————-

gakuseID.Text = myUserName;

——————————————————————————————-

ちゃんと取得することが確認できれば、学籍番号のテキストボックスの Enabled プロパティを false にし、書き換えられないようにする。

——————————————————————————————-

gakuseID.Enabled = false;

——————————————————————————————-

これで学生番号は間違いなく処理されるようになる。

2017年6月16日

松本 吉生(まつもとよしお)
Microsoft MVP Data Platform

1961年京都に生まれ、神戸で幼少期を過ごす。大学で応用化学を学んだのち、理科教諭として高等学校に勤務する。教育の情報化が進む中で校内ネットワークの構築運用に従事し、兵庫県立明石高等学校で文部科学省の「光ファイバー網による学校ネットワーク活用方法研究開発事業」に携わる。兵庫県立西宮香風高等学校では多部制単位制の複雑な教育システムを管理する学籍管理データベースシステムをSQL ServerとInfoPath、AccessなどのOfficeソフトウエアによるOBA開発で構築・運用する。現在は兵庫県立神戸工業高等学校でC#プログラミング、IoTなどのコンピュータ教育を行う。2004年からマイクロソフトMVP(Microsoft Most Valuable Professional)を受賞し、現在14回目の連続受賞。2016年にマイクロソフト認定教育者(Microsoft Innovative Educator Experts : MIEE)を受賞。

C# – 教科「情報」の授業で使うタイピングトレーニングのソフトを作っています。その 4。いつでも終了、開始ができるボタンのインタフェースを制御した。

leave a comment »

教科「情報」の授業で使うタイピングトレーニングのソフトを作っている。ここでマイナーチェンジをしたのは、ボタンの有効状態を制御したところだ。たとえば、次の画面は文字入力をトレーニングして「終了」のボタンを押し、かかった時間とスコアを表示したところだ。

textInputProgram_001_mid_640

ところがこの状態で「開始」のボタンが有効になっている。そこでこのまま「開始」をクリックして「終了」をクリックすると、一字も入力することなく結果が出てしまう。

textInputProgram_002_mid_640

そこで「開始」ボタンを押す前は「終了」と「リセット」を無効にし、「開始」ボタンを押せば「開始」ボタンは無効となり「終了」ボタンが有効になり、「終了」ボタンを押せば「終了」ボタンは無効となり「リセット」ボタンが有効となる、といったようにボタンの有効無効を制御することにした。

まずフォームの初期化で「終了」ボタンと「リセット」ボタンを無効にしておく。

——————————————————————————————

btnEnd.Enabled = false; //終了ボタンを無効にする
btnClear.Enabled = false; //クリアボタンを無効にする

——————————————————————————————

次に「開始」ボタンのクリックイベントで「開始」ボタンを無効にし「終了」ボタンを有効にする。

——————————————————————————————

btnStart.Enabled = false; //開始ボタンを無効にする
btnEnd.Enabled = true; //終了ボタンを有効にする

——————————————————————————————

そして「終了」ボタンのクリックイベントで「終了」ボタンを無効にし「クリア」ボタンを有効にする。

——————————————————————————————

btnStart.Enabled = false; //スタートボタンを無効にする
btnClear.Enabled = true; //リセットボタンを有効にする

——————————————————————————————

最後に「クリア」ボタンのクリックイベントで「クリア」ボタンを無効にし「開始」ボタンを有効にする。

——————————————————————————————

btnClear.Enabled = false; //クリアボタンを無効にする
btnStart.Enabled = true; //スタートボタンを有効にする

——————————————————————————————

これでボタンの有効無効管理ができた。

textInputProgram_003_mid_640

textInputProgram_004_mid_640

textInputProgram_005_mid_640

さて、このような制御をどこまですればよいのだろうか。それはプログラムを誰がどのように使うのかにかかっている。たとえばこのソフトウエアが、自分で文字入力のトレーニング結果を知りたいために使うのならば、このような制御を考える必要はないのかもしれない。自分の力を知るために「ずる」をする意味がないからだ。しかし、たとえば学校の授業で先生が生徒に課す場合は、少しでもよい結果を出すために「ずる」をしようと考える生徒がいるかもしれない。

そのことを考えると、たとえばテキストを別に入力しておき、ペーストするような「ずる」も考えられるかもしれない。使いやすさと同時に、想定外の利用をされないように考えることは、ソフトウエアの本来の機能とはまた別に、ソフトウエア開発のテーマである。

2017年6月16日

松本 吉生(まつもとよしお)
Microsoft MVP Data Platform

1961年京都に生まれ、神戸で幼少期を過ごす。大学で応用化学を学んだのち、理科教諭として高等学校に勤務する。教育の情報化が進む中で校内ネットワークの構築運用に従事し、兵庫県立明石高等学校で文部科学省の「光ファイバー網による学校ネットワーク活用方法研究開発事業」に携わる。兵庫県立西宮香風高等学校では多部制単位制の複雑な教育システムを管理する学籍管理データベースシステムをSQL ServerとInfoPath、AccessなどのOfficeソフトウエアによるOBA開発で構築・運用する。現在は兵庫県立神戸工業高等学校でC#プログラミング、IoTなどのコンピュータ教育を行う。2004年からマイクロソフトMVP(Microsoft Most Valuable Professional)を受賞し、現在14回目の連続受賞。2016年にマイクロソフト認定教育者(Microsoft Innovative Educator Experts : MIEE)を受賞。