0

GPS ConnectorをUSB版SiRFstarIII用対応アップデート

10ヶ月ぶりのアップデート。

■過去記事

s.h.log: GoogleEarth+GPS+DigitalCompass

s.h.log: C#用クラス: シリアル接続GPSのラッパーをver up

USB版のGPS SiRFstarIIIを買ってきて試して、ちょっとアップデートした。

GpsConnectorLib.cs (VisualStudio2005 / C#2.0)

いくつか関数名が変わったので入れ替える人はKY(コード嫁)でお願いします

さっそくPileusに組み込んだ

DSC06915DSC06933

■動作確認機種

・SiRFstarIII BC-337(CF版)

・SiRFstarIII GU-20(USB版)

■使い方

最初にシリアルポートと同じノリで設定する

usingOrg.Shokai.Util

GpsConnectorgps=newGpsConnector();

gps.PortName=”COM1″;

gps.BaudRate=4800;

if(!gps.IsOpen)gps.Open();

あとは、GpsConnectorクラスはデータ受信してパースをやってくれるので

好きなときにgpsDataメンバにアクセスしてデータを取り出せばいい

double latitude = gps.gpsData.lat; // 緯度

double longitude = gps.gpsData.lon; // 経度

詳しいデータは、GpsConnector.toString()でも出てくるのでそっちも見てね

USB版は常に電源供給しているので、CF版と違ってすぐ衛星を補足できていい。絶対USB版の方がオススメですね

0

GM – translate JK slang

しゅんpさんがKY KYうるさいのと、clip – 女子中高生が使っている略語を見たのとで作った。

ページがロードされた瞬間に翻訳するGreaseMonkey script。

install → translate JK slangs – Userscripts.org

varslang_dic=[

[“JK”,”女子高生”],

[“KY”,”空気読めない”],

[“HK”,”話変わるよ”],

[“IW”,”意味わからない”],

[“HD”,”暇な時電話する”],

[“KZ”,”からみづらい”],

[“MT”,”まさかの展開”],

[“MA”,”まじありえない”],

[“DK”,”大事なとこで噛む”],

[“BY”,”場が読めない”],

[“OD”,”お肉大好き”],

[“WH”,”話題変更”],

[“KB”,”空気ぶち壊し”],

[“TK”,”とんだ勘違い”],

[“KK”,”過剰な勘違い”],

[“CC”,”超かわいい”],

[“HP”,”はみだしパンツ”],

[“WK”,”しらける”],

[“MM”,”マジめんどくさい”],

[“KI”,”カラオケ行こう”],

[“MS”,”みんなに避けられてる”],

[“DK”,”男子高校生”],

];

functiontranslate_jk(){

varbody=document.body.innerHTML;

for(vari=0;i
varreg=newRegExp(slang_dic[i][0],”g”);

body=body.replace(reg,slang_dic[i][1]);

}

document.body.innerHTML=body;

}

window.addEventListener(‘load’,translate_jk,true);

0

C# – HTTPから非同期でデータ取得

かなり他にネタが貯まってるんだけど、とりあえず今作ってるのの整理としてpostしておく。

XMLHttpRequest使えばいいんじゃないか、とも思ったがそんなに面倒でも無いので前のを非同期化してみた。

Download => Org.Shokai.Web.AsyncWebRequest.cs

VisualStudio2005Pro / C#2.0環境で動作確認。

Thread使ってるのでHTTPリクエスト中もGUIが固まらない。

■使い方(簡単に)

AsyncWebRequestにResponseというクラスを引数に持つcallback関数を登録して、

get(); すればデータ全部受信した時にcallbackが呼ばれる。Response.contentの中にHTML全部入ってる。

■使い方

usingOrg.Shokai.Web;

AsyncWebRequestasyncReq=newAsyncWebRequest();

asyncReq.encoding=Encoding.UTF8;

asyncReq.sleepTime=1;

sleepTimeとエンコードは自動的に初期化されるので、省略して構わない。

コールバック関数をどこかに書いておく。

publicvoidonAsyncResponse(Responseres)

{

Console.WriteLine(res.content);//受信したデータ

}

さあ、さきほどのコールバック関数を登録して、いざ呼び出したまえ!

asyncReq.onResponse+=onAsyncResponse;

asyncReq.get(newUri(“http://shokai.org”));

レスポンスはResponse.bodyの中に入ってるので、コールバック関数の中で適当に料理してね。

Read more

0

C# – HTTPからデータ取得

XML取得してparseは以前やったけど

s.h.log: C#でRSSリーダを作ってみるテスト

生のHTMLを取得するのはこれが初めて

こんな感じでgetできる関数 getPage()を作る

Stringpagedata=getPage(newUri(“http://shokai.org”));

Console.WriteLine(pagedata);

参考:WebRequest、WebResponseクラスを使ってファイルをダウンロードし表示する: .NET Tips: C#, VB.NET, Visual Studio

usingSystem.Net;

usingSystem.IO;

usingSystem.Text;

publicStringgetPage(Uriurl)

{

WebRequestwebreq=WebRequest.Create(url.ToString());

WebResponsewebres=webreq.GetResponse();

Encodingenc=Encoding.UTF8;

Streamst=webres.GetResponseStream();

StreamReadersr=newStreamReader(st,enc);

Stringhtml=sr.ReadToEnd();

sr.Close();

returnhtml;

}

thread化していないので、相手方のサーバーのレスポンスが返ってくるまで止まるので注意。

0

GM – coolyama script

@coolyamaをcoolyamaに自動置換する

レッツインストール → Replace coolyama with Coolyama – Userscripts.org

before:

coolyama: before

after:

coolyama: after