Hallo,
gibt es irgendwo eine systematische Dokumentation (nicht nur Beispiele) der bei der Raspi-Programmierung üblicherweise verwendeten packages?
Hallo,
gibt es irgendwo eine systematische Dokumentation (nicht nur Beispiele) der bei der Raspi-Programmierung üblicherweise verwendeten packages?
Hallo,
Raspi-Programmierung ist nicht so spezifischer Begriff. Wenn du eine Dokumentation suchst, die die Ansteuerung der GPIO-Leiste mit Python beschreibt, dann hilft dir diese vielleicht weiter: gpiozero
Und Python allgemein: Python 3.9
Wenn du spezielle Probleme hast, kannst du sie gerne erläutern.
Grüße
Dennis
Hallo,
gibt es irgendwo eine systematische Dokumentation (nicht nur Beispiele) der bei der Raspi-Programmierung üblicherweise verwendeten packages?
Die Dokumentation der entsprechenden Pakete. Welche benutzt du denn?
Hallo,
#2 bringt mich schon mal weiter, zum Tempsensor DS18B20 habe ich dort auf ersten Blick nichts gefunden.
Das ist ja auch nicht die Aufgabe dieser Pakete den zu dokumentieren. Das ist die Aufgabe des Herstellers, und der hat zu dem Zweck ein Datenblatt.
Der DS18B20 ist ein 1-wire Sensor, der über das One-Wire File System (OWFS) angesprochen wird.
Ein passendes Modul (=Treiber) wird über dtoverlay= laut /bin/overlays/README aktiviert.
Das Datenblatt bildet (immer) das Herzstück der Sensordokumentation.
Darüberhinaus ist auf der Webside von Maxim-Dallas der Sensor und das OWFS dokumentiert.
Der Linux Treiber nochmals unter kernel.org (Documentation).
Ob es auch eine man page über den 1-wire Bus, oder owfs gibt, weiss ich nicht.
Servus !
Hallo,
das Datenblatt habe ich. Das hilft hier aber nicht weiter. Es gibt diverse packages speziell zum ds18b20. Oft gibt es aber nur den Hinweis auf die Beispiele in github. Wenn das dann nicht läuft, bin ich etwas hilflos, da der source dort für mich etwas komplex ist. Es ist sehr schön, das so viele Leute viele Bibliotheken zur Verwendung spezieller Hardware programmieren, aber leider haben sie wohl oft keine Lust eine Doku zu schreiben, die auch relativen Laien bei der Verwendung hilft. Wenn man immer nur die Beispiele hat, bekommt man vielleicht eine Lösung seines Problems hin, versteht aber nicht wirklich, wie sie funktioniert.
So ist das halt mit dem programmieren. Wenn du den Code versuchst zu verstehen, macht es hoffentlich irgendwann aha. Und du kannst Probleme selbst lösen oder die gewünschte Nutzung ableiten.
versteht aber nicht wirklich, wie sie funktioniert.
Nutze die Werkzeuge die du zur Verfügung hast. Damit meine ich, da du schon hier angemeldet bist und Interesse daran hast zu verstehen wie etwas abläuft, dann stell doch eine konkrete Frage zu deinem Problem. Zeig was du bis jetzt gemacht hast, was hast du für Fehlermeldungen, was verstehst du nicht?
Du bekommst hier sicherlich genügend Hinweise und Hilfestellungen und Schritt für Schritt lernst du durch Eigeninitiative zu verstehen und spätestens dann sollte das erwähnte "aha" kommen.
Kann aus Erfahrung sprechen, das hier viele User sehr geduldig mit einem sein können.
Grüße
Dennis
Wenn das dann nicht läuft, bin ich etwas hilflos, da der source dort für mich etwas komplex ist. *** aber leider haben sie wohl oft keine Lust eine Doku zu schreiben, die auch relativen Laien bei der Verwendung hilft.
Ich weiß nicht, worauf Du hinaus willst, was Du erwartest. Was genau fehlt Dir denn an Hinweisen zur Verwendung?
Ich vergleiche das mal mit einem KFZ. Da hast Du nun brav die Fahrschule besucht und die Prüfung bestanden. Und doch bleibt es ohne ein tieferes Verständnis der Zusammenhänge beim Nachfüllen von Kraftstoff und Wischwasser, vielleicht noch dem Prüfen und ggf. Korrigieren des Reifendrucks. Alles darüber hinaus setzt mehr oder weniger das Beschäftigen mit der Materie voraus. Und je tiefer Du einsteigst, um so mehr musst Du wissen. Da gibts dann ganze Ausbildungen und (Meister)kurse.
Wenn Du es verstehen willst, dann beschäftige Dich damit. Willst Du nachvollziehen, wie etwas gelöst wurde, ist das Lesen und vor allem das Interpretieren des Codes der verwendeten Programmiersprache ziemlich wichtig. Es gibt Bücher, Anleitungen oder auch ein Forum für konkrete Fragen usw. für solch grundlegenden Dinge. Zufliegen wirds Dir nicht, erklären wird es auch keiner - es sei denn, Du bezahlst einen Kurs. Und eine Dokumentation, die haarklein alle verwendeten Anweisungen herunterbetet, wird es nicht geben. Damit wären wir wieder beim Lernen.
Worauf ich hinaus will:
Wenn Du es funktionierend nutzen willst: Kauf es fertig, lebe mit etwaigen Einschränkungen und mach den Hersteller für Fehler verantwortlich.
Wenn Du es selbst bauen willst, dann ist imho alles mit einer Schöpfungshöhe oberhalb von "Hello world" zunehmend schwieriger mit try and error oder dem Kopieren von Codeschnipseln zu bewerkstelligen. Kriegt man vielleicht hin, verstanden hast du es in den meisten Fällen kaum. Die Lösung ist das systematische Lernen von den Grundlagen an. Kommt man nicht drumrum.
Wo klemmts denn konkret ?
Willst Du die Auflösung des Sensors von 12 Bit verringern, oder hängt sich ein Sensor nach einiger Zeit aus und ist nicht mehr erreichbar ?
Servus !
Hallo!
#13: Wieso hilft mir die Arduino-Referenz?
Mein Problem ist NICHT die normale Python-Sprache, dazu gibt es genug Doku.
Offensichtlich brauche ich für die GPIO-Programmierung diverse Libraries, einige scheinen in der Standard-PiOS-Installation bereits vorhanden zu sein. Wo sehe ich, welche das sind? Ich habe sie im Dateisystem nicht gefunden.
Ich habe im 1.Versuch RPi.GPIO verwendet. Die Library gpiozero ist wohl für denselben Zweck aber nicht identisch. Ist die auch dabei?
Ich möchte die mitgelieferten Thonny IDE verwenden. Damit kann ich anscheinend ohne weitere Maßnahmen auf die bereits installierten packages zugreifen. Dort gibt es den Punkt Tools/ Manage plugins. Sind das auch packages? Sind die bereits installiert?
Weitere packages werden wohl über Tools/ Manages Packages installiert. Ich habe dort z.B. das package ds18b20 installiert. Ich sehe auch, dass es in dem angegebene Verzeichnis site-packages vorhanden ist. Ich habe von der zugehörigen github-Seite das Beispiel async.py geladen:
"""
w1thermsensor
~~~~~~~~~~~~~
A Python package and CLI tool to work with w1 temperature sensors.
:copyright: (c) 2020 by Timo Furrer <tuxtimo@gmail.com>
:license: MIT, see LICENSE for more details.
"""
import asyncio
from w1thermsensor import AsyncW1ThermSensor
async def main():
# initialize sensor with first available sensor
sensor = AsyncW1ThermSensor()
# continuously read temperature from sensor
while True:
temperature = await sensor.get_temperature()
print(f"Temperature: {temperature:.3f}")
await asyncio.sleep(1)
if __name__ == "__main__":
asyncio.run(main())
Display More
Bei dem Ausführungsversuch erhalte ich jetzt:
Traceback (most recent call last):
File "/home/pi/PythonProgs/TempSensor3.py", line 11, in <module>
from w1thermsensor import AsyncW1ThermSensor
ModuleNotFoundError: No module named 'w1thermsensor'
Damit bin ich jetzt am Ende, da mir die weitere Doku fehlt.
Es geht mir NICHT um diesen speziellen Fall, sondern darum, wie ich so etwas löse.
Das ist einfach ganz normal Python und wie man damit arbeitet. Plus wie man mit Thonny arbeitet. Plugins sind NICHT Python, sondern Erweiterungen der IDE selbst.
Hm, das hilft mir jetzt aber nicht weiter. Vielleicht habe ich mich falsch ausgedrückt:
Wie man in Python Schleifen oder Verzweigungen programmiert, bekomme ich schon heraus.
Aber insbesondere zu den packages, deren Installation , das speziell in Thonny, da habe ich Probleme. Es wäre nett, wenn jemand auf meine Fragen eingehen könnte.
Wo sehe ich, welche das sind?
Gib im Terminal python3 ein, dann öffnet sich die Pythonkonsole und dort help('modules') absetzen. (dauert einen Moment)
Die Library gpiozero ist wohl für denselben Zweck aber nicht identisch. Ist die auch dabei?
Ja, ABER nur bei den Desktop-Versionen und nicht bei Raspberry Pi OS Lite.
Ich habe Thonny auf dem Raspberry nicht verwendet, aber auf meinem Linux-Laptop. Du willst jetzt wissen wie man das fehlende Modul installiert damit Thonny darauf zugreifen kann. Bei mir ist es so, dass Thonny auf jedes Modul zugreift, dass ich mit 'pip' auf meinem System installiere. Sprich du suchst nach deinem benötigten Modul und je nach dem welche Installation zur Verfügung steht, installierst du es. Ich bevorzuge immer 'pip' da ich so noch nie Probleme hatte.
Für dich wäre diese Seite hier interessant. Wenn auf deinem System Python2 und Python3 installiert ist, dann installierst du mit 'pip' Python2-Module und mit 'pip3' Python3-Module. Letztere solltest du auch verwenden.
Kannst dich ja mal mit "Installation Python Module" im Netz schlau machen. Die Python Doku hat dazu auch gleich was parat.
Was sich auch empfiehlt ist eine virtuelle Entwicklungsumgebung und dort die Programme zu schreiben und die Module zu installieren. Damit "müllst" du dir dein System nicht so zu. Genaueres kann ich dir nicht sagen, ich kenne es nur von PyCharm.
wonk War das hilfreich?
@alle Mitleser habe ich das richtig gesagt?
Grüße
Dennis
Hmm. Du zeigst ein Python Modul auf Github und hast dessen README.md nicht gelesen/entdeckt.
Auch solltest Du Python3 (und pip3) verwenden. Für den Raspi wird sogar ein "apt install" vorgeschlagen (für die Python3 Version).
Auch ein dtoverlay= Eintrag wird erwähnt.
Eigentlich könntest Du nach Befolgung der README Anweisung auf der Python3 Commandline sofort loslegen, Du brauchst nicht einmal ein Py-Scriptfile erstellen.
Servus !