読者です 読者をやめる 読者になる 読者になる

ネット偽善者でもいいじゃない

悩んでるなら面白いマンガ読もう

python3でExcelを読み込むのにurllib,xlrdを用いた

python3だとなんか違って少しだけ躓いた

下記サイトでpandasの使い方などを練習してたところ

ITエンジニアのためのデータサイエンティスト養成講座(3):データを取り込む・格納するための方法を理解する (1/4) - @IT

pythonのバージョンの違いなどでライブラリが違ったのでメモ

自分の環境は

python3.4..3 :: Anaconda 2.3.0

Mac OsX 10.9

です

続きを読む

scikit-learnを用いた時にImportErrorが出てしまう場合にanacondaで対処した

プログラミング python

ImportErrorはpathが違うから・・・・?

結論としては、anacondaをインストールして用いることで解決できました

【問題】 pyenvでインストールしたpythonからはscikit-learnからdatasetsやlinear_modelをimportしようとしても ImportErrorが起きてしまう

技術評論社の「データサイエンティスト養成読本」を読んでます

データサイエンティスト養成読本 機械学習入門編 (Software Design plus)

データサイエンティスト養成読本 機械学習入門編 (Software Design plus)

続きを読む

C#でテキストファイルから1行ずつ読み込んで配列に格納する

プログラミング C#

C#でテキストファイルから1行ずつ読み込んで配列に格納する方法

参考 http://smdn.jp/programming/netfx/collections/2_generic_1_list/

配列と言えばArrayであるし

C#の配列について調べていたらArrayListクラスというのがよく出てくるが

これはC#の初期で使用されていたクラスみたいで(今も使えるみたいですが)

どうやら.NET2.0からはジェネリッククラスのListというのを用いるみたいです

ArrayListとListの違い http://cabbalog.blogspot.jp/2014/07/list-vs-arraylist.html

このへんがよくわからなくて躓いてしまった

ではどうやってやるか?を以下まとめてみました

続きを読む

2つのファイルを1つのファイルにまとめる時、ソートしてまとめる方法 in Ruby

Ruby プログラミング

2つのテキストファイルを、日付などでソートしながらまとめていく方法

Rubyを用いて、2つのファイルをソートした状態で1つのファイルにまとめる方法

続きを読む

TOCOS TWE Liteを使ってGPSデータを無線で飛ばすのに少し躓いたので

TWE-Lite プログラミング 無線

TOCOS TWE Liteを使ってGPSデータを飛ばすのに、単純に接続しただけでは通信ができなかったので詰まるところだと思ってメモ

以前はstrongタイプのを使ってたけど

TWE-Strongにファームウェアを書き込む方法(てこずった) - ネット偽善者でもいいじゃない

とりあえず簡易的に、TWE-Lite DIPを使います

結論から言うと、ボーレートの設定をしてあげないとデータが飛ばない

TWE同士の通信はシリアル通信アプリで、ボーレートは115200で通信します

が、子機(GPSとつなげる方)のほうはインタラクティブモードに移った後データの通信としてのボーレートを、GPSのボーレートに合わせてあげなければいけません

そして、デバイス(今回はGPS)との通信レートをTWEに反映させるため、BPSピンをGNDに落とす必要あり

ここがわからなかったので最初つまづきました

以下に詳細を記載

用いた機器

親機はTOCOSTICK

子機はTWE-Lite DIP

GPSはなんでもいいですが、今回はSWITCH SCIENCEから購入したAdafruit のGPSモジュールを用いました

このGPSモジュールのボーレートは9600でした、後で設定に使います

通信アプリ

シリアル通信アプリを用います

App_Uart (シリアル通信専用アプリ) - MONO-WIRELESS.COM

TWE Lite-Rなどを用いてDIPに書き込んで下さい

windowsマシンがあれば、アプリを使って簡単に書き込めますが、無ければjenprogというソフトを用いて書き込まなければなりません

TWE Strongの時もそうだったけどこれがちょっとめんどい・・・

そしてTOCOSTICKはプログラム書き込みスイッチなどが無いので、windowsマシンでないとアプリを書き換えられないと思います

書き込み方法がわからない方などいましたらコメントでもなんでもください

シリアル通信アプリで、透過モード(T)にして通信する

シリアル通信アプリにしたら、ターミナルソフトで設定を行います

Windowsの場合は、TeraTermというソフトが良いです

Tera Term (テラターム) プロジェクト日本語トップページ - OSDN

TOCOSTICK もしくは TWE-Lite DIP & TWE Lite-R & USBケーブルをつなげたものを、windowsマシンのUSBの穴に挿したら

まずは認識するためにドライバがインストールされます

ドライバのインストールが終わったら、TeraTermを開いて

「シリアル(E) ポート」のほうから表示されてるポート(COM3とか、COM + 数字で表示されるはずです)を選択して -> 「OK」

2つほど設定してあげる必要があるので、メニューバーから

① 「設定」->「端末」-> 「送信(M)」のプルダウンメニューが「CR」になっているので「CR+LF」にして -> 「OK」 ② 「設定」->「シリアルポート(E)」->「ボーレート」のプルダウンメニューが「9600」になっているので「115200」に変更して -> 「OK」

115200は、TWE 同士が無線通信するときに必要な速度(ボーレート)です

これ以降はMacと同じなので、Macの説明の後の「インタラクティブモードに突入」に進んで下さい

Macの場合

僕は通信などにはMacを使っているので、ターミナルを起動してscreenでの通信します

ターミナルを開く

$ ls -l /dev/tty.usb*

と入力してエンターすると、接続されてるUSBポートが表示されるので (例えば僕の場合だと、/dev/tty.usbserial-AHXFI9Q2 と表示されました)

$ screen /dev/tty.usbserial-xxxxxxxx 115200

のようにして接続してあげます(xxxxxxxxの部分にはご自身のシリアルポートのアルファベット+数字を入力して下さい)

インタラクティブモードに突入

接続できたら、ターミナル画面で「+++」とキーボードから打つとインタラクティブモードに入れます

下のようなのが画面に表示されます

--- CONFIG/TWE UART APP xxxxxxxxxxxxxxxxxxx--------
 a: set Application ID (xxxxxxxxxxxxx)
 i: set Device ID (121=0x79) 
 c: set Channels (18) 
 x: set RF Conf (3) 
 r: set Role (0x0) 
 l: set Layer (0x1) 
 b: set UART baud (9600) 
 B: set UART option (8N1) 
 m: set UART mode (T) 
 k: set Tx Trigger (sep=0x0d, min_bytes=1 dly=100[ms])
 h: set handle name [] 
 C: set crypt mode (0) 
 o: set option bits (0x00000000) 
---
 S: save Configuration
 R: reset to Defaults

(出していいかわからなかったとこはぼかしています)

見方がわからない場合は、もしかしたら設定されているかもしれませんがまぁ以下の操作を行います

① キーボードの「b」を押す -> 「9600」を入力、エンター

UART baud
  !NOTE: only effective when BPS=Lo
Input (DEC:9600-230400): 9600

↑こんなのが出てきます

ここで入力する数字はGPSに必要なボーレートになります、僕はAdafruitのボーレート9600のGPSを用いているので この数字になります。お使いのGPSのボーレートを確認して入力してください

② キーボードの「m」を押す -> 「T」を入力、エンター

UART mode
  A: ASCII, B: Binary formatted
  C: Chat (TXonCR), D: Chat (TXonPAUSE, no prompt)
  T: Transparent
Input: T

↑こんなのが出てきます

③ キーボードから「i」を押す -> 「120」を入力、エンター

ここではとりあえず親機を121, 子機を120とします。後でもうひとつのほうも変更します

④ キーボードから「S」を入力する

これで子機(TWE-Lite DIP)の設定が終わりました

次に親機(TOCOSTICK、もちろんDIPでもStrongでもなんでもいいですが)も同様にインタラクティブモードに入りますが ボーレートは設定必要ないので

① キーボードの「m」を押す -> 「T」を入力、エンター

UART mode
  A: ASCII, B: Binary formatted
  C: Chat (TXonCR), D: Chat (TXonPAUSE, no prompt)
  T: Transparent
Input: T

↑こんなのが出てきます

② キーボードから「i」を押す -> 「120」を入力、エンター

ここではとりあえず親機を121, 子機を120とします。後でもうひとつのほうも変更します

③ キーボードから「S」を入力する

で大丈夫です

ここまでできたら次に通信をします

ブレッドボードを用いて通信

3.3Vの定圧にしたかったのでコンバーターを接続していますが、まぁ無視してかまいません

TWE-Lite(子機)に必要な接続は

VCC (28ピン)     

GND(1ピン)     

RX(UART受信, 3ピン, GPSのTXへ接続)     

TX(UART送信, 10ピン, GPSのRXへ接続)     

BPS(20ピン, GNDへ接続)     

です。 インタラクティブモードで設定したボーレート(僕の場合は9600)は、BPSピンをGNDに接続しないと反映されないので注意です

以上で、あとは2つのTWEの電源を入れれば(今回は乾電池を用いましたが、3.3V程度を出力できるならなんでもいいです)

通信が始まります

親機はパソコンにつないでる(はず、もちろんMacだったらscreenコマンドなどでシリアル通信をおこなってください)なので、ターミナル上に

$GPGGA .........
$GPGSA  ............
$GPRMC  .............
$GPVTG  ............

のようにデータが出てきていたら成功です!

つらつら書いたので、わからないところがあったらコメント欄にでも書いていただければ対応できるときに返しますので

SDL初心者がとりあえずRaspberry Piを使ってやってみる

プログラミング

SDLコンパイルするときは -lSDL をつけてやる必要がある

最初は動かしやすいやつをやってみる

ラズベリーパイとプロジェクターでなんかしようかなと思っていて Interface5月号を見ているのですが

なんか難しい・・・SDLとかopencvのこととかがよく分からなかったので SDLについて調べてみた

続きを読む

「おねいも」と「波よ聞いてくれ」が面白すぎて最高である

面白いマンガ

※ネタバレちょっとありです注意

勢いのある田舎姉妹日常系ギャグ・コメディ、面白い

詩原ヒロさんのおねいも、web上で無料で試し読みしてて楽しみだったやつ

yhei.hatenablog.com

ついに1巻でて案の定めっちゃ面白かった!

おねいも(1)

おねいも(1)

続きを読む