趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。
RSS icon
  • ESP8266対応のArduino IDEをビルドしてみた

    投稿日 2015年 4月 12日 コメントはありません

    先に紹介したESP8266対応のArduino IDEですが、GitHubにはなぜかLinuxの32bit版が存在しません。

    そこで、ビルドしてみました。
    環境は Ubuntu 14.04 LTS 32bit 版、CPUはCeleron847です。

    結論から言うと、ビルドするだけなら非常に簡単です。(ビルドするだけなら、ですけどね)
    手順は単にドキュメントに書かれているとおりです。

    まず、

    $ git clone https://github.com/esp8266/Arduino.git

    で、一式持ってきます。ここでダウンロードする量は1GBを超えるので、一体ビルドするのにどんなにかかるんだろう、と不安になります。

    $ cd Arduino/build
    $ and dist

    でビルドします。1回目は「JDKがない」と言われて失敗してしまいました。
    そこで、synapticで「default-jdk」をインストールして、再度、

    $ ant dist

    としてみました。すると、何やらさらに大量にダウンロードしていますので、一晩二晩くらいビルドにかかるんだろうか、と放置して寝ました。

    しかし、起きてみると、最後に、

    linux-dist:
     [echo] 
     [echo] =======================================================
     [echo] Arduino for Linux was built. Grab the archive from
     [echo] 
     [echo] linux/arduino-1.6.1-linux32.tar.xz
     [echo] =======================================================
     [echo]
    linux32-dist:
    BUILD SUCCESSFUL
    Total time: 9 minutes 29 seconds
    $

    として完了していました。表示を信じるなら10分弱で完了しています。

    いざ起動ですが、GitHubには起動方法は書かれていません。
    で、ぐぐってみると本家(?)のArduinoのビルド方法の説明が見つかりました。
    こちらを参考に、

    $ ant run

    とすると、少し経って arduino IDE が起動しました。

    ・・・が、ビルドしようとすると、g++が見つけられないようでエラーになってしまいます。しかし、すでにxtensa用のg++はビルド済みなので、

    $ ln -s /home/xxx/esp-open-sdk/xtensa-lx106-elf /home/xxx/Arduino/build/linux/work/hardware/tools/esp8266/.

    としてリンクを張ってやるとコンパイルは通るようになりました。・・・が、こんどは esptools ディレクトリがないと言ってエラーになるので、

    $ ln -s /home/xxx/esp-open-sdk/esptool /home/xxx/Arduino/build/linux/work/hardware/tools/esp8266/.

    として、リンクを張りました。・・・が、それでもまだエラーが出ます。

    Cannot run program "/home/xxx/Arduino/build/linux/work/hardware/tools/esp8266/esptool": error=13, 許可がありません

    切り分けるため、

    $ sudo ant run

    として起動してやると、ビルドが通りました。
    ・・・・が、通常起動ができなくなってしまいました。パーミッション周りでまだいろいろあるようです。

    $ ant clean
    $ ant run

    とすると起動はできましたが、シンボリックリンクが消失しているのか、また振り出しに戻ってしまいます。

    まあ、ここまでやるんなら、素直にOSを64bit版Linuxにした方がいいような気がします(^^;


    コメントをどうぞ(日本語のみ/Only in Japanese)

    日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)