Python Language
IoT प्रोग्रामिंग पायथन और रास्पबेरी पीआई के साथ
खोज…
उदाहरण - तापमान संवेदक
रास्पबेरी पाई के साथ DS18B20 का इंटरफेस
रास्पबेरी पाई के साथ DS18B20 का कनेक्शन
आप देख सकते हैं कि तीन टर्मिनल हैं
- VCC
- Gnd
- डेटा (एक तार प्रोटोकॉल)
वोल्टेज स्तर को ऊपर खींचने के लिए आर 1 4.7k ओम प्रतिरोध है
- Vcc को रास्पबेरी पाई के 5v या 3.3v पिन में से किसी से जोड़ा जाना चाहिए (पिन: 01, 02, 04, 17)।
- गोंड को रास्पबेरी पाई के किसी भी पिन पिन से जोड़ा जाना चाहिए (पिन: 06, 09, 14, 20, 25)।
- DATA से जुड़ा होना चाहिए (PIN: 07)
आरपीआई पक्ष से एक-तार इंटरफ़ेस को सक्षम करना
पोटीन या किसी अन्य लिनक्स / यूनिक्स टर्मिनल का उपयोग करके रास्पबेरी पाई में प्रवेश करें।
लॉगिन करने के बाद, अपने पसंदीदा ब्राउज़र में /boot/config.txt फ़ाइल खोलें।
नैनो /boot/config.txt
अब इस लाइन को फ़ाइल के अंत में
dtoverlay=w1–gpio
जोड़ें।अब रास्पबेरी पी
sudo reboot
।रास्पबेरी पाई में लॉग इन करें, और
sudo modprobe g1-gpio
चलाएंफिर
sudo modprobe w1-therm
चलाएंअब डायरेक्टरी / sys / Bus / w1 / devices
cd /sys/bus/w1/devices
अब आपको 28 से शुरू होने वाले तापमान संवेदक से बना एक आभासी निर्देशिका पता चलेगा - ********।
इस निर्देशिका
cd 28-********
अब फ़ाइल नाम w1-slave है , इस फ़ाइल में तापमान और CRC जैसी अन्य जानकारी है।
cat w1-slave
अब तापमान को पढ़ने के लिए अजगर में एक मॉड्यूल लिखें
import glob
import time
RATE = 30
sensor_dirs = glob.glob("/sys/bus/w1/devices/28*")
if len(sensor_dirs) != 0:
while True:
time.sleep(RATE)
for directories in sensor_dirs:
temperature_file = open(directories + "/w1_slave")
# Reading the files
text = temperature_file.read()
temperature_file.close()
# Split the text with new lines (\n) and select the second line.
second_line = text.split("\n")[1]
# Split the line into words, and select the 10th word
temperature_data = second_line.split(" ")[9]
# We will read after ignoring first two character.
temperature = float(temperature_data[2:])
# Now normalise the temperature by dividing 1000.
temperature = temperature / 1000
print 'Address : '+str(directories.split('/')[-1])+', Temperature : '+str(temperature)
ऊपर अजगर मॉड्यूल अनंत समय के लिए तापमान बनाम पते को प्रिंट करेगा। RATE पैरामीटर को सेंसर से तापमान क्वेरी की आवृत्ति को बदलने या समायोजित करने के लिए परिभाषित किया गया है।
GPIO पिन आरेख