🏠
🌡️ 📆 令和6年4月20日
情報処理概論 戻る 進む 講義スライド

スマホアプリを作ってみよう~Javaとセンサ~


アプリ開発はなぜするの?

アプリ開発をするのは、夢を実現して、ひとりひとりが幸せになれる社会に貢献するためです。 夢を思い描く想像力がなければ、どんなに優れたプログラミング技術も、残念なスキルになってしまいます。

たとえばスマートシティ。あなたが思い描くスマートシティとはどんなものなのか、アプリで表現してみませんか?

HTML5が普及して、インストール不要のWebアプリが普及してきました。 またChromebookのような低価格なWebアプリ専用のデバイスも普及してきました。

例えば、Geolocation APIで位置情報へのアクセスができるyようになった。

ただ、ハードウェアにアクセスするだけなら、わざわざスマートフォンのアプリを開発するメリットは少ない。 しかし、ワンアクションで、複数の操作をできるようにするならば、工数が減らせるのでメリットは高い。 例えば、写真を取ったら、自動的にサーバに保存されるようなアプリである。


スマートシティ

Webアプリスマホアプリ
ビッグデータ
WiFi、インターネット
マイク、カメラ、温度センサー、温度センサー、加速度センサー
  1 デジタル社会 がもたらす スマートシティ を支える技術
01.情報処理概論 13.情報処理概論

Iot

家電 自動車 といった「モノ」を インターネットに接続する技術
IoTの対象となるモノ 家電 (冷蔵庫、テレビ、ドアホン、 給湯器)や 自動車
センサー カメラ、 マイク、 タッチセンサー、スマートメーター、温度センサー、湿度センサー
通信 光ケーブル、無線通信、メタリックケーブル
  2 IoT

PC、スマホ、クロームブック

  1 情報端末( Chromebook、スマホ、PC )の比較
スマート
ディスプレイ
Chromebook 📱スマホ 💻PC
インストール 不要 不要 必要 必要
入力装置 🎥 カメラ 🎤マイク 🎥 カメラ ⌨キーボード・タッチパッド・🎤マイク 🎥カメラ タッチパネル・🎤マイク ⌨キーボード・🖱マウス・🎤マイク
出力装置 📱 ディスプレイ 🔊 スピーカー 💻 ディスプレイ 🔊 スピーカー 📱 ディスプレイ 🔊 スピーカー 💻 ディスプレイ 🔊 スピーカー 🖨 プリンター
ストレージ
(補助記憶装置)
☁クラウド ☁クラウド ☁クラウド 🗃ファイル
認証 マルチユーザー
シングルデバイス
マルチデバイス
シングルユーザー
SIM
シングルユーザー
マルチユーザー
シングルデバイス
決済 💳クレジット決済 バーコード決済、電子マネー決済、クレジット決済 💳クレジット決済
通信 WiFi WiFi WiFi, 回線 有線LAN,WiFi
01.情報処理概論 13.情報処理概論

  2 アプリの種類
種類説明
文書作成 ワープロ deepl

論文報告書、あるいはそれらの 要旨などの 文書を作成、印刷するアプリです。 1 )

表計算 数値を計算し、表や グラフなどの図表を作成するアプリです。 平均標準偏差などの統計量も計算できます。 データ の件数は 30件程度までが適切です。 それ以上の件数の場合、データベースアプリと連携して 抽出した データ を使う方が効率的です。
🔷 プレゼンテーション

講演スライドや ポスターを作成できます。 2 )

グラフィックス 図形地図写真などの 画像の作成や編集をします。
CAD Solid works * 図面
Autodesk AutoCAD Web 図面
Webページ作成 HTML editor
データベース Microsoft Access Microsoft SQL Server
動画編集
プログラミング google colab
ビジネス ・グループウェア
  • メール
  • チャット
    • Slack
  • 会議 Zoom, Teams, Meet
  • カレンダー、連絡先、名刺交換
  • SNS

アプリ には、 オペレーティングシステム (OS) 上で動く、インストールアプリと、 Webブラウザ 上で動く Webアプリがあります 3 )

アカウント を有効化して、 サービスアプリ を利用する(ログイン、ログオン、サインイン)には、 認証が必要です。

人気 プログラミング言語 は、java script、そしてpyton*と続きます。 *


  3 Webアプリに使われる 言語
言語 説明
マークアップ言語 html, xml, svg,mathML,css 例:test.html
クライアントサイド .NET(ドットネット)
JavaScrpt
VBscript
例:BodeNyquist.asp
クライアントサイド言語、フロントエンド言語といいます。
サーバーサイド .NET(ドットネット)
Python(パイソン)+Django(ジャンゴ)
VBscript(asp)
JavaScript(+Node.js
Ruby
PHP
サーバーサイド言語、バックエンド言語といいます。 IISとPythonで、Webアプリを作れます。 * test.asp test.py
データベース SQL データベースでデータの取得、保存、更新、削除などを行う言語です。
11 05 情報処理概論 01. 卒業研究 test

代表的なライセンスモデル
ライセンスモデル製品群製品例
デバイス単位 デスクトップアプリ
デバイスアクセス権
Office
Windows Server Device CAL
ユーザ単位 開発キット
ユーザアクセス権
Visual Studio
Windows Server User CAL
コア単位 サーバ製品 Windows Server, SQL Server
サブスクリプション
(ユーザID*1単位)
クラウド, オンラインサービス Office 365, Microsoft 365
Google Workspace
包括契約*2 組織全体
教職員と学生全員
Microsoft EES,
Adobe Creative Cloud
プリインストールラインセス プリインストールアプリ 購入時にインストールされているOfficeなど
別のPCにインストールできない
*1ユーザIDの共有は禁止されている。
*2包括契約では,組織全体のユーザ数で契約するため,割安になることが多い. 一方,使わないユーザ分も契約する必要があるので,無駄が発生することもある.

他にも、本学の学生全員(約7400人)の迷惑メールを防止するためのソフトInterScan Messaging Security Suite™(IMSVA-9.1)のような商品もあり、サーバ内に、組み込まれるライセンスモデルもある( 田島の報告とメールヘッダからの予想)。ライセンスモデルは不明。


  3 認知世界
01 13 情報処理概論 04.技術者倫理 科学と技術 4 )

電磁的記録」とは、 電子的方式、磁気的方式その他の 人の知覚 によっては認識することができない方式で作られる記録であって、 電子計算機 による情報処理の用に供されるものをいいます。


センサーとアクチュエータ

人間には、目があり、耳があり、色や形、音を感じることができます。 その人間が ">認知する世界とコンピュータを橋渡しするのが、センサーとアクチュエータです。

センサーは、光、音、温度、濃度、などを主に電圧に変換します。

ライブコンサートをライブ配信で楽しむことを考えてみましょう。

音声 🎤 マイク アンプ AD変換 通信回線
  4 音声 から 通信回線

ライブの音声は、もともとは空気の圧力変化です。 この圧力の変化量をマイクを使って電圧の変化量に変えます。 このようにからへの変換をアナログ処理と言ったりします。 次に、電圧の変化量を数字にします。電圧と時間を数字にします。 このを数字にする変換をアナログデジタル変換(AD変換)と言います。

この数字を通信回線を使って送ります。

通信回線 DA変換 アンプ 🔊 スピーカー 音声
  5 通信回線 から 音声

今度は数字を、電圧の変化量にします。数字を電圧と時間にします。 この数字を量にする変換をデジタルアナログ変換(DA変換)と言います。 そしてその電圧でスピーカーを駆動し、空気の圧力変化にします。 これで、視聴者がライブを聞けるわけです。

ここでマイクなどをセンサー、スピーカーなどをアクチュエータと言います。


13.情報処理概論 12.無機工業化学 8.工業概論

  4 人間の感覚 センサー *
世界 感覚 物理量 方式 用途
認知世界 視覚(目) フォトダイオード 長さ、 角度、形状、寸法、面積、体積、色
聴覚(耳) マイク
触覚(皮膚) 温度 サーミスタ * 、熱電対 温度計
圧力 圧力センサー 圧力計
嗅覚(鼻) ガス ガスセンサー
味覚(舌) 化学物質 濃度 pHセンサー
固有受容覚(筋肉) 5 ) 重さ 電子天秤 6 ) 7 ) 重量、質量
前庭覚(三半規管) 加速度センサー
非認知世界 超音波 チタン酸バリウム振動子
電気 電流センサー
磁気 ホール素子
赤外線 焦電型赤外線センサ

