配置環境
系統環境爲Ubuntu 14.04.5 64-bit,官方推薦的系統環境爲Ubuntu 16.04 LTS (Xenial Xerus) 64-bit
$ sudo apt-get install -y python
$ sudo apt-get install -y gcc-multilib
$ sudo apt-get install -y libssl-dev libssl-dev:i386
$ sudo apt-get install -y libncurses5-dev libncurses5-dev:i386
$ sudo apt-get install -y libreadline-dev libreadline-dev:i386
$ sudo apt-get install -y python-pip
$ sudo apt-get install -y minicom
注意: python版本爲2.7
安裝aos-cube
首先, 用 python 包管理器 pip
來安裝 aos-cube
和相關的依賴包在全局環境,以便於後續使用 AliOS Things Studio 進行開發。
$sudo pip install --upgrade setuptools
$sudo pip install --upgrade wheel
$sudo pip install --upgrade aos-cube
這裏安裝可能會遇到安裝scons
時安裝出現如下錯誤
Installing collected packages: scons, pyaes, ecdsa
Running setup.py install for scons
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: option --single-version-externally-managed not recognized
Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/scons/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-v5mML1-record/install-record.txt --single-version-externally-managed --compile --user:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: option --single-version-externally-managed not recognized
----------------------------------------
Cleaning up...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/scons/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-v5mML1-record/install-record.txt --single-version-externally-managed --compile --user failed with error code 1 in /tmp/pip_build_root/scons
Storing debug log for failure in /home/yystart/.pip/pip.log
解決方法:
首先將pip
升級到最新版本
$sudo pip install --upgrade pip
然後下載當前版本的scons文件,例如scons-3.0.1.tar.gz,然後將文件拷貝到某個目錄下,也可以放到python2.7/dist-packages/庫目錄下
$ tar xvf scons-3.0.1.tar.gz
$ mv scons-3.0.1 scons
$ cd scons
$ sudo python setup.py build
$ sudo python setup.py install
然後用下面的命令安裝
$sudo pip install --user -e scons #scons爲源碼目錄
$sudo pip install --user -U aos-cube
AliOS-Things代碼下載及編譯
下載 AliOS Things 代碼從GitHub克隆:
$ git clone https://github.com/alibaba/AliOS-Things.git
或者從國內鏡像站點:
$ git clone https://gitee.com/alios-things/AliOS-Things.git
接着進行編譯工作,這裏編譯Linux測試版本
cd AliOS-Things
aos make helloworld@linuxhost
編譯完成後,會在AliOS-Things
目錄下生成/out/helloworld@linuxhost
生成的固件就位於該目錄的binary
下。
同理編譯esp8266固件爲:
$ aos make helloworld@esp8266
編譯esp32固件爲:
$ aos make helloworld@esp32devkitc
注意:
在安裝aos-cube
後,在Ubuntu下運行aos
命令,但是終端顯示無法找到該命令,這是由於aos命令所在的目錄沒有添加到環境變量中,隨意無法識別,只要添加環境變量就可以了,操作步驟如下
找到aos命令所在的目錄
在aos-cube目錄下載,例如我在安裝aos-cube是出現如下目錄信息Requirement already satisfied: aos-cube in ./.local/lib/python2.7/site-packages (0.2.50)
Requirement already satisfied: pyserial in /usr/local/lib/python2.7/dist-packages (from aos-cube) (3.4)
Requirement already satisfied: esptool in ./.local/lib/python2.7/site-packages (from aos-cube) (2.5.0)
Requirement already satisfied: scons in ./workspace/alios-things/scons/engine (from aos-cube) (3.0.1)
Requirement already satisfied: requests in /usr/lib/python2.7/dist-packages (from aos-cube) (2.2.1)
Requirement already satisfied: pyaes in /usr/local/lib/python2.7/dist-packages (from esptool->aos-cube) (1.6.1)
Requirement already satisfied: ecdsa in /usr/local/lib/python2.7/dist-packages (from esptool->aos-cube) (0.13)
所以直接使用find
命令到~/.local
中查找
$ find ~/.local -name aos
得到下面的結果
./.local/lib/python2.7/site-packages/aos
./.local/bin/aos
設置環境變量
將aos路徑添加到環境變量中ALIOS=xxx/.local/bin/ #xxx要填寫實際的路徑 export PATH=$PATH:$ALIOS
固件下載
$ aos upload helloworld@esp8266
注意:當我們將8266模塊通過串口連接的Ubuntu系統時,會被系統是被爲/dev/ttyUSBx
類型設備,我們在使用aos upload
命令燒寫固件時,普通用戶是沒有操作串口權限的,所以需要將設備修改一下權限
$ sudo chmod 777 /dev/ttyUSBx