朝に悪心で眼が覚め、すこしすると連続した水下痢に。断続的に下痢が出続ける。

悪心もあるので寝ていようとしたが、寝ると夢の中でも下痢をしており、ケツから漏れるという夢を見て「ガタッ!!」と起きること数回、「夢は見るものではなく実現するもの」と言わんばかりに夢じゃなくなったので履いていたパンツは捨てて新しいのし、ズボンは漂白に。

一通り落ちついてきたので一旦会社に行ってしょぼいタスクをやって、やっぱキツいので帰宅して寝ていたが、不用意に寝ると漏れる夢を見るので落ちつかず。

最近子どもが胃腸炎だったので伝染ってきたようだ。妻も胃腸炎で死んでおり、家庭が崩壊している。なお子どもはもう割と元気。

驚異の防臭袋 BOS(ボス)Sサイズ大容量200枚入り 赤ちゃん用 おむつ 処理袋 (袋カラー:ピンク) - BOS

BOS

5.0 / 5.0

パンツ捨てるときはこれに入れた。ほんとこの袋は死ぬほど便利だ

あたりの続きです。

シリアル接続を Bluetooth にして、スマートフォンから接続して測定して結果を表示するようにしています。

Bluetooth モジュールは RN42 を使っています。基板上に載せることもできるようにしたのですが、コントロール側の基板が無駄に大きく、別途作りなおそうかとも思っているので、ひとまずブレッドボードで接続しています。

アプリケーション側

ネイティブで書く気はさらさら起きないため Apache Cordova を使っています。HTML + CSS + JS でアプリを書くやつですがいろんなところで実績があるので割と安心して使えそうです。何度か触ってますが Hello, World までしかやったことがなかったので、Cordova でまともなアプリケーションを作るのは初めてです。

Bluetooth SPP を使いたいので、cordova-plugin-bluetooth-serial を使っています。

全体的なフレームワークとして Polymer を使っています。とはいえレンダリングは canvas なので今のところあんまり Polymer 的機能はつかっていません。

割と普通に書いたら動いたので、それほどハマりどころはありませんでした。

その他

コードはそのうち公開します。

これでとりあえず、

  1. いくつかの設計候補からの設計方針の決定
  2. 実際の回路図起こし (Eagle)
  3. 基板のアートワーク・基板発注 (Eagle, PCB Way)
  4. 手実装
  5. ファームウェアの開発 (mbed)
  6. ソフトウェア開発 (Cordova, Polymer)

までを一通り一つのプロジェクトとして、ほぼ独りでできる見通しになりました。

自分で作ったハードウェアを自分で書いたソフトウェア、特にインターフェイス部分は HTML/CSS/JS という高レイヤーまで一通りできたぞという実感がようやく沸いてきたので嬉しいです。

  1. トップ
  2. tech
  3. 自作アンテナアナライザーのBluetooth化とアプリケーション

Ruby の serialport gemで Bluetooth SPP を使おうとすると Errno::EBUSY がでてうまく通信できず、なんでだろう、となりました。接続先の Bluetooth モジュールは Microchip の RN42です。

結論からいうと sleep するしかなさそうです。

begin
	@port = SerialPort.new(
		"/dev/tty.RNBT-68BF-RNI-SPP",
		115200,
		8,
		1,
		0
	)
rescue Errno::EBUSY
	sleep 1
	retry
end

今回のケース

  1. MCU と RN42 の TX/RX/GND を接続し、RN42 に 3.3V を供給 (接続はこれらのみ)
  2. この状態で Mac から RN42 をペアリングする。
    • /dev/tty.RNBT-68BF-RNI-SPP みたいなファイルができる。
  3. Ruby のプログラムで serialport gem を使って通信する

したがって MCU と RN42 の間にはフローコントロールはありません。

  1. トップ
  2. tech
  3. Ruby の serialport gem で Bluetooth SPP を使おうとすると Errno::EBUSY

なんか一時期 elecrow のサイトがさっぱり見れなかったので、PCB Way というのを使ってみました。

簡単かつ安く高精度なアンテナアナライザーを自作したい | tech - 氾濫原 の基板ができあがったそれです。


ガーバー提出

PCB Way は

  • ファイルを提出
  • レビューをうける
  • 支払い

というフローになっていて、レビューが通らないと支払いができません。

今回ちょっと微妙なケース(外形には2枚の基板に見えるが実際は繋がっていて1枚)のガーバーファイルを提出しましたが、1日以内にメールがきて「ここはどうするのか?」と聞かれました (英語です)。普通に回答して返信したらレビューを通してくれました。

あと支払い終了後に支払い失敗という表示になってあせりましたが、PCB Way上で再度確認するとトランザクションは完了してて、とりあえず問題なさそうでした。

リードタイム


DHL がデフォルト発送業者になっていますが、PCB本体よりも送料が圧倒的に高くなるので Hongkong Post での発送にしました。Hongkong Post だとリードタイム最大30日と書いてあってヒヨりますが、とりあえず急いでいないのと、さすがにそこまでかからないだろうという気持ちがあります。

発注から発送開始までは3日ぐらいでした。詳細なプログレスが表示されるのでなんかすごい感じがします。プログレスのビューにある Finished Time は中国時間のようなので、JST-1 です。

Delivery になってからも実際の Hongkong Post のサイトでトラッキングできるようになるまで3日かかりました。Delivery となっても実際投函しているわけではなく、ある程度溜ったのを一括で投函している?ようです。

Hongkong Post で引受状態になると日本郵政でもトラッキングできるようになります。ただ、国内に入るまでは Hongkong Post のサイトでトラッキングしたほうが詳細情報が見れます。引受状態になってから、実際に自宅にくるまでは4日でした。

ということで、発注から9日ぐらいで届きました。

価格

最大 10cm x 10cm のプラン5枚で本体が $13、送料が$9で、$22でした。

仕上がり

一部、細かいところでソルダーマスクが剥れている部分がありましたが致命的ではありませんでした。シルクの綺麗さも特に問題を感じるようなものではないと思います。

Elecrow と比較して

ぶっちゃけ好みな気はしますが、任意の色のソルダーマスクで10x10cmを作る場合は PCB Way のほうが安そうです。

値段以外だと PCB Way は作業状況がちくいちウェブで見れるのは面白いです。一方で Elecrow は発送時に写真をとって送ってくれるのは嬉しいサービスです。が、いずれにせよPCB本体には特に関係ありません。

サイトのできは PCB Way のほうがモダンで良くできている感じがします。支払いでエラーになったのがアレですが……

  1. トップ
  2. tech
  3. PCB Way を使ってみたよ

DIP だと思ったら 2mm ピッチでブレッドボードで使えなかったので PCB Milling で変換基板を掘りました……

変換する基板も売ってますが不必要に高いので雑に掘りました。

削るところを少なくするためにもベタGND にしたいので単純な変換基板ではなく GND がベタに繋がるようになっています。1pin のマーキングのためどこにも繋がらないViaを設置しました。

回路図はひかず Eagle のボード画面だけをCADとして使っています。

スルーホールができないので変換基板は工夫が必要です。細ピンヘッダを無理やり押しこんで片側によせています。ハンダ付け時にハンダをつけすぎるとブレッドボードに刺さらなくなるため結構気をつかいます。

気付いたとき失敗したなあと思いましたが接続状況がでるLEDがついてるのはとりあえずテストするには便利なのでこれはこれでいいと納得すうことにします。

  1. トップ
  2. tech
  3. 間違えて RN-42 の 2mmピッチ基板のやつを買ってしまった