
Dejwuch
Użytkownicy-
Zawartość
14 -
Rejestracja
-
Ostatnio
Ostatnio na profilu byli
Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.
Dejwuch's Achievements

2/10 (2/10)
2
Reputacja
-
ZeroTier - Bezpieczna sieć prywatna dla urządzeń IoT
Dejwuch odpisał w temacie użytkownika Marcin648 • Artykuły użytkowników
@caporeira Cześć, Tak próbowałem tą metodę opisaną przez ZeroTier w linku powyżej i działa nawet spoko (choć konfiguracja zajęła mi trochę czasu..). Ale stwierdziłem, że w moim przypadku lepiej sprawdzi się komunikacja przez moją domenę www (i tak ją miałem, więc specjalnie nie kupowałem). Po prostu z ESP wysyłam po https dane na domenę (do bazy MySql) co ok. 2 sekundy i kiedy mam potrzebę to pobieram te dane np. z telefonu. Jest to na pewno tańsze niż kupowanie RPi dla kilku lokalizacji (oddalonych od siebie o kilka km). Jedynie trochę martwi mnie tak częste wysyłanie danych z ESP na serwer, ale nie wiem czy to jakoś szkodzi..- 16 odpowiedzi
-
- Sieci
- Raspberry Pi
- (i 3 więcej)
-
ZeroTier - Bezpieczna sieć prywatna dla urządzeń IoT
Dejwuch odpisał w temacie użytkownika Marcin648 • Artykuły użytkowników
Cześć, @Marcin648 bardzo fajny artykuł - szczególnie na początek zabawy z RP i VPN. I z tego też powodu mam (może nieco zielone) pytanie: mam postawiony ZeroTier na RP, ja z telefonu komunikuje się z RP po konkretnym adresie, a RP w ramach tego zapytania odpytuje urządzenia w tej samej sieci WIFI i odsyła mi odpowiedź z tych urządzeń. Czy jest ktoś w stanie naprowadzić jak to ugryźć ? Przypuszczam, że trochę podobna sytuacja co opisał @caporeira, ale bez przekierowania portów.- 16 odpowiedzi
-
- Sieci
- Raspberry Pi
- (i 3 więcej)
-
Prościej się nie da - Czym jest Felgo SDK?
Dejwuch odpisał w temacie użytkownika kosadev • Artykuły użytkowników
Cześć, Bardzo fajna sprawa z tym Felgo jednakże mam pewien problem - może spotkałeś się z tym.. Aplikacja w QML, którą napisałem działa bez problemu na Android i Windows, ale jak zainstalowałem Felgo i chciałem sprawdzić jak to wygląda na tym Felgo Live to wyskakuje taki oto błąd i nie wyświetla aplikacji. QZXing mam zaimportowane w main.qml jako: import QZXing 2.3 natomiast w .pro jako: CONFIG += qzxing_qml include(QZXing/QZXing.pri) Nie wiem co muszę zrobić, aby Felgo też to "zaczytał"..- 2 odpowiedzi
-
Kurs Qt – #2 – komunikacja z Arduino przez UART
Dejwuch odpisał w temacie użytkownika Komentator • Artykuły redakcji (blog)
@Matthew11, dokładnie o to chodziło, teraz śmiga. Dziękuję -
Kurs Qt – #2 – komunikacja z Arduino przez UART
Dejwuch odpisał w temacie użytkownika Komentator • Artykuły redakcji (blog)
Witajcie, Mam nieco powiedzmy błahy problem z C++ i zastosowaniem funkcji QiODevice::Write(). Mianowicie dane (wartości liczbowe 0-255), które chcę wysłać do Xmega są pod zmienną typu unsigned char, a funkcja przyjmuje const char * lub QByteArray. Korzystam z napisanego przez siebie protokołu (bazującego na DBus, xmodem). Problem pojawia się w drugą stronę - kiedy odbieram dane char i potrzebuję przekonwertować na unsigned char. Próbowałem na różne sposoby (reinterpret_cast<const char*>, QByteArray::setNum(zmienna, 10)), ale żadna z tych metod nie pozwoliła mi osiągnąć tego co chcę - czyli wysyłam z uC np 0x10 0x15.., a po stronie PC otrzymuję również 0x10 0x15... Kodu nie zamieszczam, ponieważ nie ma nic nadzwyczajnego, różniącego się od tego co w artykule. Korzystam z QIODevice::write(const char *) oraz z QIODevice::read(cons char*). Czy jest ktoś w stanie mi wyjaśnić jak powinienem to zrobić ? Prawdopodobnie problem jest błahy i wynika z mojej niepełnej wiedzy C++. Edit: Dodam tylko, że po stronie uC raczej nie ma problemu, ponieważ gdy wysyłam dane na zwykły terminal (np RealTerm) dane są przesyłane prawidłowo. -
Dzięki za rady Załóżmy, że chciałbym wykorzystać FT232RL, a co z bootloaderem ? Rozumiem, że poprzez ten konwerter nie będę mógł go wypalić, więc musiałbym jednorazowo wykorzystać np. USB ASP / ISP poprzez MISO MOSI SCK ? Załączyłem schemat podłączenia dla FT232RL i tutaj pojawia się to samo pytanie. Jeżeli odetnę zasilanie z USB ("VCC5V") i podłącze zasilanie zewnętrzne to czy układ będzie prawidłowo działał ? I wracając jeszcze do tego dodatkowego mikrokontrolera Atmega16.. Co miałeś na myśli "utrudni zadanie" ? Czy chodzi tu tylko o jego montaż itp ? Czy odcinając USBVCC będzie wiązało się to z jakimiś kłopotami w komunikacji z komputerem ?
-
Nie wspomniałem o tym, ale cały układ będzie działał cały czas z komputerem, przesyłając dane w jedną i w drugą stronę. Więc myślę, że z tego względu jest on niezbędny. Co sądzisz ? Czy może wystarczyłoby podłączenie USB z komputera pod pin Tx i Rx (D+ i D-)?
-
@Treker, powiedzmy ,ze reszta układu pozostałaby bez zmian. Tak chciałbym dodać również mikrokontroler (Atmega16), który działałby jako programator/konwerter. W takim razie co powinienem jeszcze uwzględnić lub zmodyfikować ?
-
Sterownik światła na ESP zgodny z homebridge
Dejwuch odpisał w temacie użytkownika Masterpc96 • Projekty - DIY
Dzięki za zdjęcie Kurcz jednak dalej nie jestem pewny jak dokładnie sterować przekaźnikiem poprzez włączniki i ESP jednocześnie.. Czy taki schemat podłączenia jest słuszny (oczywiście pomijając diody przy cewce itp) ? Rozumiem to tak, że np z ESP nadajemy sygnał, że włączamy światło. Następnie nadajemy sygnał włącznikiem, że chcemy zmienić światło na przeciwny stan (czyli wyłączyć), wówczas ESP rozłącza nam przekaźnik. Czy tak ? -
Sterownik światła na ESP zgodny z homebridge
Dejwuch odpisał w temacie użytkownika Masterpc96 • Projekty - DIY
Ciekawy projekt, jednak zastanawiam się czy jeżeli włączę światło przyciskiem od światła to czy będę mógł go wyłączyć ESP ? I na odwrót - jak włączę światło poprzez ESP to czy będę mógł wyłączyć przyciskiem od światła ? Nie za bardzo rozumiem jak to działa w opisanym przez Ciebie projekcie. Czy mógłbyś narysować np połączenie takiego układu lub w jakiś sposób opisać ? -
Część, Trochę odkopuję, ale chcę "zrekonstruować" Arduino Uno (i Mega) pomijając niektóre elementy. Chciałbym rozwiać moje wątpliwości zanim przystąpię do montażu. Zastanawiam się czy jeżeli "odetnę" ścieżkę zasilania Arduino z USB ("USBVCC") to czy układ będzie prawidłowo działać ? Tzn czy będzie możliwe połączenie z komputerem itp. Po prostu nie chcę w żadnym wypadku, żeby Arduino było zasilane z USB. Ma się załączać tylko w momencie podłączenia zewnętrznego zasilania. Wówczas rozumiem, że mógłbym pominąć tranzystor T1, który steruje zasilaniem (czy z USB czy z zew. VIN) oraz cały układ z komparatorem U5A i dzielnikiem RN1A i RN1B ? Z góry dziękuję za odpowiedź.
-
Arduino UNO - problem z odczytem stanu na pinach
Dejwuch odpisał w temacie użytkownika Dejwuch • Arduino i ESP
Nie wpadłem na to za pierwszym razem, że może to być "naturalne" zjawisko. Tak jak wspomniałem na początku - Arduino UNO R3 @Treker, dziękuję za wskazówki. Poprawiłem kod zmieniając pin7, tzn: pinMode(7,INPUT_PULLUP); Poprawiłem również połączenie z przekaźnikiem. Jednakże mam problem z zabezpieczeniami. Zamieszczam uzupełniony schemat o pozostałe przekaźniki - w takiej konfiguracji ma pracować ten układ. Przycisk SW1 został dodany symbolicznie jako badane urządzenie (sygnalizując czy przewodzi napięcie 220-240 VAC czy też nie ). Cewka przekaźnik K2 będzie sterowana napięciem zmiennym z sieci (przyłącza L i N). 1. Zastanawiam się nad wykorzystaniem optoizolatorów, aby zabezpieczyć kontroler przed przebiciem 220-240 V. Czy zastosowanie optoizolatora U1, spełni swoje zadanie ? Tzn np. w przypadku przebicia 220-240V, ulegnie uszkodzeniu U1 zanim uszkodzi się mikrokontroler ? Napięcie 5V byłby dostarczane bezpośrednio z układu Arduino. 2. Mam wątpliwości co do zastosowania optoizolatorów U2 i U3 oraz diod D2 i D3, ponieważ sam to nakreśliłem. Czy jest ktoś w stanie ocenić czy taki układ, szczególnie za przekaźnikiem K2 ma prawo bytu ? Czy ochroni mikrokontroler przed niechcianym uszkodzeniem ? Zastanawiam się również czy zastosowanie U2 w takim połączeniu pozwoli mikrokontrolerowi odczytania tylko 0 w momencie gdy przekaźnik K2 nie płynie prąd (jest w stanie NC). 3. Nie jestem pewny, które rozwiązanie wybrać w celu ochrony przeciwprzepięciowej w przypadku cewki przekaźnika K2 na prąd zmienny. Czym się będzie różnić w tym zastosowaniu wykorzystanie warystora wpiętego równolegle do cewki, a czym rezystora i kondensatora (RC) ? (nie wykorzystano jeszcze na schemacie) Przypuszczam, że powinno zadziałać, ale proszę o opinie. Z góry dziękuję za każdą podpowiedź, poradę. -
Arduino UNO - problem z odczytem stanu na pinach
Dejwuch odpisał w temacie użytkownika Dejwuch • Arduino i ESP
Dziękuję Niestety próbowałem również z input_pullup na różne sposoby. Ale już dokładnie opisuje w czym problem, a poniżej uproszczony schemat. Na pinie 10 cały czas powinienem odbierać sygnał 1, a na pinie 7 zależności czy używam case a lub b. W momencie case a powinienem otrzymywać informacje 11 (pierwsza jedynka to sygnał z 7, a druga to z 10) - i faktycznie tak się dzieje. Problem jest w momencie używania case b. Losowo prawie na przemian dostaje 01, 11, 11, 01, 11, 01 itp. Tak jakby pozostawienie pinu 7 bez sygnału (0 lub 1) powoduje jego losowość. Czy teraz problem jest bardziej zrozumiały ? Czy możliwe, że specyfikacja kontrolera generuje taką losowość ? Czy zastosowanie dodatkowego jakiegoś układu (np z tranzystorem) rozwiązałby ten problem ? Chcę, żeby w momencie wybrania case a, na pinie 7 zawsze wystąpiło 0 (czyli, że przekaźnik jest otwarty). EDIT (rozwiązanie): Doszedłem do wniosku (nie wiem czy słusznego), że Arduino, kiedy nie ma jasno nadanego sygnału 0 lub 1 to będzie losowo wskazywał tą wartość po wywołaniu odczytu. Rozwiązanie dość proste.. zastosować przekaźnik z 2 stanami (NO i NC). Do NC podłączyć GND (aby wskazywał 0 na pinie7 czyli, że przez cewkę nie płynie prąd), a na NO podłączyć 5V i w momencie płynięcia prądu przez przekaźnik dostaniemy informację 1 na pinie7, że prąd płynie,. -
Dejwuch dołączył do społeczności
-
Cześć, Dopiero zacząłem przygodę z Arduino UNO R3 i chciałbym zbudować pewne urządzenie - niestety zatrzymałem się na samym początku.. Czy mógłby mi ktoś pomóc i powiedzieć w czym leży problem i jak go rozwiązać ? Urządzenie ma służyć do uruchomienia przekaźnika sygnałem z pinu 3, sprawdzeniu na pinie 7 czy przez badane urządzenie/przedmiot (póki co bez tego przedmiotu) przepływa prąd. Jednocześnie ma sprawdzać czy w tym samym czasie przepływa prąd w połączeniu z + na pin 10, docelowo tutaj też będzie przekaźnik ale póki co mam tylko 1. Odbywa się to tak: -wysyłam informacje z PC, że chcę sprawdzić pin z przekaźnikiem (case b) - kontroler odpowiada mi np. 01 - czyli na pierwszym pinie (pin 7) jest stan niski, na drugim (pin 10) wysoki. Dla odpowiedzi 11, to na obydwu pinach są stany wysokie. Problem jest w tym, że gdy np sprawdzam case a (bez zwierania przekaźnika) to dla pinu 7 (od przekaźnika) losowo wysyła mi informacje o stanie niskim i wysokim.. Mam wrażenie, że gdy nie ma żadnego sygnału nadanego przez arduino na tym 7 pinie to dobiera sobie dowoli. Próbowałem na wszelkie znane mi sposoby i niestety nie znalazłem rozwiązania. Czy ktoś jest w stanie mi pomóc, albo naprowadzić ? Może kod jest źle napisany ? Załączam krótki program, który ma symulować takie urządzenie. Pozdrawiam Dawid char komenda = 0; // komenda z PC dla case a lub b int odczyt7 = 0; // odczyt stanu z pinu 7 int odczyt10 = 0; // odczyt stanu z pinu 10 void setup() { Serial.begin(9600); pinMode(7,INPUT); // pin do odczytu stanu 0/1 z przekaźnika pinMode(10,INPUT); // pin do odczytu stanu 0/1 ze stałego połączenia pinMode(3,OUTPUT); // pin wyjściowy dla przekaźnika 1 digitalWrite(3, LOW); } void loop() { if (Serial.available()>0) // sprawdzenie czy odebrano komunikat { komenda = Serial.read(); // przypisanie komunikatu do zmiennej switch (komenda) // wybranie casu w zaleznosci od zmiennej - czy uruchomic przekaznik i sprawdzic stan (b), czy sprawdzic stan ze stalego polaczenia (a) { case 'a': odczyt7 = digitalRead(7); // odczyt (0 lub 1) z pinu 7 (przekaźnika) i przypisanie do zmiennej odczyt10 = digitalRead(10); //odczyt (0 lub 1) z pinu 10 (stałego łącza) i przypisanie do zmiennej delay(300); Serial.print(odczyt7); Serial.println(odczyt10); // wysłanie informacji do PC o stanach pinów delay(300); digitalWrite(3, LOW); break; case 'b': digitalWrite(3, HIGH); // po wybraniu b, zalacza się przekaznik i sprawdza jak uprzednio delay(300); odczyt7 = digitalRead(7); odczyt10 = digitalRead(10); delay(300); Serial.print(odczyt7); Serial.println(odczyt10); delay(300); digitalWrite(3, LOW); break; } } }