Yπό ανάπτυξη
Ο δίαυλος I2C επιτρέπει πολλαπλές συσκευές - αισθητήρια να συνδεθούν με το Raspberry Pi σας, το καθένα με μια μοναδική διεύθυνση, που μπορεί συχνά να ρυθμιστεί αλλάζοντας τις ρυθμίσεις με ένα jumper στη μονάδα. Είναι πολύ χρήσιμο να είστε σε θέση να δείτε ποιες συσκευές πάνω στο δίαυλο είναι συνδεδεμένες με το Pi σας ως ένας τρόπος για να διασφαλίσετε ότι όλα λειτουργούν κανονικά χωρίς προβλήματα σύνδεσης.
Για να το κάνετε αυτό, αξίζει να εκτελέσετε τις ακόλουθες εντολές στο Terminal για να εγκαταστήσετε το βοηθητικό πρόγραμμα I2C-tools.
πληκτρολογούμε
-
sudo apt-get install python-smbus
-
sudo apt-get install i2c-tools
-
sudo apt-get install libi2c-dev python-dev
Finally reboot:
sudo reboot
Εγκατάσταση Kernel Υποστήριξης (με Raspi-config)
Τρέξτε πληκτρολογόντας το sudo raspi-config και ακολουθήστε τις οδηγίες για να εγκαταστήσετε την I2C υποστήριξη για τον πυρήνα ARM και στον Linux kernel όπως δείχνουν οι επόμενες εικόνες.
μετά
στη συνέχεια
τέλος μετά πατήστε Yes
Στη συνέχεια, κάντε επανεκκίνηση!
Σας προτείνουμε επίσης να περάσετε από τα παρακάτω βήματα για να ελέγξετε χειροκίνητα τα πάντα που προστέθηκαν μέσω του raspi-config!
Εγκατάσταση Kernel Στήριξης (Μη αυτόματη)
Ωστόσο, αν χρησιμοποιείτε Raspbian, θα χρειαστεί να ανοίξετε το LXTerminal ή την κονσόλα ή μέσω ssh για να πληκτρολογήσετε την ακόλουθη εντολή:
-
sudo nano /etc/modules
-
και να προσθέσετε αυτές τις δύο γραμμές στο τέλος του αρχείου:
i2c-bcm2708
i2c-dev
όπως δείχνει η επόμενη εικόνα
Στη συνέχεια, αποθηκεύστε το αρχείο με Control-X Y <enter>
Ανάλογα με τη διανομή σας, μπορείτε επίσης να έχετε ένα αρχείο που ονομάζεται
/etc/modprobe.d/raspi-blacklist.conf
Αν δεν έχετε αυτό το αρχείο, τότε δεν υπάρχει τίποτα να κάνετε, όμως, αν έχετε αυτό το αρχείο, θα πρέπει να το επεξεργαστείτε και να σχολιάσει τις γραμμές παρακάτω:
blacklist SPI-bcm2708
blacklist I2C-bcm2708
.. Βάζοντας μια δίεση # μπροστά τους.
Ανοίξτε έναν editor το αρχείο, πληκτρολογώντας:
sudo nano /etc/modprobe.d/raspi-blacklist.conf
.. Στη συνέχεια, επεξεργαστείτε το αρχείο έτσι ώστε να φαίνεται όπως παρακάτω, και στη συνέχεια, αποθηκεύστε και βγείτε από το αρχείο χρησιμοποιώντας CTRL-Χ και Υ <enter>
Εάν εκτελείτε πρόσφατo Raspberry Pi image (3.18 kernel ή μεγαλύτερο) θα πρέπει επίσης να ενημερώσετε το αρχείο /boot/config.txt. Επεξεργαστείτε το με
sudo nano /boot/config.txt και προσθέστε το κείμενο
dtparam=i2c1=on
dtparam=i2c_arm=on
Μόλις γίνει αυτό, κάντε επανεκκίνηση!
sudo reboot
Δοκιμές στο δίαυλο I2C
Τώρα όταν ξανά συνδεθείτε μπορείτε να πληκτρολογήσετε την ακόλουθη εντολή για να δείτε όλες τις συνδεδεμένες συσκευές πάνω στο δίαυλο (εάν εκτελείτε πάνω σε Raspberry Pi Model B 512MB)
sudo i2cdetect -y 1
Αυτό δείχνει ότι οι δύο διευθύνσεις I2C είναι σε χρήση - 0x40 και 0x70. Σε σας θα δείξει την διεύθυνση που είναι προγραμματισμένη η δικιά σας πλακέτα πχ. 0χ39
Σημειώστε ότι αν χρησιμοποιείτε ένα από τα πρώτα Raspberry Pis (με 256MB Raspberry Pi Model B), τότε θα πρέπει να αλλάξετε την εντολή σε:
sudo i2cdetect -y 0
Για έλεγχο μέσω python
κατεβάζουμε το φάκελο με τα αρχεία από το github
https://github.com/lexruee/tsl2561
git clone https://github.com/lexruee/tsl2561
cd tsl2561
sudo python setup.py build
το test.py μέσα στο φάκελο examples περιλαμβάνει
from tentacle_pi.TSL2561 import TSL2561
import time
tsl = TSL2561(0x39,"/dev/i2c-1")
tsl.enable_autogain()
tsl.set_time(0x00)
for x in range(0,5):
print "lux %s" % tsl.lux()
time.sleep(3)
εκτέλεση με
sudo python test.py
Σε περίπτωση δεν γίνεται import to tsl2561 πληκτρολογήστε
cd /usr/local/lib/python2.7/dist-packages/tentacle_pi
και
cp TSL2561.so /home/pi/tsl2561/tentacle_pi/TSL2561.so
.....
Σχόλια
This publish truly made my day. You can not consider just how much time I had spent for
this info! Thanks!
Τροφοδοσία RSS για τα σχόλια αυτού του άρθρου.