Programming the esp8266 (nodemcu) with the arduino ide

Собираем проект

Как вы можете видеть на картинке, NodeMCU работает с напряжением 3.3В. Так что на борту есть регулятор напряжения. Вы можете включить его через USB-порт для подачи постоянного тока 5 В или подключить VIN-контакт NodeMCU к источнику питания с диапазоном максимум от 6 до 20 В.

На плате реле снимите перемычку между VCC — JDVCC. Поскольку реле 5В, вам необходимо подать на него напряжение 5В или ниже, но не ниже 3,3В. Если нет, реле не будет активировано.

В первом сценарии используется внешний источник питания 5 В. Для работы NodeMCU и всех реле одновременно должно быть не менее 1,5 А.

  • Подключите источник питания к JD-VCC и контакту GND на плате реле.
  • Подключите источник питания к VIN и GND NodeMCU
  • Подключите выходные контакты от NodeMCU к плате реле (D0 D1 D2 D5 D6 D7)
  • Подключите 3,3 В NodeMCU к VCC релейной платы (для меня это работает, но в некоторых случаях 3,3 В недостаточно для активации реле; вы можете использовать VIN NodeMCU для VCC платы реле, но разделение питания больше не доступно; это не будет проблемой, если вы используете только реле для управления лампочкой).

Во втором сценарии NodeMCU получает питание через USB-кабель от батареи. Внешний источник питания используется для релейной платы. Вместо 3,3 В вы можете подключить VIN NodeMCU к VCC релейной платы.

Example Project with NodeMCU

The sample project that we will develop consists in to make an RGB LED blinking, alternating their basic colors (red, green, blue) within an infinite loop. Watch a video demonstration here.

Software Installation

  1. Before using the IDE, install the USB driver in the operating system, which may be the CH340 or CP2102, depending on the board version.
  2. Run the Arduino IDE. If it has not been installed, do so here: https://www.arduino.cc/en/Main/Software
  3. Open the Preferences window and type in the «Additional Board Manager URLs» the following address:    http://arduino.esp8266.com/stable/package_esp8266com_index.json
  4. On the Tools menu, configure your board according to the model you are using. The most common options are:
    1. Board: NodeMCU, according to its model
    2. CPU Frequency: 80 MHz
    3. Upload Speed: 115200

Ready? Now just do as the Arduino: Let’s Sketch!

Note: When you use the NodeMCU board with the Arduino IDE, the Lua firmware will be deleted and replaced by the sketch. If you want to use the Lua SDK again, will be necessary «flashing» the firmware again.

C++
Copy Code

The Sketch



int redPin = D1, greenPin = D2, bluePin = D3;

void setup() {
  pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT);
  }

void loop() {
  digitalWrite(redPin, HIGH); delay(500);
  digitalWrite(redPin, LOW); delay(500);
  digitalWrite(greenPin, HIGH); delay(500);
  digitalWrite(greenPin, LOW); delay(500);
  digitalWrite(bluePin, HIGH); delay(500);
  digitalWrite(bluePin, LOW); delay(500);
  }

Introduction: Programming ESP8266 ESP-12E NodeMCU Using Arduino IDE — a Tutorial

By TheElectromaniaElectromaniaFollow

More by the author:

About: A Researcher, an Engineer and an electronics enthusiast

More About TheElectromania »

—Arduino-like hardware IO

—Event-driven API for network applicaitons

—10 GPIOs D0-D10, PWM functionality, IIC and SPI communicaiton, 1-Wire and ADC A0 etc. all in one board

—Wifi networking (can be uses as access point and/or station, host a webserver), connect to internet to fetch or upload data.

—excellent few $ system on board for Internet of Things (IoT) projects.

Recently, there has been interest in programming ESP8266 systems using Arduino IDE. Programming, of ESP8266 using Arduino IDE is not very straight forward, until it is properly configured. Especially because, the Input and output pins have different mapping on NodeMCU than those on actual ESP8266 chip.

I had request about showing how to program ESP-12E NodeMCU using Arduino IDE. I struggled myself earlier in the beginning, so thought of making this Instructable for beginners. This is quick guide/tutorial for getting started with Arduino and ESP8266 NodeMCU V2 ESP-12Ewifi module. (I think, this method can be used for other NodeMCU boards too. (or only ESP8266 boards, but with necessary hardware modifications and using FTDI modules for programming- not covered in this tutorial because, this is only for NodeMCU dev boards).

This Instructable gives quick intro to-1) Installing Arduino core for ESP8266 WiFi chip in Arduino IDE and Getting started with sketches written using Latest stable Arduino IDE 1.6.7

NOTE- To use NodeMCU V1 or V2 or V3 dev boards using Arduino IDE, we do not need to flash it with firmware using nodemcu flasher. It is required only if we intend to program NodeMCU using Lua script with esplorer etc.

Описание ESP8266 NodeMcu v3

Технические характеристики модуля:

  • Поддерживает Wi-Fi протокол 802.11 b/g/n;
  • Поддерживаемые режимы Wi-Fi – точка доступа, клиент;
  • Входное напряжение 3,7В – 20 В;
  • Рабочее напряжение 3В-3,6В;
  • Максимальный ток 220мА;
  • Встроенный стек TCP/IP;
  • Диапазон рабочих температур от -40С до 125С;
  • 80 МГц, 32-битный процессор;
  • Время пробуждения и отправки пакетов 22мс;
  • Встроенные TR переключатель и PLL;
  • Наличие усилителей мощности, регуляторов, систем управления питанием.

Отличия от других модификаций

Платы поколения V1 и V2 легко отличить – они обладают различным размером. Также второе поколение оснащено улучшенной модификацией чипа ESP-12 и 4 Мб флэш-памяти. Первая версия, устаревшая, выполнена в виде яркой желтой платформы. Использовать ее неудобно, так как она покрывает собой 10 выходов макетной платы. Плата второго поколения сделана с исправлением этого недостатка – она стала более узкой, выходы хорошо подходят к контактам платы. Платы V3 внешне ничем не отличаются от V2, они обладают более надежным USB-выходом. Выпускает плату V3 фирма LoLin, из отличий от предыдущей платы можно отметить то, что один из двух зарезервированных выходов используется для дополнительной земли, а второй – для подачи USB питания. Также плата отличается большим размером, чем предыдущие виды.

Где купить модули NodeMCU и ESP8266

Сегодня на рынке доступно множество достаточно недорогих модификаций плат на базе ESP8266. Мы сделали небольшую подборку наиболее интересных вариантов:

Питание модуля NodeMcu

Подавать питание на модуль можно несколькими способами:

  • Подавать 5-18 В через контакт Vin;
  • 5В через USB-разъем или контакт VUSB;
  • 3,3В через вывод 3V.

Преимущества NodeMcu v3

  • Наличие интерфейса UART-USB с разъемом micro USB позволяет легко подключить плату к компьютеру.
  • Наличие флэш-памяти на 4 Мбайт.
  • Возможность обновлять прошивку через USB.
  • Возможность создавать скрипты на LUA и сохранять их в файловой системе.

Недостатки модуля NodeMcu

Основным недостатком является возможность исполнять только LUA скрипты, расположенные в оперативной памяти. Этого типа памяти мало, объем составляет всего 20 Кбайт, поэтому написание больших скриптов вызывает ряд трудностей. В первую очередь, весь алгоритм придется разделять на линейные блоки. Эти блоки необходимо записать в отдельные файлы системы. Все эти модули исполняются при помощи оператора dofile.

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

Также важно в конце каждого написанного скрипта вызывать функцию collectgarbage (сборщик мусора)

Introduction: Quick Start to Nodemcu (ESP8266) on Arduino IDE

By Magesh JayakumarMagesh JayakumarFollow

More by the author:

About: I make hobbyist stuffs and play with electronics follow me to know more https://www.facebook.com/arduinolabviewsolidworks https://twitter.com/learnrobotix

More About Magesh Jayakumar »

Thanks to the guys those who ported the Esp8266 into Arduino IDE and helping all the arduino users happy to the core. Yes it’s been long time since they did and this post is bit later to thanks the good hearted work by the guys out there.

Lets begin with Installing the Esp8266 support for the Arduino and see how to blink an LED ( the hello world in the electronics )

check out the video to know step by step tutorial on how to get started with our favourite chip Esp8266

Firstly open the Arduino IDE Go to files and click on the preference in the Arduino IDE

copy the below code in the Additional boards Manager http://arduino.esp8266.com/stable/package_esp8266com_index.json click OK to close the preference Tab.

After completing the above steps , go to Tools and board, and then select board Manager

Navigate to esp8266 by esp8266 community and install the software for Arduino. Once all the above process been completed we are read to program our esp8266 with Arduino IDE. For this example I have used NodeMCU esp8266 and if you are using any other vendor wifi chips or generic wifi module please check with the esp8266 Pin mapping which is very essential to make things works. The reason why I used D7 pin for this example is , I uploaded the basic blink program that comes with the examples program in the arduino IDE which is connected with 13 pin of arduino. The 13th pin is mapped into D7 pin of NodeMCU. go to board and select the type of esp8266 you are using. and select the correct COM port to run the program on your esp8266 device.

<p>void setup() {<br>  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}</p><p>// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}</p>

upload the program and see the results.

if you like the above tutorial and if you want try out with cool projects you can also check this link here , that’s the amazon book link where you can use that book to make IoT with Esp8266 or Nodemcu, that books gives you basic coverage on how to do simple things and get yourself started with arduino and goes on developing projects like sending data to webserver and creating a webserver, uploading and controlling data from a webpage, how to interface TFT LCD and I2C devices and many more things can find on the link.

NodeMcu Firmware Update

For the correct and stable operation of the board, you need to overwrite esp_init_data_default.bin. You can download it on the official website. The necessary file must be put back into the NodeMCU Flasher firmware system along the Resources – Binaries path, having previously deleted the old file from it.

Then you can connect NodeMCU and proceed with the upgrade. First you need to change the settings – in NodeMCU Flasher, in the Config tab, you need to select the assembled firmware file instead of INTERNAL://NODEMCU.

Leave the rest unchanged, go to Operations and click Flash. As soon as the firmware finishes, you need to switch to Config again and specify the path esp_init_data_default.bin in the first line. The address where you want to move this file is also indicated. For NodeMCU, select address 0x3FC000. After that, you need to return to Operations again and click Flash.

After that, you need to reformat the entire file system. To do this, run ESPlorer, be sure to set the exchange speed to 115200 and restart NodeMCU. After all the above steps there will be a new firmware version. The debug board is completely reflashed and ready to work.

Short description of the Lua languageLua has a simple syntax and powerful data description constructs based on arrays and extensible semantics. This powerful programming language is used to create software, expand various games. Unlike other languages, Lua has more flexible and more powerful designs.

Flashing LED on LuaYou can consider the simplest scheme – blinking LED. This example will help you learn how to work with GPIO pins. The LED must be connected as shown in the diagram.

Then you need to write the following sketch to the left window of ESPlorer:

After that you need to save the script called init.lua. Immediately after this, the written code will be automatically loaded into the debug board and executed. If the operation is successful, the debug board will blink with an LED.

It is important to note that the board runs the script on its own, the connection to the computer is necessary only for power supply.

Install ESP8266 Add-on in Arduino IDE

To install the ESP8266 board in your Arduino IDE, follow these next instructions:

  1. In your Arduino IDE, go to File> Preferences

  2. Enter http://arduino.esp8266.com/stable/package_esp8266com_index.json into the “Additional Boards Manager URLs” field as shown in the figure below. Then, click the “OK” button:

    Note: if you already have the ESP32 boards URL, you can separate the URLs with a comma as follows:

  3. Open the Boards Manager. Go to Tools > Board > Boards Manager…

  4. Search for ESP8266 and press install button for the “ESP8266 by ESP8266 Community“:

  5. That’s it. It should be installed after a few seconds.

Step 3: Upload DS18b20 Temperature Sensor Data to Thingspeak From Esp8266 (nodemcu)

Hello all in this tutorial you will know how to use Ds18b20 Temperature data to thingspeak.com, you can follow above fritzing circuit diagram to control the Ds18b20 temperature sensor, This sensor follows one wire protocol which means you can connect many sensors as you want to the single pin and access temperature data calling the sensor by address. check the video below on how to work with this sensor and also proof of code working .

There is no much work to get work with this sensor, as there are plenty of example library that already available in the internet which anyone can make use and get started to work with this sensor.

Test the below code to know check whether you can get reading from the temperature sensor with ESP8266 or Nodemcu

if you get any error , make sure you have downloaded library for Ds18b20 Temperature sensor.

<iframe style="height: 510px; width: 100%; margin: 10px 0 10px;" allowtransparency="true" src="https://codebender.cc/embed/sketch:243987" frameborder="0"></iframe><br>

copy paste above code to your Arduino IDE and upload to your ESP8266 or Nodemcu if you are not sure about how to do this please check the video about to know how things work, if you don’t know yet to search search on this blog for getting started with Esp8266 in Arduino IDE.

below you can see the code for sending temperature data to thingspeak.com from Esp8266 or Nodemcu to do this you need have thingspeak api key which can get easily by registering to the website.

change SSID and password to your router password and also update the Nodemcu api key.

—————————————————————————————————————————

<iframe style="height: 510px; width: 100%; margin: 10px 0 10px;" allowtransparency="true" src="https://codebender.cc/embed/sketch:243988" frameborder="0"></iframe>

—————————————————————————————————————————

if you like the above tutorial and if you want try out with cool projects you can also check this link here , that’s the amazon book link where you can use that book to make IoT with Esp8266 or Nodemcu, that books gives you basic coverage on how to do simple things and get yourself started with arduino and goes on developing projects like sending data to webserver and creating a webserver, uploading and controlling data from a webpage, how to interface TFT LCD and I2C devices and many more things can find on the link.

ESPlorer, init.lua — пишем первый скрипт

Для написания и заливки скриптов будем использовать программу ESPlorer. Это кроссплатформенная программа написана на Java и так же не требует установки. Работает одинаково как под Windows так и под Ubuntu.

ESPlorer качаем здесь: http://esp8266.ru/esplorer-latest/?f=ESPlorer.zip
Распаковываем архив.

Под Windows запускаем файл ESPlorer.bat

Под Ubuntu:

Примечание: далее описанна робота с ESPlorer v0.1. Внешний вид новых версий может иметь не принципиальные отличия.

Указываем порт и скорость 9600:

И нажимаем «Open». Увидем следующще

У ESPlorer обнаружилась паршивая особенность. Он не всегда четко подключается к NodeMCU. Если попробовать послать любую команду (кнопкой Send) в консоли пролетает мусор вместо нормального ответа. Иногда после нескольких повторов все налаживается. Если Вас это беспокоит, попробуйте изменить скорость подключения на 115200.

Приступим к созданию первого скрипта на языке Lua. Скрипт с именем init.lua стартует автоматически после запуска NodeMCU. Создадим файл init.lua.
напечатаем всего одну строчку:

Сохраняем файл как init.lua. После сохранения файл выполниться и мы должны увидеть работу первого скрипта.

По умолчанию файл сохраняется и на диск компьютера и заливается на ESP8266.

Теперь о самой большой неприятности, которая есть у NodeMCU. При некоторых критических ошибках (это случается не так часто, но если случается, то запоминается на долго) NodeMCU может перезагружаться. И самое страшное, что может случиться — это циклическая перезагрузка. Это случается если допустить критическую ошибку в скрипте который стартует автоматически. NodeMCU стартует, выполняет «глючный» скрипт, нарывается на критическую ошибку и уходит в перезагрузку. И так до бесконечности.

Для того, чтобы обезопасить себя на этапе изучения NodeMCU, я использую описанный ниже прием. В стартовом скрипте init.lua запускаем таймер, который сработает только один раз и через указанное время (в данном случае через 5 секунд) выполнит процедуру запуска другого скрипта (в данном случае main.lua). Больше ничего в скрипте init.lua не делаем. Все операции выполняются в скрипте main.lua. Таким образом, если мы допустим ошибку в скрипте main.lua, и NodeMCU уйдет в циклическую перезагрузку, после перезагрузки у нас будет 5 секунд для того чтобы удалить или исправить «глючный» скрипт.

Текст init.lua:

Кроме того, такой подход позволяет легко включать в автозагрузку любо нужный скрипт, достаточно в файле init.lua вместо main.lua указать имя другого скрипта. Это очень удобно, когда вы на одной плате тестируете несколько проектов или несколько версий скрипта.

Uploading the Sketch

Uploading the Sketch to the ESP-12E

If you’re using an ESP-12E NodeMCU Kit, uploading the sketch is very simple, since it has built-in programmer. Plug your board to your computer. Make sure you have the right board selected:

You also need to select the Port:

Then, copy the code provided:

Click the “Upload” button in the Arduino IDE and wait a few seconds until you see the message “Done uploading.” in the bottom left corner.

Uploading the Sketch to the ESP-01

Uploading code to the ESP-01 requires establishing a serial communication between your ESP8266 and a FTDI Programmer as shown in the schematic diagram below.

The following table shows the connections you need to make between the ESP8266 and the FTDI programmer.

ESP8266 FTDI programmer
RX TX
TX RX
CH_PD 3.3V
GPIO 0 GND
VCC 3.3V
GND GND

If you have a brand new FTDI Programmer and you need to install your FTDI drivers on Windows PC, visit this website for the official drivers: http://www.ftdichip.com/Drivers/VCP.htm.

Then, you just need to connect the FTDI programmer to your computer, and upload the sketch to your ESP8266 board. You should see the “Done Uploading” message after a few seconds.

Схема прошивки

Улучшенная схема прошивки для модуля ESP-01 показана на следующей принципиальной схеме; в первоначальный дизайн было внесено несколько изменений:

  1. постоянное напряжение питания 3,3 В больше не снимается с преобразователя USB-TTL. Некоторые преобразователи не обеспечивают достаточный ток для надлежащей работы ESP8266, особенно когда он находится в режиме передачи Wi-Fi. Следует использовать отдельный, хорошо фильтруемый и стабилизированный источник питания 3,3 В постоянного напряжения, способный обеспечивать ток не менее 500 мА;
  2. конденсаторы C1 и C2 были добавлены для снижения уровня шума на шине питания. Они должны располагаться как можно ближе к выводам Gnd и Vcc ESP8266;
  3. R2 и R3 – это подтягивающие резисторы, которые были добавлены для того, чтобы выводы GPIO2 и GPIO0 ESP8266 никогда не «висели в воздухе».

Эти изменения не говорят, что исходная схема прошивки не работала; дело в том, что она действительно работала у автора статьи и многих других пользователей. Однако ее недостатки были такими, что схема могла и не работать у некоторых пользователей, по крайней мере, иногда. Эти сбои могут быть вызваны различными внешними факторами, качеством источника питания и допусками компонентов. Улучшенная схема должна устранить эти недостатки.

Схема программатора ESP8266

Улучшенная схема прошивки показана собранной на макетной плате на следующих фотографиях. Первая фотография показывает всю схему со вставленным модулем ESP-01; вторая фотография показывает схему без модуля ESP-01, чтобы показать места установки C2, R2 и R3

Обратите внимание, что цвета проводов на схеме соответствую обозначениям цветов на принципиальной схеме

Программатор, собранный на макетной плате, с установленным модулем ESP-01

Печатная плата справа на макете – это хорошо стабилизированный и фильтрованный источник питания 3,3 В постоянного напряжения. Для получения полной информации о создании копии этого источника питания смотрите эту статью. В противном случае вы можете использовать любой источник питания с аналогичными возможностями.

Печатная плата в левом верхнем углу макета – это преобразователь USB-TTL. Как вы видите, он вставлен непосредственно в макетную плату с помощью 6-пинового разъема Dupont, который установлен на нижней стороне платы. Вы можете модифицировать свой USB-TTL конвертер для установки именно таким же способом, или вы можете использовать для соединений отдельные провода. Что бы вы ни выбрали, обязательно следуйте схеме при соединении выводов

Обратите внимание, что требуются только три линии: RxD от преобразователя до TxD на ESP-01, TxD от преобразователя до RxD на ESP-01, и общий корпус

Несмотря на то, что преобразователь USB-TTL не используется для питания ESP-01, убедитесь, что преобразователь настрое на работу с постоянным напряжение 3,3 В, чтобы уровний напряжений сигналов не превышали допустимые значения ESP8266. Любое напряжение выше 3,3 В, поданное на ESP8266, может привести к его повреждению.

Программатор, собранный на макетной плате, с изъятым модулем ESP-01

На фотографии, приведенной выше, модуль ESP-01 был изъят из макета, чтобы показать самодельный адаптер для ESP-01. На фотографии ниже слева показан почти такой же адаптер, а справа – адаптер от Addicore. Они работают одинаково и облегчают использование модуля ESP-01 на беспаечной макетной плате или любом подобном устройстве с разъемами с шагом 0,1 дюйма (2,54 мм).

Адаптеры для подключения ESP-01 к беспаечной макетной плате

Как только вы завершите сборку своего программатора, настанет время для тестирования. Но перед подключением USB кабеля или подачей питания перепроверьте разводку, особенно линии питания. Лучше потратить несколько дополнительных минут, чем повредить что-либо из-за неправильной разводки.

Сначала подключите USB кабель от компьютера к конвертеру USB-TTL. Положительным признаком является загорание красного светодиода в углу печатной платы, близкому к разъему USB, и распопознавание USB конвертера компьютером

На этом этапе обратите внимание на то, какой номер COM порта был назначен конвертеру. Как вы можете видеть на фотографиях, у меня преобразователю был назначен COM4

Затем подайте на программатор питание 3,3 В постоянного напряжения. Вы должны увидеть пару вспышек синего светодиода на модуле ESP-01, а красный светодиод на модуле должен гореть постоянно.

Теперь нажмите и отпустите SW1 (кнопка сброса); синий светодиод должен замигать. Затем нажмите и отпустите SW2 (кнопка программирования); не должно произойти ничего заметного.

Если всё идет по плану, ваша схема прошивки, вероятно, работает правильно. Настало время выполнить окончательную проверку: ответит ли ESP8266, когда вы обратитесь к нему?

Способы управления через Blynk

На данный момент есть два варианта управлять пином:

С помощью вебхуков

  • https://blynk-cloud.com/<ваш_токен>/update/V0?value=1 — для замыкания реле
  • https://blynk-cloud.com/<ваш_токен>/update/V0?value=0 — для размыкания реле

С помощью мобильного приложения blynk

  1. Вернёмся к созданному ранее проекту и добавим простую кнопку с помощью иконки «+» в верхнем правом углу приложения.
  2. Выберем в открывшемся меню «Button» и разместим, где удобней.
  3. Зададим виртуальный пин, управлять которым мы будем этой кнопкой. Для этого просто тапнем по созданной кнопке.
  4. По желанию называем кнопки, задаём цвет и текст, для включенного и выключенного состояний.
  5. Тип «Push<>Switch» (кнопка или переключатель). Push — нажали и отпустили, пин выключился. Switch — нажали и отпустили, пин запомнил состояние.

Step 1: Control an LED From Web Browser

In this blog, we will see How to «Turn On and Turn Off» an LED that has connected to the Esp8266, the esp8266 has programmed from Arduino IDE to control the LED. We will connect the Esp8266 to the Wi-Fi router using SSID and password of our Home network Wifi , where the esp8266 connect to our wifi and create a webserver, which can be accessed by looking through the serial Monitor of the Arduino window or you can also log into your Wifi router and check for the list of clients connected to your Wi-Fi router. Here’s a window which explains the step by step procedure to connect the Esp8266 to the Wi-fi server and How to access the Webpage and control the LED connected to the Esp8266

For the above video I have used NodeMcu, you can use any type of Esp8266 to make this thing work in your web browser.

look for the mapping of pins in with your Esp8266 vendor, if the program not working properly for you , the fault will be with the pin mapping functionalities, Here I used the D7 pin which mapped to 13th pin when program from the Arduino IDE.

