Skocz do zawartości

Przycisk na USB pod Ubuntu 22.04


pswiton

Pomocna odpowiedź

F13, żeby przypadkiem klawiaturą nie aktywować. Są aż do F24, HID USB, cała masa klawiszy, których nie ma na klawiaturach, nawet tych rozbudowanych  dodatkowe klawisze. Nie wiem, czy jest w 22.04, ale otwórz terminal tam, gdzie masz plik dźwiękowy i wywołaj polecenia z plikiem dźwiękowym jako argument najlepiej, to będzie wiadomo. Te programy w C to oczywiście rzucasz do pliku tekstowego program.c np. Żaby przypisać skrót, będziesz musiał kliknąć Pico, żeby wybrać skrót klawiszowy.

Link do komentarza
Share on other sites

Muszę połączyć obydwie propozycje, bo potrzebuje komendy #up by wykorzystać ją też do czegoś innego.

Napisałem coś takiego w Python:

import serial
import subprocess
import time

# Open the serial port
ser = serial.Serial('/dev/ttyACM0', 115200)

# Continuously read from the serial port while True:
    # Read a line from the serial port
    line = ser.readline().decode().strip()

    # Check if the line contains "#up"
    if "#up" in line:
        # Play the MP3 file using mplayer
        subprocess.call(['mplayer', '/home/patw/Music/audiodemo.mp3'])


    # Add any other conditions or logic as needed

    # Break the loop if a specific condition is met
    # if some_condition:
    #     break
    
    while True:
    time.sleep(30) # Delay for 1 minute (60 seconds).
# Close the serial port
ser.close()

Ale po uruchomieniu terminal wywala mi:


patw@patw-Default-string:/home$ ./audiodemo.py
./audiodemo.py: line 1: import: command not found
./audiodemo.py: line 2: import: command not found
./audiodemo.py: line 3: import: command not found
./audiodemo.py: line 4: $'\r': command not found
./audiodemo.py: line 6: syntax error near unexpected token `('
'/audiodemo.py: line 6: `ser = serial.Serial('/dev/ttyACM0', 115200)

Link do komentarza
Share on other sites

A może uruchom to przez pythona a nie basha, np. podając prawidłowe polecenie albo umożliwiając systemowi samemu znaleźć?

Pierwsza linijka powinna być:

#!/usr/bin/env python3

To nie windows,  że uważa rozszerzenie za święte.

 

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

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

Jak pisałem na początku jestem zupełnie zielony.

teraz uruchamia się ale wyrzuca:

patw@patw-Default-string:/home$ ./audiodemo.py
  File "./audiodemo.py", line 11
    line = ser.readline().decode().strip()
    ^
IndentationError: unexpected indent
 

Link do komentarza
Share on other sites

Tak się nie nauczysz. Jeśli będziesz macać na ślepo to jest szansa że w końcu trafisz na to co trzeba, ale niewielka.

Python jest bardzo dobrym jezykiem dla początkujacego, ale jakieś podstawy trzeba znać (choćby kwestia wcięć).

Link do komentarza
Share on other sites

Dlatego pisze na forum. Na chwilę obecną mam problem przycisku do rozwiązania, a na kurs Pythona i tak się zapiszę. Zależy mi na szybkim uruchomieniu przycisku i forum jest chyba najlepszym źródłem pomocy w takich sytuacjach.

Link do komentarza
Share on other sites

I z każdą literówką będziesz smędził na forum? Wstyd!

Nie chciałem się wcinać bo kolega już zaczął, ale jakiś kawałek kodu mogę Ci napisać - tyle ze nie dzisiaj. To żebyś ewentualnie mógł to poczytać.

Chyba że kolega będzie szybszy!

Link do komentarza
Share on other sites

A mplayer działa bezpośrednio z terminala? No coś czytałem, że aplay po aktualizacji do 22 szwankuje, niby restart pomaga, ale to nie ważne, mplayer też możesz podpiąć do tego programu, jeśli chcesz się pobawić i sprawdzić.

Link do komentarza
Share on other sites

@matsobdev wszystko będzie działać o ile będziesz to uruchamiać w środowisku graficznym. Jeśli to wystarczy - albo sox, albo soundfmt co potrafi wczytać mp3 i pyao.

Jesli spróbujesz to odpalić z demona bez zalogowanego usera to się zdziwisz.

A aplay to player do alsy, alsa w ubu domyślnie lezie przez PA, czyli lepiej paplay albo sox.

Link do komentarza
Share on other sites

aplay działał ale mono i z nieprawidłowym bitrate. Mplayer działa poprawnie, musiałem też zmienić ustawionia wyjścia audio, gdyż puszczam dzwięk przez adapter USB audio:

pactl list short sinks
pactl set-default-sink <device>

może się komuś przyda

Link do komentarza
Share on other sites

PA w Ubu powinien na dzień dobry przekierować audio na usb jeśli coś podłączyłeś.

Używaj paplay a nie aplay.

I zgadnij, czemu po latach używania Ubuntu wolę czystego Debiana.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.