update.はじめにSwiftはあんまり関係ないですけど。mm辛いので手を出してみたら、やっぱりCocoaは手のかかる子だったという......慣れればもっとうまく書けるのだろうか。それはさておき、昨年末に色々と調査してたKoshian/Konashiについて休暇が終わる前にまとめておこう......と、そういうわけです。OTAFUKoshianとKonashiについては過去の記事を参考にして下さい。要は1,000円で入手できるBLEモジュールで、Bluetooth経由でファームウェアの書き換えができる事になってます。ツール等も特に提供されておらず、仕様も謎で使いこなすのに苦戦していた、というのが前回までのあらすじ。Xからファームを書き換える事に成功したため、せっかくなのできちっとしたアプリとしてまとめてみました。こんなのどどーん!なんとGUI。CUIで非同期とか新境地で嫌だっただけなんですが。Broadcom社のツール程度の事はできます。一式GitHubにて公開してます。OTAFUのサービス、キャラクタリスティクスはともにファーム書き込み時に決定するランダムなUUIDを用いているようです。Point、もう一方がDataみたいな雑な判定してます。Pointから届きます(ややこしい)。Xが正しく通知を配送してくれません。OTAFU側のサービスがハリボテなので、Configurationしようとするとエラーが返ってきます。いう、結構悩ましい問題。iOS版のKonashi.jsがどんな仕組みで動いているのか非常に気になるところですが。通知をチェックせずに、データの取りこぼしだけ気をつけてガンガン書き込んでいけば最後にCRC32が一致したところでファームが更新される模様。今まで何十回も書いてきたけどCRC不一致は一度も起きてないし、起きたら起きたで更新されないだけなので、実用上はあまり問題ないかな、と思います。ちなみにWindowsだとコールバック登録しておけばNotificationの設定しなくても通知が配送されるみたいで、きちんと結果チェック付きで動きました。挙動は気持ち悪いですが。おわりにとりあえずBLEについて理解深めたいなぁ、と思って入手したKoshian。おかげでBLEにはだいぶ親しみが持てました。APIに詳しくなってしまいました。挙句の果てにはSwiftまで......。Bluetooth使ってWebからファームを書き換えたいなぁ、とか思ってただけだったんですけどね。趣味だから出来る究極の遠回り。upLoginユーザーは見つかりませんでした。