astex Napisano Listopad 9, 2019 Udostępnij Napisano Listopad 9, 2019 Witam, Mam problem, chciałbym przesłać do laptopa wartość temperatury i wilgotności z czujnika DHT11 podłączonego do raspberry pi. Dotychczas stworzyłem komunikację między laptopem a maliną przy pomocy TCP/IP "socket" w pythonie i mogę np. uruchomić z laptopa przekaźnik podłączony do raspberry, który zapala lampkę. Jednak od dłuższego czasu nie mogę wpaść na pomysł jak przesłać dane z czujnika. Sensor działa poprawnie na malince. Proszę o pomoc 🙂 z góry dziękuję 1 Link do komentarza Share on other sites More sharing options...
Gieneq Listopad 10, 2019 Udostępnij Listopad 10, 2019 @astex witamy na forum! Czyli rozumiem że narazie masz nawiązaną komunikację ale tylko jednokierunkowo? Czy istota problemu jest w sposobie wysłania wartości liczbowej? 1 Link do komentarza Share on other sites More sharing options...
ethanak Listopad 10, 2019 Udostępnij Listopad 10, 2019 Na przykład dokładnie odwrotnie (serwer na laptopie, klient na malince). Poza tym transmisja TCP/IP jest dwukierunkowa, możesz np. zapytać o coś malinkę i dostać odpowiedź (w ten sposób działają np. serwery http). Do wyboru, do koloru 🙂 1 Link do komentarza Share on other sites More sharing options...
astex Listopad 10, 2019 Autor tematu Udostępnij Listopad 10, 2019 Komunikacja działa w dwie strony. Po wpisaniu odpowiedniej komendy ze strony klienta, serwer importuje program, który włącza/wyłącza przekaźnik i wysyła wiadomość zwrotną o wykonanej czynności. Problem pojawia się podczas wysyłania wartości liczbowych z czujnika. Jestem początkującym użytkownikiem maliny i pythona, ale wydaje mi się, że problem może być z odpowiednim kodowaniem i dekodowaniem tych wartości. Próbowałem różnymi sposobami lecz bez powodzenia. Czy również powinienem importować program, który odpowiada za odczyty temperatury i wilgotność do serwera? Czy ten program powinien znajdować się w kodzie, który tworzy serwer? Pozdrawiam 🙂 Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Elvis Listopad 10, 2019 Udostępnij Listopad 10, 2019 @astex a potrafisz wysyłać i odbierać komunikaty tekstowe? Bo jeśli tak, to skonwertuj wynik z czujnika na napis i wyślij. Po pierwsze łatwiej to testować, bo na początek możesz po prostu wyświetlać co dostajesz, bez przetwarzania. Możesz też testować serwer niezależnie wysyłając mu napisy z dowolnego terminala. A jak już opanujesz wysyłanie gołych tekstów to poczytaj o formacie JSON, będziesz miał wtedy piękną możliwość przesyłania nawet całkiem skomplikowanych danych, czy wyników. 1 Link do komentarza Share on other sites More sharing options...
RFM Listopad 10, 2019 Udostępnij Listopad 10, 2019 14 godzin temu, astex napisał: Jednak od dłuższego czasu nie mogę wpaść na pomysł jak przesłać dane z czujnika. Użyj UDP a nie TCP chyba, ze koniecznie transfer musi mieć potwierdzenia i ponawianie błędnych ramek. Temperatura, wilgotność w DHT11 mają rozmiar bajtu. Wysyłasz 2 bajty i to wszystko. Jak planujesz przesyłać dane z większej liczby różnych rodzajów czujników to może to być XML, JSON, HTML. Możesz użyć formatu CSV, czy prostego własnego formatu tekstowego/binarnego np parametr1=wartosc1 parametr2=wartosc2 Link do komentarza Share on other sites More sharing options...
ethanak Listopad 10, 2019 Udostępnij Listopad 10, 2019 A może pokażesz kod? Bo to mi wydaje się proste: Masz zrobione: serwer odbiera wiadomość "włącz/wyłącz". Merda sobie przekaźnikiem i w odpowiedzi zwraca informację, że pomerdał. A chcesz mieć dodatkowo: serwer odbiera wiadomość "pokaż czujnik". Odczytuje wartość czujnika i w odpowiedzi zwraca tę wartość. Przy okazji: lepiej użyj serwera http zamiast socket, 90% rzeczy będziesz miał gotowe na dzień dobry. 1 Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »