2018年3月17日土曜日

RN4020のファームウェアをアップデートしてみた

というわけで秋月で購入してみたRN4020のファームウェアを更新してみた。
ファームウェアを更新するとi2cに対応したりiBeaconに対応するらしい。
ただしファームウェア更新失敗するとRN42みたいに復活できないっぽいので、旧バージョンでも困ってない場合はやらないほうがいいかも…
ちなみにi2cは1.20から対応で、ビーコン系は1.33 BECから対応らしい。

RN4020はとりあえずモジュールしか買ってないので適当にはんだ付けで…
ファームウェア更新にはフローコントロールを使うようなので、手持ちのFT232R搭載のUSBシリアルモジュールを3.3V設定にして使用した。
CTSとDTRしかなかったけど、とりあえずRN4020のCTSをDTRに、RN4020のRTSをCTSにつないで見たらオッケーだった。

まずはCooltermを使用してバージョン確認。デフォルトのBaudrateは115200。
+を押してエンターでEchoのオンオフを切り替えられるのでとりあえずオンにしておいた。
そしたらVを押してエンターでバージョンが見れる。

今回使用したモジュールはv1.10.09だった。
お次にファームウェアアップデートのためにMLDPとフローコントロールを有効にするコマンドを送信する。
SR,32000000
を入力してエンター。
ACKが帰ってきたら正常。
あとは一旦電源を切ってファームウェアアップデートツールをダウンロードしてくる。

ファームウェアアップデートツールはRN4020の公式ページのドキュメントの下の方からダウンロードできる。
RN4020 DFU Utilityを起動したらScanを押してCOMポートをスキャンして選択。
あとはファームウェアを選択してUpdateを押すだけ。このツールはフローコントロールが必要なのでちゃんと結線されてないとエラーが出る。
Updateを押して少し待つと完了。
ちなみにある程度ゲージが進んでからアップデート失敗すると電源オフらない限りは何回かトライできるみたいだけど電源をオフってしまうと起動しなくなることもあるらしい…
フロー制御がうまく行かなくてゲージが進まないで失敗する場合は大丈夫みたいだけど。あとはシリアルポートのフロー制御をバイパスしてたりすると失敗するみたいな…

もう一回バージョンを確認してみたらちゃんと1.33.4 BECにアップデートされていた。
これでiBeaconが作れるようになるっぽい。

0 件のコメント:

コメントを投稿