一部ではありますがSIMカードの読み取りまではできました。しかし、IMSIの読み取りまではできませんでしたし、サンプルにちょっと手を加えて動かしただけなので、あまり自分の勉強にもなっていません。そこで、SIMカードの読み取りについては、もう少し深く掘り下げながら引き続き実験を続けていこうとおもいます。
そのためにもまずは足元を固めることにしました。これまではブレッドボードでしたがあまりにも場所を喰っていたので、ユニバーサル基板を使ってソケットをつなぎなおしました。
SIMカードとしてはFOMAカードを使っていましたが、このSIMはFOMAからLTEに機種変更した際に、古いガラケーと一緒に残してあったものです。そのため、このSIM自体が無効化されており、そのためにPINロックがかかった状態になっていたのかもしれません。改めて動作確認を進めるために、手持ちのマイクロSIMを使うべくサイズ変換のためのSIMアダプターも用意しました。今度使うSIMはデータ通信用に使っているIIJ Mioサービスのものですが、docomo網を使うためSIMもdocomoから提供されています。このSIMはおよそ3年前から使用しています。
今度は実験対象が現用のSIMカードなので、誤ってロックがかかることの無いように慎重に動作確認作業を進めていくことにします。まずは第一段階として、SIMカードの起動時の動きを確認するための、メッセージを追加してみます。SIMに電源を与えてリセット信号を加えると、SIMからリセットに応答するメッセージが送られてきます。このメッセージはATR (Answer To Reset)と呼ばれており、カードの動作に関する情報を保持しています。SIMにはクロックを与える必要がありますが、起動時にはおよそ9600pbs程度の速度になるようにして、通信を開始するようです。そして、ATRによって得られるSIMの動作状況を確認して、その後の実際の通信で使用する速度を決めて動作します。実際に実験してみると。。。
ATRとして20バイトの情報を受信して、その内容からその後の通信速度を100kに変更しています。ATRはバイナリ形式でエンコードされているので、これをエンコードしないとその意味を把握することはできません。ググってみたらデコードしてくれるサイトが見つかりました。素晴らしい。
詳しい意味はこれから勉強していきたいと思いますが、このSIMは 5V, 3V, 1.8Vの電源電圧に対応していることがわかります。4MHzクロック使用時の通信速度は125,000に相当となっていますが、実験ではAPBクロックとして32MHzを使っており、USARTは10分周に設定しているため3.2MHzクロックで動作します。そのため、125,000/4 × 3.2 = 100kbpsとなります。
試しにFOMAカードが返すATRも確認してみました。
同じように20バイトのデータが返ってきましたので、これをデコードしてみると...
こちらのカードは5Vと3Vだけの対応であり、1.8Vには対応していないことがわかります。
そのためにもまずは足元を固めることにしました。これまではブレッドボードでしたがあまりにも場所を喰っていたので、ユニバーサル基板を使ってソケットをつなぎなおしました。
SIMカードとしてはFOMAカードを使っていましたが、このSIMはFOMAからLTEに機種変更した際に、古いガラケーと一緒に残してあったものです。そのため、このSIM自体が無効化されており、そのためにPINロックがかかった状態になっていたのかもしれません。改めて動作確認を進めるために、手持ちのマイクロSIMを使うべくサイズ変換のためのSIMアダプターも用意しました。今度使うSIMはデータ通信用に使っているIIJ Mioサービスのものですが、docomo網を使うためSIMもdocomoから提供されています。このSIMはおよそ3年前から使用しています。
今度は実験対象が現用のSIMカードなので、誤ってロックがかかることの無いように慎重に動作確認作業を進めていくことにします。まずは第一段階として、SIMカードの起動時の動きを確認するための、メッセージを追加してみます。SIMに電源を与えてリセット信号を加えると、SIMからリセットに応答するメッセージが送られてきます。このメッセージはATR (Answer To Reset)と呼ばれており、カードの動作に関する情報を保持しています。SIMにはクロックを与える必要がありますが、起動時にはおよそ9600pbs程度の速度になるようにして、通信を開始するようです。そして、ATRによって得られるSIMの動作状況を確認して、その後の実際の通信で使用する速度を決めて動作します。実際に実験してみると。。。
ATRとして20バイトの情報を受信して、その内容からその後の通信速度を100kに変更しています。ATRはバイナリ形式でエンコードされているので、これをエンコードしないとその意味を把握することはできません。ググってみたらデコードしてくれるサイトが見つかりました。素晴らしい。
詳しい意味はこれから勉強していきたいと思いますが、このSIMは 5V, 3V, 1.8Vの電源電圧に対応していることがわかります。4MHzクロック使用時の通信速度は125,000に相当となっていますが、実験ではAPBクロックとして32MHzを使っており、USARTは10分周に設定しているため3.2MHzクロックで動作します。そのため、125,000/4 × 3.2 = 100kbpsとなります。
試しにFOMAカードが返すATRも確認してみました。
同じように20バイトのデータが返ってきましたので、これをデコードしてみると...
こちらのカードは5Vと3Vだけの対応であり、1.8Vには対応していないことがわかります。