センサーは、 エネルギーを情報に変換します。

例えば、サーミスタの電気抵抗は温度によって変化するので、サーミスタにわずかな電流を流して、 その両端の電圧を ボルテージフォロアで出力すれば、 温度に比例した電圧が得られます。これを AD変換数値 にできます。

センサーで測定した は、 AD変換数値 データとしてコンピュータで 演算、記憶、記録できます。

プロセスオートメーションでは、センサーで計測し、 コントローラで 制御し、アクチュエータで操作します。


機械読み取り可能なデジタル情報

  5 バーコードと在庫管理
バーコード QRコード RF-ID
用途 在庫管理(セルフレジ) 在庫管理(QRコード決済) 在庫管理(セキュリティ)
センサー スキャナ スキャナ、カメラ 受信装置

自動車部品の管理などにも応用。 薬品管理にも応用。


インターネット百葉箱

  6 山形大学 米沢キャンパスに設置された インターネット百葉箱 ®ライブ (2024-4-20) 映像

インターネット百葉箱®は教材のウチダが開発した IoT教材です。 全国の学校の 気温・湿度・気圧・天候を、 単位で比較することができます。


デジタルとは?

「グラビア」は、もともと印刷の方式の名前でした。その語感が変わったように 「デジタル」の語感も、時代とともに「スマホを使った何か」とか「ネットを使った何か」のように変わっています。

ここでは、技術用語としての「デジタル」についておさらいします。

「デジタル」の対義語は「アナログ」です。


測定誤差と数値

  6  誤差の種類
数値 区分 細分 説明
測定値 系統誤差 反復測定において、一定のままであるか、または予測可能な変化をする測定誤差の成分。
機械的誤差 ノギス、天秤、メスシリンダーなど測定器の精度や 精確さ確度) による誤差
個人的誤差 測定者のくせによる誤差
理論的誤差 理論の省略などによる誤差
偶然誤差
random error
反復測定において、予測が不可能な変化をする測定誤差の成分。 誤差論(確率・統計)の対象
計算値 計算誤差 AD変換DA変換、丸め誤差や計算精度による誤差、 数値 データの格納方式による誤差。
設計値 公差
tolerance
製品の仕様図や設計図で、基準値から許容される値。 方向が指定されてより具体的なものは許容値と呼ばれる。

誤差(error)は、測定値から真値を引いた値です。特に、測定誤差と言うこともあります。 8 )

誤差が検査や測定にかかるのに対して、 公差は設計にかかります。 不適合を出さない設計をするには、研究開発段階から、公差の設計が大切です。

化学で使われる量・単位・記号 9 ) 誤差とノイズ 10 )
感量:検出限界。
感度:ゲイン、増幅率
秤量(ひょうりょう):フルスケール、最大計測可能重量
読み取り限度・目量:最小目盛りの1/10、精度 = 目量 / 秤量:分解能:ビット深度

アナログ-デジタル変換(ADC)

  7 アナログデジタル変換 *
方式 特徴 製品例
逐次比較 そこそこ高速
VF
二重積分 ゆっくり、ノイズ小 デジタル電圧計
フラッシュ もっとも高速

連続的な の大きさをいくつかの区間に区分し、各区間内を同一の値とみなすことを量子化と言う。 ・・・ 量子化誤差 が生じる。 量子化誤差は、実際の アナログ信号と変換時に丸められた近似的デジタル信号との差のことである。

11 )

第三次産業革命は、 デジタルコンピュータとAD変換といっていいでしょう。 量を 測定し、 デジタルコンピュータ記録可能なデータにするには、AD変換が必須です。AD変換の分解能は確度を支配します。

センサー で電圧に変換した光や音を、デジタル情報に変換します。 たとえばマイクで電圧に変換し、 AD変換で、デジタル情報にすれば、音声を CDやフラッシュメモリにデジタル 記録 できます。


  7
© K.Tachibana , C1 Lab.

升は、体積を デジタル計数的に)測定する道具です。


デジタル-アナログ変換(DAC)

  8 デジタルアナログ変換 * * *
方式 特徴製品例
デコード 消費電力が小さい
ラダー 線形性がよい
スイッチング 消費電力が少ない スイッチングレギュレータ デジタルアンプD級アンプ

デジタル情報を電圧に変換し、アクチュエーターで光や音に変換します。


  9 アナログ表示とデジタル表示
項目 デジタル アナログ
表現
10:55
装置例 デジタル時計
データロガー
ファンクションジェネレータ
アナログ時計
ペンレコーダ
発振器
特徴 数字(文字

測定数値を正確に表現

角度長さ

連続的で微妙な変化を一目で直感的に表現

精度 有限(桁数) 無限
時間遅れ※1 あり なし
媒体 間のコピー 容易・高速
順序※2 あり なし
約束事 あり なし
曖昧さ なし あり
感覚 論理的 直感的
画像
音声

※1. 地上デジタル放送になって、テレビから時報が消えました。 それはデジタル情報には、時間遅れが必ず生じるからです。

※2. デジタルを送るには順序が必要です。エンディアンやバイトオーダーなどと言われます。 シリアライズと同等の概念です。 本質的には言語の線条化と同じ概念です。

https://car-me.jp/articles/14046 http://www.mmjp.or.jp/south/06.html


AD・DA変換の精度


量子化によるノイズ(ビット深度と分解能)

  8 127 量子化によるノイズ(ビット深度と分解能)
©K. Tachibana
https://edu.yz.yamagata-u.ac.jp/Public/56307/_14/Quantization.asp

  10 AD変換 DA変換 ビット深度分解能
フルスケール例/V ビット深度 ステップ 分解能/mV コメント
0-5V 8 256 19 初期のデジタルビデオ
0-10V 12 4096 2 初期のアナログ計測
0-20V 16 65536 0.3 CDオーディオ
0-20V 24 16777216 0.0011 スマホ、PCサウンド

アナログ信号をどのくらいの細かさでデジタル表現できるかを示す指標を分解能と言います 12 )


ビット深度と解像度

  9 ビット深度と解像度

生産方式とオートメーション

  11 生産方式とオートメーション
種類 分野 計測と制御
プロセスオートメーション 石油精製、化学、 製紙製鉄、冶金 温度圧力、 流量、 液位( 液面)、 成分濃度
メカニカルオートメーション 物品( 自動車、 半導体など)の加工、組み立て、ハンドリング、輸送、包装、貯蔵 位置、形状、寸法、姿勢、 画像
オフィスオートメーション 会計、簿記、統計、伝票処理 文字数字

工場ではさまざまな自動化が行われています 13 )

温度圧力 、 流量 、液位 ( 液面)、 組成 (成分、濃度) は、プロセス変量(プロセス変数)と呼ばれ、計測したり、目標値を設定して、 制御したりします。


代表的プロセス制御

  12 代表的プロセス制御
名称 種類 特徴
PID制御 * 1次遅れ系とステップ応答
ON-OFF制御
P制御 P制御の進化系がPID制御です。I制御、PI制御、PD制御などがあります。 *
スイッチング制御

温度、圧力、流量、液位、濃度などをプロセス変量と言います。 14 )

設定値(目標値)と計測値の偏差をもとに、プラントを操作することを、制御と言います。

*


デジタル社会とは?

デジタル社会形成基本法 を要約すれば、デジタル社会とは、情報通信ネットワークで、発展できる社会となります。 ということは、デジタルとは、情報通信ネットワークのことです。 ここでいう情報は、暗黙にデジタル情報を指しているのでしょう。 情報処理ということは、デジタル計算機による、デジタル情報の処理、ということです。 もっとも身近な、デジタル情報通信ネットワークは、インターネットで、 もっとも身近な、デジタル計算機は、スマホでしょうか? デジタル社会とは、インターネットとスマホを使う社会ということです。

