2014年11月9日日曜日

PQI Air Card その4

その3 からの続き

そりゃそーか。

よく参考ページを見直してみれば、 perl は busybox の中じゃなくて 122_TREK/usr/bin にあるじゃねーか。

あー恥しい…


まあ、気をとりなおして。
シンボリックリンク張り直してっと…

# rm /usr/bin/perl
# ln -s /mnt/sd/.linux/122_TREK/usr/bin/perl /usr/bin/perl
# perl --help
/bin/sh: perl: not found


( ・_・)アレ?

2014年10月29日水曜日

PQI Air Card その3

その2からの続き


ここで紹介されているのは「ホットスポット接続し、IPアドレスを twitter で通知」、というものだが。

twitter はほとんど使っていないので、何か別の方法がいいなー

インターネット繋がってないと通知来ないし。。。
そもそも、ただ同一ネットワーク上の PC かスマホにメッセージを送ればいいわけで。

例えば、 IP メッセンジャーとかwww


というわけで、コマンドラインから IP メッセンジャーにメッセージを送る方法を探してみると

IPメッセンジャーへメッセージを送る Perl版

というのを見つけた。さっそく試してみよう。
上記ページを見ると、 Encode.pm 版 (perl 5.8 以降) と NKF.pm 版 (5.8 より前) があったが
ソースを見ると、日本語のエンコードに encode()/decode() を使うか nkf() を使うかが違うだけぽい。

まあ、別に IP アドレスと接続完了のメッセージが送れればいいので…


