PROGCONT.RU

Вход Регистрация
О САЙТЕ ГЛАВНАЯ
 

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;
   }
Статья №36 Дата:14/02/2017

Комментарии.