Linux i2c

Für Fragen von Einsteigern und Programmieranfängern...

Linux i2c

Beitragvon berbog » 19. Nov 2019, 21:59 Linux i2c

Hallo
Ich möchte über einen USBtoI2C Adapter (CH341A) einen GY-BMP280 auszulesen.
Die Suche im Forum sagt mir zwar das es einfach sein soll aber ein Beispiel finde ich nicht. Alles bezieht sich auf Berechnungen.
Hat jemand ein konkretes Beispiel wie ich auf den Bus über /dev/i2c-x zugreife?
Vielen Dank
Gruss Bernd
berbog
 
Beiträge: 11
Registriert: 8. Aug 2007, 16:42

Beitragvon Socke » 20. Nov 2019, 10:13 Re: Linux i2c

Hallo Bernd,

mit PascalIO kannst du auf I2C-Geräte zugreifen, sobald diese als /dev/i2c vorhanden sind.
Ein Beispiel findest du unter https://github.com/SAmeis/pascalio/blob ... ject1.lpr; wobei sich natürlich die Adresse deines Drucksensors und die ausgelesenen Register ändern. Wenn du PascalIO nicht nutzen möchtest, findest du dort auch ein Beispiel zur direkten I2C-Kommunikation: https://github.com/SAmeis/pascalio/blob ... oject2.lpr
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Socke
Lazarusforum e. V.
 
Beiträge: 2647
Registriert: 22. Jul 2008, 18:27
Wohnort: Köln
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE | 
CPU-Target: 32bit x86 armhf
Nach oben

Beitragvon pluto » 21. Nov 2019, 11:33 Re: Linux i2c

Ich möchte über einen USBtoI2C Adapter (CH341A) einen GY-BMP280

Ich habe einmal ein AM2302 zum "laufen" gebracht unter Lazarus.

Du könntest dir erst mal Arduino Libs anschauen zu der Libray und anschließend versuchen einen Port auf Pascal zu machen.
So habe ich das mit dem AM2302 auch gemacht.

Andere schauen sich das Datenblatt an und wissen anschließend wie sie das Bauteil auslesen können.
MFG
Michael Springwald
Aktuelles Projekt: ContentManager2(Ehmals NoteManager2).
pluto
Lazarusforum e. V.
 
Beiträge: 7027
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg(Oldenburg)
OS, Lazarus, FPC: Linux Mint 19.2 | 
CPU-Target: AMD
Nach oben

Beitragvon pluto » 21. Nov 2019, 11:33 Re: Linux i2c

Ich möchte über einen USBtoI2C Adapter (CH341A) einen GY-BMP280

Ich habe einmal ein AM2302 zum "laufen" gebracht unter Lazarus.

Du könntest dir erst mal Arduino Libs anschauen zu der Libray und anschließend versuchen einen Port auf Pascal zu machen.
So habe ich das mit dem AM2302 auch gemacht.

Andere schauen sich das Datenblatt an und wissen anschließend wie sie das Bauteil auslesen können.

edit: Warum ist der Beitrag zwei mal vorhanden? einmal reicht doch?
MFG
Michael Springwald
Aktuelles Projekt: ContentManager2(Ehmals NoteManager2).
pluto
Lazarusforum e. V.
 
Beiträge: 7027
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg(Oldenburg)
OS, Lazarus, FPC: Linux Mint 19.2 | 
CPU-Target: AMD
Nach oben

Beitragvon berbog » 22. Nov 2019, 18:24 Re: Linux i2c

Vielen Dank für eure Hilfe
@ Socke
Das versuche ich zu testen.
Warum wird die doc (pascalio.xml) im Browser nur als Quelltext dargestellt.Damit lässt sich nichts machen?.

@ Pluto
So weit bin ich noch nicht

Gruss Bernd
berbog
 
Beiträge: 11
Registriert: 8. Aug 2007, 16:42

Beitragvon Mathias » 23. Nov 2019, 14:08 Re: Linux i2c

Nicht vergessen, ansonsten kannst du nicht auf i²C zugeifen.
Code: Alles auswählen
$ apt-get install i2c-tools 
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4384
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Socke » 23. Nov 2019, 18:09 Re: Linux i2c

berbog hat geschrieben:Warum wird die doc (pascalio.xml) im Browser nur als Quelltext dargestellt.Damit lässt sich nichts machen?

Das ist im FPDoc-Format. Diese kann entweder direkt in Lazarus verwendet werden oder muss in eine Leseansicht übertragen werden.
Unter http://sameis.github.io/pascalio/doc-html/ kannst du auch die HTML-Version ansehen.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Socke
Lazarusforum e. V.
 
Beiträge: 2647
Registriert: 22. Jul 2008, 18:27
Wohnort: Köln
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE | 
CPU-Target: 32bit x86 armhf
Nach oben

Beitragvon berbog » 24. Nov 2019, 15:01 Re: Linux i2c

Es ist wohl nicht so einfach wie ich dachte.
Für den CH 341 Adapter ist ein eigener Treiber erforderlich, der zwar 3 Devicedateien (spidev0.0 bis spidev0.2) erstellt aber keine I2C Schnitstelle.
Das suche ich noch.
berbog
 
Beiträge: 11
Registriert: 8. Aug 2007, 16:42

Beitragvon Mathias » 24. Nov 2019, 15:32 Re: Linux i2c

Wen man noch einen VGA oder DVMI Anschluss hat, hat man i2c am PC zu Verfügung, ohne externe Hardware.

Oder man nimmt einen Arduino als Brücke zwischen PC und Endgerät.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4384
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon berbog » 24. Nov 2019, 17:16 Re: Linux i2c

Mit der VGA habe ich noch keine 3,3 V und zum basteln habe ich gerne etwas was mir der Rechner bei einem Fehler nicht zerstört.
berbog
 
Beiträge: 11
Registriert: 8. Aug 2007, 16:42

Beitragvon Mathias » 24. Nov 2019, 18:02 Re: Linux i2c

Da wäre eine Arduino am besten, ein Arduino ist nicht so teuer, wen man ihn zerstört. Ein Chinamodel bekommt man schon für 2.- .

Hier habe ich mal ein kleine lib für i2c geschrieben. Als Demo wird ein LCD angesprochen.
https://github.com/sechshelme/Lazarus-E ... op/I2C_LCD
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4384
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon berbog » 24. Nov 2019, 19:34 Re: Linux i2c

Ich versuche mich etwas in i2c mit pascal und dem PC einzuarbeiten.
Ich weiß das es viele andere Lösungen (Raspberry Arduino C u.v.a.) gibt.
Das bringt mich aber in meinem Ansinnen nicht weiter.
berbog
 
Beiträge: 11
Registriert: 8. Aug 2007, 16:42

Beitragvon Socke » 25. Nov 2019, 10:44 Re: Linux i2c

berbog hat geschrieben:Für den CH 341 Adapter ist ein eigener Treiber erforderlich, der zwar 3 Devicedateien (spidev0.0 bis spidev0.2) erstellt aber keine I2C Schnitstelle.

Hast du denn Pin 1 (ACT#) mit einem 2K Ohm-Widerstand mit Masse verbunden?
Soweit ich die Datenblätter verstanden habe, muss man dem Chip per EEPROM oder elektrischen Kontakten mitteilen, welchen Betriebsmodus er beim Start nutzen soll. Je nach Modus wählt er unterschiedliche USB-PIDs aus, die der Treiber auswertet und danach die Gerätedateien erstellt.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Socke
Lazarusforum e. V.
 
Beiträge: 2647
Registriert: 22. Jul 2008, 18:27
Wohnort: Köln
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE | 
CPU-Target: 32bit x86 armhf
Nach oben

Beitragvon berbog » 25. Nov 2019, 17:53 Re: Linux i2c

Der ACT ist nicht vorhanden Bild
berbog
 
Beiträge: 11
Registriert: 8. Aug 2007, 16:42

Beitragvon Timm Thaler » 25. Nov 2019, 20:46 Re: Linux i2c

Kannst du die Grafik noch kleiner machen, bitte? Dann kann man es noch schlechter sehen...
Timm Thaler
 
Beiträge: 1010
Registriert: 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded | 
CPU-Target: Raspberry Pi 3
Nach oben

» Weitere Beiträge siehe nächste Seite »
Nächste

Zurück zu Einsteigerfragen



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste

porpoises-institution
accuracy-worried