HOME 教育状況公表 令和3年8月5日
情報処理概論 戻る 進む 講義スライド

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


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

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

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

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

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

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


Webアプリスマホアプリ
ビッグデータ
WiFi、インターネット
温度センサー、温度センサー、加速度センサー
スマートシティ を支える技術

アプリの種類
種類オペレーティングシステムデバイスインストール
Webアプリ PC、スマホ、クロームブック Google Apps, Office 365、facebook不要
Windowsアプリ Windows PC ワープロ ,表計算,プレゼンテーションソフト,CAD,数式処理ソフトストア
アンドロイドアプリ アンドロイド スマホ Line、QRコードリーダーストア

Webアプリに使われる言語
言語説明
クライアントサイド html, css, javascrpt クライアントサイド言語、フロントエンド言語
サーバーサイド .NET VBscript(asp) JavaScript(Node.js) Ruby Python PHP サーバーサイド言語、バックエンド言語といいます
データベース SQL データベースでデータの取得、保存、更新、削除などを行う言語です。
情報処理概論 卒業研究

代表的なライセンスモデル
ライセンスモデル製品群製品例
デバイス単位 デスクトップアプリ
デバイスアクセス権
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)のような商品もあり、サーバ内に、組み込まれるライセンスモデルもある( 田島の報告とメールヘッダからの予想)。ライセンスモデルは不明。


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

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

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

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

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

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

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

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

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


デジタルとは?

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

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

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

アナログ表示とデジタル表示
項目 デジタル アナログ
表現
05:12
特徴 数字(文字

測定数値を正確に表現

角度長さ

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

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

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

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

スマホアプリを作ってみよう~Javaとセンサ~ アナログとデジタルの相互変換
https://car-me.jp/articles/14046 http://www.mmjp.or.jp/south/06.html

AD・DA変換の精度

127
量子化ノイズ
©K.Tachibana
https://edu.yz.yamagata-u.ac.jp/Public/56307/_14/Quantization.asp

デジタル社会とは?

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


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

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

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

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


センサとモニタリング

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

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

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


電池の状態


鷹山のセンサーノード

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

マモリオは位置情報を使ってなくし物をなくす( 出典: 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

SSLの仕組み

このマークはこのページで 著作権が明示されない部分について付けられたものです。

山形大学 データベースアメニティ研究所
〒992-8510 山形県米沢市城南4丁目3-16
3号館(物質化学工学科棟) 3-3301
仁科・立花・伊藤研究室 准教授 伊藤智博
0238-26-3573
http://amenity.yz.yamagata-u.ac.jp/

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