インターネットやAIの恩恵に預かれるデジタル社会の生活にあって、デジタルとは何かを改めて見つめなおす。人は絵画をデ ジタル化して、文字とした。それを紙に書き残すようになった。動力で新聞を印刷するようになった。科学技術で半導体に 印刷するようにった。ついには、音声や画像や動画まで、目に見えない文字としてインターネットで共有するに至った。そう なっても、文字には想いが託されていて、人の心の記憶となる。だからこそ、これからもずっと、文字は、人を笑顔にする最 高の贈り物であってほしいと思う。

想いを託した文字の記憶

スマホアプリの開発から公開

ブラウザ上で、プログラムを書くこともできる。

エクリプスを起動し、Javaを使ってスマホアプリを開発し、Google Playに公開してみよう。

試薬管理のためのスマホアプリ 電池モニタリングツール


センサとモニタリング

センサで計測したデータをネットワークを使ってモニタリングしてみよう。 センサに関して詳しい内容は、 機器分析学II 測定値の変換と伝送 -センサーの精度、確度、寿命- の単元で取り扱います。 の

センサで計測するデータは、時刻、位置、重量、圧力、温度、光、音、pHなど物理量だ。 それらをトランスデューサで電圧に変え、それをAD変換してディジタルデータとする。

センサーで測定され、AD変換されたディジタルデータは、 データベースに蓄積される。

  13 エネルギーと センサー *
エネルギー 物理量 センサー 方式 用途
💪力学 圧力 気圧センサー
🎤 マイク 圧電素子 📱 スマートホン
ダイナミック
⚡電気 電流 電流センサー * シャント方式
クランプ方式
🌟光 波長 カラーセンサー *
🔥熱 温度 温度センサー
🧪化学 濃度 ガスセンサー

感覚


  14 エネルギー の種類と分析法
エネルギー 分析法
💪力学 MS、ICP-MS、粘弾性測定
⚡電気 CV (電気化学分析) 、EIS、ポーラログラフィ、 SEM、TEM、EDS(EDX)
🌟光 FT-IR、AAS、UV-VIS、ICP-AES(ICP-OES) XPS(ESCA)、 NMR、ESR,XRD、X線CT オージェ分光、ラマン分光
🔥熱 TG/DTA、DSC
🧪化学 滴定、重量分析、LC、GC、GC-MS

分析化学: 情報エネルギー物質


電池の状態

  15  ブラウザからアクセスできるPCやスマホ電池の状態
項目 説明
残量(SOC 15 ) 16 ) バッテリーの貯蓄率(%)として 読み取り可能。 満充電時から測定した放電容量ではなく、 公称容量[Ah]を使用する場合があります。 またSOC- OCV曲線から推定することもあります。容量維持率とも。
満充電までに必要な時間 秒単位で 読み取り可能=電池の 内部抵抗と充電電圧から計算
枯渇するまでの残り時間 秒単位で 読み取り可能= 残り容量/(消費電力/公称電圧)
劣化率(SOH 17 ) 現在、未対応 状態監視保全のために必要。
電圧 現在、未対応 公称電圧より大幅に下がった場合、 緊急保全が必要。 内部短絡などの恐れも。
内部抵抗 現在、未対応
温度 現在、未対応、過熱時のアラート発生に必要。
湿度 現在、未対応
結露 現在、未対応、水没時の短絡などアラート発生に必要。

PCや スマホの電池の状態は、ブラウザからアクセスできます。いずれ、自動車や 住宅の電池の状態もブラウザからアクセスできるようになるでしょう。 バッテリの状態はjavaとhtml5で読み取ります。 バッテリーでユーザー追跡可能になります。 この電池は誰が作ったのか、逆追跡も可能になるでしょう。

電池モニタリングツール
鷹山のセンサーノード

自動車 にはエンジン始動のため、バッテリーとして 鉛電池 が使われている。 自動車のバッテリーの電圧 をモニタリングしてみよう。

マモリオは位置情報を使ってなくし物をなくす( 出典: mamorio

(出典: スマ@ホーム


キノマクリエイト・イトウ・マネージャー4.1
マジックビーを使ったモニタリング
センサーモニタリング
おんどとり
太陽光モニタリング
アメダス+XML
サーバー室モニタリング , サーバー室モニタリング(詳細)
Kinoma Create


画像判別とセンサー

センサーって,壊れることもあるよね.水に常に浸させるセンサーは,何年間使えるの? 10万円のセンサーユニットが2年で壊れたら,修理のコストが可算で,利益を損ねしまう. 人は目で見て,知ることができる.AIの画像判別を使ってはどうかな? 稲の水やり装置の画像判別データベース AIはんべつ 稲のみずやり

IoT百葉箱の学習結果からお天気を判別してみよう. AI画像判別 IoT百葉箱画像データベース テンソルフローパイソンコード一覧


低コストで画像をデータベースを作るために

QRコードは、たとえ、紙に印刷されていてもデジタル情報です。 このように、デジタル情報は、電子媒体に記録されたものばかりとは限りません。

また、QRコードは、機械読み取り可能ですが、人間で読める人はまずいないでしょう。 しかし、機械読み取り可能だからといってデジタルとは限りません。 手書き文字はアナログ情報ですが、OCRでかなりの高精度で機械読み取りが可能です。

画像データを低コストで集めるにはどうしたらよいか?その一つとして,マウスクリックやタップの数を減らすことである.

データ送信カメラ
https://edu.yz.yamagata-u.ac.jp/Public/52210/52210_13_camera.html

Androidの開発の流れ

開発環境の整備

Android SDK(Eclipse)

Android Studio

Monaca

Visual Studio

開発コーティング

動作の確認(デバッグ)

パッケージの作成(APKファイルの作成)

Google Playストアで公開

デベロッパー登録($25)

コンソール
大学の研究費で登録料を支払うとき

APKファイルの登録

ストア

Monacaによる写真撮影後自動クラウド公開スマホアプリの開発

ウェブブラウザ―で登録後、1分程度使い始められるMonacaは開発環境の整備時間を短縮できるメリットが高い。 Cordova 9.0からFree版ではFile Transfer プラグインが使えないようになった。

開発プロジェクトの概要(講義資料)

プロジェクト名: camera

アプリケーション名: camera

パッケージ名: jp.ac.yamagata.camera

Monacaへのサインアップとログイン

アカウントの作成

Monacaへアクセス→右上の[サインアップ]をクリック
→メールアドレスと希望のパスワードを入力してください。Monacaの利用規約を読んで,同意できるときはチェックボックスにチェックを入れてください.
→[今すぐ登録(無料)]をクリックしてください.

プロジェクトの作成

[開発をスタート]を左クリック→[最小限のテンプレート]の選択をクリック

プロジェクト名:camera を作成

アプリのサンプルコード

ソースコードを入手して,作成したcameraプロジェクトのindex.htmlをソースコードと同じになるように変更してください.

写真の公開ページ

https://a.yamagata-u.ac.jp/amenity/Tutorial/AppImageIndex.aspx

配布パッケージの作成

アプリの設定

アプリケーション名とパッケージ名を設定する

[設定]→[Androidアプリ設定]

電子証明書の作成

[設定]→[Androidキーストア設定]


アプリのGoogle Playストアによる公開・配布(講義資料)

アプリケーションのビルド

[ビルド]→[Androidアプリのビルド]

Google Play Developer Consoleにログインして,配布

電子メールアドレスとパスワードは講義のときに説明します.

1.Chromeブラウザーで,Developer Consoleを検索

2.Google Play Developer Consoleを左クリック

3.講義のときに説明した電子メールアドレスとパスワードでログイン

4.APKファイルのアップロード

5.ストアの掲載情報およびコンテンツレーティングなどの必須項目を入力して,[アプリの公開]をクリック


参考文献



QRコード
https://edu.yz.yamagata-u.ac.jp/Public/52210/52210_13.asp
名称: 教育用公開ウェブサービス
URL: 🔗 https://edu.yz.yamagata-u.ac.jp/
管理運用 山形大学 学術情報基盤センター

🎄🎂🌃🕯🎉
名称: サイバーキャンパス「鷹山」
URL: 🔗 http://amenity.yz.yamagata-u.ac.jp/
管理運用 山形大学 データベースアメニティ研究会
〒992-8510 山形県米沢市城南4丁目3-16

Copyright ©1996- 2024 Databese Amenity Laboratory of Virtual Research Institute,  Yamagata University All Rights Reserved.