ESP8266で遊ぶ


開発環境を作る - デモプログラムをコンパイル (1) -

GitHubにリポジトリを作成

まずGitHubに新しくリポジトリを作成します。

Repository name
リポジトリ名
Description
このリポジトリの簡単な説明
Public
こちらを選択しました。
(無償利用では、Privateを選択できません。)
Initialize this repository with a README
チェックを入れて、READMEのひな型を作成します。
 
Add .gitignore:
C を選択しました。
Add a lisense:
GNU General Public License v3.0 を選択しました。

今作成したリポジトリのページのCodeタブにあるClone or downloadボタンを押して表示されるURLをコピーします。
SourceTreeを起動して、メニューバーから[ファイル]-[新規/クローンを作成する]を選択します。
ダイアログの各項目に次の値を設定します。

元のパス/URL
コピーしたURL
保存先のパス。
任意のパス
名前
任意の名称

クローンボタンを押します。
Git Flowボタンを押して基本のブランチを宣言します。
作成されたブランチをプッシュします。

Eclipseのプロジェクト作成

Eclipseを起動します。
メニューバーより[ファイル]-[新規]-[プロジェクト]を選択します。
一般のプロジェクトを選択して次へボタンを押します。
プロジェクト名を入力します。
デフォルト・ロケーションを使用のチェックを外してロケーションにクローンされたリポジトリのパスを入力して完了ボタンを押します。

SDKをコピー

最新のSDKをESPRESSIFのサイトからダウンロードします。
今回は、ESP8266 NONOS SDK V2.0.0 20160810を選択しました。
この他に、リアルタイムOS向けのSDKも提供されています。
ダウンロードしたSDKのzipファイルを解凍して、次の5ディレクトリをプロジェクトの直下にコピーします。

  1. bin
  2. driver_lib
  3. include
  4. ld
  5. lib

プロジェクトの直下にsrcフォルダを作成します。
SDKの中のexamplesの中のIoT_Demoディレクトリの中にあるディレクトリとファイルをsrcの中にコピーします。

リモートマシンでコンパイル

リモートマシンのlinuxで、プロジェクトのディレクトリに対してホームディレクトリから容易にアクセスできるようにリンクを張ります。
$ ln -s /mnt/windows/プロジェクトディレクトリ ~/esp8266 コンパイルを試みます。
$ cd ~/esp8266 $ ./gen_misc.sh gen_misc.sh version 20150511 Please follow below steps(1-5) to generate specific bin(s): STEP 1: choose boot version(0=boot_v1.1, 1=boot_v1.2+, 2=none) enter(0/1/2, default 2): boot mode: none STEP 2: choose bin generate(0=eagle.flash.bin+eagle.irom0text.bin, 1=user1.bin, 2=user2.bin) enter (0/1/2, default 0): generate bin: eagle.flash.bin+eagle.irom0text.bin STEP 3: choose spi speed(0=20MHz, 1=26.7MHz, 2=40MHz, 3=80MHz) enter (0/1/2/3, default 2): spi speed: 40 MHz STEP 4: choose spi mode(0=QIO, 1=QOUT, 2=DIO, 3=DOUT) enter (0/1/2/3, default 0): spi mode: QIO STEP 5: choose spi size and map 0= 512KB( 256KB+ 256KB) 2=1024KB( 512KB+ 512KB) 3=2048KB( 512KB+ 512KB) 4=4096KB( 512KB+ 512KB) 5=2048KB(1024KB+1024KB) 6=4096KB(1024KB+1024KB) enter (0/2/3/4/5/6, default 0): start... make: Nothing to be done for `FORCE'. う~ん。なにか間違えたみたい。

Makefileが残っていることに気が付いたので、これをプロジェクトの直下にコピーします。
再びコンパイルを試みます。
$ ./gen_misc.sh gen_misc.sh version 20150511 Please follow below steps(1-5) to generate specific bin(s): STEP 1: choose boot version(0=boot_v1.1, 1=boot_v1.2+, 2=none) enter(0/1/2, default 2): boot mode: none STEP 2: choose bin generate(0=eagle.flash.bin+eagle.irom0text.bin, 1=user1.bin, 2=user2.bin) enter (0/1/2, default 0): generate bin: eagle.flash.bin+eagle.irom0text.bin STEP 3: choose spi speed(0=20MHz, 1=26.7MHz, 2=40MHz, 3=80MHz) enter (0/1/2/3, default 2): spi speed: 40 MHz STEP 4: choose spi mode(0=QIO, 1=QOUT, 2=DIO, 3=DOUT) enter (0/1/2/3, default 0): spi mode: QIO STEP 5: choose spi size and map 0= 512KB( 256KB+ 256KB) 2=1024KB( 512KB+ 512KB) 3=2048KB( 512KB+ 512KB) 4=4096KB( 512KB+ 512KB) 5=2048KB(1024KB+1024KB) 6=4096KB(1024KB+1024KB) enter (0/2/3/4/5/6, default 0): spi size: 512KB spi ota map: 256KB + 256KB start... make[1]: Entering directory `/mnt/windows/Project/esp8266_trial/src/user' !!! python: can't open file '../tools/gen_appbin.py': [Errno 2] No such file or directory make: *** [.output/eagle/debug/bin/eagle.app.v6.bin] Error 2 toolsディレクトリがないとエラーになりました。toolsディレクトリをコピーします。
再びコンパイルを試みます。
$ ./gen_misc.sh gen_misc.sh version 20150511 Please follow below steps(1-5) to generate specific bin(s): STEP 1: choose boot version(0=boot_v1.1, 1=boot_v1.2+, 2=none) enter(0/1/2, default 2): boot mode: none STEP 2: choose bin generate(0=eagle.flash.bin+eagle.irom0text.bin, 1=user1.bin, 2=user2.bin) enter (0/1/2, default 0): generate bin: eagle.flash.bin+eagle.irom0text.bin STEP 3: choose spi speed(0=20MHz, 1=26.7MHz, 2=40MHz, 3=80MHz) enter (0/1/2/3, default 2): spi speed: 40 MHz STEP 4: choose spi mode(0=QIO, 1=QOUT, 2=DIO, 3=DOUT) enter (0/1/2/3, default 0): spi mode: QIO STEP 5: choose spi size and map 0= 512KB( 256KB+ 256KB) 2=1024KB( 512KB+ 512KB) 3=2048KB( 512KB+ 512KB) 4=4096KB( 512KB+ 512KB) 5=2048KB(1024KB+1024KB) 6=4096KB(1024KB+1024KB) enter (0/2/3/4/5/6, default 0): spi size: 512KB spi ota map: 256KB + 256KB start... make[1]: Entering directory `/mnt/windows/Project/esp8266_trial/src/user' !!! No boot needed. Generate eagle.flash.bin and eagle.irom0text.bin successully in folder bin. eagle.flash.bin-------->0x00000 eagle.irom0text.bin---->0x10000 !!! コンパイルが終わったようです。