ファームウェアのバージョンアップですが
Microchip社ではWindowsのアプリ
で行うようになっています
iBeaconに対応しているバージョンは
1.33BEC
ですが、現在のバージョンを調べると
1.23.5
になっています
Developer Helpのサイトに
詳しいやり方がありますが
ここから辿れるのは、1.23.5への
バージョンアップツールのみ
何かおかしい
RN4020 Firmware Update
でググると、Developerのフォーラムに
たどり着くことができて、
そこに、1.33BEC対応のWindowsソフト
のリンクにたどり着ける
ダウンロード元のドメインは
microchip社のもののようなの
間違いない
これで、ようやくUpdateできると
おもいきや、ソフトはWindowsのみ
しかたないのでWindowsのPCを
立ち上げインストール
しかし・・・
エラーで止まるではありませんか
シリアル通信でエラーを起こしている
ように見える
1.23.5しか対応していないHelpサイト
だが、よく読むとこんなことが書いてある
* UART hardware flow control (RTS/CTS) must be used
いわゆるUARTのハードウェア制御を使え!と
このハードウェア制御を使うケースは非常に稀で
(過去お目にかかった記憶がない)
Windowsのシリアルポートもデフォルトでは
無効になっている
なるほど、と思い、Windowsの
シリアルポートを設定してみた
しかし、うまくゆかない・・・
前回の記事で参考にさせていただいたサイト
ではモジュール自身がRN4020のCTS端子が
部分の結線がされていないため
工作しなければなりませんが
秋月のモジュールは既に結線されて
いるので工作は不要
では、なんでだ?
よくよく読むと
参考にさせてもらったサイトに
RN4020 Firmware Updateの記事もあり
以下のようなおまじないが必要だとのこと
1 |
+
Echo on
SR,32000000
OK
R,1
Reboot
CMD |
RN4020のサービスの
SR,32000000
とは、マニュアルに直接書いてない
ビット毎に機能が割り振られている
のから推測すると
02000000はUARTのハードウェアフローセット
(これは、Update時のUARTの指定)
30000000は
10000000(UART)へのオートアドバタイズと
20000000のMLDPの設定の合わせ技
だと思われる
確かに、エラーメッセージが
*Unable to communicate with RN4020
なのでシリアル通信がコミュニケート
できていないとは言ってない
RN4020さんとのやりとりすることを
考えればMLDPが必要で、自動でUARTに
レスポンス(アドバタイズ)が必要になる
ということで理屈は合うが
こんなのわかるわけない
どうも、Updateをさせまい、という気が
してならない
とにかく、これでUpdateができたので
Beaconの発信ができる