別に日本語使わんでいーわヽ( ´ー`)ノ。

てなわけで、エンコード系の処理を削除して使うことにする。
改良後のソースコードはこんなんなった。

#!/usr/bin/perl -w
#
# ipmsg.pl <host to send> <your name> <message>
#
# ipmsg.pl <host to send> <your name> ... input message from STDIN
#
use Socket;
use Sys::Hostname;
## to info
my $tohost = gethostbyname($ARGV[0]);
my $toport = 2425;
## from info
my $myname = $ARGV[1];
my $myhost = "PQI Air Card";
## net info
my $proto = getprotobyname('udp');
my $ihost = gethostbyname(hostname());
my $ipaddr = sockaddr_in(0, $ihost); # 0 means let kernel pick
my $hispaddr = sockaddr_in($toport, $tohost);
my $sendtext;
if (@ARGV >= 3)
{
$sendtext = $ARGV[2];
}
else
{
$sendtext = <STDIN>;
}
$sendtext = sprintf('1:%d:%s:%s:32:%s', int(rand(100))+1, $myname, $myhost, $sendtext);
socket(SOCKET, PF_INET, SOCK_DGRAM, $proto);
bind(SOCKET, $ipaddr);
send(SOCKET, $sendtext, 0, $hispaddr);

とりあえず、 PC 上でスクリプトを動かして動作確認。ちゃんと動いた。
ではこれを、 SD カードにコピーして。
さて、動かしてみよう!!
# /mnt/sd/ipmsg.pl localhost ozawa hogCan't locate Socket.pm in @INC (@INC contains: /usr/local/lib/perl5/5.14 /usr/local/lib/perl5/5.14 .) at /mnt/sd/ipmsg.pl line 8.BEGIN failed--compilation aborted at /mnt/sd/ipmsg.pl line 8.

くっ…orz

どうやら、 Socket.pm がないんですね…

しかたない、さっきのページからリンクを辿り、 PQI Air Card 用にコンパイルされた busyboxここからダウンロード。
解凍して、 SD カードのルートに .linux というディレクトリを作ってその下に入れる。
で、シンボリックリンクをはり直して…

# rm /usr/bin/perl
# ln -s /mnt/sd/.linux/122_TREK/busybox /usr/bin/perl
# perl --version
perl: applet not found

(  ゜ ▽ ゜ ;)エッ!!…


もしかして…もしかしてだけど… perl 含まれてない!?


OTZ orz .,

2014年10月19日日曜日

PQI Air Card その2

その1 からの続き

まーそりゃそうか、普通 telnet なんか使わないもんなー
windows では、サービスが無効になってるので、コントロールパネルから有効にしてやれば使えるらしい。
まーでも、 DOS プロンプトで telnet なぞ使いたくないので cygwin の telnet を使おう。
cygwin の inetd パッケージをインストールしてっと。

それから、 SD カードアダプタにより接続が安定するのとしないのがあるらしいのでそれぞれチェック。

  • ノート PC の SD カードスロット  ×
  • maxell の UA20-MLTII  ×
  • サンワサプライの ADR-ML14R  ○
よし、動くのがあった。
まず、 wifi で接続して…
それから telnet で接続して…

とりあえずわかったこと。

  • SD カード本体は /mnt/sd
  • /usr/local/bin は /mnt/sd/bin
  • /usr/local/bin は /mnt/sd/sbin
その 3 へ続く

PQI Air Card その1

引き出しの奥に眠っていた PQI Air Card

EOS7D で Wifi 転送等使うために買ったのだが
ネットでは動作報告があるのに、残念ながら俺の環境では動作しなかった…orz
(CF アダプタの相性か?)

しかしながら、たまたまこんな記事とかこんな記事とかを見て
何か面白そうだなぁと思い引き出しの奥から引っぱり出して
とりあえず telnet 接続しようと…



…ん? telnet がねぇΣ( ̄□ ̄;

→その 2 に続く

2014年9月14日日曜日

IrfanView で「前のファイルへ」「次のファイルへ」が使えない

前から不思議に思っていたが、今日気付いた。

どうやら、パスに日本語が入っているとダメらしい。

ただ、日本語が全部駄目かとういとそうではないみたい。
たぶん、文字コード関連でおかしくなっているのだろう。

と、いうことで 最新の IrfanView(英語版、日本語 plugin あり) ではなく
IrfanView 日本語版のページ から日本語版を落としてインストールしなおしたらいけた。
バージョンが古いが、しゃーない。しばらくコレで行くか。


インストール時にいくつか詰まったので解決法をメモ。

・自己解凍形式で落としたのだが、解凍先が "C:\Program Files\IrfanView" になる。
  →使っているのが 64bit 版なので、  "C:\Program Files (x86)\IrfanView" に変更。
  当然、 Program Files のアクセスには管理者権限が必要なので exe は「管理者として実行」する。
  まぁ、適当な箇所に解凍して管理者権限でコピーしても同じだろうが…。

・そのまま実行して、オプションで関連付けを変更しても反映されない
  当然、管理者権限が必要なのでオプションを変更するときだけ「管理者として実行」する。

2014年8月22日金曜日

Chrome の「新しいタブ」が勝手に Bing に

ふと気付いたら、 Chrome で新しいタブを開いたとき必ず Bing の検索ページが表示されるようになった。

あれ?前までは Google の検索ボックスとアクセスしたページの履歴みたいなもんが出てたはず…
Gmail やら Google+ のアルバムやらにアクセスするのに楽だったのに。

そもそも Bing なんて使わん しww
bing 愛用者の方ゴメンナサイ…

不便なんで元に戻そうとして、設定を見てみるが、そもそも
「新しいタブを開いたときに表示するページ」の設定自体がない…orz
Chrome を立ち上げたときに表示するページの設定しかない!!

拡張機能か?などと、とりあえずいろいろいじってみたが、直る気配なし。


…変だな?

こういう時は Google 先生に聞いてみようと思い検索したところ
教えて!goo で「Bing のページの下にある「復元」をクリックすれば良い」という記事を見つけた。
さっそくやってみよう…


あれ?「復元」なんてないぞ?


とりあえず、近い箇所にあった「更新されたプライバシーポリシー」のリンクをクリックすると
trovi.com というサイトのこんなページ が出てきた。

ちなみに、たぶんサイト自体はただの検索サイトなのでいきなりウイルス注入! とかってことにはならないと思いますが、クリックは自己責任でw


話を戻そう。今度は trovi でググってみたところ、やはり周知の事実らしく対処方が簡単に見付かった。

詳しくはこちら

どうやら、何かのソフトをインストールしたきに、そうなってしまうらしい。
勝手にブラウザのスタートページや検索エンジンを書き換えてしまい、ブラウザの設定では元に戻せないそう。
しかも、削除方を検索するとウソの方法が上位に表示される、タチの悪いものらしい。


以下、上記ページを参考に自分がやった方法を簡単にまとめておく。

1.  Search Protect をアンインストール

まず、ブラウザの設定が効かないというというのは SerchProtect というソフトがインストールされているためで、こいつを消さないといけないらしい。

アンインストール手順1: タスクマネージャーで下記 3 つのプロセスを kill

  • SPRunner.exe
  • cltmng.exe
  • CltMngSvc.exe
※俺の環境では、 SPRunner.exe がなかったので他の 2 つだけを消した

アンインストール手順2. C:\ProgramFiles\SearchProtect\bin にある uninstall.exe を実行する

※俺の環境では uninstall.exe は C:\Program Files (x86)\SearchProtect\Main\bin にあった。

2. ブラウザの設定を元に戻す

上記ページでは、「全てのブラウザの設定が書き換えられている」とあったが、俺の環境では被害を受けたのは Chrome だけで、インストールされていた IE と Opera は問題なかった。


以上で終わり。
特にウイルス感染とかではなかったのでホっとしたが、ちょっと悪質すぎるだろコレ (-_-#)

2014年8月5日火曜日

Android Screen Monitor

今日は、 PC のアプリを紹介します。

Android Screen Monitor


Android 端末(実機、またはエミュレーター)の画面をリアルタイムで PC 上に表示するツールです。
PC に表示できれば、そこから TV やプロジェクターに端末の画面を映すこともできるので
プレゼンやデモ等に向いています。





TV にスマホの画面を写してみました


まあ、 PC で言うリモートデスクトップのようなものですね。
実は PC からリモートデスクトップでスマホを遠隔操作できるツールはいくつかありますが
このツールの良いところは

・端末を root 化する必要がない
・USB 接続で OK. PC との接続のためにだけ Wifi 環境を準備する必要はない。
・端末側の操作は USB デバッグ接続の設定のみ。つまり、予め設定しておけば端末には電源さえ入っていれば良い。

というところでしょうか。



まあ…元々デバッグ用のツールなので、使うには Android SDK とか Java Development Kit やらが必要だったりしますが。
インストール方法などは androidの画面をpcに表示する が詳しいです。
※ちなみに、上のページでは「このソフトは画面を表示するのみなので、操作は実機で行う必要があります。」とありましたが 2014/8/5 時点では、マウス操作やキーボードによる文字入力もできました



ちなみに、端末の画面が横向きになっているがアプリの設定が縦 (右クリックで変更可能) になっていると、いくらアイコンをタップしても反応ありません。

そのせいで 2 時間ほど悩んだよ…orz


興味ある方は、使ってみたらいかがでしょうか。

もしかすると


やっちまった Σ(≡д≡)

てな時に、中のアプリのデータを吸い出したりできるかも知れませんよ(実話)

EXCEL での正規表現置換

エクセルで、"No" の後の数字を一括で A1 セルで指定した内容に置換したくて REGEXREPLACE(B10,"(No)[0-9]+","$1"&A1) と書いたらエラーになった。なんで?  "...