Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 18 maja 2025, o 10:31


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
    Autor Wiadomość
    PostNapisane: 5 lut 2018, o 20:38 
    Offline
    Nowy

    Dołączył(a): 05 lut 2018
    Posty: 7
    Pomógł: 0

    Witam, czy ma ktoś doświadczenie z ethernet shieldem od arduino?
    Wszystko co potrzebuje to:
    - program uruchamia odczyt danych z karty pamięci na starcie (jednorazowo)
    - następnie nasłuchuje pakietów UDP, na które odpowiada również przez UDP
    - w jednym z przypadków odebranych przez UDP, ma być zapis danych na karcie pamięci.

    Samo odbieranie i wysyłanie przez UDP działa bez problemu.
    Problem pojawia się w momencie użycia karty SD, karta odczytuje dane, wrzuca je do zmiennych, a następnie arduino oczekuje UDP, kiedy przychodzi pakiet UDP, program się zawiesza.
    Kiedy usunę funkcję odczytu karty, ten sam kod działa bez problemu.

    Za wspomniany wyżej zapis na karcie na razie się jeszcze nie zabrałem, bo ten odczyt z UDP koliduje.
    Wyczytałem, że trzeba się pobawić w stany wysokie i niskie na pinach 4 i 10, naprzemiennie 10 HIGH wyłącza ethernet SPI, a 4 SD SPI,
    Coś robię źle albo zbyt wiele wymagam od sprzętu.

    Czy ktoś borykał się z podobnym problemem?
    Chętnie podzielę się kodem na email jeśli znajdzie się ktoś chętny pomóc.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lut 2018, o 07:17 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 paź 2016
    Posty: 106
    Pomógł: 1

    - na jakim chipsecie jest ten moduł ethernet do Arduino i jaki to shield ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lut 2018, o 11:44 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sty 2016
    Posty: 1170
    Lokalizacja: Kraków
    Pomógł: 93

    A moduł karty pamięci jest z ethernet shieldem? Czy to osobny shield?
    Z obydwoma modułami komunikujesz się przez SPI?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lut 2018, o 16:39 
    Offline
    Nowy

    Dołączył(a): 05 lut 2018
    Posty: 7
    Pomógł: 0

    Moduł do W5100 (ethernet+sd). Załączam biblioteki: sd, ethernet, SPI i kilka innych (między innymi one wire).
    Jednak biblioteka SPI, czy jest czy jej nie ma dla kompilacji żadnej różnicy nie robi. Nie wiem jak ugryźć to SPI, ale wiem że to właśnie tu musi tkwić problem.
    Ja SPI załączam, bo mniemam że biblioteka ethernet i sd odwołują się do niej. Znalazłem sporo przykładów ethernet ale TCP, z web serwerem, natomiast z UDP nic



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lut 2018, o 21:11 
    Offline
    Nowy

    Dołączył(a): 05 lut 2018
    Posty: 7
    Pomógł: 0

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język cpp
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Tak zaczynam, następnie w momencie wykorzystania SD:
    digitalWrite(4,LOW);

    kiedy chcę korzystać z ethernetu:
    digitalWrite(4,HIGH);
    digitalWrite(10,LOW);


    No i kartę odczytuje, natomiast wszystko się wysypuje na pierwszym odebranym pakiecie.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 lut 2018, o 05:51 
    Offline
    Nowy

    Dołączył(a): 05 lut 2018
    Posty: 7
    Pomógł: 0

    Problem rozwiązany.

    Ethernet musi być uruchamiany jako pierwszy(SPI master), a dopiero po nim start karty SD (SPI slave).

    Składnia: [ Pobierz ] [ Ukryj ]
    język cpp
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 mar 2018, o 18:53 
    Offline
    Nowy

    Dołączył(a): 18 paź 2015
    Posty: 1
    Pomógł: 0

    podobny problem rozgryzam
    mam:
    czas NTP Server
    dwa DS18B20
    DHT11
    dane wyświetlam na server www
    chciałem użyć karty sd do zapisu i wywalało

    wyłączyłem
    //#include <SPI.h>
    //SPI.begin();

    i chodzi bez (pinMode(4, OUTPUT);)

    tak dla potomnych ...:)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO