Seite 15 von 46

Re: Projekt piTelex - Vorstellung

Verfasst: Mo 16. Mai 2022, 17:18
von detlef
Baderbahn hat geschrieben: Mo 16. Mai 2022, 17:11 Ein ED1000 Gerät ist spielend leicht angeschlossen - einfach eine 08/15 USB-Soundkarte besorgt und mit den im Wiki gelisteten Bauteil versehen - an einen Pi oder Rechner (auch Windows mit Anaconda) angeschlossen und los gehts.
Und die notwendigen Treiber und Bibliotheken für die Soundkarte sind dann auch schon enthalten? Man muss nichts zusätzlich installieren?

Re: Projekt piTelex - Vorstellung

Verfasst: Mo 16. Mai 2022, 17:25
von Baderbahn
Jein die Treiber für die Soundkarte sind nix spezielles / bei den Karten dabei, die Python-Software muß händisch installiert werden, aber auch das ist ansich recht easy.
Ich kann versuchen, Dir nachher/ heute Abend (sonst Morgen) ein kurzes How-To inkl. Screenshots für die Windowsinstallation zu machen.
Björn hat mir bei meiner Installation per PN tatkräftig geholfen - die Lorbeeren hat eindeutig er verdient ;)

Re: Projekt piTelex - Vorstellung

Verfasst: Mo 16. Mai 2022, 17:35
von detlef
Baderbahn hat geschrieben: Mo 16. Mai 2022, 17:25 Jein die Treiber für die Soundkarte sind nix spezielles / bei den Karten dabei, die Python-Software muß händisch installiert werden, aber auch das ist ansich recht easy.
Windows-Installation ist nicht notwendig. Ich habe hier ein fertiges piTelex für ED1000 von Jochen, das er mir mal testweise gegeben hat. Da fehlt aber leider die SD-Karte. Ein Bekannter hat bei seinem piTelex den Soundtreiber bzw. die notwendigen Bibliotheken nicht installiert bekommen und inzwischen aufgegeben.

Deswegen war meine Frage, ob es ein fertiges Images gibt, wo man nichts mehr installieren muss und sich nicht mit irgendwelchen Dependencies rumschlagen muss. ;)

Ein spielend leicht gibt es unter Linux nicht. Da klemmt es immer irgendwo. :hehe:

Re: Projekt piTelex - Vorstellung

Verfasst: Mo 16. Mai 2022, 17:50
von Baderbahn
Ja gut, die Soundkarten sollten per ALSA eigentlich alle problemlos laufen. Meine Billichkarte lief unter Linux und Windows sofort - man muß aber per Pythonscript "audiotest.py" schauen, mit welchen IDs die Karte vom Rechner erkannt wird.

Ich könnte eine virtuelle Maschine mit Raspberian aufsetzten und nachsehen, was es dort zur installation braucht...
Unter Fedora mußte ich nicht all zu viel querinstallieren. ED1000 in der Config anwählen, TW39 abwählen und die Soundkarten-ID eintragen waren die einzigen wirklichen Anpassungen, welche ich durchführen mußte.

Re: Projekt piTelex - Vorstellung

Verfasst: Mo 16. Mai 2022, 18:19
von Z80User
BjoernS hat geschrieben: Mo 16. Mai 2022, 12:30 Moin, wir kamen ja gestern gar nicht mehr zu dem Thema ;)
Z80User hat geschrieben: Sa 14. Mai 2022, 13:36 Eine Frage: Verstehe ich das richtig, das mit pin_online, signalisiert werden kann, ob piTelex online ist? Sind hier in Zukunft noch weitere Pins verwendbar, bzw. geplant? Denke da gerade an meine Fritzbox so ähnlich wie "Info" oder "Bestehende Verbindung" oder "Rufbeantwortung aktiv"
Die Geschichte mit use_observe_line bewirkt, dass der rx-Pin zurückgelesen wird, ob er beim "Anwerfen" des FS tatsächlich wechselt.

Ansonsten sind im Modul RPiCtrl einige weitere Pins zuschaltbar, und über das Modul RPiCtrl kannst du beliebige Shell-Kommandos ausführen. Damit lässt sich einiges abdecken. Wenn du speziellere Anforderungen hast, sag Bescheid. Ich kann dir wohl bei der Hardwareseite dann nicht allzu viel helfen, aber bei der Softwareseite :)

Grüße


Björn
Hallo,
vielen Dank nochmal an alle für den freundlichen Empfang in Heusenstamm. Es hat mich sehr gefreut und war sehr informativ. Ja, vor lauter neuen Eindrücken habe ich an das Wesentliche gar nicht mehr gedacht. :llach:

Dafür ist aber doch auch das Forum da - auch für andere zum später nachlesen.


In RPICtrl werden folgende Parameter abgefragt:

Code: Alles auswählen

	self._pin_LED_A = params.get('pin_LED_A', 0)
        self._pin_LED_WB = params.get('pin_LED_WB', 0)
        self._pin_LED_WB_A = params.get('pin_LED_WB_A', 0)
        self._pin_LED_status_R = params.get('pin_LED_status_R', 0)   # LED red
        self._pin_LED_status_G = params.get('pin_LED_status_G', 0)   # LED green
die Zuweisung der dazugehörigen Pins erfolgt dann über die Datei telex.json? im Abschnitt

Code: Alles auswählen

"RPiCtrl": {
      "type": "RPiCtrl",
      "enable": false,
      "pin_number_switch": 0,
      "pin_button_1T": 8,
      "pin_button_AT": 0,
      "pin_button_ST": 0,
      "pin_button_LT": 0,
      "pin_button_U1": 12,
      "pin_button_U2": 16,
      "pin_button_U3": 20,
      "pin_button_U4": 21,
      "pin_LED_A": 0,
      "pin_LED_WB": 0,
      "pin_LED_WB_A": 9,
      "pin_LED_status_R": 23,
      "pin_LED_status_G": 24
    },
LED's A, WB und WB_A sind denke ich klar. Die Bedeutung rot / grün??? Hier sind in RPiCtrl.py verschiedene helligkeiten für verschiedene Zustände hinterlegt. Ich werde es mal verdrahten und dann berichten...

Auch habe ich mir Gedanken um ein sicheres herunterfahren des Pi's gemacht. Habe mir am Samstag Abend noch meine SD-Karte zerstört! :mad: Sollte doch dann möglich sein über z.B. "pin_button_U4" ein "sudo shutdown -h now" auszuführen. Gerade dann wenn mal der Stecker gezogen werden muss, ist keine Konsole für den Shutdown da und dann passiert es... Eine kleine Platine mit LED's + Taster ist schnell aufgebaut.

Grüße,
Horst

Re: Projekt piTelex - Vorstellung

Verfasst: Di 17. Mai 2022, 23:43
von BjoernS
Z80User hat geschrieben: Mo 16. Mai 2022, 18:19 Auch habe ich mir Gedanken um ein sicheres herunterfahren des Pi's gemacht. Habe mir am Samstag Abend noch meine SD-Karte zerstört! :mad: Sollte doch dann möglich sein über z.B. "pin_button_U4" ein "sudo shutdown -h now" auszuführen. Gerade dann wenn mal der Stecker gezogen werden muss, ist keine Konsole für den Shutdown da und dann passiert es... Eine kleine Platine mit LED's + Taster ist schnell aufgebaut.
Krass, nur der Inhalt geshreddert oder komplett kaputt? Mir ist das bisher nie passiert, mein Pi ist schon öfters mal unsanft aus der Steckdose gezogen worden ... aber mit Journal-Dateisystem kann eigentlich nicht allzu viel passieren, dachte ich.

Bzgl. des Herunterfahrens gibt es auch eine Systemoption. In /boot/config.txt muss das dtoverlay-Modul gpio-shutdown aktiviert werden (siehe /boot/overlays/README oder hier), dann kann man das Herunterfahren mit einem GPIO-Pin auslösen. Hilfreich dabei ist noch, die grüne LED umzubelegen von "Kartenzugriff" auf "Pi ist am laufen", dann sieht man eindeutig, wann er heruntergefahren ist: "dtparam=act_led_trigger=default-on"

Es gab glaube ich auch ein fertiges Zusatzmodul dafür, finde ich aber nicht mehr.

Grüße


Björn

Re: Projekt piTelex - Vorstellung

Verfasst: Mi 18. Mai 2022, 02:20
von MCMLXXV
Hallo nochmal,
WolfHenk hat geschrieben: Mo 16. Mai 2022, 08:05 Fertig wohl nicht, aber es kann sicher wer massiv Unterstützung leisten.
Ein TW39-Aufsatz fur den Raspberry liegt noch bei mir rum.
Den Raspberry selbst besorgst Du Die irgendwo und alles weitere kriegen wir...
Also ich hab nen "Raspberry Pi Modell B" hier - also noch vor dem Pi2. Reicht das Ding?
Nen Pi2 Modell B hab ich aber auch noch irgendwo liegen....
An dem TW39-Aufsatz hab ich jedenfalls Interesse. Schreib mir doch bitte mal....
BjoernS hat geschrieben: Mo 16. Mai 2022, 12:21 Zumindest von der Softwareseite her gibt es ein fertiges Image (wird derzeit überarbeitet). Da muss dann nur noch die für dich besondere Konfi angepasst werden.
Wo kann man das Image denn finden? GIbt es dann für die Konfi irgendwo noch ne (deutsche) Anleitung? Mein Englisch ist halt auch nicht gerade das Beste....

