I2C-Bus Vorbereitungen

Bei jeder neuen Raspbian-Installation bin ich wieder am Überlegen, welche Einstellungen notwendig sind, damit man den I2C-Bus zum Laufen bekommt. Daher nun eine kurze Anleitung.

Disclaimer:

Trotz größter Sorgfalt kann für die 100 % tige Funktionalität der Bauanleitungen, Software und Schaltpläne nicht garantiert werden. Sie sollen nur eine Anregung zum Bau darstellen.
Daher gilt:
  • Jeder ist für den richtigen Aufbau, Programmierung etc. selbst verantwortlich.
  • Ich übernehme keine Haftung für Schäden aller Art.

Installation:

1. Das I2C Modul von der „raspi-blacklist“ entfernen. Hierzu diese Datei im Texteditor öffnen.

sudo nano /etc/modprobe.d/raspi-blacklist.conf

 
Hier den Eintrag „blacklist i2c-bmc2708“ mittels vorangestelltem # auskommentieren.
Das ganze mit „STRG-O“ speichern und dann den Editor mit „STRG-X“ schließen.

2. Hinzufügen von „i2c-dev“ in die etc/modules-Datei.

sudo nano /etc/modules

 
Nun im Editor das Modul „i2c-dev“ in einer neuen Zeile hinzufügen (z.B. unter dem Modul „snd-bcm2835“) und das ganze mit „STRG-O“ speichern und den Editor mit „STRG-X“ schließen.

3. Auf neue Updates mittels prüfen.

sudo apt-get update

 
Wenn man schon dabei ist, kann man diese auch gleich installieren.

sudo apt-get upgrade

 
4. Diverse Tools und die Python-Library installieren

sudo apt-get install i2c-tools python-smbus

 

Neustart und Test:

5. Reboot tut gut 🙂

sudo reboot

 
6. Erster Test mit nachfolgendem Kommando. Wenn man am Bus 1 etwas angeschlossen hat, sieht man es nun.

sudo i2cdetect -y 1

 
Ausgabe bei einem angeschlossenen MCP23017.

pi@raspberrypi ~ $ sudo i2cdetect -y 1
0 1  2  3  4  5  6  7  8  9 a  b  c  d e f
00: — — — — — — — — — — — — —
10: — — — — — — — — — — — UU — — — —
20: — — — — — — — 27 — — — — — — — —
30: — — — — — — — — — — — UU — — — —
40: — — — — — — — — — — — — — — — —
50: — — — — — — — — — — — — — — — —
60: — — — — — — — — — — — — — — — —
70: — — — — — — — —

 

Hinweis:

Für das Programmieren in Python sollte der Benutzer „Pi“ auch auf den Bus zugreifen können. Dies erfolgt mittels der folgenden Kommandos.

sudo adduser $USER i2c
sudo reboot

 
Nun kann man auch ohne „sudo“ auf den I2CBus zugreifen.