Знакомство с недорогим и функциональным микроконтроллером esp8266: прошивка и пример использования

Код Arduino

Теперь мы сталкиваемся с проблемой. ESP8266 использует UART в качестве интерфейса для AT-команд, а Arduino Uno (которая использует Atmega328) имеет только один порт UART. Этот порт уже подключен к мосту USB-TTL, а также к выводам 0 и 1.

В качестве решения вы можете использовать эмулятор для UART порта на другом цифровом выводе Arduino с помощью библиотек AltSoftSerial или SoftwareSerial. Это позволит вам по-прежнему иметь аппаратный порт UART для отладки и печати сообщений в консоли, а программный порт – для связи с модулем.

Платы Arduino

Многие люди (включая меня) сообщают о проблемах с программным последовательным портом при высоких скоростях передачи – как на тех, что мы будем использовать с esp8266, 115200 бит/с. Я могу сказать, что у вас 50% принятых от модуля данных будет повреждено, если вы используете программный UART, а из переданных от Arduino к модулю данных почти 100% будет корректно. Я получил эти результаты после отслеживания сигналов на линиях RX и TX.

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

В исходнике вы найдете часть кода, которая устанавливает модуля с вашим роутером:

Цикл скетча ожидает команды, которые должны прийти через Wi-Fi соединение. В настоящее время поддерживаются следующие команды:

  • ‘con’ для получения состояния выводов, высокий или низкий логический уровень;
  • ‘on=’ включить соответствующий вывод;
  • ‘of=’ выключить соответствующий вывод;
  • ‘Tm=n/fS’ установить таймер включения (n) или выключения (f) соответствующего вывода.

Все команды имеют отклик подтверждения.

Примечания:

  • некоторые части скетча основаны на этом руководстве;
  • если вы используете модули со старым SDK, у вас могут быть такие же ошибки, как и у меня. Единственным решением в этом случае является обновление вашей прошивки до последней версии. Посмотрите эту статью, для получения помощи в обновлении прошивки модуля на ESP8266. Я обновил прошивку с версии 1.3 до 1.5.4.

Полный код программы:

Режимы работы ESP8266

Одна из важнейших функций, которую обеспечивает ESP8266, заключается в том, что он может не только подключаться к существующей Wi-Fi сети и работать в качестве веб-сервера, но он также может устанавливать собственную сеть, позволяя другим устройствам подключаться непосредственно к нему и получать доступ к веб-страницам. Это возможно, потому что ESP8266 может работать в трех разных режимах: режим станции, режим точки доступа и оба первых режима одновременно. Это обеспечивает возможность построения ячеистых сетей.

Режим станции (STA)

ESP8266, который подключается к существующей сети W-iFi (созданной вашим беспроводным маршрутизатором), называется станцией (Station, STA).

Рисунок 2 – Демонстрация режима Station ESP8266 NodeMCU

В режиме STA ESP8266 получает IP адрес от беспроводного маршрутизатора, к которому подключен. С этим IP адресом он может настроить веб-сервер и выдавать веб-страницы на все подключенные к существующей Wi-Fi сети устройства.

Режим точки доступа (AP)

ESP8266, который создает свою собственную сеть Wi-Fi и действует как концентратор (точно так же как маршрутизатор Wi-Fi) для одной или нескольких станций, называется точкой доступа (Access Point, AP). В отличие от Wi-Fi роутера, он не имеет интерфейса к проводной сети. Такой режим работы называется Soft Access Point (soft-AP). Максимальное количество станций, которые могут к нему подключиться, ограничено пятью.

Рисунок 3 – Демонстрация режима Soft Access Point ESP8266 NodeMCU

В режиме AP ESP8266 создает новую сеть Wi-Fi и устанавливает для нее SSID (имя сети) и присваивает себе IP адрес. По запросу на этот IP адрес он может выдавать веб-страницы всем подключенным к этой сети устройствам.

Техзадание

Итак, было решено разработать устройство – многофункциональный контроллер бассейна. Он должен уметь:

  • Управлять подогревом бассейна через теплообменник, включая/выключая газовый котел для нагрева воды.
  • Не допускать перегрева теплообменника, контролируя наличие потока воды бассейна во вторичном контуре и превышения температуры вторичного контура.
  • Отображать статистику нагрева в реальном времени (температура на входе и выходе обоих контуров).
  • Записывать (логгировать) значения температур во флеш-память. Отображать данные за
    определенный период в виде графика.
  • С помощью реле уметь включать/выключать насосы бассейна и хлоратор.
  • Управлять всеми параметрами устройства дистанционно, через встроенный микро-веб сервер.

Было еще искушение прикрутить Blink, MQTT. Но от этих «наворотов» на первом этапе
было решено отказаться. И тем более, не хотелось бы выносить возможность управления куда-то наружу. Встроенного веб сервера для моих целей вполне достаточно. А безопасность обеспечивается тем, что в домашнюю сеть из внешнего мира можно войти только через VPN.

Кстати о наших планах

Сейчас статус Smart.js — ALPHA 1. Следующий релиз намечен на осень (что, разумеется, не мешает желающим собирать прошивку из исходников с любой периодичностью). К осени мы увеличим объём доступной для пользователя памяти, сделаем обновление скриптов из облака (т. е. теоретически можно будет вообще никогда не подключать ESP8266 к компьютеру), сделаем порт на другие платформы и тд.

А сейчас же нам важно получить фидбек. Нравится ли? Чего не хватает? Что лишнее? Интересно ВСЁ!. Так что — качайте прошивку — пробуйте, мы будем рады

Лицензия двойная, GPLv2 для всех желающих и коммерческая для тех, кому не подходит GPL и/или нужна поддержка

Так что — качайте прошивку — пробуйте, мы будем рады. Лицензия двойная, GPLv2 для всех желающих и коммерческая для тех, кому не подходит GPL и/или нужна поддержка.

Installation

Feedback on 2.0 was : ESP3D being a library is not really useful and make setup more complex, so now we are back to simple application.

  1. Please follow installation of the ESP core you want to use : ESP8266 core version or ESP32 core version
  2. Add manually libraries present in libraries directory to your arduino libraries directory (no need if you use platformIO) -these versions are verified to work with ESP3D, any others (newer version) may cause untested behavior.

Use webserver support (recommended as stable), asyncwebserver support is no more stable on ESP3D

arduinoWebSockets from @Links2004

Generic ones:
Specific for ESP32

  • ESP32SSDP
    If you want OLED support:
  • oled-ssd1306 from @squix78

If you want DHT11/22 support:

DHT_sensor_library_for_ESPx from @beegee-tokyo

  1. Compile project esp3d.ino according target: ESP8266 board or ESP32 board, please review config.h to enable disable a feature, by default athentication is disabled and most others are enabled.

for ESP8266 set CPU freq to 160MHz for better (https://github.com/luc-github/ESP3D/wiki/Install-Instructions)

  1. Upload the data content on ESP3D file system
  • Using SPIFFS uploader, this plugin and install instructions is available on each ESP core — please refere to it
    or
  • Using embedded uploader (you may need to format SPIFFS using : FORMAT on ESP8266 first)
    if embedded uploader does not show up you can force it ti display using : http://your_IP_address?forcefallback=yes

Прикладное ПО

  • Данные датчиков – система не привязана к конкретным датчикам. Для каждого датчика формируется уникальный идентификатор. Для радио-датчиков их идентификатор дополняется до 16 бит нулями, для датчиков 1Wire на основании их внутреннего идентификатора вычисляется CRC16 и используется в качестве идентификатора датчика. Таким образом, все датчики имеют идентификаторы длиной 2 байта.
  • Данные о зонах отопления – число зон не фиксировано, максимальное количество ограничено используемым модулем реле. С учетом этого ограничения так же разрабатывался WEB интерфейс.
  • Целевая температура и расписание – я постарался сделать максимально гибкие настройки, можно создать несколько схем отопления и можно даже на каждую зону назначить свою схему настроек.

Структура проекта

Файл Назначение
WaterpoolManager.ino Объявление основных переменных и констант. Инициализация. Главный цикл.
HeaterMainLogic.ino Основная логика управления реле котла (по температурам) и вспомогательными реле.
Sensors.ino Считывание данных сенсоров
Settings.ino Настройки устройства, сохранение их в флеш-памяти контроллера
LCD.ino Вывод информации на LCD
ClockTimer.ino Считывание показаний часов RTC, или симуляция часов
Relays.ino Управление включением/выключением реле
ButtonLogic.ino Логика реакции на состояния аппаратных кнопок
ReadButtonStates.ino Считывание состояний аппаратных кнопок
EEPROM_Logging.ino Логгирование данных датчиков в EEPROM
WebServer.ino Встроенный веб-сервер для управления устройством и отображением состояний
WebPages В этой папке хранятся страницы веб-сервера
index.h Основная страница отображения состояния устройства. Идет считывание текущего состояния с помощью вызова ajax. Refresh каждые 5 секунд.
loggraph.h Выводит лог данных датчиков и состояний реле в виде графика. Используется библиотека jqPlot – все построение происходит на стороне клиента. Запрос к контроллеру идет лишь на бинарный файл – копии данных из EEPROM.
logtable.h тоже, но в виде таблицы
settings.h Управление настройками устройства: установка пределов по температурам, потоку воды, периодичности логгирования данных
time.h Установка текущего времени
Библиотеки
EepromLogger.cpp Библиотека записи логов во флеш
EepromLogger.h
crc8.cpp Подсчет 8-битного CRC для библиотеки
crc8.h
TimeSpan.cpp Структура для управления отрезками времени
TimeSpan.h

ESP8266 – микроконтроллер / микросхема с модулем Wi-Fi

Новый микроконтроллер привлек внимание профессиональных разработчиков и любителей, и он может стать потенциальным лидером в интернете вещей. Микросхема под названием «ESP8266» представляет собой 32-битный RISC процессор со всеми свистелками и перделками, которые вы могли бы ожидать от полнофункционального микроконтроллера, но это еще не всё

ESP8266 также включает в себя встроенную схему Wi-Fi 802.11 b/g/n, которая готова к непосредственному подключению к антенне.

Микроконтроллер ESP8266

ESP8266 в настоящее время доступен только в 32-выводном корпусе QFN, в данном семействе присутствует только одна микросхема. Разработчик, Espressif, Шанхай, Китай, решил в полной мере использовать эффективность масштабного производства и предложить одну микросхему, которая подходит для использования в различных сборках печатных плат. В настоящее время существует более десятка печатных плат модулей ESP, которые отличаются в основном типом антенн и количеством доступных входов/выходов. Из-за QFN корпуса ESP8266, большинство любителей довольны этим решением, тем более, что рыночные цены начинаются с менее 5 долларов США за модель младшего класса, получившей название ESP-01 и изображенной ниже.

Модуль ESP-01 (вид сверху и снизу)

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

Quick Start

Installing

You can either install through the Arduino Library Manager or checkout the latest changes or a release from github

Install through Library Manager

Currently version 0.8+ works with release 2.0.0 or newer of the ESP8266 core for Arduino

  • in Arduino IDE got to Sketch/Include Library/Manage Libraries

  • search for WiFiManager

  • click Install and start

Checkout from github

Github version works with release 2.0.0 or newer of the ESP8266 core for Arduino

Checkout library to your Arduino libraries folder

Using

Include in your sketch

#include <ESP8266WiFi.h>          //ESP8266 Core WiFi Library (you most likely already have this in your sketch)

#include <DNSServer.h>            //Local DNS Server used for redirecting all requests to the configuration portal
#include <ESP8266WebServer.h>     //Local WebServer used to serve the configuration portal
#include <WiFiManager.h>          //https://github.com/tzapu/WiFiManager WiFi Configuration Magic

Initialize library, in your setup function add

WiFiManager wifiManager;

Also in the setup function add

//first parameter is name of access point, second is the password
wifiManager.autoConnect("AP-NAME", "AP-PASSWORD");

if you just want an unsecured access point

wifiManager.autoConnect("AP-NAME");

or if you want to use and auto generated name from ‘ESP’ and the esp’s Chip ID use

wifiManager.autoConnect();

After you write your sketch and start the ESP, it will try to connect to WiFi. If it fails it starts in Access Point mode.
While in AP mode, connect to it then open a browser to the gateway IP, default 192.168.4.1, configure wifi, save and it should reboot and connect.

Also see examples.

Features

  • Serial/Wifi bridge using configurable port 8888
  • Use GPIO2 to ground to reset all settings in hard way — 2-6 sec after boot / not before!! Set GPIO2 to ground before boot change boot mode and go to special boot that do not reach FW. Currently boot take 10 sec — giving 8 seconds to connect GPIO2 to GND and do a hard recovery for settings
  • Complete configuration by web browser (Station or Access point) or by Serial/telnet commands
  • Authentication (optional) for better security
  • Update firmware by web browser
  • Captive portal in Access point mode which redirect all unknow call to main page
  • mDNS which allows to key the name defined in web browser and connect only with bonjour installed on computer
  • SSDP, this feature is a discovery protocol, supported on Windows out of the box
  • Fail safe mode (Access point)is enabled if cannot connect to defined station at boot.
  • Embedded FS uploader and updater.
  • OLED screen support
  • Notifications using Line / Pushover / email
  • The web ui add even more feature :

Работаем с платой UNO+WiFi R3 ATmega328P+ESP8266 в Arduino IDE.

Табличка выбора режимов работы платы в зависимости от положения микропереключателей:

Установка переключателей 1 2 3 4 5 6 7 8
CH340 подсоединен к ESP8266 (загрузка скетча) OFF OFF OFF OFF ON ON ON
CH340 подсоединен к ESP8266 (мониторим COM) OFF OFF OFF OFF ON ON OFF
CH340 подсоединен к ATmega328 ( загрузка скетча ) OFF OFF ON ON OFF OFF OFF
Mega328+ESP8266 (serial соединение) ON ON OFF OFF OFF OFF OFF
Модули работают независимо OFF OFF OFF OFF OFF OFF OFF

Для начала выберем в среде разработки Arduino IDE плату Arduino UNO, переведем переключатели 3 и 4 на плате в положение ON (остальные OFF) и зальем для теста простой до безобразия скетч:

void setup(){
 Serial.begin(9600);
  }

void loop()
{
  Serial.println("Привет, я ATmega328P");
  delay(2000);
  }

Заливка скетча в Arduino UNO

Работает как и обычно: залили скетч, открыли монитор порта и можем наблюдать вывод в COM порт. Теперь зальем аналогичный скетч в ESP8266. Рекомендую сначала закрыть окно монитора порта. В инструментах Arduino IDE выберем плату «Generic ESP8266 Module» Установим переключатели 5, 6 и 7 на плате в положение ON (остальные OFF), нажмем на кнопку «MCU Reset» и наблюдаем свечение красного светодиода возле Wi-Fi (ESP) чипа, означающего что можно загружать скетч.

ESP8266 готова принять скетч ))

void setup(){
 Serial.begin(9600);
  }

void loop()
{
  Serial.println("Привет, я ESP8266");
  delay(2000);
  }

Открываем монитор порта и наблюдаем там… НИЧЕГО =))

Пустота в мониторе порта

Оставим включенным лишь один переключатель — #5 и нажмем на кнопку «MCU Reset», красный светодиод возле ESP чипа погаснет и в монитор порта пойдут данные:

Вывод данных ESP8266 в монитор порта

Кстати, если сейчас выставить переключатели 3 и 5 в ON (остальные — OFF), то в окне монитора порта будем наблюдать приветствие от обоих микроконтроллеров:

Монитор порта Arduino UNO Wi-Fi

Иногда все вроде делаем как написано (или не совсем=)), а не всегда получаем то, что хотим… Ошибки. Например, после компиляции скетча ни в какую не получается его залить в ESP8266 Wi-Fi модуль платы, выходит ошибка соединения: Failed to connect to ESP8266: Timed out waiting for packet header. Первым делом проверим положение переключателей (5 6 7) и состояние светодиода у чипа ESP (должен светиться красным). Если в норме, то скорее всего открыто окно монитора порта, закройте его. Как правило, это помогает!

Вот так совсем просто работать с платой UNO+WiFi R3 ATmega328P+ESP8266, 8Mb flash, USB-TTL CH340 в среде Arduino IDE. Надеюсь эта запись кому-нибудь пригодится. Для меня это будет рабочей шпаргалкой по работе с этой платой. Но, чувствую, пока я допилю управление вентиляционной установкой под эту плату, положение переключателей запомню наизусть =)). А завтра попробую скормить по Serial данные с датчиков температуры, подключенных к Arduino в ESP8622.

Step 8: Setup

In setup, we are configuring our WiFiManager in the simplest way. Let’s just define the callbacks and create the network.

const int PIN_AP = 2;
void setup() {
  Serial.begin(9600);
  pinMode(PIN_AP, INPUT);
  //declaração do objeto wifiManager
  WiFiManager wifiManager;

//utilizando esse comando, as configurações são apagadas da memória //caso tiver salvo alguma rede para conectar automaticamente, ela é apagada.
// wifiManager.resetSettings();

//callback para quando entra em modo de configuração AP
wifiManager.setAPCallback(configModeCallback);
//callback para quando se conecta em uma rede, ou seja, quando passa a trabalhar em modo estação
wifiManager.setSaveConfigCallback(saveConfigCallback);

//cria uma rede de nome ESP_AP com senha 12345678
wifiManager.autoConnect(«ESP_AP», «12345678»);
}

Распиновка ESP8266 NodeMCU

С внешним миром ESP8266 NodeMCU соединяют всего 30 выводов. Ниже показана распиновка отладочной платы.

Рисунок 6 – Распиновка ESP8266 NodeMCU

Для простоты мы сгруппируем выводы с аналогичными функциями.

Выводы питания – на плате расположено четыре вывода питания, а именно: один вывод VIN и три вывода 3.3V. Если у вас есть стабилизированный источник напряжения 5 В, вывод VIN можно использовать для непосредственного питания ESP8266 и его периферии. Выводы 3.3V – это выходы встроенного стабилизатора напряжения. Эти выводы могут использоваться для подачи питания на внешние компоненты.

GND – это вывод земли отладочной платы ESP8266 NodeMCU.

Выводы I2C используются для подключения всех видов датчиков и периферийных устройств на шине I2C в вашем проекте. Поддерживаются и I2C Master, и I2C Slave. Работа интерфейса I2C может быть реализована программно, а тактовая частота составляет максимум 100 кГц. Следует отметить, что тактовая частота I2C должна быть выше самой низкой тактовой частоты из ведомых устройств.

Выводы GPIO На ESP8266 NodeMCU имеется 17 выводов GPIO, которые можно назначать программно на различные функции, такие как I2C, I2S, UART, PWM, дистанционное инфракрасное управление, светодиодный индикатор и кнопка. Каждый включенный вывод GPIO может быть настроен либо на внутреннюю подтяжку к земле или к шине питания, либо установлен на высокоимпедансное состояние. При конфигурировании на вход для генерирования прерываний процессора он может быть настроен на срабатывание либо по фронту, либо по спаду.

Вывод ADC подает сигнал на имеющийся в NodeMCU, встроенный 10-разрядный прецизионный аналого-цифровой преобразователь последовательного приближения (SAR ADC). С помощью этого АЦП могут быть реализованы две функции: проверка напряжения питания на выводе VDD3P3 и проверка входного напряжения на выводе TOUT (но не одновременно).

Выводы UART ESP8266 NodeMCU имеет 2 интерфейса UART, то есть UART0 и UART1, которые обеспечивают асинхронную связь (RS232 и RS485) и могут обмениваться данными со скоростью до 4,5 Мбит/с. Для связи можно использовать UART0 (выводы TXD0, RXD0, RST0 и CTS0), который поддерживает управление потоком. UART1 (вывод TXD1) поддерживает только сигнал передачи данных, поэтому он обычно используется для печати журнала событий.

Выводы SPI ESP8266 имеет два интерфейса SPI (SPI и HSPI), поддерживающих и ведомый (slave), и ведущий (master) режимы. Эти интерфейсы SPI также поддерживают следующие функции SPI:

  • 4 режима синхронизации передачи SPI;
  • до 80 МГц и тактовые частоты, полученные делением 80 МГц;
  • до 64 байт FIFO.

Выводы SDIO ESP8266 имеет защищенный цифровой интерфейс ввода/вывода (SDIO, Secure Digital Input/Output Interface), который используется для прямого подключения карт SD. Поддерживаются 4-битный 25 МГц SDIO v1.1 и 4-битный 50 МГц SDIO v2.0.

Выводы PWM На плате имеется 4 канала широтно-импульсной модуляции (PWM). Выход ШИМ может быть реализован программно и использован для управления двигателями и светодиодами. Частотный диапазон ШИМ регулируется от 1000 мкс до 10000 мкс, то есть от 100 Гц до 1 кГц.

Выводы управления используются, как ни странно, для управления ESP8266. Эти выводы включают в себя вывод включения микросхемы EN, вывод сброса RST и вывод пробуждения WAKE.

  • Вывод EN – микросхема ESP8266 включена, когда на вывод EN подается высокий логический уровень. При низком логическом уровне микросхема работает на минимальной мощности.
  • Вывод RST используется для сброса микросхемы ESP8266.
  • Вывод WAKE используется для вывода чипа из глубокого сна.

Introduction: ESP8266 and ESP32 With WiFiManager

By Fernando KoyanagiVisit my Site!Follow

More by the author:

About: Do you like technology? Follow my channel on Youtube and my Blog. In them I put videos every week of microcontrollers, arduinos, networks, among other subjects.

More About Fernando Koyanagi »

Are you familiar with WiFiManager? It’s a library that serves as a wireless connection manager, and with it, we have an easier way to configure both an Access Point and a Station. I have received several suggestions to discuss this subject; so today I will introduce you to this library and its functions. I will also make a demonstration of its use with both ESP32 and ESP8266.

Печатная плата

При проектировании платы выяснилось, что обычные детали с ножками занимают слишком много места, а многие чипы в DIP исполнении непросто найти. Почитав в интернете, что SMD монтаж не так уж сложен, а при должной сноровке даже менее трудоемок, я решил проектировать плату под SMD детали. И не ошибся. Получилась компактная, красивая плата, куда я с легкостью разместил все, что мне нужно. SMD детали, при наличии хорошего паяльника, флюса и припоя, оказалось действительно очень несложно монтировать.

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

Печатную плату я сделал размером 97×97 мм. Она с легкостью помещается в стандартную разделочную электро-коробку. Кроме того, платы размерами менее 100х100 дешевы в изготовлении. Изготовление минимальной партии из 5 плат по разработанному макету обошлось в 5 USD, еще около 9 USD стоила их доставка в Беларусь.

Проект платы лежит на сайте EasyEDA и доступен каждому желающему.

Замечу, что на фото контроллера ниже фигурирует первый образец платы, на который я «наворотил» еще много чего лишнего и ненужного (в надежде использовать эту минимальную партию из 5 плат и в других проектах). Здесь же и на EasyEDA я выложил «почищенный» от всех этих ненужностей вариант.

Платформы разработки для ESP8266

Теперь перейдем к интересным вещам!

Существует множество платформ разработки, которые могут быть оснащены для программирования ESP8266. Вы можете использовать Espruino – JavaScript SDK и прошивка, эмулирующая Node.js, или использовать Mongoose OS – операционную систему для устройств IoT (рекомендуемая платформа от Espressif Systems и Google Cloud IoT), или использовать комплект разработки программного обеспечения (SDK), предоставляемый Espressif. или любую из платформ, перечисленных на .

К счастью, крутое сообщество ESP8266 сделало выбор IDE на шаг вперед, создав дополнение к Arduino IDE. Если вы только начинаете программировать для ESP8266, мы рекомендуем начать с этой среды разработки, и ее мы опишем в данном руководстве.

Это дополнение ESP8266 для Arduino IDE основано на работе Ивана Грохоткова и остальной части сообщества ESP8266. Для получения дополнительной информации смотрите репозиторий GitHub ESP8266 Arduino.

Создание Azure-функции для генерации SAS

В качестве онлайн-сервиса проще всего использовать Azure-функции. Это своеобразные сниппеты, которые можно писать сразу на портале Azure в браузере. Шутки шутками, но таким образом программировать можно даже со смартфона. Конечно, никто не запрещает создавать и отлаживать их и из Visual Studio и только потом публиковать в Azure уже в откомпилированном виде. Задача функции — выполнить какую-то, как правило, не особо сложную операцию. По микросервисной задумке, каждая функция умеет делать что-то одно, но зато очень хорошо (принцип Single responsibility).

Создать Azure Function App можно на портале, заполнив небольшую анкету.

Создание Azure-функции

Consumption Plan позволяет платить только за те вызовы функции, которые были совершены. Это самый недорогой вариант. На данный момент миллион вызовов функции дается бесплатно. Заметь, что вместе с функцией создается и вспомогательное хранилище данных (Storage).

После создания Function App можно создать и саму функцию. В данном случае нам нужна функция типа Webhook + API. Функция может быть открыта всем (анонимный доступ), а может быть доступна только обладателям особого кода. Код можно получить из окна работы с функцией, нажав на ссылку .

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!
Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя!
Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Я уже участник «Xakep.ru»

Оцените статью:
Оставить комментарий