Дигитална електроника > Микроконтролери

Репрограмирање на ESP8285 M2 за забава и профит

(1/3) > >>

NerdOmega:
Решив да споделам дел од проектите кои ги работам за свое задоволство како и да си го вежбам кунг фу-то  ;D

На многу кинески страни постојат контролери за ЛЕД ламби


--- Code: ---https://www.aliexpress.com/item/32963077637.html
--- End code ---



Овие контролери се направени за да работат со WS2811, WS2812B ... океј се изработени и добро си ја бркаат работата, но проблемот е што може да се контролира само преку андроид/iOS апликација.

По отварање на уредот внатре има една мала плоча со ESP8285 M2 со свој регулатор на напон на едната страна



Додека пак од другата страна е малце поинтересно



од лево на десно чиповите се

HC245 - Октален трансивер/ бафер
GD32F130F8P6 - ARM cortex M3 микроконтролер.

По мерење и разгледување на плочката Микроконтролерот е поврзан со ESP модулот на Rx/Tx линиите ( GPIO 03,01)
во оваа конфигурација ЕСП микроконтролерот се користи само како модем за АРМ процесорот, додека пак окталниот бафер се користи како ниво шивтер за комуникација со лед диодите кои се на 5 волти.

Во последните неколку години алатките за работа со ЕСП фамилијата на чиповите е развиен многу и овозможува да се испрограмира контролерот со свој код. Од тука планот е да се одлеми АРМ чипот и да се премине на контрола со ЕСП чипот што ке овозможи да се контролира како што сакаш како и да пристапува на интернет и да превзема податоци од сервери, веб страни и слично.

По разлемување на АРМ чипот треба да се премостат пиновите 17 со 9 со тоа преку ЕСП чипот можеме директно да комуницираме со WS2812B лед диодите.



Потоа треба да ги поврземе релевантните пинови на ЕСП чипот за да може да го флешуваме со наш код.

За флешување на ЕСП чипот потребни се овие пинови



Како и најобичен УСБ на сериски конвертер, јас го имам овој


--- Code: ---https://www.aliexpress.com/item/32717057832.html
--- End code ---



** во сликата не е прикажано но јас го поврзав и 5 волти изворот од серискиот конвертер на 5 волти влезот на цела плочка.

Процедурата за програмирање е:
-спои ги GPIO 00 со GND
-приклучи УСБ конвертерот со компјутерот
-флешувај го чипот
-одкачи GPIO 00 од GND
Опциите за флешување се добри, како што е поврзано може директно да се програмира од Ардуино ИДЕ со селектирање на генерички ЕСП модул со 2 Мбит меморија. Но поради мрза и фактот што само што почна поддршката на MicroPython за ЕСП фамилијата на чипови јас одбрав да го флешувам со MicroPython за да видам дали ке работи уопште.

Ако некој се реши да ме следи во постапките нека почне тука


--- Code: ---https://docs.micropython.org/en/latest/esp8266/tutorial/intro.html
--- End code ---

додека за флешување ке му треба esptool.py

МикроПајтон во себе има библиотеки за контрола на WS2812 само што тие ги викаат НеоПиксели така да големиот дел од работата е завршен.


--- Code: ---https://docs.micropython.org/en/latest/esp8266/tutorial/neopixel.html
--- End code ---

Проблемите со ваква модификација се тоа што по флешувањето неможе да се пишува Пајтон код преку сериската врска со ЕСП бидејки таа линија се користи да комуникација со ЛЕД диодите, но ако си го поврзиш на своето ВиФи можеш да го пристапиш преку веб терминалот што за мене е и полесно бидејки овозможува безжична контрола. Друг проблем е релативно спората контрола врз диодите што изнесува негде околу 50-70 милисекунди поради големиот оверхед од Пајтон и Емулацијата на СПИ пинови. Нареден чекор од овде би бил да се прислушкува комуникацијата помеѓу АРМ чипот и ЕСП и да се направи обратно инжинерство на кодот што ке овозможи директно да се контролираат диодите без никаква модификација на плочата како и побрза контрола на истите, но јас немам осцилоскоп или логички анализатор така да тоа останува за иднината

Слика од целосната модификација




Се извинувам за лошиот квалитет на некои слики поради мојот компир од телефон каде што можев ставав слики со поголем квалитет од интернет. Прашања, критики и коментари се добредојдени !

bicikle:
Секако не е на одмет и подобри слики, ама ок е, се разбира. На чиповите можеш во паинт(некој паинт за андроид) да ги напишеш ознаките, оционално.

GigaWatt:
Поентата на хаков е да може преку web GUI да се контролира чудово?

NerdOmega:
поентата е да можеш директно да ги контролираш диодите, пред тоа контрола има само преку андроид апликацијата додека после тоа имаш директна контрола преку ардуино IDE или микропајтон у мој случај.

сакав да си поиграм со тие адресибилните диоди


--- Code: ---https://www.instructables.com/id/ESP8266-controlling-Neopixel-LEDs-using-Arduino-ID/
--- End code ---

само што вака ми се види помалце работа и поинтегрирано решение

Atanas:

--- Quote from: GigaWatt on 16.09.2019, Monday, 00:10:01 ---Поентата на хаков е да може преку web GUI да се контролира чудово?

--- End quote ---

Како што го разбрав сака сам да си го програмира ESP микроконтролерот во некој од програмските јазици, во случајот MicroPython и Arduino.

Navigation

[0] Message Index

[#] Next page

Go to full version