アセンブリ言語(1)-Debianインストール

アセンブリ言語を使用してみたいと思い、Linux OSをインストールすることにしました。32bit PCということもあり、ディストリビューションは、Debianを使用することにしました。Debianは下記サイトからダウンロードできます。

https://www.debian.org/index.ja.html

私は、下記からDVDに書き込み用のファイルをダウンロードして、インストールメディアを作成しました。用意する書き込みファイルは、「debian-10.4.0-i386-DVD-1.iso」です。「debian-10.4.0-i386-DVD-2.iso」と「debian-10.4.0-i386-DVD-3.iso」もありますが、こちらは追加ファイルですかね。

https://cdimage.debian.org/debian-cd/current/i386/iso-dvd/

インストールメディアが準備できあたら、インストールを実行します。デスクトップ環境は、PCのスペックも考慮して、「MATE」にしました。

インストールが完了したので、早速、端末を使用してコマンドを実行を試してみました。sudo apt-get install を使用してみましたが、使えませんでした。suコマンドを使用して、root権限にすると問題なく使用できました。現在のユーザにも権限を与えれば使えるのかな。また、そこらへんは調べてみたいと思います。 iwconfigも通常ユーザで使用できませんでした。root権限にすると実行できました。

端末の試用はとりあえずここまでとして、まずは、WiFiを使用したいので、その設定を行いたいと思います。このWiFiの設定に時間を費やしました。今回、使用したPCに搭載されている無線ボードが特殊なのかどうかわかりませんが、動きませんでした。おそらく、Marvell製だと思われます。ドライバをインストールしたところ、OSが起動しなくなったので、とりあえず他の方法で、WiFiに接続することにしました。結局、Buffaloの子機を使用することにしました。

まずは、wifi ドライバのインストールです。まずは、「source.list」します。「source.list」は、「etc→apt」フォルダにあります。各リポジトリにcontrib non-freeを追加します。DVDを参照するようになっているので、この部分はコメント化しました。「contrib」は、 パッケージ自体はmainだが,依存しているパッケージがnon-freeであるものを意味します。「non-free」は、再配布禁止のパッケージだそうです。ちなみに「main」は、 再配布可能なパッケージ です。

「source.list」の編集が完了したら、パッケージリストを「sudo apt-get update」コマンドで更新します。sudo apt-get install firmware-misc-nonfreeを実行して、BuffaloのWiFiドライバをインストールします。。バージョン8までは、「sudo apt-get install firmware-ralink」コマンドでしたが、バージョン9から変わったようです。対象ドライバは下記の通りです。

  • Ralink RT2070
  • Ralink RT2770
  • Ralink RT2870
  • Ralink RT3070
  • Ralink RT3071
  • Ralink RT3072
  • Ralink RT3370
  • Ralink RT3572
  • Ralink RT530
  • Ralink RT5372
  • Ralink RT5572

インテル製のWiFiドライバは、「sudo apt-get install firmware-iwlwifi」でインストール可能です。Mervell製のWiFiドライバは、「sudo apt-get install firmware-libertas」でインストールできると思いますが、私の場合、うまく動作しませんでした。

ドライバをインストールしたら、用意されているネットワークの設定アプリケーションでSSIDやパスワードを入力して設定すれば、Wifiの接続ができます。

これで、WiFiの設定は完了です。とりあえず、動作確認はここまでにして、次回は、コンパイラやデバッガのインストールをしていきたいと思います。

WROOM-02(3)-通信体系

前回、WROOM-02(ESP8266デバイス)を使う為に、Arduino IDEのセットアップをしました。今回、WROOM-02を使用して、無線通信を行おうと思うのですが、通信体系について考えておこうと思います。

主要な通信体系は大きくわけて下記の3つ考えれられます。

  1. WROOM-02を親機と考えたPCとWROOM-02の通信
  2. PCを親機と考えたPCとWROOM-02の通信
  3. PCとWROOM-02の間に無線ルーターを挟んだPCとWROOM-02の通信

他にもあると思いますが、主要なものはこの3つかなと思われます。

まずは、1 のWROOM-02を親機と考えたPCとWROOM-02の通信を行おうと思います。1 のWROOM-02を親機と考えたPCとWROOM-02の通信をする為のコードは下記のようになります。※注意:下記のコードをesp8266に書き込むと、ATコマンドは使用できなくなります。

WROOM-02(2)-Arduino開発環境設定

前回、WROOM-02を調査した結果、arduinoデバイスとして使用できる事がわかりました。それでは、Arduinoデバイスとして使用する為に、Aruduinoの開発環境をインストールします。下記サイトより、Arduino IDEをダウンロードしてインストールします。

https://www.arduino.cc/en/main/software

インストールが完了したら、Arduino IDEを起動して、ESP8266デバイスを使用する為の開発環境の設定を行います。※前回も説明しましたが、WROOM-02はESP8266を搭載したモジュールとなります。

まずは、ファイル-環境設定の追加のボードマネージャーのURLに、下記のURLコードを入力して、OKボタンを押します。

WROOM-02(1)-無線モジュールを調査

無線でアナログ情報を取得したいので、マイコンで制御できる無線を調べていると、WROOM-02にたどり着きました。RS232通信で、無線の設定をするようです。早速、試してみました。試したのは下記の2つの製品です。

電子太郎 ESP-WROOM-02開発ボード 2.4 GHz Wi-Fiモジュール MicroUSB

新品価格
¥1,700から
(2019/11/9 11:21時点)

ESP-WROOM-02ピッチ変換済みモジュール《T型》

新品価格
¥925から
(2019/11/9 11:23時点)

ESP-WROOM-02ピッチ変換済みモジュールは、価格は安いですが、RS232レベル変換モジュールや抵抗などを用意する必要がありますので、少々手間がかかります。

ESP-WROOM-02開発ボードは、RS232レベル変換モジュールや抵抗などが搭載されているので、価格はESP-WROOM-02ピッチ変換済みモジュールと比べて、価格は高いですが、USBケーブルと繋げるだけで使用できます。まず、試してみたい方には、ESP-WROOM-02開発ボードのほうが便利なので、今回は、ESP-WROOM-02開発ボードを使用指していこうと思います。

それでは、早速、ESP-WROOM-02開発ボードとPCをUSBケーブルで接続します。すると、ドライバーのインストールが始まりますので、インストールが完了するまで待ちます。

インストールが完了したら、TeraTermを立ち上げて、動作を確認します。TeraTermを実行したら、設定-シリアルポートよりボーレートを115200bpsに設定します。次に、設定-端末より送信の改行コードをCR+LFに設定します。
開発ボードのリセットボードを押すと下記のようなメッセージが表示されます。

readyと表示されればOKです。wroom-02はATコマンドと呼ばれるものが、使用できます。例えば、ATと送信すると、OKと返信が返ってきます。


このATコマンドを使用する事で、wroom-02の設定ができます。ここでふと疑問に思うことがありました。ATコマンドが使用できるということは、マイコンのようなものが搭載されているのでは?ちょっと調べてみると下記のことがわかりました。wroom-02はESP8266を搭載したモジュールです。では、ESP8266なにかと言いますと、マイコンを搭載したWiFiモジュールのようです。さらに、Arduinoデバイスとしても使用することが可能なようです。すばらしいですね。Arduinoデバイスを使用してみたいと思ってもいたので、Arduinoデバイスとして使用して、WiFiを使用してみようと思います。