2014年3月31日月曜日

USBコネクターの形状

Windowsタブレット購入にあわせて、
USBでつなげるものを購入しようとして
いたのですが、

USBのコネクターの形状が
Micro-A と Micro-B
それから、ごく一般のUSBの
3種類から選択できるということが
わかりました。

たぶんMicro-Bの形状だと思うのですが
タブレット側には、MicroUSBとしか書かれて
いなくて、

念のため、
USB機器の側の会社に、電話で問い合わせています。

http://en.wikipedia.org/wiki/USB

ちょっとしたことかも知れませんが、
大事なことかなと思います。

チーム

自分で思い込んでいるだけかもしれませんが

少数でチーム組んで、仕事をやるというのが
いままで、どうもうまくいっていません。

こんなことが可能かどうかわからないのですが

顔の見える範囲でのチームをつくり
自分の得意分野をいかすカタチで、数人で
1案件を分担して完了させ、売り上げの一部を
何らかの共用費に当てて、仕組みの維持ができるように
ならないかなと個人的には思っています。

2014年3月30日日曜日

プログラム一連をGoogleドライブへ保存

先日、以前作成したプログラムを探し出すのに
時間がかかりました。

そのプログラムの一連を、フォルダーごと
Googleドライブに入れました。

今度必要なときは、そこから引き出して
こようと思います。

Googleドライブに限らず、パソコンでも同じ
ことですが、どこかに、しまい込んだファイルを
見つけるのは大変かもしれません。

ちゃんと分類して、保存しておくというのが
良い回答だとは思いますが、実際はなかなか
それも難しいことと思います。

なので、検索の仕方をきっちり覚えておきたいと思います。

Googleドライブの場合は、ファイル名、フォルダー名が検索
できるようなので、フォルダー名に、キーワードを入れ込むように
するのがいいのではないかと思います。

フォルダー名に、キーワードが埋め込めない場合は
そのフォルダーの中に、ダミーのドキュメントを作成して
そのファイルにキーワードを埋め込むようにしていきたいと
思います。

ちなみに、
Gmailの場合は、タイトルだけではなく、本文の中も
検索してくれていると思うので、文章中に、キーワードを
埋め込んでおくと、後で検索が必要なときに、便利だと
思います。


2014年3月27日木曜日

開発環境を整えまとめていきたい

使用することはなかったんですが、数年前に作った
マイコンに書き込むプログラムを、探し出すのに
かなり時間がかかりました。

いろんな環境で、いろんなプログラムを作るという
ことは決して悪いことではないと思っています。

でも、やっぱり余分な時間がかかりすぎている。


今のところ、メインでやっていることではないですが

開発環境を整えて、いろんな面で時間短縮できるよう
考えていきたいです。

2014年3月26日水曜日

ループで落とし穴

Googleスプレッドシートのシート数を求めて
シート数分の繰り返しの中で
対象のシートを削除したとき、
本来なら、そこで繰り返しを抜けるべきだったところを
そのまま、ループしていて、

1つシートが減ったぶん、最後のループで、シート情報が
なくてエラーが起きていました。

何で今までこれに気づかなかったのか不思議です。


Googleスプレッドシートの2次元配列とセルの対応

//2次元配列の定義
var wTestArray = new Array(8); //0~7(Row側が先に定義されて)
for (var i = 0; i < wTestArray.length; i++){
  wTestArray[i] = new Array(9); //0~8 (Col側が後から定義される)
}


2次元配列を定義したとき、それを、セルに対応させると
1番目の括弧がRow(行側:縦) 2番目の括弧がCol(列側:横)
というのを確認しました。


これは、エクセルやスプレッドシートの
Range(レンジ)と合っているのが確認できました。


2次元外列をスプレッドシートのセルにセットするテスト

スプレッドシートで、セルに値をセットするのに
前もって2次元配列にセットして、配列をセルに
セットする方法を試してみました。

速度的には、はやくなうのではないかと
思っているのですが、まだ完全な検証が
できていません。





2014年3月25日火曜日

他人のパソコンでGoogleChrome使ったときの終わり方

どこでも使えるとは限りませんが、他の人のパソコンを
借りて、GoogleChromeを使ったあと、その終わり方を
以前、教えてもらいました。

ブラウザの、右上のところをクリックするところから。。。






Googleスプレッドシートを共有したときの動き

他のユーザと共有して、同じスプレッドシートを
同時に見ているとき、どんな動きになるのかを
チェックしてみました。

Windowsのリモートデスクトップとはちょっと違います。

シートを変更しても、他のユーザは、表示しているシートは
かわりません。

同じシートを見ているときは、他のユーザが、どのセルを
選択しているかは、わかりました。

スクリプトの実行は、権限があれば、どのユーザからでも
実行できました。

後から動くほうが、最終的に反映されるので、やはり、
同時に実行するのは、避けたほうがいいでしょう。


Googleスプレッドシートは、ホームページ大胆な変形バージョンと
書くと、かなり乱暴ですが、感覚的には、
同一のアドレスをみているので、そういえるかもしれません。

Googleカレンダーなどと連携しれいる場合は、
共有では、うまく動作させられないので、許可を得て
直接、アクセスさせてもらうしかないと思います。

(カレンダーへのアクセスの権限が違うため)




2014年3月24日月曜日

処理速度の問題

今、作成中のシステムで、実データを入力してもらいながら
問題点を挙げてもらっているのですが、以前に処理速度を
はやくする対応を行ったのですが、それとは別の処理でも
処理速度をあげる対応をしないといけないだろなという点が
でてきました。

エクセルやGoogleスプレッドシートをベースに使うシステムは
あまり、ガチガチなチェックは、かえって、問題を起こすことに
なりますが、処理速度がかかりすぎる点は、なんとか改善
しないといけにと思います。

処理速度が遅い事で、二次的な問題が起きることは、よく
あります。この件に関しては、限界はあるかも知れませんが
誰が見ても、時間がかかりすぎている場合は、なにか
方法があるはずなんですけど。。。。。

機械の性能に頼るのではなく、プログラムの処理を見直す
ことで、処理速度が上がる部分は、もう少しあるのでは
ないかと思っています。

それを今、考え中です。

空きIPアドレスを探す

一般には、あまり必要ないですが、
IPアドレスの同じセグメント内で
どこのIPアドレスが空いているのかを
探すのに、
Windows7のDOSプロンプトの画面だけで
なんとかする方法がありました。

俗にいうバッチファイルですが、
コピーして貼り付け 実行で

出力されるファイルには、


使用されているIPアドレスの、


末端の番号が記録されていました。
for /l %i in (0,1,255) do ping -w 1 -n 1 192.168.100.%i && echo %i >> ipcheck_log.txt


2014年3月23日日曜日

Window8.1タブレットに関して

電気屋さん2箇所寄って
TOSHIBA とacerのWindows8.1タブレットの
現物を見てきました。

Windowsタブレット自体の数が少ないので
まだ一般には、普及する感じではないかも
知れません。

家庭用だと、テレビが見れますよ的な
売り込みのほうが現実的かもしれません。
(タブレットよりパソコン)

iPadやAndroidに比べて、見た目的には
劣っているといいたくないけど、見比べると
やはり、手にとってみるのは少ないかも
しれないという感じを受けました。

価格と、重さ。

システム開発する立場からのメリットは
それなりにありますが、

お仕事用途にターゲットを絞ってみようかな。
(パソコン<タブレット になっていくはず)

プリント基板を頼みたい

パソコンプログラム+ハードウェアも頑張りたい
という思いがあっても、今の状態は、かなり
苦戦しています。

先日も立て続けな感じで、プログラムではない
部分で対応する必要がありました。

信頼性をあげて、なおかつ、自分の手間も
少なくする方法。

それを実現するうちの1つは、回路などの組み
立てで、手配線からプリント基板へ移行させる。

これかなと思います。

プロ仕様的な感じがしているのが、P板.com
なのですが、

個人的には、もう少し、手軽に頼めそうなところを
探すほうが、今の段階では、いいのかなと思っています。

日々、いろんなものを、検索してきているので、
きっと、自分のとって、「これだ」というものが
探せると思っています。


若干数名の人に、ハードウェアは無理だよ。
とも言われているのは確かなのですが、
それを、撤回してもらえるぐらいになりたいです。

https://www.facebook.com/pbancom

2014年3月21日金曜日

制御系での無線通信



今日、活躍してくれた基板でBluetoothの基板が
あります。

久しぶりに、買ったところの、ホームページを
見ました。だいぶ洗練されているとは思います。

http://kcwirefree.com/

今までの経験の上から、書かせてもらいますが、
制御関係のシステムを作るとき、無線通信は
かなり、リスクが高いです。

通信が途中で切れる可能性があることもそうなんですが、
実際に、システム起動時に、通信が確立できない可能性も
あり、それをつなげるのが一苦労するときがあります。

通信確立のための手順は一応ありますが、
そのとおりに行かなかった場合の手間はかなりのものです。

現時点ではWindowsもタブレットが使える環境が整ってきているので
今までの資産を活かせる可能性もでてきています。

マイコンなど、他のものとの通信が必要な場合は、できるだけ
有線通信を採用しようと思っています。

どうしても無線通信が必要な場合は、Bluetoothではなく
無線ルータを介す形で、無線LANで通信する方法を
考えていきたいと思います。

iPad iPhone Android WindowsTablet どれもBluetooth
搭載になっていますが制御系で使うとしたら、
SPP    Serial Port Profileという
プロファイルがあると便利なんですが、どうもこのプロファイルは
採用されない機器がほとんどのように感じています。

2014年3月19日水曜日

GoogleスプレッドシートをPDFに変換

GoogleスプレッドシートをPDFに変換するテストをしてみました。
結果的に、該当のスプレッドシートを開いて、
[ファイル]-[形式を指定してダウンロード]-[PDFドキュメント]
の方法がよさそうです。

ただ、昨日テストして時、なんか変な感じの変換になりました。
(別の方法で)

具体的には、セルの中の文字が、ものすごく小さくなったり
データの無い部分も認識されて、PFDの最終ページが
かなり大きな数字になっていました。

日を改めてテストしてみると、変だなあと思った方法で
テストしてもその現象はおきませんでした。

Googleの側で、どんどん改良が行われていると思うことに
しときますが、注意はしておこうと思います。

グリッド線を消す。出力レイアウトの設定が可能ということで、
Googleスプレッドシートを一度開いた状態から形式を指定して
ダウンロードの方法が良いと判断しました。





2014年3月18日火曜日

汎用性を持たせるために

プログラムを作るとき、最新の考えは、どうかわかりませんが

汎用性を持たせるたプログラムを作るには、変更される可能性の
ある値は、プログラムの外に、初期設定ファイルとして持たせて、
その値を変更することによって、

ある程度柔軟に対応できるようにすると後々手間が省けます。

ただし、その設定ファイルも、体系だてて作っておかないと
ややこしいだけで、後でさわれないことになってしまいます。

初期設定ファイルを、2回ほど考えなおしてみましたが
もうひとつ、ご指摘がありました。

ある程度汎用性を持たせるというのも、なかなか難しいものです。



IPアドレスだけじゃなく
ポート番号も変更できるようにしたほうがいい。

いわれてみれば、その通りですが、その部分を
完全に見落としていました。

2014年3月17日月曜日

立場が違ったときにハッとしたこと

今まであまり意識したことは無かったのですが、
人との接し方、質問などされたときの受け答えの
雰囲気など。

短時間のうちに、対照的なケースを
体験したんですが、随分と違うものだなと
思いました。

感じがいいな。というだけが良いわけではないかも
知れませんが、それでも、やっぱり。
そう感じてしまいました。

発想のはじまりは

テレビドラマ、映画、コマーシャルのワンシーンから
ということも、たまにはあります。

ありえない設定も役立つときはありそう。
と思っています。

2014年3月8日土曜日

プログラムで地図情報にアクセスできるのか

短時間でしらべたので、まだ、よくわかりませんが

施設名や住所から、緯度、軽度を取得することは
できました。




それから、2点間であれば、ルート表示をしてくれる
ホームページアドレスまでは作れるみたいです。




2014年3月7日金曜日

Googleスプレッドシート 表示速度の改善になるかも

Googleスプレッドシートで、セルに値をセットする(表示する)のが
遅いなあと感じていましたが、配列を上手に使うとスピードが遅い
と感じるのが解消されるのかもしれないと思えました。



処理速度を上げる余地が見つかりそう

自分のGoogleカレンダの1年分くらいの情報を
読み込むのにどれくらい時間がかかっているのかを
調べてみました。

期間が
'2013/1/1 00:00:00';
から
'2014/3/31 23:59:59';
まで

結果的に170件の予定で

タイトル、開始時間、終了時間、説明を

読み込むのに

3秒~4秒くらいで

読み込んでいることがわかりました。

今、カレンダーの読み込みにも時間が
かかっているという情報をもらっているのですが

カレンダーのアクセスに時間がかかっているのではなくて、
その後の処理に時間がかかっていることがわかりました。

読み込んだデータに対して、対象か対象外かをきっちり
見極めて処理をみなおせば、処理速度は上がる余地があると
いう予測が立てれそうです。





計算で出た小数以下をどう処理するか

1時間単価×稼動時間で金額を算出するとき
稼働時間が、15分単位ならば、意外と楽ですが
どうも、そうは行かないことになりそうな雰囲気で
進んでいます。

稼働時間、および金額に計算上、端数がでてきたときの
処理はどのようにするのがベストなのか、相談をかけました。

今の方針は、明細での金額は、データとしては
小数以下の値も持った状態で、表示を1円単位までとし、

明細を合計したところで、小数以下を、切捨て、切り上げ、四捨五入の
なかで選択できるようにする。

というものです。

細かい部分ですが、ここの方針だけは、はっきりさせておかないと
いけないなと感じました。

2014年3月6日木曜日

数字の音声入力

あまり機会はないとは思いますが
桁数の多い数字を音声入力する場合

3桁の数字で区切って音声入力すると
結構ちゃんと認識してくれるかなと
思いました。

1桁ずつだとかえって、途中にハイフンがはいったり
することもありました。

iphoneの場合たと区切ったところ(例だと3回音声入力)で
スペースがはいるので、

プログラムのほうで、この入力項目に対しては、
スペースをカットする処理をいれてあげとくといいと
感じました。


2014年3月4日火曜日

消費税は大丈夫ですか?

消費税が上がりますが、以前作ったプログラムで
そのあたり大丈夫?と聞かれました。

そのプログラムはエクセルなのですが

セルのところに
税率とその適用期間を設定するように
作成しているので、大丈夫ですと
お答えしました。

エクセルでのプログラムは、使い方によっては
どんなデータでも入力できてしまいますが、

今までの経験上、あまり、ガチガチにチェック
するのではなく

運用上、このようにデータ入力してください。

というような感じのほうがスムーズにいくなあと
感じています。


あと、自分で気をつけていることとして、

マニュアルは、お客様には、読んでもらえないことは
承知の上で、最低限度の操作方法などのマニュアルは
作るようにしています。

お客様のためではなく、自分のためにです。


単純機能にすること

ON OFF の変化が発生したら、それをファイルに上書きする。
そういう方法で、一番機械側に違いプログラムは完了に
することにします。

単純機能にすること。

それが今回の鉄則。

このファイルを別プログラムがみて、
全体の変化をみて、データベースへ
いろいろと書き込む。

こんな方針です。

結局16データにせず、必要最低限の15データにしました。


キリのいい数字

コンピュータが別の機械とつながる部分の
プログラムを作り始めると、一般的には
意味不明な部分がかなり増えてきてしまいます。

キリのいい数字は10とか100ではなく

2 4 8 16 32 64
などになります。

画面、一番右の黒い四角は、いまのところ何も
意味がありません。

3×5の15こにするか

16のままにするか。


がんばろう

あ、これだ。

あ、今だ。

こうなときにすぐ行動できるようになれば
いいことはあると思います。


2014年3月3日月曜日

一番単純な通信テスト

黒い画面が、シリアル通信の送信側
その右の画面が、TCP/IPで受け取ったデータで
START の文字を受信して、緑色を点灯
END の文字を受信して、黄色を点灯

一番単純な処理の確認は、できました。




RS-232Cで通信する機器の信号をパソコンで受ける

RS-232Cの信号の規格は昔からあり、今でも
機械関係は、使用するものがあると思います

少し、カタチを変えて、
ブルートゥースの無線で、

SPP (Serial Port Profile)

というプロファイルで、RS-232Cの通信を
仮想でやってくれますが、

最近アンドロイド端末や、iphoneなど
ブルートゥースは搭載していても、

Serial Port Profile
は省かれている???

ように思います。



きっちりしたことはよくわかっていないのですが
RS-232Cの通信はあまり長距離の通信に向いていません。

今回、プロトコルコンバータを介して
TCP/IPの信号に変えて、LANにのせようという
考えで、プログラムを作成しています。


参考
超小型のRS232C⇔LANプロトコル変換器 MDC-iT10 V2
http://www.modia.co.jp/products/it10.html






2014年3月1日土曜日

新しいGoogleスプレッドシートを試そうとした

新しいGoogleスプレッドシートを試す

というのをクリックしてみましたが、
そのスプレッドシートが、新しくなるわけでは
なく、それで、新しいバージョンのスプレッドシートが
新規に作成されました。

今の時点では、複製して、新しいバージョンには
ならないのですが、

スクリプトの手動コピー
シートを1枚ずつ、別スプレッドシートにコピーを
行った結果、


セルの高さが若干高くなったこと。

スクリプトの割り当て(ボタン画像などでの割り当て)が
クリアされたこと。

別シートの参照が参照先不明状態になったこと

セルの書式(数字3桁区切りカンマ編集など)が
クリアされたこと

などを確認しました。


新しいバージョンでのスクリプト処理には、若干
改良と、チェック時間が必要になりそうです。




21世紀の技術で22世紀に挑戦

ここ1週間ほどは、Googleスプレッドシートの
プログラムにかかりっきりで、処理速度を
はやくすることに必死になっていました。

いつの間にか、パソコンのスピードが速いんだから
パソコンにまかせればいいという考えになってしまって
いました。

どこの処理に時間がかかっているかを調べて、
その処理へのアクセスをどうやったら減らせるか
本気で考えたのは、かなり久しぶりでした。

最新、最速ではない環境で普通に使えるもの

これから考えていくことになると思います。

facebookにも書いたことなんですが

企業のコマーシャルの中にある
21世紀の技術で22世紀に挑戦

というのが、自分の中で、グッときてます。

限られた中で、多少古い技術でも
最新にひけをとらないものを目指す。
って自分で解釈しています。