[UZUPEŁNIENIE]
Do czego jest ten mikrokontroler?
Ten mikrokontroler jest do niczego.
Żart? Niekoniecznie.
Do czego jest ten mikrokontroler?
Ten mikrokontroler jest do niczego.
Żart? Niekoniecznie.
Dziś kolejny odcinek opowieści jak 160 MHz procesor został wynajęty do sterowania ..... przekaźnikiem. A nawet dwa mikroprocesory do sterowania TYLKO JEDNYM przekaźnikiem. To dopiero dowcip dnia. A więc dalej tłuczemy orzechy mikroskopem (elektronicznym).
Możliwości mikrokontrolerów rosną zgodnie z prawem Moor'a. Ale ich wykorzystanie pozostaje w zasadzie na niezmienionym poziomie. Mocno zaskoczył mnie przypadek EFM8 firmy Silabs. Stary dobry 8051 został obudowany nieprawdopodobnie bogatą matrycą pryferiałów, które można dołączać dynamicznie praktycznie do każdego portu. No i ?.. Ten niesamowity procesorek w SONOFF RF Bridge jest jedynie pomocnikiem jeszcze większego ESP8266. Dwa procesory o ogromnych możliwościach obsługują skromną transmisję 433 MHz, sterują ledami przyciskiem i buzzerem. Jest jeszcze WiFi ale to jakby w pakiecie i przy okazji. Na jednym takim procesorze 30 lat temu można byłoby zbudować obrabiarkę numeryczną a dziś ..... ech łza się w oku kręci.
Ale dziś jeszcze większy techniczny barok - dwa procesory do jednego przekaźnika to jest coś co może zadziwić nie jednego elektronika.
[UZUPEŁNIENIE] - dzięki podpowiedzi kolegów z forum BLYNKa
Czy koniecznie trzeba przerabiać przekaźnik wersji II by zrobić z niego użyteczny moduł w systemach z BLYNKiem?
Oczywiście że nie.
Nie mamy co prawda bezpośredniego dostępu do sterowania przekaźnika z portu ESP-01 ale mamy w BLYNKu piny wirtualne, którymi możemy odpowiednio wysterować mikrokontroler STN.
Połączmy więc zmianę wartości pinu wirtualnego z procedurą wysyłania sekwencji kodów uruchamiających przekaźnik. O np. tak
Pod wirtualny pin V1 podpinamy widget BUTTON i ..... po kłopocie.
Żadnego cięcia ścieżek żadnych lutowań. BLYNK to jest to!
[Koniec UZUPEŁNIENIA]
Swego czasu opisywałem tzw. inteligentne przekaźniki (tu>>> i tu>>>), które PICom zawdzięczały świetne jak na takie drobiazgi, funkcje. I oczywiście z bezprzewodowym sterowaniem opartym na transmisji 433 MHz. Wprost idealne jako elementy składowe dla systemów Smart Home.
Świat a w zasadzie Chińczyki poszli jeszcze dalej - do nieśmiertelnego przekaźnika podpięli swój ESP8266 oferując kolejny klocek systemów IoT. Za cenę 1-1,5 $ dostajemy bazę dla bezprzewodowego przekaźnika tym razem w technologii WiFi. W przeciwieństwie do SONOFFa (6$) oferowana jest jedynie płytka przekaźnikowa z miejscem do zainstalowania własnego ESP-01. Żadnego zbędnego oprogramowania, żadnych autorskich programów IoT. Czysty hardware. Dla mnie bomba. Znalazłem dwa różnie wyglądające modele i oczywiście zamówiłem (Aliexpress).
Przyszły po miesiącu i zaczęła się zabawa....
Pierwszy inteligentny przekaźnik wygląda bez zarzutu. Miał co prawda być taki
A przyszedł podobny lecz z opto-izolowanym przekaźnikiem.
Za tą samą cenę lepszy? - oczywiście biorę. Na płytce nic praktycznie nie ma - przekaźnik i LED przyłączone do portu GPIO 0 (? ciekawie) i przycisk RESET stabilizator 702 i oczywiście gniazdo do ESP. Całość zasilana z 5V. To wszystko co potrzeba by bez problemów zrobić z tego mocno inteligentny przekaźnik sterowany bezpośrednio z BLYNKa. Przy zasilaniu z sieci trzeba dołożyć jakiś zasilacz ale to nie problem - 5 V zasilacze USB + kabelek (łącznie ok 1$) znakomicie sprawdzają się w tej roli.
Tutaj znalazłem trochę wiedzy na jego temat + jakieś aplikacje do sterownia za pomocą telefonu (a jednak!). Najważniejszy ze wszystkiego jest zawarty tam schemat płytki
A jak to działa? Znakomicie!
Wgranie programu to chwilka dzięki mojej ulubionej przejściówce z przyciskami
I za chwilę można już zdalnie, za pomocą BLYNKa, załączać przekaźnik i połączony z nim LED sterując portem GPIO 0. Dodatkowo mamy drugi LED na ESP-01 przyłączony do portu GPIO 2. SUPER!!
Należy pamiętać jedynie, że logika obu tych wyjść jest odwrotna - sygnałem sterującym jest ZERO.
No to biegnę do sklepu nabyć drogą kupna jeszcze kilka sztuk tego fajnego układu do domowej automatyki. A i nie należy zapomnieć o dokupieniu ESP-01S. To taka poprawiona wersja ESP-01 między innymi poprzez przyłączenie wewnętrznego LEDa do portu GPIO 2 a nie Tx co daje nam dodatkową możliwość sygnalizacji. Na upartego i przycisk na płytce dałoby się przełączyć na Tx lub Rx ale to już za dużo zachodu. I bez tego ten drobiazg znakomicie wpasowuje się całą filozofię systemów IoT.
Z drugim przekaźnikiem zapowiada się już znacznie gorzej.....
Po lewej stronie 8 nóżkowy scalak nie wygląda sympatycznie.
No tak dodatkowy mikrokontroler STC15. Do jednego przekaźnika i LEDa dwa mikroprocesory!! Pogłupieli kompletnie od tej nadprodukcji.
STC15F104W to też klon 8051 z 35 MHz zegarem. Ciężko znaleźć jakieś dokładniejsze informacje na sieci. Tu opis mikrokontrolerów tej serii ale brak w wykazie tego modelu.
Schemat ukladu jest trudno odnaleźć w zasobach internetu ale na spodzie płytki w niektórych modelach widnieje adres producenta. Nie udało mi się odszukać tego dokładnie modelu ale zakładam że wszystkie one wykonane są na jedno kopyto. A z opisu wynika, iż moduł pełni podwójną rolę:
- zdalnie załączany przekaźnik poprzez WiFi
- przekaźnik załączany z USB
A z tego wynika iż STC15 robi tu za konwerter USB/RS i wysterowuje przekaźnik. Rola ESP-01 została ograniczona do bezprzewodowego przesyłu kodów załączania i wyłączania przekaźnika w trybie pracy jako AP (punkt dostępowy sieci WiFi) lub jako STA (stacja).
Są nawet podane kody jakie należy przesłać by sterować tym przekaźnikiem
- Open the relay: A0 01 01 A2
- Close the relay:A0 01 00 A1
Kody te ESP przekazuje w sposób transparentny do STC i one powodują zmianę stanu na porcie P1.2. Ponadto Chińczyki wyprodukowali do tego jakiś software mający za zadanie sterować całym tym złożonym urządzeniem.
Czy można z tego zrobić jakieś użyteczne ustrojstwo? Oczywiście tak.
I kilka osób już nad tym pracuje choć widać że temat jest jeszcze świeży. W linku proponuje się usunięcie rezystora łączącego STC z tranzystorem sterującym przekaźnikiem i przełączenie bazy na port GPIO 2 poprzez rezystor i diodę. Jak ja to lubię.
I kilka osób już nad tym pracuje choć widać że temat jest jeszcze świeży. W linku proponuje się usunięcie rezystora łączącego STC z tranzystorem sterującym przekaźnikiem i przełączenie bazy na port GPIO 2 poprzez rezystor i diodę. Jak ja to lubię.
Po godzinnych poszukiwaniach udało się jednak odszukać stronę ze skromną dokumentacją modułu.
A w niej schemat
Rzeczywiście wyrzucenie R3 i przyłączenie Q1 do GPIO2 pozwoli sterować przekaźnikiem z ESP. Ale istniej łatwiejsze rozwiązanie.
Łączymy dwie sąsiednie nogi 6 i 7 STC wcześniej odcinając go od napięcia zasilania. Tym sposobem sterujemy przekaźnikiem z ESP portem Rx.
Tylko czy ma sens kupowanie takiej płytki wymagającej przeróbek szczególnie gdy oba moduły są praktycznie w tej samej cenie?
Zdecydowanie polecam wersję nr 1 modułu przekaźnika - mniej kłopotów więcej możliwości
[UZUPEŁNIENIE] - dzięki podpowiedzi kolegów z forum BLYNKa
Czy koniecznie trzeba przerabiać przekaźnik wersji II by zrobić z niego użyteczny moduł w systemach z BLYNKiem?
Oczywiście że nie.
Nie mamy co prawda bezpośredniego dostępu do sterowania przekaźnika z portu ESP-01 ale mamy w BLYNKu piny wirtualne, którymi możemy odpowiednio wysterować mikrokontroler STN.
Połączmy więc zmianę wartości pinu wirtualnego z procedurą wysyłania sekwencji kodów uruchamiających przekaźnik. O np. tak
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
byte relON[] = {0xA0, 0x01, 0x01, 0xA2};
byte relOFF[] = {0xA0, 0x01, 0x00, 0xA1};
char auth[] = "auth";
char ssid[] = "xxxx";
char pass[] = "xxxx";
BLYNK_WRITE(V1)
{
int pinValue = param.asInt();
if (pinValue == true) {
Serial.write(relON, sizeof(relON));
}
else {
Serial.write(relOFF, sizeof(relOFF));
}
}
void setup()
{
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
}
void loop()
{
Blynk.run();
}
Pod wirtualny pin V1 podpinamy widget BUTTON i ..... po kłopocie.
Żadnego cięcia ścieżek żadnych lutowań. BLYNK to jest to!
[Koniec UZUPEŁNIENIA]
Co dalej z inteligentnymi przekaźnikami z bezprzewodowym WiFi ? Może uda się coś wymyślić o ile ciąg dalszy nastąpi......
121
Very interesting. I agree it's a bit mad to use all this computing power to control a relay. But it's handy for learning the ideas of IoT. I plan to use one relay to control the program pin of another ESP8266 which will be reading data from a BME280 sensor and sending it out over my LAN. Then I can has the kit in the workshop and program it from my laptop in the warm of the house. Great blog. Thanks. Patrick
OdpowiedzUsuńIt's nice that you like it
UsuńWitam,
OdpowiedzUsuńa czy da się podpiąć przycisk dzwonkowy aby przełączyć ręcznie stan przekaźnika?
wyjaśnij dokładniej
OdpowiedzUsuń