Connect your Esp8266 to Arduino IDE and Select the correct COM Port and board type and 
upload the program. 
Note change the SSID to your WiFi Name and password to your Wifi password. if you forget to change it , esp8266 will not connect connect your wifi.

—————————————————————————————————————————

<br>

If everything completed you can turn to your serial monitor and check for the ip address that your devices has connected to . you will presented with an serial monitor that look exactly to the picture below.

if you like the above tutorial and if you want try out with cool projects you can also check this link here , that’s the amazon book link where you can use that book to make IoT with Esp8266 or Nodemcu, that books gives you basic coverage on how to do simple things and get yourself started with arduino and goes on developing projects like sending data to webserver and creating a webserver, uploading and controlling data from a webpage, how to interface TFT LCD and I2C devices and many more things can find on the link.

Работа с RoboRemoFree

В Интернете можно найти массу программ под Android, которые помогают организовать интерфейс для такого рода задач, не прибегая к программированию. Я покажу, как это можно сделать с помощью RoboRemoFree.

Устанавливаем и запускаем RoboRemoFree

Создаем подключение к серверу. Желательно чтобы мобильный телефон/планшет был подключен к той-же WiFi сети, где находиться сервер. В данном случае наш ESP8266. Заходим в «Menu», выбираем пункт «connect»

Выбираем тип подключения «Internet (TCP)»

Указываем IP и порт

Далее в меню выбираем пункт «interface»

Выбираем интерфейс. Программа позволяет создавать несколько интерфейсов с разными органами управления.

Затем переходим в режим редактирования интерфейса

Нажимаем на свободном пространстве и выбираем, что мы хотим установить. Мы будем использовать кнопки. Выбираем «button»

После чего на интерфейс будет установлена кнопка. Ее можно перемещать и изменять ее размеры.

Чтобы изменить название на кнопке, нужно нажать не ней и выбрать пункт «Set text»

Затем укажем еще один параметр — «set press action». Зададим «1». При нажатии кнопки будет отправлена указанная строка по созданному нами подключению. Т.е. Наш ESP8266 получит символ «1» и включит светодиод.

Аналогично создадим кнопку «Off» и установим set press action «0».

Наш интерфейс готов. Выходим из режима редактирования, выполнив пункт меню «don`t edit ui».

Если подключение к серверу (ESP8266) было успешным, можно пользоваться. По нажатию кнопки «On» светодиод должен загореться, по нажатию кнопки «Off» светодиод должен погаснуть.

Что такое ESP8266?

ESP8266 — это микроконтроллер с WiFi интерфейсом. Его можно использовать как WiFi модуль, и как микроконтроллер.

Плюсы ESP8266: WiFi интерфейс, 32-разрядное ядро с достаточной производительностью, низкая цена.

Минусы: По сравнению с другими 32-разрядными микроконтроллерами периферия не вызывает восхищения.

ESP8266 идеально подходит для домашних проектов, интернета вещей. ESP8266 программируется через последовательный порт UART, поэтому для его прошивки не требуется специального программатора. Особенность этого микроконтроллера в том, что он может выполнять программу, расположенную на внешней Flash памяти. Это позволяет производителю «наращивать» объем Флеша, что также является плюсом.

На базе ESP8266 выпускаются разные модули:

ESP-01
ESP-02
ESP-03
ESP-04
ESP-05
ESP-06
ESP-07
ESP-08
ESP-09
ESP-10
ESP-11
ESP-12S
ESP-12E
ESP-12F

Существует различные версии плат с уже запаянными модулями ESP8266, стабилизаторами напряжения, микросхемой для обеспечения работы последовательного порта UART через USB и разведенными на гребенку выводами, кнопками и тому подобное. Для работы с такими платами достаточно подключить их к USB порту компьютера. Никакого дополнительного оборудования не требуется. Это очень удобно. Одна из таких плат — NodeMCU. В примерах я буду использовать плату NodeMCU с модулем ESP-12F. Но, Вы вполне можете взять модуль, скажем ESP-01, подключить к нему UART-USB переходник и работать с ним аналогичным образом. У ESP-01 будет меньше памяти и меньше выводов, которые можно задействовать, но в остальном работа с ним аналогичная.