ESP32を構築するためのUbuntuシステムの開発環境

序文

物事のESP32は比較的チップを傾け、市場ということができます。BLEと統合の802.11bのWi-Fiを提供しています。低消費電力、処理速度が非常に強いです。現在、それはまた、単にESP32を開始しています。しかし、環境にインストールする場合、ピットの多くのステップ。
もちろんESP32は、多くの方法の開発をサポート。(msys32は、Linux仮想環境であるため、この方法は、コンパイラが遅くなりますので、)例えば、Arduinoの開発では、窓の下msys32はESP-IDFの開発環境を追加し、あなたはまた、EclipseのIDE + CMakeの+ ESP-IDFの開発を使用することができますが、また、 GNUのメイク+ ESP-IDFは、Linuxシステムの開発が使用することができます。
私は、開発環境のLinuxシステムを使用しています。ここで引かれていない、それがピットロードを埋めるために開始することができます。
メイン参照の設置環境 <Lexinの公式ウェブサイト>
(注:複数のライブラリやツールをダウンロードするには、インストール環境の間に必要なので、とてもスムーズなネットワークを確保します)

まず、準備インストール

  • ここでは、Linuxのリリースを使用することですubuntu 16.04 LTS
  • 基本的な環境のニーズがあるpython2gitツールは、(これらのツールなしでBaiduのをインストールすることができます)
  • mkdir -p ~/esp32/source ~/esp32/crossTool ~/esp32/demos これらのディレクトリのすべてを作成するには、このコマンドを使用します

図1に示すように、更新Ubuntuのソース

  1. 通常のインストールツールをバックアップするには、最高のソースは、それを更新します。これは、国内の情報源のソースを切り替えることが最善です。Ubuntuのシステムはソースを更新するには、次のコマンドであり、他のLinuxディストリビューションは、更新Baiduのことができます。
  • sudo apt-get install update
  1. Pythonライブラリをインストールするesp32環境の必要性をインストールするプロセスは、ので、ここでそれが最新のバージョンにPIPツールのアップデートに最高ですので。最新バージョンでは正常に更新することができ、一般的に、最新バージョンでない場合は、更新するには、次のコマンドを使用して、19.3.1です。
  • sudo python -m pip install --default-timeout=100 --upgrade pip

2、エラー処理:

最新バージョンへのPIPツールを更新した後、使用pip install 安装包可能な以下のエラー:

  # 错误的原因是新版本的库找不到 main 模块了
  Traceback (most recent call last): 
  File "/usr/bin/pip", line 9, in <module>
  from pip import main
ImportError: cannot import name 'main'

解決策は、変更することです/usr/bin/pipソースコードを
してsudo vi /usr/bin/pip、ソースコードを開くために、コマンド
Aはありません、あなたがエラーを修正した後、および以下の方法を変更します

################修改前程序####################

import sys
from pip import main  
if __name__ == '__main__':  
    sys.exit(main())

################修改前程序####################



################修改后程序####################

import sys
from pip import __main__  # 这行修改
if __name__ == '__main__':
    sys.exit(__main__._main()) #这行修改

################修改后程序####################

3、インストールの依存関係

では <Lexinの公式サイト> 上記にununtuシステム以下の依存関係をインストールする必要があります(または他のシステムのリリースQuguanネットワークを表示することができます)。次のコマンドを実行し、またはビューに公式サイトにアクセスしてください。

sudo apt-get install gcc git wget make flex bison gperf python python-pip python-setuptools python-serial python-cryptography python-future python-pyparsing python-pyelftools

第二に、クロスツール

図1に示すように、クロスダウンロードツール(のXtensa-esp32-ELF)

<Lexinの公式ウェブサイト> このページでは、クロスツールのダウンロードリンクがあり、ダウンロードするには、このリンクをたどることはQuguanネットワークをコピーして、(お使いのシステムは、32または64ビットシステムであることに注意してください)以下のリンクを交換することができない場合。次に、ダウンロードするには、次のコマンドを実行します。(ツールとライブラリの最新の公式の安定をダウンロードしてください)

  1. cd ~/esp32/crossTool/
  2. wget -c https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp-2019r2-linux-amd64.tar.gz
  3. tar zxvf xtensa-esp32-elf-gcc8_2_0-esp-2019r2-linux-amd64.tar.gz ダウンロードする特定のパッケージ名が優先します

2、クロスオーバーツール環境変数を設定

セットの環境変数には、次の手順を実行
使用して1、sudo vi ~/.profileこのファイル開くには、コマンドを
2に、.profile最後の行の追加export PATH="$HOME/esp32/crossTool/xtensa-esp32-elf/bin:$PATH"
3を、実行rebootを再開クロスツールの環境変数の発症後、システムを再起動するコマンドを
4、echo $PATH成功を見てはいないセットを持っています

第三に、ソースライブラリのダウンロード

図1に示すように、ソースコードレポジトリをダウンロード(ESP-IDF)

  • <Lexinの公式ウェブサイト> 下記のリンクを訪問していない場合、あなたがするビューに、または自分自身の公式ウェブサイトに行くことができ、リンクライブラリESP-IDFを持っているgithub検索esp-idfライブラリをしてからダウンロードしてください。
  • 注:gitダウンロード時間を追加しなければならない--recursiveライブラリをダウンロードした後も、より多くの依存種をダウンロードするために、オプションを選択します。ダウンロードがシードに依存しない場合のような奇妙なエラーのすべての種類をコンパイルするとき、私は戻って報告します:見つけることができませんmicro-eccのようなディレクトリと。あなたが追加しない場合は--recursiveオプションを、あなたは、ダウンロード後に実行する必要があるcd ~/esp32/source/git submodule update --initコマンド。
  • ダウンロードするには、次のコマンドを実行しesp-idf、ソースコードライブラリを
    1. cd ~/esp32/source/
    2. git clone --recursive https://github.com/espressif/esp-idf.git

2、環境変数を設定

設定するには、以下の手順を実行esp-idf循環環境となる
1を、sudo vi ~/.profileファイルを開くためのコマンド
で、2を.profile最後の行を加えexport IDF_PATH="$HOME/esp32/source/esp-idf"
、3 rebootのシステムの再起動ツール環境変数クロス開始リセットするコマンド
、4をecho $IDF_PATH設けた成功があるかどうかを確認します

第四に、インストールPythonパッケージ

このプロセスでは、ほとんど絶望的な、良い、パッケージのダウンロードタイムアウトは常に失敗でダウンロードされていないネットワークにつながる可能性があります。後は、何十回も試みられてきた、そして最終的にピットを埋めるために。ここでピットを埋めるための方法を教えします。

1、公式のインストール方法

公式には、インストールするには、以下のコマンドを実行しました。このプロセスでは、個人が唯一のパッケージの正面に1または2であることができ、その後、彼らはタイムアウトエラーを報告しました。倍以上の数十を試してみて、そして最終的に私はあきらめました。あなたはすべての次のインストールを実行する必要はありませんすることができた場合に完全なソリューションです

  • python -m pip install --user -r $IDF_PATH/requirements.txt

2、ソリューション

公式に基づいてタイムアウト制限を増加させます。次のようにコマンドは次のとおりです。

  • python -mピップインストール--default-タイムアウト= 100 --user -r $ IDF_PATH / requirements.txt
  • タイムアウト制限の増加が、それでもタイムアウト例外を報告しました。そして、インストールは欠点があり、このように、再ダウンロードのすべて再び次の試行の後、タイムアウト例外の後に報告されます。もちろん、成功した場合、あなたは完成しダウンロードすることができます。彼らは何十回も経た後、私は本当に必死。そして、決定的にこのアプローチを放棄しました。

3、2つのソリューション

第二の方法は、見ている$IDF_PATH/requirements.txtファイルイエスのどのような役割。次のようにファイルの内容は、

# This is a list of python packages needed for ESP-IDF. This file is used with pip.
# Please see the Get Started section of the ESP-IDF Programming Guide for further information.
#
#查看 setuptools 软件包的版本是否大于或者等于 21
setuptools>=21
# The setuptools package is required to install source distributions and on some systems is not installed by default.
# Please keep it as the first item of this list. Version 21 is required to handle PEP 508 environment markers.
#

click>=5.0  #比较 click 软件包的版本是否大于或者等于 5.0
pyserial>=3.0  #比较 pyserial 软件包的版本是否大于或者等于 3.0
future>=0.15.2 #比较 future 软件包的版本是否大于或者等于 0.15.2
cryptography>=2.1.4 #比较 cryptography 软件包的版本是否大于或者等于 2.1.4
pyparsing>=2.0.3,<2.4.0 #比较 pyparsing软件包的版本是否大于或者等于 2.0.3 并且 小于 2.4.0
pyelftools>=0.22 #比较 pyelftools 软件包的版本是否大于或者等于 0.22
# windows-curses are required in Windows command line but cannot be installed in MSYS2. A requirement like
# "windows-curses; sys_platform == 'win32'" would want to install the package on both of them. There is no environment
# marker for detecting MSYS2. So instead, a dummy custom package is used with "windows-curses" dependency for Windows
# command line.
file://${IDF_PATH}/tools/kconfig_new/esp-windows-curses; sys_platform == 'win32'

このファイルの内容について学んだ後、いくつかのパッケージは、まだ時間をダウンロードしますが、通常のインストールの少なくとも一部が、1回の更新により1にコマンドを使用することです。次のようにインストールコマンドは次のとおりです。

  1. sudo pip install --default-timeout=100 --upgrade setuptools
  2. sudo pip install --default-timeout=100 --upgrade click
  3. sudo pip install --default-timeout=100 --upgrade pyserial
  4. sudo pip install --default-timeout=100 --upgrade future
  5. sudo pip install --default-timeout=100 --upgrade cryptography
  6. sudo pip install --default-timeout=100 --upgrade pyparsing
  7. sudo pip install --default-timeout=100 --upgrade pyelftools

上記の手順が正しくインストールし、次のコマンドでそれを実行することができた場合は、バージョンを見てみると、いずれの少ないすべてのチェックが合格した場合、ライブラリに依存しないものの正しいかではなく、それが完全に構築するために何もダウンロードプロセス環境を示していません。ソフトウェアパッケージのダウンロードタイムアウトがある場合は、「解像度スリー」を参照してください見下ろすことができます

  • python -m pip install --user -r $IDF_PATH/requirements.txt

3、3つのソリューション

この最後のアプローチは、この問題を解決しない場合、私は何の方法を見つけるんだろう、方法です。アイデアはにあるPythonのための公式サイトパッケージし、インストールするには、オフラインパッケージをダウンロードします。直接公式オンライン検索方法上記のPythonパッケージは、(これは上記の方法の過程で見ることができ、ダウンロード)が完了した後、対応するバージョンをダウンロードすることができて、それをダウンロードするには、ブラウザを使用していません。
ここで私は、cryptography一例としてパッケージ化:

  • 私は、ダウンロードのプロセスにコマンドラインをダウンロードしたcryptography-2.8-cp27-cp27mu-manylinux2010_x86_64ので、私が選んだ、バージョンをcryptography 2.8以下のように、バージョン:
  • 検索cryptography-2.8-cp27-cp27mu-manylinux2010_x86_64.whlパッケージと、その後のダウンロード

地元で見つけるをダウンロードした後cryptography-2.8-cp27-cp27mu-manylinux2010_x86_64.whl(通常に~/Downloads/設置して、次のコマンドを実行しているディレクトリ):

  • sudo pip install --default-timeout=100 ~/Downloads/cryptography-2.8-cp27-cp27mu-manylinux2010_x86_64.whl
  • python -m pip install --user -r $IDF_PATH/requirements.txt インストールする必要はありません確認してください

上記の方法は、ターンで完全なパッケージのpythonを体験することができるはずです

第五に、コンパイラは最初のデモ

编译和烧写的过程可以参考乐鑫官网,这里就不过多介绍了,上面的的环境都安装成功了,一般都能正确编译。烧写的过程可能需要改一下串口的权限。环境装好了,剩下就靠自己去怎么耍了。如果个人以后做了什么比较好玩的demo也会更新上来。

おすすめ

転載: www.cnblogs.com/gulan-zmc/p/11992359.html