Noch ne Frage: Warum braucht man eigentlich für ED1000 ne externe Soundkarte? Der Pi hat doch schon Sound on board?

Re: Projekt piTelex - Vorstellung

Verfasst: Mi 18. Mai 2022, 02:42
von JoeyD
Pi-Zero Wi-Fi is fine for pi-Telex...
It uses very little overhead. So a model B is also fine.

pi-Zero Wi-Fi funktioniert perfekt fuer das pi-Telex.
pi-B sollte auch die gleiche Leistung bieten.

Re: Projekt piTelex - Vorstellung

Verfasst: Mi 18. Mai 2022, 02:50
von JoeyD
MCMLXXV hat geschrieben: Mi 18. Mai 2022, 02:20 Noch ne Frage: Warum braucht man eigentlich für ED1000 ne externe Soundkarte? Der Pi hat doch schon Sound on board?
pi-B may not be the "Best" for the ED1000 this unit requires sound features.
Pi-B waere nicht das "beste" fuer diese Maschine ED1000 der einsatz von sound processing ist erforderlich
Moeglicherweise sind Sie mit der erzeugten geschwindigkeit oder Waerme nicht zufrieden

Re: Projekt piTelex - Vorstellung

Verfasst: Mi 18. Mai 2022, 14:38
von Baderbahn
Hallo zusammen,

schnell aus dem Kopf der Ablauf zur ED1000 installation (unter Fedora, unter anderen Distros sind evtl. andere Paketmanagerbefehle zu nutzen)
  • Python installieren:

    Code: Alles auswählen

    sudo dnf install python3 python3-pip git
  • Zusatzmodule installieren
    Für Alle Anwendungen:

    Code: Alles auswählen

    sudo pip install commentjson
    speziell für ED1000:

    Code: Alles auswählen

    sudo pip install pyaudio numpy scipy
  • Ausführbarmachen der Telex-Datei:

    Code: Alles auswählen

    sudo chmod +x ~/piTelex/telex.py
  • Mit eingesteckter Soundkarte die IDs checken:

    Code: Alles auswählen

     sudo python3 ~/piTelex/ED1000/audiotest.py
    Das schaut dann in Etwa so aus:

    Code: Alles auswählen

    ALSA lib pcm_dmix.c:1032:(snd_pcm_dmix_open) unable to open slave
    ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
    ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
    ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
    ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
    ALSA lib pcm_dmix.c:1032:(snd_pcm_dmix_open) unable to open slave
    === pyAudio device list ===
    Device ID	outputs	inputs	name
    0		0	2	HDA Intel PCH: CX20724 Analog (hw:0,0)
    1		8	0	HDA NVidia: HDMI 0 (hw:1,3)
    2		8	0	HDA NVidia: HDMI 1 (hw:1,7)
    3		8	0	HDA NVidia: HDMI 2 (hw:1,8)
    4		8	0	HDA NVidia: HDMI 3 (hw:1,9)
    5		8	0	HDA NVidia: HDMI 4 (hw:1,10)
    6		8	0	HDA NVidia: HDMI 5 (hw:1,11)
    7		8	0	HDA NVidia: HDMI 6 (hw:1,12)
    8		0	128	sysdefault
    
    hier dann die Soundkarte suchen und die ID merken.
  • mit einem Editor (hier nano) die Datei "telex.json" öffnen

    Code: Alles auswählen

    sudo nano ~/piTelex/telex.json
    ... und bei Abschnitt ED1000 setzen:

    Code: Alles auswählen

    "enable": true,
    alle anderen Abschnitte/Verbindungsarten mit

    Code: Alles auswählen

    "enable": false,
    deaktivieren.
    Zusätzlich muß hier im ED1000-Abschnitt die vorhin gemerkte ID eingetragen werden:

    Code: Alles auswählen

    "devindex": <ID>,
    mit [strg]+[O] speichern (Originaldatei überschreiben!)
  • ... und nachdem im System-Audiomixer kontrolliert wurde, daß auch wirklich die Soundkarte angewählt ist, geht's los mit:

    Code: Alles auswählen

    cd ~/piTelex
    sudo ./telex.py
    evtl. werden Fehlermeldungen geworfen, das macht ALSA manchmal. Sollte dennoch klappen.
Ich hoffe, ich habe nichts vergessen - sonst kurz melden. Björn hat evtl. auch noch Zusatzinfos.