Съдържание:

Клас за управление на конфигурацията в ESPROM на ESP32: 5 стъпки
Клас за управление на конфигурацията в ESPROM на ESP32: 5 стъпки

Видео: Клас за управление на конфигурацията в ESPROM на ESP32: 5 стъпки

Видео: Клас за управление на конфигурацията в ESPROM на ESP32: 5 стъпки
Видео: Atom Hydrogen - универсальный контроллер умного дома, обзор, возможности, ESP Home, Home Assistant 2024, Юли
Anonim
Клас за управление на конфигурацията в ESPROM на ESP32
Клас за управление на конфигурацията в ESPROM на ESP32

Здравейте, искам да споделя с вас целия клас, който съм разработил и опростява задачата за добавяне на информация за конфигурацията на ESP32 устройства.

Класа следните цели:

  1. Улеснете създаването на конфигурационна система на устройства ESP32.
  2. Има меню за конфигуриране.
  3. Проверка дали устройството няма конфигурация, в този случай влиза в режим на конфигуриране.
  4. Задайте щифт, за да активирате влизането в менюто за конфигурация. Свързването на този щифт към земята при стартиране на устройството се появява възможността за влизане в менюто за конфигурация.
  5. Защитете менюто за настройка с парола.

Стъпка 1: Изходен код

Тези файлове съдържат изходния код на класа "Configuracion", за да можете да го използвате, изпълнете следните стъпки:

  1. В папката, където е инсталиран arduino, отворете папката библиотеки.
  2. Създайте папка с името "Конфигурация".
  3. Копирайте трите файла в папката "Configuracion".

Стъпка 2: Методи на класа "Конфигурация"

Методите, които има класът, са следните:

static void declararPropiedad (Име на низ, Инициираща стойност на низ);

Описание

Обявете свойствата и тяхната начална стойност.

Параметри

  • name: Име на свойството, този литерал ще бъде показан в конфигурационните менюта.
  • initialValue: Стойност, която ще бъде присвоена по подразбиране при първото захранване на устройството.

статичен празен iniciar (int размер, int PIN);

Описание

Прочетете стойностите на конфигурационните свойства от EEPROM. Ако не е стартиран, той стартира процеса на инициализация. Преди да извикате този метод, трябва да дефинирате имената на свойствата, като използвате метода declararPropiedad.

Параметри

  • размер: Максимален брой байтове, които да се използват в EEPROM.
  • ПИН: ПИН на платката ESP32, която, когато е свързана към GND, позволява влизане в менюто за конфигурация.

статичен низ leerPropiedad (Име на низ);

Описание

Вземете стойността, съхранена в имота.

Параметри

name: Име на имота, от който искате да получите неговата стойност

статичен низ leerPropiedad (int позиция);

Описание

Вземете стойността, съхранена в имота.

Параметри

позиция: Номер на позицията на имота, от която искате да получите неговата стойност. Първият имот има позиция 1, вторият 2,…

Стъпка 3: Как да използвате класа „Конфигурация“

В този пример искаме да съхраним SSID и паролата на рутера, към който искаме да се свърже ESP32.

В началото на инсталационния блок инициализираме двете свойства, които искаме да съхраняваме в конфигурацията WIFI_SSID и WIFI_PASSWORD, След това извикваме метода iniciar със стойностите 1024 и CONFIGURACION_PIN (който има стойност 13). С тези 3 реда класът ви позволява да управлявате стойностите на двете свойства, можем да ги променим по всяко време.

Създайте нов проект в Arduino IDE и въведете следния изходен код.

#include "Configuracion.h"

#define CONFIGURACION_PIN 13 /* ПИН на платката ESP32, която, когато е свързана към GND, ни дава възможност да влезем в менюто за конфигурация. */ void setup () {Serial.begin (115200); / * * Конфигурация, въведените стойности се третират като стойности по подразбиране. * Стойностите по подразбиране влизат в сила само при първото стартиране на устройството. */ Configuracion:: declararPropiedad ("WIFI_SSID", ""); Configuracion:: declararPropiedad ("WIFI_PASSWORD", "123456"); Configuracion:: iniciar (1024, CONFIGURACION_PIN); / * TODO */ Serial.println ("Стойността на WIFI_SSID е" + Configuracion:: leerPropiedad ("WIFI_SSID")); } void loop () {// поставете основния си код тук, за да се изпълнява многократно:}

Стъпка 4: Изпълнете примера за първи път

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

В екранните снимки, които са в тази стъпка, покажете какво прави класът.

При първата проверка дали устройството не е инициализирано и пита за парола, поставяме QWERTY и изпращаме.

Второто изображение показва параметрите и техните стойности, тъй като можем да видим, че единственият параметър, който има начална стойност, е WIFI_PASSWORD. Ще въведем стойност за WIFI_SSID, въведете 2 и натиснете send.

Той иска от нас да въведем стойност за WIFI_SSID, да напишем Mi_wifi и да натиснем send, резултатът е в третото изображение.

Въвеждаме S и изпращаме за изход, той ни показва фразата „SETTING OUT“и ни показва стойността на параметъра WIFI_SSID, както сме програмирали в примера. Последното изображение показва резултата.

Стъпка 5: Следващия път въведете конфигурацията

Следващия път въведете конфигурацията
Следващия път въведете конфигурацията

За да влезете в конфигурацията е необходимо да свържете PIN 13 към GND, при стартиране на платката ни показва лента за напредъка за няколко секунди, натиснете send и поискайте паролата.

Въведете QWERTY и натиснете send.

Сега ни показва основното конфигурационно меню, както показва изображението.

Това меню ни позволява да:

Вариант 1, показва стойностите на параметрите.

Вариант 2, редактирайте стойностите на свойствата, както се вижда в предишната стъпка.

Вариант 3, изтрийте цялата конфигурация, когато стартирате устройството ще направи това, което видяхме в предишната стъпка.

Вариант S, изход.

Препоръчано: