• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino Mega2560 - problem z wifi i podłączeniem W5500
#1
Witam
Posiadam płytkę Mega2560 (Quilight WeMOS Mega WiFi R3 ATmega2560 ESP8266 USB-TTL dla Mega NodeMCU | Shopee Polska) oraz W5500 (DIYMORE W5500 moduły sieciowe Ethernet TCP / IP 51 / STM32 Interfejs SPI dla Arduino | Shopee Polska)
celem jest wykorzystanie jej do sterowania oświetleniem w mieszkaniu. Udało mi się to zaprogramować tak bym mógł sterować przekaźnikami, ale chciałem wpiąć to w sieć domową i tu zaczynają się schody. Płytka niby na swoje wifi ale wszystko co znalazłem w necie nie działa, przy próbie połączenia się z siecią wifi i próbie pobrania ip otrzymuje 0.0.0.0.
Podłączyłem W5500 zgodnie z artykułami: 

https://leoricksimon.blogspot.com/2018/0...-mega.html
https://forum.arduino.cc/t/arduino-mega2...0/654798/6

sytuacja wygląda tak samo przy próbie pobrania ip otrzymuję 0.0.0.0

1. Może ktoś walczył z taką konfiguracją i wie w czym jest problem? Piny ustawione mam tak: 1-4 ON, 5-8 OFF - po wgraniu programu sterującego oświetleniem od razu wszystko działa. Czy takie ustawienie może mieć wpływ na próbę podłączenia do WIFI/W5500?

2. Przy okazji chciałem to w jakiś sposób wykorzystać do odtwarzania muzyki w łazience - na zasadzie włącza się światło zaczyna losowo odtwarzać muzykę/ewentualnie na zasadzie pauza/play - do płytki można podłączoną kartę mikro SD (w rozdzielni) a w łazience jakiś odbiornik np: https://pl.aliexpress.com/item/100500324...pt=glo2pol, bądź jakiś oddzielny moduł odbierający sygnał odpowiadający za odtwarzanie muzyki - odpada odtwarzanie zawsze od początku Smile
Do tego nie bardzo wiem które podejście będzie lepsze i ewentualnie co trzeba byłoby dokupić i jak to zrobić? 
Może ktoś robił podobne rozwiązanie i jest w stanie coś podpowiedzieć?
Paweł
 
Odpowiedź
#2
Wymieniłeś 4 bardzo szerokie tematy, obsług Arduino AVR, ESP i WIFI - jako modem AT (do tego jest znowu obszerna biblioteka) lub niezależna płytka Arduino z ze swoim CORE, komunikacja Ethernet.
Zdecyduj się na jedno rozwiązanie, konkretnie to wbudowane WIFI i opanuj ten temat. To że masz na płytce to wifi to połowa sukcesu, trzeba to jeszcze dobrze podłączyć do MEGA wbudowanymi dipswichami, w programie gadać przez dedykowany UART, a w ESP musi być soft typu modem WIFI. Zdecyduj się jak chcesz to używać. Możesz potrenować na osobnej płytce WIFI np. ESP8266 WEMOS MINI. Ten konkretny zestaw jest adekwatny do jakiegoś projektu gdzie jest wymagane kilkadziesiąt pinów IO.
Pisze o wbudowanym WIFI (komunikacja UART, wg opisu nr3)
Potem o podłączeniu modułu Ethenet (komunikacja SPI)
i opisujesz ustawienie dipswitch od wifi
Nie wiem o co Ci chodzi.
Te dipswitche są do konfiguracji ESP, można go połączyć z MEGA, z USB, ustawić w tryb programowania. Wgrać mu można program do komend AT i działa wtedy jak modem WIFI do innych płytek, albo można mu wgrywać dowolny soft napisany w Arduino, tak samo jak np. do ESP8266 na płytce WEMOS MINI.
W5500 jest świetną płytką do UNO/NANO i MEGA gdy nie ma WIFI. Też da się uruchomić, tylko po co tutaj.
Muzyka to raczej w taki sposób, że bierzesz jakiś odtwarzacz za 1-2$, kolejną płytkę Arduino, wgrywasz konkretną listę utworów, pod nią piszesz program by losował utwór i po wykryciu światła zaczynał grać. Z karty SD podpiętej pod Arduino pewnie da się odtworzyć jakieś dźwięki, ale tylko tyle można o tym powiedzieć, nie będzie to player MP3.
Pokaż kod do tych przekaźników, masz tam delay?
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#3
Może nie do końca dobrze to opisałem te dipswitch mam ustawione tak i wtedy mogę wgrywać program do sterowania przekaźnikami.
Chciałem wpiąć płytkę w sieć domową albo po wifi albo poprzez rj45 (stąd moje pytanie) bym mógł zdalnie podejrzeć stany przekaźników.


Załączone pliki
.txt   przekazniki.ino.txt (Rozmiar: 8.4 KB / Pobrań: 2)
 
Odpowiedź
#4
Ustawiasz przełączniki tak, by USB było podłączone do ESP, otwierasz terminal i sprawdzasz na jakiej prędkości modem ESP zacznie z tobą gadać prawidłowo, wysyłasz mu komendy AT, czekasz na odpowiedź OK. Sprawdzasz jaki firmware masz wgrany, szukasz biblioteki w Google, uczysz się jej obsługiwać, kiedyś miałem np. Adafruit_ESP8266.h.
Przestawiasz zworki by USB było do UART0 MEGA, a UART ESP do UART3 MEGA, wgrywasz odpowiedni program do MEGA i korzystasz z modemu WIFI. Ale tak się robiło z 5 lat temu, jak wyszły te moduły WIFI. To było po to by sobie ściągnąć jakieś dane z sieci i pokazać na ekranie z Arduino, podstawowe, "prymitywne" rzeczy.
Potem pasjonaci napisali do Arduino core, który umożliwia wgranie do ESP programu tak samo jak do Arduino, a tu możliwości jest znacznie więcej, komunikacja UDP, TCP, wirtualne porty COM w sieci, serwer i klient, websockets. Ta płytka umożliwia wgranie takiego programu bezpośrednio do ESP, instrukcja jest tu: https://github.com/esp8266/Arduino .
Ja bym pewnie wgrał serwer na websockets do ESP, a MEGA byłaby tylko do wykonywania poleceń, klepania przekaźnikami, odczytu przycisków, komunikacja między nimi byłaby po UART, do wszystkiego są przykłady w sieci i w bibliotekach.
Ale co z tego Ci wyjdzie to nie wiem, postami nie przekażę Ci wiedzy, którą gromadziłem tysiącami godzin, to nawet nie jest tylko programowanie, ale również sieci komputerowe, html, js.
Twój program jest tak napisany, że nie będzie działał prawidłowo z obsługą serwera po sieci.
To tak jakbyś po miesiącu nauki francuskiego, gdzie poznałeś 200 podstawowych słówek siadł do pisania powieści w tym języku, wchodzisz na forum i pytasz jak to zrobić, a maszynę do pisania masz już zajebistą.
I to nawet nie chodzi o obsługę tego konkretnego języka, bo nie umiesz żadnego. Dlatego ta metafora nie jest do końca trafna, te trafne mogą być obraźliwe.
Chcesz odtworzyć gotowy projekt - nie ma problemu, w kilka dni pewnie odtworzysz budowę sprzętową, wgrasz gotowca i będziesz korzystać, ale napisanie samemu tego samego to już trzeba umieć programować.
Są też pośrednie rozwiązania - Blynk, Supla.
Forum nie jest od uczenia podstaw, są już gotowe tutoriale i kursy, za darmo, online, setki tysięcy nagrań na Youtube. Wystarczy skorzystać.
Nie musisz wymyślać koła pisząc funkcje do obsługi przycisków, są gotowe biblioteki. Oczywiście powinieneś wiedzieć jak działają, jaka jest ich budowa i jak je obsługiwać, ale samo klepanie linii kodu masz z czapki. I będą działały lepiej, bo nie mają delay po 100ms. Odczyt przycisku można zrobić co np. 10ms (ale bez delay 10ms), wystarczy nie obciążając zbytnio uC.
Edit: https://github.com/kaczakat/ESP8266/blob...tRGB02.ino - moja pierwsza, w miarę udana próba sprzed 5lat i już wtedy używanie ESP jako modemu było przestarzałe, bo sam pionierem nie byłem, tylko skorzystałem z czegoś znalezionego w przykładach.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości