Skocz do zawartości

Przycisk na USB pod Ubuntu 22.04


pswiton

Pomocna odpowiedź

Można też skorzystać z polecenia "bind" i dopisać tutaj:

sudo gedit /etc/inputrc

np. to na końcu:

"\C-u":"Hello!"

Można by tak wywołać program, czy skrypt , który tutaj zadziała na kombinację Ctrl + U. Zawsze inne rozwiązanie, może kiedy indziej się przyda, może komu innemu.

Link do komentarza
Share on other sites

3 godziny temu, pswiton napisał:

gdybyś potrzebował narysować coś w Solidworks to bardzo chętnie się odwdzięcze

Doceniam podziękowanie, ale mój OpenSCAD (czasami z dopalaczem w Pythonie) absolutnie mi wystarczy 🙂

Link do komentarza
Share on other sites

@ethanak, cześć możemy wrócić jeszcze na chwilę do tematu, wygląda na to że nie działa mi kontrola głośności, możesz jeszcze raz zerknąć na kod jak będziesz miał chwilę?

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

No więc coś takiego mi wyszło:

#!/usr/bin/env python3
import serial, subprocess, os, alsaaudio
volume=90
filename="ad.mp3"
fname=os.path.join((os.path.dirname(os.path.abspath(__file__))),filename)

try:
    serport=serial.Serial('/dev/ttyACM0',115200,timeout=0.1)
except:
    serport=serial.Serial('/dev/ttyACM1',115200,timeout=0.1)
print("Serial port OK")

while True:
    r=serport.readline()
    if r != b'':
        print("Serial: ",r)
    if r.strip() == b'#down':
        M=alsaaudio.Mixer()
        print("Mixer OK")
        oldvol = M.getvolume()
        print("Old volume", oldvol)
        M.setvolume(volume)
        print("Playing..., volume is", M.getvolume())
        subprocess.call(['play','-q','-t','mp3',fname])
        print("End play")
        M.setvolume(oldvol[0],0)
        M.setvolume(oldvol[1],1)        
        while serport.read():
            pass
        print("Bufor OK")
        del(M)

Odpal najpierw bezpośrednio przez sudo (oczywiście zatrzymaj demona) i sprawdź czy będzie działać, będzie wyświetlać wszystko co robi. Jeśli zadziała - zakomentuj printy i odpalaj.

Po prostu zauważyłem (ale to juz później) że mikser nie zawsze dostaje aktualne wartości jeśli między jego inicjalizacją a odczytem zmieniłem ręcznie poziom...

A, i w związku z tym wyrzuciłem sprawdzanie aktualnej głośności (czy jest mniejsza od volume) - mikser zawsze się może pomylić 🙂

Daj znać czy działa.

 

  • Lubię! 1
Link do komentarza
Share on other sites

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ę »
×
×
  • 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.