PERCY'S DIARY

喉が渇いた

自身の研究室向け B3がやったらいいなと思うこと

◎論文を読む(概要を読んで気になれば全部読む.それぞれ5年分は読む.)

 ・インタラクション
  http://www.interaction-ipsj.org/2015/archives

 ・WISS
  http://www.wiss.org/

◎研究案を考える
 普段の生活で困ってることとかたくさんあげてみる.

◎プログラミングを学ぶ
 ・C#
  1.ToDo List作ってみる.逆引き辞典は良書.
  2.ある程度わかってきたら共有サーバ(WinSCPで入るやつ)の
   /cygdrive/r/exchange/ito/Brian's特論/オブジェクト指向
   のところでオブジェクト指向を学べるので,これをマスターしてみよう.
 
◎その他あったら便利なスキル
 ・Arduino
 http://dotinstall.com/lessons/basic_arduino
  簡単にマイコン制御ができる.

 ・HTML,CSSjavascript(WEB系)
http://dotinstall.com/lessons/basic_html_v2
  http://dotinstall.com/lessons/basic_css_v2
  http://dotinstall.com/lessons/basic_javascript_v2
  ホームページとか,ウェブサービスなど作れる.

 ・動画,画像 Adobe
Adobe Premire
  After Effects
illustrator
Photoshop
/cygdrive/r/exchange/ito/Brian's特論/ にAdobe関連ある.

 ・Unity
  http://dotinstall.com/lessons/basic_unity
  Oculus Rift使える.3Dゲーム作ったり.

 ・Android
  http://dotinstall.com/lessons/basic_android
  ウェアラブル系のデバイスのOSはこれが多い.

 ・123D design
http://www.123dapp.com/design
  3D プリンタが使えるよ.

 ・MATLAB
https://jp.mathworks.com/programs/nrd/matlab-toolbox-price-request.html?ref=ggl&s_eid=ppc_4950
便利らしいから誰かマスターしてよ.

 ・Openframeworks
  Mac持ってたらこれ触ってみたら楽しいよ.C++

◎IT関連にゅーす
 ・WIRED
  http://wired.jp/

 ・engadget
  http://japanese.engadget.com/

 ・TechCrunch
  http://jp.techcrunch.com/

 ・GIZMODO
  http://www.gizmodo.jp/

 他にもたくさんあるけどとりあえずここらへんは毎日チェック

 [番外編]
 ・はてなぶっくまーく

TOEIC してた方がいいよ.

Android txt読み出し

備忘録
assetsフォルダはbin, libs, resなどと同じ位置

import java.io.BufferedReader;
import java.io.FileInputStreamReader;

 public InputStream is = null;
public BufferedReader br = null;

public void buttonclick
{
 // assetsフォルダ内の sample.txt をオープンする
        is = this.getAssets().open("sample.txt");
        br = new BufferedReader(new InputStreamReader(is));

   String str;
 while ((str = br.readLine()) != null) {
//brなくなるまで
}

}

Android UDP通信

そういえばUDP通信について書いてなかったから備忘録として書いとこう。

 

まずクラスはこんな感じ。

コード汚いだろうけど、とりあえず動いてるのでよし。

送信は間違ってるかも。



 

package tekitou;

import java.io.IOException;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketException;

import android.util.Log;

public class socketUDP {

private DatagramSocket receiveSocket;
private String receiveData;
private String message;

//別スレッドで実行がほぼ必須
public String getMessage(){

Thread thread=new Thread(){
public void run() {
// 5100番ポートを監視するUDPソケットを生成
// DatagramSocket receiveSocket = null;
try {
receiveSocket = new DatagramSocket(5100);
} catch (SocketException e) {
e.printStackTrace();
}
// 受け付けるデータバッファとUDPパケットを作成
byte receiveBuffer[] = new byte[1024];

DatagramPacket receivePacket = 
new DatagramPacket(receiveBuffer, receiveBuffer.length);

try {

receiveSocket.receive(receivePacket);

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

// 受信したデータをログへ出力
message = new String(receivePacket.getData(),0, receivePacket.getLength());
Log.d("TEST", message); 
}
};
thread.start();
try {
thread.join();
} catch (InterruptedException e) {
Log.d("TEST",e.toString());
}

return message;
}

// 別スレッドで実行するほうがよい
public void sendMessage(String message){

// udpソケットで自分のIPで5100番ポートを指定
InetSocketAddress remoteAddress = new InetSocketAddress("192.168.1.1", 5100);

// UDPパケットに含めるデータ
byte[] sendBuffer = message.getBytes();

// UDPパケット
DatagramPacket sendPacket;

try {
// DatagramSocketインスタンスを生成して、UDPパケットを送信
sendPacket = new DatagramPacket(sendBuffer, sendBuffer.length, remoteAddress);
new DatagramSocket().send(sendPacket);
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}

}

 

 

で、メインの方にはこれ追加。

で、いけるはず。

public socketUDP Listener = new socketUDP();
public String receiveValue;
 
private String[] socketSplit = new String[100];
〜〜〜〜
 
(new Thread(new Runnable() {
@Override
public void run() {
 
    
while(true)
{
 
receiveValue = new String(Listener.getMessage());
 
socketSplit = receiveValue.split(","); //"a,b,c"みたいなデータを送ったなら、ここで分割して配列に入れる
 }
 
}
})).start();
 

Arduino SD・microSD SDカードはopenできるけど,ファイルが開かない.読み出せない.

原因はarduinoのメモリ不足でした.

 

SDカードから大量のデータを読み出すときに大きな配列を作ってしまっていたことがエラーにつながっていた.

arduinoで大量のデータを扱う時は気を付けないと.

 

ファイル名が8文字以上だと読み出せないのでそれも注意.

MPU-9150使ってprocessingのteapot demoを動かしてみた

↓この動画見たらいける

How to: MPU6050 DMP Teapot Demo for Arduino - YouTube

 

arduinoのライブラリは↓これ

sparkfun/MPU-9150_Breakout · GitHub

 

配線は↓ここを参照にしたらOK

Devel/電子工作/Arduino/モーションセンサ - cubic9.com

 

processingでtoolが見つからないとでたら↓ここからライブラリをダウンロードして,スケッチブックが保存されるフォルダと同じ場所にlibrariesフォルダを作成してそこにダウンロードしたライブラリをつっこむ.

http://toxiclibs.org/downloads/

 

processing ライブラリの追加方法

Processing に外部Librariesを追加する: 100ねんごの未来予想図

 

ただ,これだと地磁気が使われていないらしい.

地磁気を使って補正をかける方法はまだ試せていない.

MPU-9150をArduinoに接続して9軸モーションデータを取得する - 真実の楽譜(フルスコア)