Програмиране и конфигуриране на WiFi контролер

В предишна статия говорих за изграждането на нов контролер за влажност

конфигуриране
. Сега ще ви разкажа за характеристиките на програмата, алгоритмите за управление и настройките на този контролер.

ESP8266, за разлика от Atmeg и328, на които е приложена предишната версия, има много атрактивни характеристики:

Всичко това, заедно с вградения WiFi, ви позволява да реализирате функциите на вградения WEB-сървър, без да спестявате памет за текстови редове.

Но с GPIO ESP8266 е доста зле, следователно такъв лукс като управление на седемсегментен индикатор не е пряко достъпен за него. Следователно е избран индикаторът на микросхемата TM1637, който изисква само два щифта за свързване.

Среда за развитие

Тъй като усвоих разработването на програма за управление на ESP8266 под IDE на Arduino, много от стария код, който осигурява основната логика на контролера за управление на вентилатора, е запазен от предишната версия.

По принцип беше интересно да се прехвърли добре доказан алгоритъм, който реализира краен детерминиран автомат на състоянието, описан в таблицата за преход на състоянието:

конфигуриране

Внедряване на нови функции

Много е неудобно да се правят WiFi контролери, в които параметрите на мрежовата връзка са зашити. Представете си до какво ще доведе промяна в името или паролата на точката за достъп, ако имате дузина такива контролери у дома?

Следователно, тази програма изпълнява функциите за запазване на параметрите на връзката в енергонезависимата EEPROM памет и конфигурирането им по мрежата. Структурата за запазване на параметри, както и четенето и записването им, е реализирана във файловете WC_EEPROM.h и WC_EEPROM.cpp на моя проект. Проверката на четенето и писането се извършва чрез изчисляване на контролната сума на конфигурацията и сравняването й с тази, записана в EEPROM.

В допълнение към мрежовата конфигурация, всички изчаквания и други параметри на алгоритъма за управление на вентилатора също се съхраняват в паметта, което ви позволява да оптимизирате и конфигурирате този контролер директно „по въздуха“.

Показване на режими на работа, конфигурация на контролера, както и директно управление на вентилатора се реализира с помощта на вградения WEB-сървър (файлове WC_HTTP.h и WC_НTTP.cpp)

Алгоритъмът за конфигуриране на точката за достъп е както следва:

Главната страница на WEB-сървъра показва основните параметри на контролера и ви позволява ръчно да включвате/изключвате контролера (аналогично на натискането на бутона за ръчно управление)

контролер

Тук можете също да отидете на страницата за мрежови настройки

контролер