ユニティちゃんにコーヒーを入れてもらったお話

動画をつくりました。

きっかけ

有言実行マン(目そらし


使ったもの
コーヒーメーカー

f:id:nyarurato:20141026191743j:plain
recolte KAFFE DUO。
リサイクルショップで900円でした。
非常にプラスチック臭いです。重曹水などで何度も濯いだら、匂いはだいぶましになりました。
でも出てくるコーヒーはおいしくないです。

Arduinoで家電制御

ソリッドステートリレーというものをつかいました。
秋月で250円。安い。
マイコンで100Vをオン・オフ制御できます。

ソリッドステートリレーキットと電気工事士

f:id:nyarurato:20141026191827j:plain
コーヒーメーカーの電源プラグはこんな感じで改造した電源タップに挿してます。
100Vのものに手を加えるということで電気工事士の資格が必要なのではないか、と思い有資格者の友人に聞いてみたところ問題ないようです。
固定の電源を弄る際に電気工事士の資格が必要になるようです。

流れ

f:id:nyarurato:20141026190649p:plain

UnityとArduino


SerialPort または Uniduino を使った Unity と Arduino を連携させる方法調べてみた - 凹みTips
を参考にSerialPortから自前で送信してます。

PCSDKでコマンドモードを使う

こちらhttps://gist.github.com/neon-izm/9957478のコードに以下のように追加したらいけました。

		
		pp=new PXCUPipeline();
		pp.SetVoiceLanguage(PXCMVoiceRecognition.ProfileInfo.Language.LANGUAGE_JP_JAPANESE);      

		if (!pp.Init(PXCUPipeline.Mode.VOICE_RECOGNITION)) {
			print("Failed to initialize PXCUPipeline for voice recognition");
			return;
		}

		//認識させたいコマンドを指定
		string[] v_cmd = new string[]{"ユニティちゃん","コーヒーいれて","ストップ","ありがとう"};
		pp.SetVoiceCommands(v_cmd);
まとめ


追記

ねとらぼに取り上げられてました
http://nlab.itmedia.co.jp/nl/articles/1410/27/news133.html

lenovo H330のケースと電源交換

今まで使っていたPC。
f:id:nyarurato:20141010232508j:plain
Lenovo H330 11853GJってのを使ってました。
スリム型のデスクトップPCです。


f:id:nyarurato:20141011001201j:plain
Oculusアプリの開発をするようになって今まで載せていたHD6570では全くスペックが足りなくなってきたので、グラボを交換しようかと考えていたのですが、ロープロファイルのグラボで現状最強のGTX750Tiは厚さが大きすぎるためケースの底と干渉し入りません・・・。(厚さ30mm程度がH330で入る限界だったはず)

それならケースを交換してしまおうということで今回やりました。

H330の電源はlenovoの独自規格?のようなので電源も一緒に他のケースを移すということはできません。
というか電源容量が250Wくらいなので、そこそこのスペックのグラボを載せようとすると電源容量が全く足りなくなるので必然的に電源も交換ということになります。

ケース・電源選び

情報集めということでいろいろと調べてみました。

lenovo デスクトップPC総合 Part6
http://kohada.2ch.net/test/read.cgi/pc/1331502326/

119 :名無しさん:2012/03/20(火) 18:39:22.16 0
HシリーズはATXMicroATX)規格のタワー型の筐体に移植できるよ。(H310を移植済み)電源も好きなのが選べます。
(余分なSATAコネクターがないので、ドライブ類の増設には拡張カードが必要)
マザーにファンコネクターがあるので、排気ファンにつなげてます。とにかくHシリーズは電源が鬼門。
これを交換すれば、電源につなげられるファンもあるし、補助電源が必要なグラボも挿すことができます。

lenovo デスクトップPC総合 Part5
http://kohada.2ch.net/test/read.cgi/pc/1324599247/

323 :名無しさん:2012/01/12(木) 04:41:39.94 0
H310のマザーですが、microATXのネジ位置と互換性があるみたいです。
タワー型のケースに中身だけ入れ替えて、電源650Wのパソコンに変身しました。
レノボ社の皆さん、失礼なことを書いてすいませんでした。

とあるのでATX,MicroATXのケースを選ぶことにします。
電源もケースに合わせて選びます。

Z3 PLUSとRA-750を購入しました。

f:id:nyarurato:20141011000755j:plainf:id:nyarurato:20141011000758j:plain

やった流れ

・ H330のDVDドライブ外す。(参考:h330 分解方法(内部画像+外部画像)|デタラメ工場長のブログ
f:id:nyarurato:20141011001207j:plain
・ HDD外す。
・ 電源系のケーブル各種外す。
・ USBやフロントパネルのケーブル外す。
・ グラボ外す
マザボ外す。
・ バックパネル外す。(電源を外す必要あり)
・ Z3 PLUSに取り付けていく。

ハマったところ

参考を元に挿しました。

+----+----+----+----+----+----+----+
|  1 |  2 |    |    |    |  3 |  4 |
+----+----+----+----+----+----+----+
|    |    |  5 |  6 |  7 |  8 |XXXX|
+----+----+----+----+----+----+----+

1 HDD LED -
2 HDD LED +
3 Reset SW +
4 Reset SW -
5 Power LED -
6 Power LED +
7 Power SW +
8 Power SW -

f:id:nyarurato:20141011011048j:plainf:id:nyarurato:20141011011053j:plain
Resetスイッチあたりが怪しい・・・。でも使うことはないだろうし外しておいてもいいかも。

f:id:nyarurato:20141011004123j:plain
h330のオーディオのケーブル、ピン

どうやらlenovoの独自配列っぽいので参考のURLを元にピンの順番を入れ替えて挿す。
f:id:nyarurato:20141011004109j:plain

H330(マザボ側)

+----+----+----+----+----+----+----+
|  7 |  8 |  3 |    |  2 |    |XXXX|
+----+----+----+----+----+----+----+
|    |    |  4 |  5 |  9 |  6 |  1 |
+----+----+----+----+----+----+----+

HD audio(ケースのケーブル)
+----+----+----+----+----+
|  1 |  2 |  3 |XXXX|  8 |
+----+----+----+----+----+
|  4 |  5 |  9 |  7 |  6 |
+----+----+----+----+----+

数字の順番に意味はありません。
数字が一致するようにピンを挿しました。
(※2016/12/13 6と9が逆のため音声が左右逆だと指摘あり修正)
f:id:nyarurato:20141011005236j:plain

  • Z3 PLUSのフロントパネル固すぎ外せない・・・。→プッシュピンをペンチではさみつつ引っ張るもあまり変わらず。結局力ずくで外す。

ぱっと見、マザーボードに空いているファン用のピンがなかった。
3ピンファン用電源ケーブルの二股ケーブルを買ってきてリアのファンもファンコンにつないだ。
f:id:nyarurato:20141011003031j:plainf:id:nyarurato:20141011003238j:plain

結果

f:id:nyarurato:20141011011217j:plain
配線が汚いというレベルではない・・・。
とりあえず元通り動くようになったので次は新しいグラボを買って挿すところから。
配線はその時に直そう・・・。
あとUSB3.0のポートがケースに付いているけども、マザボ自体はUSB3.0のピンは無いので拡張ボードを買った方がいいかも。
f:id:nyarurato:20141011011220j:plain

ずっと床に座って覗きこむ体勢で作業していたので腰が痛い。

夏の結果

 
・IT勉強会に参加・・・◎、アルゴリズム勉強会やkanazawa.rbに参加。金沢Unity勉強会なんかも開いたり、サークルでミニunity勉強会なんてのもやった。
 
・CUDAプログラミングの勉強・・・✕
 
Lispの勉強・・・✕
 
・競技プログラミングの勉強・・・△、勉強会に参加することですこしテクニックを学ぶことは出来た。
 
・基本情報の勉強・・・△、落とせない。勉強がんばろう。
 
Windowsのアプリの制作・・・△、デスクトップマスコットを作ろうとして途中になってる。
 
・Webアプリ作る・・・△、Yoするだけとかいう誰得アプリをpythonでつくった。サーバー側で動かすWebアプリはできたが、クライアント側で動かすアプリは作ってない。
 
・ホームページの改善・・・✕
 
javascriptの勉強・・・✕
 
機械学習の勉強・・・✕
 
OpenCVの勉強・・・✕
 
・Oculusのアプリ、ゲーム開発・・・✕
 
・eject工作・・・△、ejectから回転運動を得ようとするも失敗。
 
androidゲーム開発・・・△、寿司のゲームをもう少ししたらリリース。
 
・積んでるロボットアームの完成・・・✕
 
・ニコニコの自作ゲーフェスに出る・・・✕
 
・コンテストなどに作品を出す・・・✕
 
・Git,Githubを使えるようになる・・・△、最近ようやくわかってきた
 
・データベース言語を使えるようにする・・・△、Webアプリを作るにあたって必要そうなところをさらっと眺めただけ
 
・ソフトばっかりじゃなくハードの方も何か作りたい・・・✕
 
 
あれれ、夏休み何もやってないぞ・・・

IT勉強会を開くためにやったこととか反省

金沢Unity勉強会やりました。


金沢Unity勉強会 - connpass

 

準備としてやったこと

  1. 日程決め
  2. 場所決め・確保
  3. イベントページ作成
  4. 宣伝
  5. 懇親会の場所決め
  6. 懇親会のイベントページ作成

 

 

反省など

  • 日程:他の勉強会と重ならない&場所の確保のできる日&1ヶ月程度後となる日にした。
    今回は日曜開催だったが、もしかしたら土曜開催の方が社会人の方的には良かったのかも。

 

  • 会場の確保:金沢でやっている他の勉強会(kanazawa.rb、hokuriku.netなど)の会場を参考にした。
    他の勉強会ではITビジネスプラザ武蔵の研修室を使うことが多いようだったのでそれに倣うことにした

 

  • 宣伝:TwitterFacebookに投稿。Unity県人会議に登録。金沢でやっている他の勉強会アルゴリズム勉強会、kanazawa.rb)に参加して宣伝。
    宣伝が足りなかったような気はする。参加者はエンジニアの方が多く、ゲーム作りには興味あるけど何をすればいいのか・・・という人はあまり来てないように感じた。
 
  • イベントページ:イベントページを見てもなにをするのかよく分からない。といった意見があった。
    Unityの勉強会をする。初心者的な発表するつもり。といったことは書いていたが、どのような内容について扱うのかなどは全く取り上げてなかった。
    ただ、発表者も全然決まってなかったので内容についても書くことも出来なかった。Assetや2Dなどといったテーマを決めるべきだったか?

 

  • 発表者の確保:全くできなかった。同じサークルの人に頼むことはできた&同じ大学の先輩の方が発表をしてくれたが、それだけで他の発表者を集めることはできなかった。残った時間は全て自分に回ってきたのと、発表者の方に少し長めに話して欲しいと頼む結果となった。
    勉強会の種類にも依るとは思うが、発表するタイプの勉強会では発表者の人数が勉強会そのものの面白さにつながるような気がするので、なんとかして発表者を集めたい。ただ、発表者を集める方法は不明。
    やっぱりいろんなLTを聞きたい

 

  • 懇親会:色々な勉強会のイベントページなどを見ていると勉強会は懇親会、打ち上げはセットでやっているところが多い。(もちろん自由参加だが)
    それにならって僕も懇親会を開くことにした。徒歩で行ける範囲に居酒屋さんを予約した。 

 

  • ハンズオン:僕自身の反省。やっぱりつまらない内容になってしまったように感じる。Asset Storeを使わないというのではなく、Asset Storeを積極的に使っていって簡単にそこそこの品質のゲームができるんだよ~といったことをするべきだった。またUnityをそこそこ使っている人にはわかりきっている内容でそういう人には無駄な時間となってしまった。 

 

  • その他:

    • ドタバタしたまま開始してしまった。
    • 全員自己紹介とかすれば時間的にちょうど良かったのかも

 

 

次回以降やりたいこと

  • 講師の方を呼びたい
  • 発表をもう少し充実させたい
  • アンケートを取ってみていろいろと聞きたい。(開催頻度、興味ある内容など)

 

次回やるとしたら2ヶ月くらいかなぁと考えてます。

来月でもいいのですが、ネタが用意できるか心配なのと、発表者が同じ人になっちゃうのではという気がするのでどうしようかなぁ・・・と

YoするだけのWebアプリ作った

Yoが一部では流行ってるとかなんとか。
とりあえずYoを登録してみましたが、Yoする相手がいませんでした。

そこで僕にYoするWebアプリを作ってみた。

http://nyarurato.net/cgi-bin/yo.cgi


Yo APIを試してみた http://qiita.com/pomu0325/items/9990dc1b0dbafd72f3e6
を参考にPythonで書いてみました。


ソースコード https://github.com/nyarurato/Yo-Yo-Hey-Yo

作った手順

まずYoのアカウントを取得。
iPhoneのアプリで取得しました。
その後、http://dev.justyo.co/からログイン。

NEW API AccountをクリックしてAPI用のアカウントを作ります。
僕はテキトーにNYARUWEBとしました。

EditのところにCallbackという部分があるのでそこにYoを受け取ったときにアクセスして欲しいページのURLを貼っつけます。

あとは色々とググりつつ頑張って書きます。





MySQLの知識が全くなかったので少し勉強になりました。

Google app engineを使い始めようとして少しハマった

Webアプリを作ろうと思ってGoogle App Engine触ってみてます。
名前とかはこんな感じでつけた。わりとテキトー。
f:id:nyarurato:20140822031205p:plain

SDKをダウンロードしてとりあえずサーバーにアップロードしてみようと思ってGoogle App Engine LauncherのDeployボタンを押したら

2014-08-21 13:52:24 Running command: "['C:\\Python27\\pythonw.exe', '-u', 'D:\\proglam files\\Google\\google_appengine\\appcfg.py', '--no_cookies', u'--email=XXXX@gmail.com', '--passin', 'update', 'D:\\workspace\\progwork\\google_app_engine\\webapp-python']"
01:52 PM Application: webapp-python; version: 1
01:52 PM Host: appengine.google.com
01:52 PM 
Starting update of app: webapp-python, version: 1
01:52 PM Getting current resource limits.
Password for XXXXX@gmail.com: 01:52 PM Scanning files on local disk.
Error 404: --- begin server output ---
This application does not exist (app_id=u'webapp-python').
--- end server output ---
2014-08-21 13:52:27 (Process exited with code 1)

といった感じのログが出た。
Error 404: --- begin server output ---
This application does not exist (app_id=u'webapp-python').

とかいうエラー。

いろいろと調べて見るとappcfg.py の後に--no_cookiesと付けたほうがいい等書いてあったが、コマンドプロンプトから操作していないし、それにログを見ると既に付いている。

結果なにがおかしかったのかというと
f:id:nyarurato:20140822031202p:plain


nameをアプリのTitleと一致させていたがApplicationの名前(僕のであればnyaruratoo)と一致させなきゃいけなかったっぽい。
f:id:nyarurato:20140822031207p:plain



こんなかんじに変えてやり、もう一度Deployボタンを押すと

2014-08-22 03:06:05 Running command: "['C:\\Python27\\pythonw.exe', '-u', 'D:\\proglam files\\Google\\google_appengine\\appcfg.py', '--no_cookies', u'--email=XXXXX@gmail.com', '--passin', 'update', 'D:\\workspace\\progwork\\google_app_engine\\webapp-python']"
03:06 AM Application: nyaruratoo; version: 1
03:06 AM Host: appengine.google.com
03:06 AM 
Starting update of app: nyaruratoo, version: 1
03:06 AM Getting current resource limits.
Password for XXXXX@gmail.com: 03:06 AM Scanning files on local disk.
03:06 AM Cloning 1 static file.
03:06 AM Cloning 3 application files.
03:06 AM Uploading 1 files and blobs.
03:06 AM Uploaded 1 files and blobs
03:06 AM Compilation starting.
03:06 AM Compilation completed.
03:06 AM Starting deployment.
03:06 AM Checking if deployment succeeded.
03:06 AM Deployment successful.
03:06 AM Checking if updated app version is serving.
03:06 AM Completed update of app: nyaruratoo, version: 1
03:06 AM Uploading index definitions.
2014-08-22 03:06:34 (Process exited with code 0)




f:id:nyarurato:20140822033049p:plain
ようやくHello Worldできた