Вопрос выбора микроконтроллера для домашних поделок я не буду долго мусоолить, а сразу скажу, что это ESP8622 по следующим причинам: дешево и надежно, несколько вариантов исполнения от миниатюрного до отладочного, wi-fi и куча портов, а самое главное - море информации, примеров готовых решений и, как следствие - низкий порог вхождения в тему.
Из всего разнообразия реализаций ESP8266 лучше всего иметь отладочный комплект от NodeMCU для экспериментов, поскольку он уже снабжен USB портом на чипе CH340g, от которого запитывается и ESP через понижающий преобразователь, а в уже готовых поделках использовать контроллеры меньшего формата типа D1 mini.
Краткая выжимка по результатам встряхивания яндекса на предмет быстрого старта для 10-й винды:
- Ставим драйвер для CH340g с сайта производителя http://www.wch.cn/download/CH341SER_EXE.html
- Качаем Windows Installer для Arduino IDE c https://www.arduino.cc/en/Main/Software. ВНИМАНИЕ: если у вас Widows 10, да еще и не корпоративная с AD, то не ставьте Arduino IDE с Windows-магазина Get. Это удобнее, но замучаетесь потом с windows-security при установке плагинов в IDE. Только хардкорная инсталяция.
- В настройках Arduino IDE File->Preferences-> Закладка Settings в поле настраиваем Additional Boards manager URL указываем http://arduino.esp8266.com/stable/package_esp8266com_index.json
- Идем в Tools->Board->Board manager ...и находим пакет esp8266 by ESP8266 Community и ставим самую свежую версию. На день написания этого поста это 2.4.2
- Снова идем в Tools->Board-> и в списке плат выбираем NodeMCU 1.0 (ESP-12E Моdule)
- Перегружаемся (обязательно). Заводим Arduino IDE.
- Втыкаем плату через micro-USB кабель. Должен мыргнуть пару раз светодиод WiFi, что означает наличие питания. Он так же мигает и при нажатии кнопки RST.
- Если все в порядке, кабель и сам контроллер живы, то в меню Tools->Port-> появится COM-порт, к которому подключилась плата. Вот тут меня подстерег фейл - порт не распознался. Я час потерял с переустановками драйверов, пока допер поменять сам кабель. Кабель оказался бракованный или сигнальные жилы умерли от старости. Проверяйте. Если кабель живой, а в Arduino IDE порт не виден, то дело может быть в драйвере. Не отключая контроллера идем в операционке в Control Panel -> Device Manager и ищем там Ports (Com & LPT) -> USB-Serial CH340 (COMxxx). Если не нашли - либо кабель таки не контачит, либо драйвер не встал - возвращаемся к переустановке драйвера и презагрузке. Если же USB-Serial CH340 драйвер в Device Manager есть - дело в выборе типа платы в Arduino IDE. Проверяем.
- Плату Arduino IDE увидело, проверяем саму плату. Tools->Get Board Info выдаст вам что-то типа этого:
BN: Unknown board
VID: 1A86
PID: 7523
SN: Upload any sketch to obtain it
- Еще раз проверяем: вызываем консоль серийного порта Tools->Serial Monitor, устанавливаем скорость 74880 (скорость отдачи отладочной информации на старте), и на плате контроллера жмем кнопочку RST. Контроллер должен выдать какую-то читабельную информацию о версии прошивки, дате, контольной сумме и т.д. Если приходят непонятные казябры - можно поиграться со скоростью.
- И еще раз проверяем: устанавливаем скорость 115200 baud, а завершение строки обязательно Both NL & CR . Можно передавать AT-команды. Сначала в строке передачи команд набиреам AT и жмем Send/ Видим ответ OK и пробуем получить версию командой AT+GMR
AT version:1.3.0.0(Jul 14 2016 18:54:01)
SDK version:2.0.0(5a875ba)
Farylink Technology Co., Ltd. v1.0.0.2
May 11 2017 22:23:58
Если хотя бы один из приведенных выше тестов не удался, а изменение скорости передачи данных не помогает, значит подозрения на дохлый контроллер должны усилиться. но если все получилось, то, поздравляю, можно программировать!
- Устанавливаем скорость прошивки Tools->Upload Speed -115200. Если будет прошиваться, то можно конечно поиграть скоростью, но скорее всего контроллер сдох.
- Самый простой способ быстро проверить работоспособность - отсканировать близлежащие WiFi сети. Открываем пример File->Еxamples->ESP8266WIFi->WiFiScan
- Жмем кнопку Upload.
- По завершении, открываем монитор порта Tools->Serial Monitor и наслаждаемся списком найденных сетей (имена изменены):
scan start
scan done
13 networks found
1: sys (-45)
2: wifi-guest (-70)*
3: wifi-guest (-83)*
4: vlan300 (-90)
5: wifi-guest (-89)*
6: sys (-67)
7: wifi-guest (-67)*
8: WorkCentre (-70)*
9: Stp (-88)
10: sys (-82)
11: Stp (-88)*
12: HUAWEI (-67)*
13: wifi-guest (-94)*
Ура!