ESP8266 и ANDROID начало, тестовая прошивка и создание своего проекта.
Многие интересуются управлением ADROID устройством по WiFi через или самим ESP8266.
В океане интернета полно информации о ESP8266 но начинающим трудно все это понять по этому я тоже попробую объяснить, показать и может сам что ни будь, открою для себя нового.
Приступим, для начала нам нужна среда программирования, я брал тут статья, довольно подробно там все описано для первого старта, за что особое спасибо автору.
Хочу обратить ваше внимание на некоторые нюансы, в первых Espressif-ESP8266-DevKit-Addon и jdk-8u121-windows-i586 долго запускаются перед установкой, так что не спешите паниковать, что не чего не происходит и во вторых изменился образец успешной компиляции должен выглядеть вот так
09:51:49 **** Build of configuration Default for project blinky2 ****
mingw32-make.exe -f C:/Espressif/examples/ESP8266/blinky2/Makefile all
CC user/user_main.c
AR build/app_app.a
LD build/app.out
Run objcopy, please wait...
objcopy done
Run gen_appbin.exe
No boot needed.
Generate eagle.flash.bin and eagle.irom0text.bin successully in folder firmware
eagle.flash.bin-------->0x00000
eagle.irom0text.bin---->0x10000
Done
в третьих скомпилированные файлы для загрузки лежат в папке, например как у меня с проектом blinky2 C:/Espressif/examples/ESP8266/blinky2/firmware eagle.flash.bin и eagle.irom0text.bin, соответственно eagle.flash.bin должен прошиваться с 0х00000 адреса, а agle.irom0text.bin с 0х10000.
Ну вот, наконец, мы установили компилятор, открыли примеры прошивок, теперь давайте что ни будь, прошьем. В правой стороне компилятора открываем проект blinky2, двойным кликом на clean(сброс данных компиляции), далее жмем на all(компиляция проекта), должны получиться два прошивочных файла, как сказано выше и конечно на flash(прошивка).
Если не шьется, значит не правильно подключен модуль, забыли посадить на массу GPIO0 или не тот COM PORT(в проекте измените Makefile, рас комментируйте 14 #ESPPORT = COM2 и поменяйте на ваш COM, ниже тоже рас комментируйте 15 #ESPBAUD = 256000 и поменяйте на вашу скорость COM).
Прошили, проверяем, подключаем к порту GPIO2 светодиод с ограничивающим резистором, должен мигать, значит все ОК.
Создание своего проекта.
Для первого раза я вам рекомендую просто взять любой проект для примеров, убрать из него все что нам не нужно и написать свою прошивку, в дальнейшем когда освоитесь вам проще будет собрать проект.
Но если очень хочется, тогда поехали.
Когда вы первый раз запускаете Eclipse, вам предлагают прописать путь к рабочей папке, где будут храниться ваши проекты, для удобства мы сделаем как на картинке.
Если вы захотите создать свою папку, тогда вам придется положить туда некоторые файлы(пять штук с расширением .mk), смотрите ниже, где они находятся и как выглядят.
В верху выбираем File->New->C Project, в Project name вписываем название нашего проекта, у меня ComPort тут же выбираем MinGW GCC жмем NEXT.
В открывшемся окне убираем галочку у Debug, жмем Advanced settings…, тут выбираем C/C++ Build->Tool Chain Editor в Current builder ставим Gnu Make Builder.
Опять жмем на C/C++ Build, убираем галочку Use default build command, вписываем или скопируйте эту запись mingw32-make.exe -f ${ProjDirPath}/Makefile в Build command, убираем галочку Generate Mikefiles automatically.
Выбираем C/C++ General->Paths and Symbols, в открывшемся окне жмем на GNU C и Add… открывается окно, ставим галочку в Add to all configurations, продолжаем, жмем на File system… и выбираем путь как на картинке ниже.
Далее OK->OK->Finish, в списке с лева и справа должен, появится наш проект.
В правой колонке выделяем наш проект, нажимаем сверху на зелёный кружочек с плюсом New, вписываем all и на ОК, повторяем с clean и flash.
Добавляем в проект папку(folder), в левой стороне жмем на наш проект new->folder вписываем user на Finish, в этой папке создаем файл папка user->new->Source File называем user_main.c(тут будет наша основная программа) на Finish.
Добавляем еще в проект папку include, в ней создаем файл include ->new->Header File называем user_config.h на Finish и создаем в проекте new->File называем Makefile(скопируйте в него из любого примера содержимое таково же файла), в нем хранятся некоторые настройки например COM порта.
Проект собран, и конечно минимальный код, попробуйте скомпилировать.
#include "user_interface.h"
void ICACHE_FLASH_ATTR user_init(void)
{
//Ваш код здесь!
}
//Обязательная функция!
uint32 ICACHE_FLASH_ATTR user_rf_cal_sector_set(void)
{
enum flash_size_map size_map = system_get_flash_size_map();
uint32 rf_cal_sec = 0;
switch (size_map)
{
case FLASH_SIZE_4M_MAP_256_256:
rf_cal_sec = 128 - 8;
break;
case FLASH_SIZE_8M_MAP_512_512:
rf_cal_sec = 256 - 5;
break;
case FLASH_SIZE_16M_MAP_512_512:
case FLASH_SIZE_16M_MAP_1024_1024:
rf_cal_sec = 512 - 5;
break;
case FLASH_SIZE_32M_MAP_512_512:
case FLASH_SIZE_32M_MAP_1024_1024:
rf_cal_sec = 1024 - 5;
break;
default:
rf_cal_sec = 0;
break;
}
return rf_cal_sec;
}