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

望遠レンズを買ったのでいろいろ撮ってみた

レンズ交換できるカメラは、危険だと思って近づかなかったのに、、、

中古のα6000と単焦点レンズ(SEL35F18)を買ったので最近カメラが楽しいです。

 

やっぱり望遠レンズって必要じゃないですか

SEL24240とSEL70300Gで悩んだ結果

 

 

α6000につけると 450mm(35mm換算)まで行けるのこれしかないので

SEL70300Gにしました

 

こんな箱

f:id:hrdakinori:20160624191044j:plain

 

α6000につけるとこんな感じになる

f:id:hrdakinori:20160624195136j:plain

 

バランス的にはレンズのほうが重い

 

 

撮ってみた写真

秋葉原

105mm(35mm換算)

f:id:hrdakinori:20160626134211j:plain

 

450mm(35mm換算)

 

f:id:hrdakinori:20160626134231j:plain

 

105mm(35mm換算)

 

f:id:hrdakinori:20160626131742j:plain

羽田空港

東京ゲートブリッジ

f:id:hrdakinori:20160626154933j:plain

787

f:id:hrdakinori:20160626165542j:plain

流し撮りに初挑戦したやつ

f:id:hrdakinori:20160626182459j:plain

 

夜の東京ゲートブリッジ

f:id:hrdakinori:20160626192655j:plain

 

空港

f:id:hrdakinori:20160626193245j:plain

港が見える丘公園

ボケ具合を

f:id:hrdakinori:20160703160600j:plain

f:id:hrdakinori:20160703160150j:plain

f:id:hrdakinori:20160703160015j:plain

大さん橋

ダイヤモンド・プリンセス

f:id:hrdakinori:20160703164739j:plain

 

 

GAE+独自ドメインにSSLを設定

web

GAE+独自ドメインSSLを設定するのにGoogle Appsが必要だったが
最近は違うようなので試してみました。

qiita.com


CSRを作るときにコマンドが必要だけど
サーバーに証明書を転送したり、設定ファイルを変更したりは必要なくて楽でした。


SSLを強制するのもapp.yamlを変更するだけでした。

- url: /.*
  script: _go_app
  secure: always

フレッツでIPv6使えるようになってた

web

住んでるマンションは「Bフレッツ マンションタイプ」だと思っていたら
いつの間にか「フレッツ 光ネクスト」になっていたらしい


「フレッツ 光ネクスト」が始まったころに切り替えるの大変ですみたいにNTTの人言ってたのに...


Bフレッツ ハイパーファミリータイプ」、および「Bフレッツ マンションタイプ」の「フレッツ 光ネクスト」へのサービス移行について|フレッツ公式|NTT東日本
https://flets.com/news_release/service-migration.html


ということで「IPv6アドレスを用いたインターネット接続」が使えるみたいです。


公式サイト見てもよくわからないです
サービス概要 | OCN 「フレッツ光」対応 IPv6インターネット接続
http://service.ocn.ne.jp/ipv6/access/


接続機器とか買わなくてもYAMAHAルーターIPv6 PPPoEに対応しているので、
Web設定からIPv6 PPPoEを選んでIPv6用の接続情報を入れると、ルーティングしてくれます。
ただIPv4DNS使うとAAAAレコードがフィルタされるようなので、
ルーターDNSの問い合わせ先をIPv6優先にしておくと対応サイトはIPv6で接続してくれます。


ブラウザにインジケーター入れておくとIPv6対応サイトが分かって面白いです。
googleはだいたいIPv6でつながるのかな

BLEモジュールBL600を試してみた

電子工作

今回使用したボードはこれです
FRISKケースに入るBL600基板 REBL600FR - ランニングエレクトロニクス
http://www.runele.com/ca1/24/p-r-s/


UART-USB変換ケーブルを使いました
UARTのピンをつけてもFRISKケースに入る


UwTerminalを使えばsmartBASICをコンパイルして転送とかできます
あとATコマンドを使って大体のことはできるみたい


ファームウェアバージョンを表示するときは、こんな感じ

ATI 3
10 3 1.2.54.0
00

内部のファイルシステムのファイル一覧を出すとき

ATI+DIR

06 test1
00

・新しめのファームウェアがLaird TechnologyのサイトにあってUARTで更新できそうだけど
 1.5以上のファームウェアからしか更新できないのかな
 (もとから書いてあるファーム1.2.54.0からやってみたがファイルシステムが変なことになる^^;)
・UwTerminalは最新ファームウェアのサンプルフォルダにあるものが最新らしい
サンプルソースがライブラリを呼んで終わり、みたいなのが多くて
 変更しようとしたときどこから手を付けてよいのかわからない


BLEおいといて、とりあえずI2Cで遊んでみる

Intel Galileoで集めたセンサーデータをFluentd + GrowthForecastでグラフ化する

web

Android Bazaar and Conference 2014 Spring http://www.android-group.jp/conference/abc2014s/に参加してきました
Androidに関係のないGalileoを使った物を展示してました(^^;)


まずセンサーデータはXBeeのメッシュネットワークを使用してGalileoに送ります。
・温度センサー(LM60BIZ)は、XBeeのA/D変換を使って周期的に計測
・温度,湿度センサー(AM2321)、気圧センサー(LPS331)は、LPC812にI2Cで接続して周期的に計測
 LPC812のところをLPC810で出来ると良いなぁ



GalileoではXBeeからのデータをまとめて、JSONにしてサーバー(ConoHa VPS)に送る。
データの処理にはFluentdを使います。
1. GalileoからFluentdのhttp Input PluginにPOSTします。
2. FluentdのOutput PluginでGrowthForecastとMongoDBに送ります。


Fluentd: Open Source Log Management http://fluentd.org/
GrowthForecast - Lightning fast Graphing / Visualization http://kazeburo.github.io/GrowthForecast/


あとはGrowthForecastがいい感じにグラフにしてくれます。


Intel GalileoでEthernet Libraryを使うとエラーがでる

電子工作

Ethernet Libraryを使ってHTTPでサーバに接続するプログラムを作ったのだけど
EthernetClientのstop関数を呼ぶとログに** B0100000063f694が出て動作が停止する


ググルとこんなのあるけど同じことしても解消しなかった
Ethernet Library: sketch crashes when remote cl... | Intel Communities


このファイルの\arduino-1.5.3\hardware\arduino\x86\libraries\Ethernet\EthernetClient.cpp
stop関数のソース見てたら_inactive_counterにアクセスしているあたりで
エラーが出ている。

void EthernetClient::stop()
{
	if (_sock < 0)
		return;

	connect_true = false;
	if (_inactive_counter != NULL)
		*_inactive_counter = 0;
	if(_sock != -1){
		close(_sock);
		_sock = -1;

		// Sketches do a Ethernet client = server.available() - which means a copy constructor is used
		// Hence any server which populated a pclients[idx] - won't actually see the socket closed - since
		// his client was copied - not given a pointer to.... pcleint[] in EthernetServer.cpp _sock != -1 at this point
		// make it so !
		if(_pCloseServer != NULL){
		    	_pCloseServer->closeNotify(this->id);
		}
	}
}

よく見ると_inactive_counterが初期されてないように見えるので、
とりあえずコンストラクタでNULLにしてみたらエラーが出なくなった


EthernetServer.cpp

		for(int sock = 0; sock < MAX_SOCK_NUM && success == 0; sock++){
			if (pclients[sock]._sock == -1){
				pclients[sock]._sock = ret;
				pclients[sock]._pCloseServer = this;
				pclients[sock].connect_true = true;
				pclients[sock]._inactive_counter = &_pcli_inactivity_counter[sock];
				success = 1;
			}
		}

EthernetServerから使われるときはポインタに値が入るみたいだ
これでいいのかな...

BitbucketのprivateリポジトリをwerckerでさくらのVPSにデプロイ

web

サイトをいままでWinSCPでぽちぽち更新していたのですが、やっぱりgitにpushしたら更新されると良いですよね
なんか今風のWebサービスがあったのでhttp://wercker.com/を設定してみた

  • 今のところは無料みたい
  • Boxって環境を切り替えて、ビルドやテストもできるみたい
  • Androidアプリもビルドできる??
  • 設定を共有できる??
  • dockerがつかえる??


画面


今回の流れ
git push -> Bitbucket - git -> wercker - capistrano -> さくらのVPS(反映と再起動)


werckerの設定

boxはruby
buildでテストとか実行するらしいが今回は無しで
SSHの接続のためのkeyを作っています

box: wercker/ruby
services:
  - wercker/mysql
build:
  steps:
    - bundle-install
    - bundle-package
deploy:
  steps:
    - script:
        name: make .ssh directory
        code: mkdir -p "$HOME/.ssh"
    - create-file:
        name: write ssh key
        filename: $HOME/.ssh/id_rsa
        overwrite: true
        hide-from-log: true
        content: $WERCKER_CAP_PRIVATE_KEY_PRIVATE
    - script:
        name: set permissions for ssh key
        code: chmod 0400 $HOME/.ssh/id_rsa
    - bundle-install
    - cap

Key managementが変わったようでwebからkeyを作ることができるようになって、private keyが見れない感じに

Capistrano

Capistranoを一度も使ってなくて調べながらなんとかSSHで接続してファイルが反映されるところまではできた。
Capistrano2と3が違いすぎて辛い
rubyのサーバを再起動したいのだけど調べ中