Mac-OS Installation
Pre-requisites
(You might already have it)
Xcode command line tools
xcode-select --install
Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Eclipse
(Optional):
brew install Caskroom/cask/eclipse-cpp
Build tools
Required for the makefile build system:
brew install binutils coreutils automake wget gawk libtool gettext gperf grep
export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"
Install gnu-sed and make sure that it is the default sed
command line application:
brew install gnu-sed --with-default-names
If you have already installed gnu-sed
but it is not the default one,
then make sure to uninstall it and install it again with the correct options:
brew uninstall gnu-sed
brew install gnu-sed --with-default-names
ESP8266 Toolchain
We pull this in from the SmingTools repository:
cd ~/
export ESP_HOME=/opt/esp-quick-toolchain
curl -LO https://github.com/SmingHub/SmingTools/releases/download/1.0/x86_64-apple-darwin14.xtensa-lx106-elf-e6a192b.201211.tar.gz
sudo mkdir -p $ESP_HOME
sudo tar -zxf x86_64-apple-darwin14.xtensa-lx106-elf-e6a192b.201211.tar.gz -C $ESP_HOME
sudo chmod -R 775 $ESP_HOME
You can also build it yourself with Homebrew or with MacPorts.
Get Sming Core
Clone from the Sming repository:
cd <your-favourite-development-folder>/
git clone https://github.com/SmingHub/Sming.git
cd Sming
Warning
Do NOT use the –recursive option for the command above. Our build mechanism will take care to get the third-party sources and patch them, if needed.
You will get a copy of our develop branch which is intended for developers. It is the one where all new cool (unstable) features are landing.
If you want to use our stable branch then use the master branch:
git checkout origin/master
Finally, set the SMING_HOME
environment variable to point to <your-favourite-development-folder>/Sming/Sming:
export SMING_HOME=`pwd`
Environment Variables
Open with a text editor the .profile
file in your home directory, and add these lines:
export ESP_HOME=/opt/esp-quick-toolchain
export SMING_HOME=<your-favourite-development-folder>/Sming/Sming
Make sure to replace <your-favourite-development-folder>
in the
command above with the actual directory on your local disk.
(Optional step)
(used by Make and Eclipse - make sure to quit Eclipse first)
If you installed Eclipse manually, substitute
/opt/homebrew-cask/Caskroom/eclipse-cpp/4.5.1/Eclipse.app
to
/Applications/Eclipse/eclipse.app
:
sudo /usr/libexec/PlistBuddy -c "Add :LSEnvironment:ESP_HOME string '/opt/esp-open-sdk'" /opt/homebrew-cask/Caskroom/eclipse-cpp/4.5.1/Eclipse.app/Contents/Info.plist
sudo /usr/libexec/PlistBuddy -c "Add :LSEnvironment:SMING_HOME string '/opt/sming/Sming'" /opt/homebrew-cask/Caskroom/eclipse-cpp/4.5.1/Eclipse.app/Contents/Info.plist
sudo /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -f /opt/homebrew-cask/Caskroom/eclipse-cpp/4.5.1/Eclipse.app
Using Eclipse on Mac
If you are using Eclipse to build the samples you need to make sure the path is set correctly for the make process.
Your project must also be configured to use the correct serial port for your ESP8266. You can change it like this:
make COM_PORT=/dev/tty.usbserial
Next, ensure that you can build the Basic Blink from a terminal window:
cd $SMING_HOME/../samples/Basic_Blink
make
This will also build the required framework components, so may take a few minutes.
If this works without errors then type echo $PATH
and copy the resulting path
to the clipboard.
Now fire up Eclipse and go to
Eclipse ==> Preferences ==> C/C++ ==> Build ==> Environment
and add a new variable PATH. Paste in the path saved from the terminal
session above. You can also add SMING_HOME
and ESP_HOME
variables here
the same way as you set in the export commands above which will then be
set for all the projects.
The standard make files use miniterm.py
to provide a serial Terminal for
debugging the ESP8266. Miniterm does not work inside Eclipse so you
should disable it like this:
make KILL_TERM= TERMINAL=
This will prevent Eclipse from trying to launch miniterm and throwing an error about Inappropriate ioctl for device.
You can use the built in terminal in Eclipse Oxygen by adding it using
Window ==> Show View ==> Terminal
then setting terminal type to Serial
and setting the port to the port
the ESP8266 is connected to. Remember to disconnect before tying to
re-flash the device though.
Compile Sming Examples
See Sample Projects for a list of all examples provided with Sming:
cd $SMING_HOME/../samples/
If you want to test some of the examples, try this:
cd $SMING_HOME/../samples
cd Basic_Blink
make
# The command below will upload the sample code to your ESP8266 device
make flash
Next steps
Proceed to Configuration.