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



Teraz jest 10 sty 2025, o 22:58


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 29 sie 2016, o 11:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

Witam. Chcę napisać na raspberry pi program który będzie je automatycznie chłodził (pwm, tranzystor, mosfet i vcgencmd measure_temp oraz wentylatorek), ale nie wiem jak odebrać to co wywala vcgencmd measure_temp to znaczy jak normalnie wpisuje się vcgencmd measure_temp i wywala na ekran np temp=43.6°C. Chcę to mieć w stringu bym mógł to sscanf jakoś wyciągnąć do floata pozdrawiam

_________________
Situs != Situs



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sie 2016, o 20:26 
Offline
Użytkownik

Dołączył(a): 26 cze 2016
Posty: 186
Pomógł: 7

Rozumiem, że 'vcgencmd measure_temp' to komenda którą w konsoli wpisujesz? Jeśli tak, to możesz przekazać wyjście tej komendy do standardowego wejścia programu w taki sposób 'vcgencmd measure_temp | program'. To takie najprostsze rozwiązanie, ale w wielu językach masz możliwość wykonania komendy i przypisania tego co zwróci do zmiennej.
W perlu można użyć czegoś takiego
@wynik = `vcgencmd measure_temp` ; # ` ten znak jest na tym samym klawiszu co tylda!

Szukaj exec, system i tym podobnych słów, chyba każdy język to umożliwia. Zobacz man 3 system.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sie 2016, o 21:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

Oki sprawdze czy działa na scanf

------------------------ [ Dodano po: 9 minutach ]

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

_________________
Situs != Situs



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sie 2016, o 23:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 maja 2012
Posty: 471
Lokalizacja: ZGY/ZS
Pomógł: 30

Bo próbujesz przekierować do programu, którego najprawdopodobniej nie masz napisanego.
system() nie służy do przechwytywania odpowiedzi, tylko do wywołania programu.

spróbuj czegoś takiego:

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


Autor postu otrzymał pochwałę

_________________
eDiyCraft.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sie 2016, o 07:09 
Offline
Użytkownik

Dołączył(a): 26 cze 2016
Posty: 186
Pomógł: 7

Situs napisał(a):
Oki sprawdze czy działa na scanf

------------------------ [ Dodano po: 9 minutach ]

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


Jako program miałem na myśli nie konkretną nazwę, tylko jakiś program napisany i czytający z stdin ;)
Te przekierowania i potoki są ogromną siłą uniksa, często w konsoli się używa do łączenia kilku poleceń.
Ale w tym przypadku lepiej wywołać to polecenie z programu i wynik do zmiennej przypisać.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sie 2016, o 13:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

Rozwiązałem swój problem dziękuję za pomoc i czas malina sama sobie wentylatorem teraz steruje a ja pozostałem bezrobotny

_________________
Situs != Situs



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sie 2016, o 10:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

jeszcze pomyślę nad twoim rozwiązaniem czarekgr

------------------------ [ Dodano po: 19 minutach ]

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


------------------------ [ Dodano po: 21 minutach ]

a bez sudo daje permission denied

_________________
Situs != Situs



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sie 2016, o 18:27 
Offline
Użytkownik

Dołączył(a): 26 cze 2016
Posty: 186
Pomógł: 7

A jak dasz bez sudo a uruchomisz z konta root?
Bo sudo może hasła zażądać. Lepiej nie dawaj spacji w nazwach plików, potem masz te '\' , to się często myli ile ich ma być, można dać podkreślenie i mniej problemów.
A jak to polecenie napisane z konsoli bezpośrednio działa? Plik przekierowania ma prawo do wykonania dla użytkownika ('x') ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sie 2016, o 19:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

jutro sprawdzę dziś mi się nie chce

_________________
Situs != Situs



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: 9 ] 

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