Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

GPIO zmieniają stan przy starcie RPI

inventco.eu 19 Kwi 2017 15:00 1056 7
  • #1 19 Kwi 2017 15:00
    inventco.eu

    Poziom 28  

    Szukam prostego najlepiej programowego rozwiązania aktywowania pinów GPIO w RPI
    podpięte mam przekaźniki które sterują piecem i alarmem.
    Każdy restart RPI powoduje, że zmieniają się stany podczas ładowania systemu .... i ustawiane są na końcu w stanie niekoniecznie takim jak były przed restartem....
    2 pytania:
    1) jak wyeliminować zmiany stanów podczas ładowania RPI ? i domoticz .... tak aby stan ustalił się raz a nie kilka razy klepał 0,1
    2) zapisać zmiany by po restarcie przywrócone zostały stany GPIO sprzed restartu...

    Pozdrawiam
    Marek

  • #2 19 Kwi 2017 15:04
    ditomek
    Poziom 18  

    Ciekawe co piszesz. nigdy się z tym nie spotkałem. Możesz opisać dokładniej warunki w których ma to miejsce? Przez te kilkadziesiąt sekund do startu zanim odpali się skrypt w pythonie (zakładam, że sterujesz przez niego choć oczywiście mogę nie mieć racji) przekaźniki losowo zmieniają swój stan?

  • #3 19 Kwi 2017 15:10
    inventco.eu

    Poziom 28  

    W zasadzie to losowo jest tu ujęte na wyrost ... każda losowość jest przewidywalna.
    Ogólnie steruję z poziomu domoticza i jego sterowań. Nie używam swoich skryptów.

    Efekt jest taki, że jeżeli nastąpi restart RPI mamy jeden stan (HzI) ergo aktywuje się przekaźnik na płytce którą kupiłem do RPI.
    Po chwili wyłącza się przekaźnik
    Mija chwila i przekaźnik znów robi podobną sekwencję...
    Jak system się odpali to stan jest jednolity na wszystkich wyjściach. A w tym momencie np rozbraja się wcześniej uzbrojony alarm.
    Oczywiście to pykanie także powoduje reakcje urządzeń na wyjściach przekaźników.

  • #4 19 Kwi 2017 15:36
    Piotrus_999
    Poziom 39  

    Tak będzie i nie są to zmiany robione przez system. Są one w tym czasie "floating" a RPi dobrze sieje i będziesz miał losowe zmiany. Ludzie dają sobie z tym radę poprzez dodanie słabego podciągnięcia do masy.

    Pamiętaj aby nie używać pinów, które w czasie boot-u sa używane np do czytanie EEPROM-u

  • #5 19 Kwi 2017 16:59
    grko
    Poziom 31  

    Piotrus_999 napisał:
    Tak będzie i nie są to zmiany robione przez system. Są one w tym czasie "floating" a RPi dobrze sieje i będziesz miał losowe zmiany. Ludzie dają sobie z tym radę poprzez dodanie słabego podciągnięcia do masy.


    To nie jest prawda. Wewnętrzny pull-up/down są zdefiniowane dla każdego pinu RPI po resecie. Przynajmniej jest tak dla BCM2835.

    @inventco.eu Najlepiej sprawdź oscyloskopem kiedy dochodzi do zmiany na danym pinie. Wypadałoby wiedzieć czy dzieje się to w u-boot (mało prawdopodobne) czy po starcie kernela. Być może będzie trzeba grzebać aż do device tree.

  • #7 20 Kwi 2017 11:22
    inventco.eu

    Poziom 28  

    RPI bawię się dopiero z miesiąc...
    Pozwolę się zapytać co to Firmata ? to jakiś shield ?

  • #8 20 Kwi 2017 13:43
    ditomek
    Poziom 18  

    Wyobraź sobie, że Twoje arduino podłączone do R-Pi przez kabel USB potrafi udostępnić swoje piny właśnie Raspberry. Oczywiście tak prosto jest w przypadku pinów cyfrowych bo przesyłanie danych analogowych wymaga nieco więcej zachodu. Niemniej jednak wszystko masz gotowe w przykładach. Testuj.

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME