Kuiper
New member
Всем привет!
Если уважаемые модераторы не против, то буду в этом топике вести что-то вроде дневника по постижению ESP8266
Конечно, информации по ESP8266 в Интернете очень много, но иногда бывают такие вопросы, что вот просто затык и не знаешь, как решить, тем более, если практически нет "базы" в виде навыков по электронике или программированию устройств.
Первым проектом, который я планировал реализовать, чтобы научиться работе с ESP8266 задумал метеостанцию. Но потом задача изменилась, чтобы охватить больший объем практики. Сейчас проект выглядит так:
1) ESP8266-12 как "беспроводной порт" для Arduino MEga 2560.
2) Подключение к WiFi ESP8266, чтение данных с датчиков Arduino, управление ПИНами Arduino.
То есть, это не совсем правильно - использовать такое мощное устройство, как ESP8266 просто как обычный Bluetooth-модуль, но это мой первый проект по работе с ним, поэтому начну с простого. А уже научившись и освоив, перейду к написанию собственных кастомных прошивок и работе через GPIO напрямую, без Arduino.
Две ESP8266-12 и макетки с АлиЭкспресс у меня теперь есть, Arduino Mega 2560, UART на CP2101 и другая электроника от самоделок на Ардуино тоже есть, теперь можно начать осваивать ESP8266.
Вчера был День 1, что сделал:
1. Пропаял одну из ESP8266-12 к макетной плате (паял полдня, т.к. привык обходиться без пайки с Ардуино, шилдами и модулями).
2. Запустил обе ESP8266-12, комп их видит через WiFi (только та, которая на макетке, не запускается без танцев с бубном, а тестера у меня еще нет, заказал на АлиЭкспресс самый дешевый цифровой).
3. Собрал автономный источник питания для Arduino Mega 2560 и ESP8266-12 (маленький повербанк на 5V 1A с аккумулятором 18650, USB кабель питания переходящий в "кругляш" для power-порта Ардуино и параллельно припаял Dupont провода для питания ESP8266-12).
Также за неделю прошел курс по изучению синтаксиса Си, после Си-подобного синтаксиса PHP это гораздо легче, хотя и напрягает, что в Си, например, всего 4 типа данных и так борются за место в памяти. К примеру, что мешало создать еще тип данных string, чтобы не городить с char t[] = "Hello, World"; или универсальный вид массивов int arr = array();, а также ассоциативные массивы, которые иногда очень полезны.
Да и еще не очень понятна работа с регистрами, указателями, то есть, представлять мысленно пространство памяти микроконтроллера и управлять областями по hex-адресам, переключать регистры побитовым смещением, а не просто задавая десятичное значение регистру. Это больше к ASM, мне с моим опытом программирования для Web это пока сложно для понимания, но я стараюсь
Сегодня задачи такие:
1. Выбрать "архитектуру" работы (веб-сервер на ESP8266, веб-сервер в приложении или может вообще что-то другое)
2. Сделать пре-прототип, пусть дубово, но работает хоть минимально две функции - отображение данных с ПИНа Arduino и управление ПИНом Arduino
Если уважаемые модераторы не против, то буду в этом топике вести что-то вроде дневника по постижению ESP8266
Конечно, информации по ESP8266 в Интернете очень много, но иногда бывают такие вопросы, что вот просто затык и не знаешь, как решить, тем более, если практически нет "базы" в виде навыков по электронике или программированию устройств.
Первым проектом, который я планировал реализовать, чтобы научиться работе с ESP8266 задумал метеостанцию. Но потом задача изменилась, чтобы охватить больший объем практики. Сейчас проект выглядит так:
1) ESP8266-12 как "беспроводной порт" для Arduino MEga 2560.
2) Подключение к WiFi ESP8266, чтение данных с датчиков Arduino, управление ПИНами Arduino.
То есть, это не совсем правильно - использовать такое мощное устройство, как ESP8266 просто как обычный Bluetooth-модуль, но это мой первый проект по работе с ним, поэтому начну с простого. А уже научившись и освоив, перейду к написанию собственных кастомных прошивок и работе через GPIO напрямую, без Arduino.
Две ESP8266-12 и макетки с АлиЭкспресс у меня теперь есть, Arduino Mega 2560, UART на CP2101 и другая электроника от самоделок на Ардуино тоже есть, теперь можно начать осваивать ESP8266.
Вчера был День 1, что сделал:
1. Пропаял одну из ESP8266-12 к макетной плате (паял полдня, т.к. привык обходиться без пайки с Ардуино, шилдами и модулями).
2. Запустил обе ESP8266-12, комп их видит через WiFi (только та, которая на макетке, не запускается без танцев с бубном, а тестера у меня еще нет, заказал на АлиЭкспресс самый дешевый цифровой).
3. Собрал автономный источник питания для Arduino Mega 2560 и ESP8266-12 (маленький повербанк на 5V 1A с аккумулятором 18650, USB кабель питания переходящий в "кругляш" для power-порта Ардуино и параллельно припаял Dupont провода для питания ESP8266-12).
Также за неделю прошел курс по изучению синтаксиса Си, после Си-подобного синтаксиса PHP это гораздо легче, хотя и напрягает, что в Си, например, всего 4 типа данных и так борются за место в памяти. К примеру, что мешало создать еще тип данных string, чтобы не городить с char t[] = "Hello, World"; или универсальный вид массивов int arr = array();, а также ассоциативные массивы, которые иногда очень полезны.
Да и еще не очень понятна работа с регистрами, указателями, то есть, представлять мысленно пространство памяти микроконтроллера и управлять областями по hex-адресам, переключать регистры побитовым смещением, а не просто задавая десятичное значение регистру. Это больше к ASM, мне с моим опытом программирования для Web это пока сложно для понимания, но я стараюсь
Сегодня задачи такие:
1. Выбрать "архитектуру" работы (веб-сервер на ESP8266, веб-сервер в приложении или может вообще что-то другое)
2. Сделать пре-прототип, пусть дубово, но работает хоть минимально две функции - отображение данных с ПИНа Arduino и управление ПИНом Arduino