# Подготовка и тестирование рабочего места
Для программирования плат [WeMos D1 mini](https://docs.wemos.cc/en/latest/d1/) (или [Node MCU](http://www.nodemcu.com/index_en.html))
мы воспользуемся достаточно популярной среди DIY-шиков средой разработки [Arduino IDE](https://arduino.cc/).
Но так как у нас всё же иные платы, то нам потребуется установить их поддержку в этой среде.
## Настройка Arduino IDE
Запустим Arduino IDE и откроем окно **Файл > Настройки**.
Введём "https://arduino.esp8266.com/stable/package_esp8266com_index.json" в строку **Дополнительные ссылки для менеджера плат**.
Для этого сначала нажмём на кнопку рядом с этим полем ввода,

а затем в появившемся окне вставим нужный адрес.

Далее, открываем менеджер плат из меню **Инструменты > Плата > Менеджер плат** и устанавливаем поддержку esp8266 (для простоты поиска можно воспользоваться фильтром)

## Подключение библиотек
Для работы с протоколом MQTT в нашем практикуме потребуется установить библиотеку [PubSubClient](https://github.com/knolleary/pubsubclient)
Для этого выбераем пункт меню **Инструменты > Управлять библиотеками...**

Ищем библиотеку **pubsubclient**, устанавливаем её, и закрываем окно настроек.
Обратите внимание, кнопка **Установить** появляется в тот момент, когда вы проводите мышкой над соответствующей библиотекой.

## Подключаем плату
Как вы уже поняли, в рамках этого курса мы работаем с платами WeMos D1 mini или NodeMCU, поэтому прежде чем продолжить, выберем нужную плату в меню **Инструменты > Плата**
### WeMos D1 mini
Итак, если у вас плата WeMos D1 mini, то в меню **Инструменты > Плата** выбираем **LOLIN(WEMOS) D1 R2 & mini**:

### NodeMCU
Если у вас плата NodeMCU, то в меню **Инструменты > Плата** выбираем **NodeMCU 1.0 (ESP-12E Module)**:

Для этой платы нам необходимо ещё проверить параметр **Builtin Led**, и установить для него значение 2.

## Проверка работоспособности
Для проверки работоспособности системы и правильности настроек зальём простую программу в нашу плату (если вы не знаете, то в терминах Arduino она называется **скетч**).
Готовый код можно получить прямо из среды Ардуино IDE: **Файл > Примеры > ESP8266 > Blink**

Получившийся результат должен выглядеть примерно так:

А готовый к работе контроллер с подключенным USB кабелем так:

Когда всё установлено и настроено, надо:
1. Выбрать последовательный порт, к которому подключен контроллер (меню **Инструменты > Порт**).

Если портов несколько и вы не уверены в том, который нужен, то спросите у преподавателя, но, скорее всего, это будет **/dev/ttyUSB0**

2. Нажать кнопку **Загрузка** для компиляции программы и записи прошивки в контроллер.

3. Если всё прошло хорошо, и нет сообщений об ошибке, то скетч записался в память контроллера,

а синий светодиод на нём стал периодически мигать.

[**<<< Назад**](iot/summer-2021) | [**Далее >>>**](iot/summer-2021/mqtt)
[danger]: /assets/images/iot-academy/danger.png