Masanobu Sagara のすべての投稿

easy Inventory / 簡単棚卸

マスター照合機能はありませんが、読み取ったバーコードと実績数(手入力)のデータを収集してメール送信する、簡単な棚卸プログラムを作りました。 こちら → easyInventory

jpn_02_main_settting jpn_07_qty1 jpn_06_datalist

入力ミスの確認画面で、ミスしたデータの削除のみ行えるようにしました。一応、QRコードも読み取れます。

送信元のメールですが、Gmail, Yahooメール, Windows Outlook メールのみを対応としています。Gmail, Windows Outlook メールで、二段階認証の設定をしている場合は、アプリパスワードを発行してそちらのパスワードを設定してください。

今まで、開発テスト環境には、Android OS 4.3 機までしか無かったのですが、やっと Android OS 7.0 機が手に入ったので、こちらでも検証できるようになりました。 Android OS 4.4頃から追加されたと思われる、アプリ単位でのアクセス権限への対応を行いました。

今頃気がついたのですが、当方が作成したプログラムは、Android OS 6.0以降では、カメラやフォルダーへのアクセス権限の確認画面が表示されずに、エラーとなってしまっていたようです。

Android OS 6 以降では、Runtime Permissionという概念で、 プログラムの初期実行時に、端末のどの機能にアクセスするかのチェックが行われ、ユーザーの許可を求める画面が表示されるようになりました。

実績の送信は、メールが汎用性もありベストだと思うので、当方のプログラムは、全部メール送信です。今度、時間があったら、PC側でメールの中身(実績データ)を取り出すアプリを作ろうと思います。開発はJavaで、出力はCSV形式がいいかなあと考えています。



easyChecer:Update バーコード照合

今年5月に作った、バーコード照合(easyChecker)ですが、よくよく考えてみるとJAN/EANコードだけと言うのもおかしい気がしてきたので、QRコードもスキャンできるようにしました。設定画面で、どちらにするか選択して、設定値を保存します。(内部のDBに記憶)

jpn_ok jpn_ng jpn_bartype

何かもう、ひと工夫入れたいところですが、慌てて作ったものにろくなものが無いので、止めときました。

QRのテストをしようとQRのバーコードを探してみると、意外と無いのですね。インターネットで検索するとたくさん出てきますが、ほとんどURLばかりです。QRコードは元々そういう使い方だったのでしょうか?

いくつかバーコードを読み取って気づいたのは、スマホのカメラ性能で、全然読み取り速度が違う点です。オートフォーカスの速度の違いか、画素数の違いか、機種によって全然違います。この点は、要注意ですね。

今度は、業務向けに、新しいやつを、また何か作ろうと思います。よく相談されるパレット管理とか、棚卸とか、実績をメールで送る仕様がいいかなと考えています。

それでは、また。


qrSend:Update バーコード・メール送信( 更新 )

以前作った、qrSend(QRバーコードのスキャン&メール送信)を更新しました。

主な内容としては、
①QR(二次元バー)/JAN(一次元バー)を切り替えて読み取れるように改修。
②端末内のDBにデータを蓄積して、「メール送信」で一括送信に変更。
③読み取り日時(YYYY/MM/DD HH:NN)を追加。

運用イメージは、送信者に作業者名を設定して、読み取ったバーコードを1メールにまとめて送信。
PC側からメールを自動で開いてBODYからデータ抽出。
この際、作業者、作業時刻、バーコードの一覧が取得できます。

jpn_02menu jpn_03bartype jpn_05mail_setting2

いろいろと細かい機能を追加しようかと、アイデアが浮かぶのですが、あまり手を加えすぎると汎用性が無くなるので、やりすぎない判断が難しいところです。
皆さんのアイデアをお待ちしております。
〜〜〜〜〜〜〜〜〜〜 10/31 〜〜〜〜〜〜〜〜〜〜〜〜
スキャンしたデータから、不要なものを削除する画面を追加しました。

jpn_02_menu jpn_data_list



easyFind:update/バーコード、マスターファイル検索

easyFind バーコード・スキャンによるマスターファイル内検索アプリのバージョンアップを行いました。

品目名とロケーション検索表示以外にいろいろ機能(実績をメールで送ったりとか)を持たせようとは考えているのですが、とりあえず、マスターファイルがSDカード直下でファイル名が”master01.csv”固定というのも自由度が無いので、ファイル名(*.csv)と保存場所をユーザーで指定できるようにしました。

これで、マスターファイルをGMAILで受信して、DOWNLOADフォルダーに保存して、そのパスを指定しておけば、PCからUSB接続しなくても、マスターファイルを端末のみで更新できるようになります。

eng_setting jpn_sel_master

android 端末によって、フォルダー名が異なるのですが、Kyocera SKT-01の場合、SDカード直下は、”/storage/sdcard1/”で、本体のダウンロードフォルダーは、”/sdcard/Download/”となっています。


myMusic フォルダー単位での音楽再生アプリ

車で移動中に音楽を聴くので、iPod Touchやウォークマンを繋いでいました。iTuneとかx-アプリとか自動的にPCとファイルを同期してくれるのは有り難いのですが、どのアルバムが何時どこに同期されたのか解らなくなってきました。

また、PCの再セットアップや乗り換え時、音楽はファイルとして全てバックアップしてあるのですが、PCと端末を繋ぎなおすと何故か二重に登録されていたり、訳が分からなくなってしましました。

それで、自作したのが、アルバム = フォルダー という考えで作成した、「myMusic」アプリです。

jpn_add_folder mymusics_songs jpn_folders

相変わらずデザインがアレですが・・・

個人的には非常に解りやすいと思います。とにかくフォルダーを作って好きな曲をコピーするだけです。気に入らなければ削除すればいいですし。まして二重に登録することは自分以外勝手にやらないので安心です。



QRバースキャン&メール送信

Android アプリで、QRバーをスキャンしてそのデータをメールで送信するプログラムを作ってみました。 qrSend

メールで受信したデータを取り込むプログラムを.Netなどで作成し、自動的にデータベースサーバーなどに取り込む運用を想定しています。

単にQR(二次元)バーをスキャンして、メールで送るだけですが、QRバーの中にいろいろな情報を持たせれば、活用方法はたくさんあります。

qrscan1 qrscan2

デザインは、相変わらずアレですが、アプリ内でメールを自動送信するのはセキュリティ上大丈夫なのかと考えたりしました。が、とりあえず問題無くできました。ただ、GMAILのSMTPで送信する方は、セキュリティ設定を下げないといけないらしく、配布後、ややこしいと思われるので、結局、YahooとOutlookメールのみを対象としました。

Androidプロジェクトの作成時、通常は空の状態(Empty Activity)から作成していましたが、今回、Basic Activityで作成してみました。特に画面のレイアウトにこだわらなければ、Basci Activityの方があまり悩まなくて楽ですね。今まで、Windowsのイメージが強かったのですが、これからは、Java系の開発ツールが持っている物をもっと素直に使ってゆこうかと思います。

〜〜〜〜〜〜〜〜〜〜 10/12 〜〜〜〜〜〜〜〜〜〜〜〜

その後、GMAILに対応しました。



Google Play Windows Mobile Today Screen

Andorid のランチャーはいろいろ試しましたが、結局、デフォルトに戻ってしまいます。何と言うか、ランチャーを入れると、スマホが道具ではなくてゲーム機みたいに思えてきてしまうからです。

wmLauncher wmLaunch2

そこで昔のWindows Mobile風のものを作ろうと思い立ちました。「Today」画面には、お決まりものを入れるつもりで、だいたい形はできてきたので、後は、アジェンダを真ん中に入れようと思います。以前作成した、Agenda 8からモジュールをコピーしてきてはめ込もうと思います。

まあ、言うのは簡単なのですが、Android OSで、Windows Mobileのレイアウトを作るのは、結構、大変です。そもそもレイアウトの考え方が違います。

また、Androidは、アイコン一つ作るにしても、各解像度のものを用意しないといけないので、1つのアイコンの作成でかなり時間を費やしてしまいます。私の今のレベルで、アイコン一つに30分から1時間くらい掛かります。後で見て気に入らなければ、また作り直します。

最初に100%->75%->50%->37.5%->25% というのが最低限必要ですが、タブレット用のも用意するとなると、もっと必要です。自分がタブレットを持っていないので、Google Playをタブレットで活用している人はどんな使い方をしているのか、とても興味があります。

なので、一人で一つのアプリを全部作り上げるには、それなりの時間が必要です。Programingの時間と画像作成の時間が半々くらいな感じです。

また、出来あがったら公開したいと思います。今回はいろいろみんなの意見を聞きながら手を加えたいです。

〜〜〜〜〜〜〜〜〜〜 06/22 〜〜〜〜〜〜〜〜〜〜〜〜

公開しました。 –>
Legacy Launcher
verLaunch

少しイメージが変わってしまいました。windowsで使用されている名前とか、windowsを思わせるアイコンなどは、使用できないようです。Policy違反と判断されたので、androidアレンジに変更しました。慌てて変更したので、また、ゆっくりと修正してゆこうと思います。

Google Play easyChecker バーコード照合

先日、Android用のカメラを使用した、バーコード・スキャンによるessyScanという、ロケーション検索を作ったので、ついでに2点照合のバーコード・チェッカーを作りました。

まだ、Google Playには公開しておりません。

マスター検索のものより、こちらのバーコード検品の方が、いろいろな使い方ができるかと思います。スキャンの読み取り性能は、明らかに専用のハンディーターミナルには負けますが、商品JANコードからだいたい10~15cmくらい離すと、一発で読めます。慣れればそれないりに使えると思います。

手元に2台のAndroidスマホがあるので、両方で試してみたのですが、性能的にはどちらも同じで、慣れ次第かと思います。ちなみに両機とも自動フォーカス機能付きです。

easyChecker1 easyChecker2

バーコード・スキャン中の画像は省略しましたが、要は、最初に1段目のバーをスキャンして、次に2段目のバーをスキャンして、照合するという仕組みです。

「OK」と「NG」で効果音を変えたいと思います。完成したら、Google Playに公開したいと思います。もちろん、広告なし、無料です!

〜〜〜〜〜〜〜〜〜〜 05/15 〜〜〜〜〜〜〜〜〜〜〜〜

公開しました。 easyChecker

こちらも後日、機能アップしてゆこうと思います。


Google Play “Agenda 8”

Android Studioで、簡単な予定表示を作ってみました。

landscape

経緯:

先日、名古屋に日帰り出張した際、ふと立ち寄った本屋で「Android Studio で始める Android アプリ開発」という本を買ったので、どんなものか試しに、アプリを一つ作る事にしました。
数年前にも、「Eclipseで始める・・・・」の本を買って、少し作ったことがあったのですが、本業が忙しくて、本を買ったことも、やりかかった事も、すっかり忘れておりました。でも、Eclipseで、Javaの開発の方を仕事でやる機会があったので、Eclipseを触ったのは、少しは役には立ちましたが・・・。私だけでは無いと思いますが、自分の周りにITエンジニアは数多くいますが、自分が興味があって学ぼうとしている言語に関して、詳しい人は意外と居ないんですよね。で、結局、みなさん独学という事になるんですが、教えてもらっても、自分で調べても、かかる時間は最終的には同じ気がします。
今まで、Palm とか、Windows CE とかの開発はやってたので、こういったモバイル系は、いろいろと癖があるだろうなと思っているのですが、Android Studioは、端末の癖はあると思いますが、言語的には、Javaなので、Visual Studio(C#)のエンジニアでも、あまり拒否感は感じないと思います。
Android のアプリでなくても、モバイル系のシステムを開発しようとすれは、Remote Desktopでサーバーアプリを使ったり、WEBシステムを組んだり、いろいろな手法がありますし、実際、最近、私がよく見るのは、モバイルのネイティブ(端末内のアプリ)ではなくて、Remote Desktopや、WEBシステムをモバイルから使う方です。将来的なプログラムの保守がやり易いからだと思います。

前置きが長くなりましたが、とりあえず、作ってみました。

portrait Agenda 8

数時間で作っていきなりリリースしたので、正直、気が早いと思うのと、他の人のアプリと比べたら、恥ずかしい気持ちでいっぱいです。

でも、とりあえず、最初の一歩を踏み出さないと「いいも悪いもない」ので、やっちゃいました。子供に見せたら、「絶対、だれもクリックしたくない」と言われましたが、正直なレスポンスを返してくれる人が身近にいるので、逆に意見が聞けていいかも。

とりあえず、試しにいろいろやってみようと思います。以前、物流のシステムをやっていたので、まずは、ロケーション(棚番)検索を作ろうと思います。

(棚マスターをCSVファイルで取り込んで、カメラで読み取ったJANコードでマスターファイルを検索し、棚番表示)

Lego Mindstormが中途半端になってしまいましたが、とりあえず、こっちを先に進めようと思います。

〜〜〜〜〜〜〜〜〜〜 翌日 〜〜〜〜〜〜〜〜〜〜〜〜

基本部分(JANコードスキャン->検索->表示)まで、できてしまったので画面だけ先にアップしておきます。(プログラムはPalmやCEに比べたら意外と簡単でした・・・。でもデザインの方が・・・。)

before_scan while_scan after_seaech

〜〜〜〜〜〜〜〜〜〜 翌々日 〜〜〜〜〜〜〜〜〜〜〜〜

取り急ぎ、公開しました。 essyscan

後日、ゆっくり機能を追加してゆこうと思います。


Lego Mindstorm ev3 – 2

Lego Mindstorm ev3 その後です。

しばらく時間が取れなくて触っていなかったevo3ですが、とりあえず、超音波センサーの首振り機能を追加しました。斜めに壁に向かうと超音波センサーが役に立たないからです。

IMG_20160130_205511 IMG_20160130_205541

最初に360度本体を回転させて、周囲の障害物を1.5m程先までスキャンして、障害物の無い方向を目指します。50cm以内に障害物を検知すると、再度、360度本体を回転させて、障害物の無い方向を目指す訳ですが、走行中の斜め50cmが、壁に擦れ擦れだとうまくいかない訳です。

Medium Servo Motor のCounterを使用して回転角を取得することで、左右45度の範囲で超音波センサーを振ります。とりあえず、今回は、そこまでで、この次は、超音波センサーが障害物を検出した時の角度から、方向転換の動作に結び付けようと思います。

今日はここまで。