Агуулгын хүснэгт:

Raspberry Pi температурын мониторыг хэрхэн бүтээх вэ: 9 алхам
Raspberry Pi температурын мониторыг хэрхэн бүтээх вэ: 9 алхам

Видео: Raspberry Pi температурын мониторыг хэрхэн бүтээх вэ: 9 алхам

Видео: Raspberry Pi температурын мониторыг хэрхэн бүтээх вэ: 9 алхам
Видео: SKR 1.4 - Definitive User Guide 2024, Арваннэгдүгээр
Anonim
Raspberry Pi температурын мониторыг хэрхэн яаж бүтээх вэ
Raspberry Pi температурын мониторыг хэрхэн яаж бүтээх вэ

Температур ба чийгшил нь өнөөгийн аж үйлдвэрийн ертөнцөд мэдээллийн чухал цэг юм. Серверийн өрөөнүүд, арилжааны хөлдөөгч, үйлдвэрлэлийн шугамын байгаль орчны өгөгдлийг хянах нь бүх зүйлийг жигд ажиллуулахад зайлшгүй шаардлагатай. Энгийнээс нарийн төвөгтэй хүртэл маш олон шийдэл байдаг бөгөөд энэ нь танай бизнест юу хэрэгтэй байгаа, хаанаас эхлэхээ шийдэхэд хэцүү мэт санагдаж магадгүй юм.

Бид Raspberry Pi болон өөр өөр температур мэдрэгч ашиглан температурыг хэрхэн хянах талаар ярилцах болно. Эдгээр шийдлүүд нь хямд, хийхэд хялбар бөгөөд байгаль орчны бусад хяналтыг бий болгох үндэс суурийг тавьж өгдөг тул энэ бол эхлэхэд тохиромжтой газар юм.

Хангамж

  • Raspberry Pi (3, 4, эсвэл Zero WH)
  • Температур мэдрэгч (DHT2, DSB18B20, BME280 эсвэл Sense HAT)
  • 6 "40-зүү IDE эрэгтэй, эмэгтэй өргөтгөл кабель (Sense HAT шийдэл)
  • 10K резистор, талхны самбар, 40 зүү таслах самбар + тууз кабель, утас (DSB18B20 шийдлийн хувьд)

Алхам 1: Raspberry Pi

Raspberry Pi бол температур мэдрэгчтэй холбогдох, өгөгдлийг визуал програм хангамж руу дамжуулах боломжийг олгодог хямд үнэтэй ганц самбар бүхий компьютер юм. Raspberry Pi нь сургалтын хэрэгсэл болж эхэлсэн бөгөөд үйлдвэрлэлийн ажлын байрны хэрэгсэл болж хөгжсөн. Програмчлалын хамгийн хурдацтай хөгжиж буй Python програмыг ашиглахад хялбар, код бичих чадвар нь тэднийг шийдвэрлэх гарц болсон юм.

Танд WiFi, 3, 4, тэг W/WH загвартай Raspberry Pi хэрэгтэй болно. Тэдгээрийн хооронд та үнэ, онцлог шинж чанар дээр үндэслэн сонгож болно. Zero W/WH бол хамгийн хямд боловч хэрэв танд илүү их функц хэрэгтэй бол 3 ба 4 -ээс сонгох боломжтой. Та Raspberry Pi Foundation -ийн хязгаарлалтын улмаас нэг удаад зөвхөн нэг Z W/WH худалдаж авах боломжтой. Та ямар ч Pi сонгохоос үл хамааран цэнэглэгч худалдаж авахаа мартуузай, ингэснээр та үйлдлийн системийг суулгах ажлыг аль болох хялбар болгохын тулд Pi болон SD картыг Raspbian ашиглан тэжээх болно.

Мөн ажиллах боломжтой ганц самбартай компьютерууд байдаг, гэхдээ энэ нь өөр цаг хугацаа, өөр нийтлэл юм.

Алхам 2: Мэдрэгч

Хямд үнэтэй, холбоход хялбар, үнэн зөв уншилт өгдөг тул гурван мэдрэгчийг ашиглахыг зөвлөж байна; DSB18B20, DHT22, Raspberry Pi Sense HAT.

DHT22 - Энэхүү температур ба чийгшлийн мэдрэгч нь +/- 0.5 С хэмийн нарийвчлалтай, чийгшил 0-100 хувьтай байна. Raspberry Pi руу утас залгах нь маш энгийн бөгөөд татах эсэргүүцэл шаарддаггүй.

DSB18B20 - Энэхүү температур мэдрэгч нь дижитал гаралттай бөгөөд Raspberry Pi -тэй сайн ажилладаг. Энэ нь гурван утастай бөгөөд холболт хийхэд талхны хавтан ба эсэргүүцэл шаарддаг.

BME280 - Энэхүү мэдрэгч нь температур, чийгшил, барометрийн даралтыг хэмждэг. Үүнийг SPI болон I2C аль алинд нь ашиглаж болно.

Sense HAT - Энэ бол LED, мэдрэгч, бяцхан джойстик бүхий Raspberry Pi -ийн нэмэлт хэрэгсэл юм. Энэ нь Raspberry Pi дээрх GPIO -той шууд холбогддог боловч тууз кабель ашиглан температурыг илүү нарийвчлалтай унших боломжтой болно.

Алхам 3: Raspberry Pi -ийн тохиргоо

Хэрэв та Raspberry Pi -ийг анх удаа тохируулж байгаа бол Raspbian үйлдлийн системийг суулгаж, Pi -гээ WiFi -д холбох хэрэгтэй болно. Энэ нь Pi -тай холбогдохын тулд дэлгэц, гар хэрэгтэй болно. Үүнийг ажиллуулж, WiFI -д холбогдсоны дараа таны Pi ажиллахад бэлэн болно.

Алхам 4: Анхны улсын данс

Улсын анхны данс
Улсын анхны данс
Улсын анхны данс
Улсын анхны данс

Түүхийн бүртгэл хөтлөх, бодит цагийн мэдээллийн урсгалыг үзэхийн тулд өгөгдлөө илгээх газар хэрэгтэй болно, ингэснээр бид анхны төлөвийг ашиглах болно. Https://iot.app.initialstate.com хаягаар орж шинэ акаунт үүсгээрэй эсвэл одоо байгаа данс руугаа нэвтэрнэ үү.

Дараа нь бид таны Pi дээр Initial State Python модулийг суулгах хэрэгтэй. Тушаал хүлээх мөрөнд (эхлээд Pi руу SSH оруулахаа бүү мартаарай) дараах тушаалыг ажиллуулна уу.

$ cd/home/pi/

$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

Тушаалын мөрөнд curl командыг оруулсны дараа дэлгэцэн дээрх дараах гаралттай төстэй зүйлийг харах болно.

pi@raspberrypi ~

$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash Нууц үг: ISStreamer Python хялбар суулгах эхлэл! Суулгахад хэдэн минут шаардагдах болно, кофе аваарай:) Гэхдээ буцаж ирэхээ бүү мартаарай, дараа нь надад асуулт байна! Easy_install-ийг олсон: setuptools 1.1.6 pip/pip/1.5.6-ийг /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip major version: 1 pip minor version: 5 ISStreamer олдсон, шинэчлэгдэж байна … Шаардлага аль хэдийн шинэчлэгдсэн байна: /Library/Python/2.7/site-packages дахь ISStreamer Цэвэрлэгээ… Та жишээ скриптийг автоматаар авахыг хүсч байна уу? [y/N] Жишээг хаана хадгалахыг хүсч байна вэ? [анхдагч:./is_example.py] Та ашиглаж буй анхны төлөвийн програмыг сонгоно уу: 1. app.initialstate.com 2. [ШИНЭ!] iot.app.initialstate.com 1 эсвэл 2 -р сонголтыг оруулна уу: iot.app оруулна уу..initialstate.com хэрэглэгчийн нэр: iot.app.initialstate.com нууц үгийг оруулна уу:

Жишээ скриптийг автоматаар авахыг хүсэхэд y гэж бичнэ үү. Энэ нь өгөгдлийг анхны төлөв рүү дамжуулахын тулд бид ажиллуулж болох туршилтын скриптийг бий болгоно. Дараагийн мөрөнд жишээ файлыг хаана хадгалахыг асууна. Анхдагч байршлыг зөвшөөрөхийн тулд та өөрчлөн тохируулсан орон нутгийн замыг бичих эсвэл enter дарж болно. Эцэст нь хэлэхэд, та аль анхны муж улсын програмыг ашиглаж байгааг асуух болно. Хэрэв та саяхан данс үүсгэсэн бол 2 -р сонголтыг сонгоод хэрэглэгчийн нэр, нууц үгээ оруулна уу. Үүний дараа суулгалт дуусах болно.

Үүсгэсэн скриптийн жишээг авч үзье.

$ нано is_example.py

15 -р мөрөнд та streamer = Streamer (bucket_…) -ээр эхэлсэн мөрийг харах болно. Энэ мөрүүд нь "Python Stream Example" нэртэй шинэ өгөгдлийн савыг үүсгэж, таны бүртгэлтэй холбоотой байна. Энэ холболт нь access_key = "… -ээс болж үүсдэг. ижил шугам дээрх параметр. Энэ урт үсэг, тоонууд нь таны анхны төлөвт данс руу нэвтрэх түлхүүр юм. Хэрэв та вэб хөтчөөрөө анхны төлөв рүүгээ орвол баруун дээд буланд байгаа хэрэглэгчийн нэрээ дараад "миний тохиргоо" руу очно уу., та ижил нэвтрэх түлхүүрийг "Хандалтын түлхүүрийг дамжуулах" хэсэгт олох болно.

Та өгөгдөл дамжуулах бүрийг нэвтрэх түлхүүр нь таны өгөгдлийн урсгалыг таны данс руу чиглүүлэх болно (тиймээс түлхүүрээ бусадтай бүү хуваалцаарай).

Туршилтын скриптийг ажиллуулснаар бид таны анхны төлөвт өгөгдөл дамжуулах боломжтой болно. Дараахыг ажиллуулна уу.

$ python is_example.py

Вэб хөтөч дээрээ анхны төлөв рүүгээ буцна уу. "Python урсгалын жишээ" нэртэй шинэ өгөгдлийн сав таны бүртгэлийн тавиур дээр зүүн талд гарч ирэх ёстой байсан (та хуудсыг шинэчлэх шаардлагатай байж магадгүй юм). Туршилтын өгөгдлийг харахын тулд энэ хувин дээр дараад Waves дүрс дээр дарна уу

Хэрэв та Python 3 -ийг ашиглаж байгаа бол Initial State Streamer Module -ийг суулгаж дараах тушаалыг ашиглан суулгаж болно.

pip3 ISStreamer -ийг суулгана уу

Одоо бид температур мэдрэгчийг температурыг хянах самбарт дамжуулахын тулд Pi -тай тохируулахад бэлэн боллоо.

Алхам 5: DHT22 шийдэл

DHT22 шийдэл
DHT22 шийдэл

DHT22 нь 5V, Gnd, өгөгдөл гэсэн гурван зүүтэй байх болно. DHT22 -ийг асаахад зүү шошго байх ёстой (жишээ нь ‘+’ эсвэл ‘5V’). Үүнийг Pi -ийн 2 -р зүү (баруун дээд зүү, 5V) -тэй холбоно уу. Gnd зүү нь '-' эсвэл 'Gnd' эсвэл түүнтэй адилтгах зүйлээр бичигдэх болно. Үүнийг Pi дээрх 6 Gnd (5V зүү доорх хоёр зүү) зүүтэй холбоно уу. DHT22 дээрх үлдсэн зүү нь өгөгдлийн зүү бөгөөд "гадагш" эсвэл "s" эсвэл "өгөгдөл" гэсэн шошготой байх болно. Үүнийг GPIO4 (зүү 7) гэх мэт Pi дээрх GPIO зүүтэй холбоно уу. Үүнийг утастай болгосны дараа Pi -гээ асаана уу.

Adafruit DHT Python модулийг тушаалын мөрөнд суулгаж DHT22 мэдрэгчийн өгөгдлийг уншихад маш хялбар болгоно.

$ sudo pip Adafruit_DHT суулгаарай

Мэдрэгчийн өгөгдлийг унших, анхны төлөв рүү өгөгдөл илгээх хоёр Python модулийн хамт үйлдлийн системээ суулгаснаар бид Python скриптээ бичихэд бэлэн байна. Дараахь скрипт нь Анхны төлөвийн өгөгдлийн хувин үүсгэж/хавсаргаж, DHT22 мэдрэгчийн өгөгдлийг уншиж, тэр өгөгдлийг бодит цагийн хяналтын самбарт илгээх болно. Таны хийх ёстой зүйл бол 6-11 мөрийг өөрчлөх явдал юм.

Adafruit_DHT импортлох

ISStreamer. Streamer импортлох Streamer импортлох цаг# --------- Хэрэглэгчийн тохиргоо --------- SENSOR_LOCATION_NAME = "Оффис" BUCKET_NAME = ": partly_sunny: Өрөөний температур" BUCKET_KEY = "rt0129" ACCESS_KEY = "ЭНД ДАРГА ТӨРИЙН ХАНДАХ ТҮЛХҮҮРЭЭ ЭНД ДАРЖ БОЛГООЧ" MINUTES_BETWEEN_READS = 10METRIC_UNITS = Худал # --------------------------------- дамжуулагч = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) үнэн байхад: чийгшил, temp_c = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) бол METRIC_UNITS: streamer.log (SENSOR_LOC): temp_f = формат (temp_c * 9.0 / 5.0 + 32.0, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Температур (F)", temp_f) чийгшил = формат (чийгшил, ".2f") streamer.log (SENSOR_LOCATION_NAME +) "Чийглэг (%)", чийгшил) цацагч.flush () цаг. Унтах (60*MINUTES_BETWEEN_READS)

  • 6 -р мөр - Энэ утга нь зангилаа/температур мэдрэгч бүрийн хувьд өвөрмөц байх ёстой. Энэ нь таны мэдрэгчийн зангилааны өрөөний нэр, физик байршил, өвөрмөц танигч эсвэл бусад зүйл байж болно. Энэ зангилааны өгөгдөл нь таны хяналтын самбарт өөрийн өгөгдлийн урсгал руу орох эсэхийг баталгаажуулахын тулд зангилаа тус бүрт өвөрмөц байдгийг шалгаарай.
  • 7 -р мөр - Энэ бол өгөгдлийн савны нэр юм. Үүнийг анхны төлөвийн UI дээр хүссэн үедээ өөрчлөх боломжтой.
  • 8 -р мөр - Энэ бол таны хувин түлхүүр юм. Энэ нь нэг хяналтын самбарт харуулахыг хүссэн зангилаа бүрийн хувьд ижил хувин түлхүүр байх ёстой.
  • 9 -р мөр - Энэ бол таны анхны төлөвт данс руу нэвтрэх түлхүүр юм. Анхны төлөв данснаасаа энэ түлхүүрийг хуулж буулгана уу.
  • 10 -р мөр - Энэ бол мэдрэгчийн унших хоорондох хугацаа юм. Үүний дагуу өөрчлөх.
  • 11 -р мөр - Та 11 -р мөрөнд хэмжигдэхүүн эсвэл эзэн хааны нэгжийг зааж өгч болно.

Py дээрээ Python скрипт дээрээ 6–11 -р мөрүүдийг тохируулсны дараа хадгалаад текст засварлагчаас гарна уу. Дараах тушаалаар скриптийг ажиллуулна уу.

$ python tempsensor.py

Одоо та анхны төлөвийн хяналтын самбарт өгөгдөл илгээх болно. Хяналтын самбараа хэрхэн тохируулах талаар дэлгэрэнгүй мэдээлэл авахыг хүсвэл энэ нийтлэлийн сүүлчийн хэсэгт очно уу.

Алхам 6: DSB18B20 шийдэл

DSB18B20 шийдэл
DSB18B20 шийдэл
DSB18B20 шийдэл
DSB18B20 шийдэл

Туузан кабель нь Pi дээрх GPIO тээглүүртэй холбогддог. DS18B20 нь гурван утастай. Улаан утас нь 3.3V -тэй холбогддог. Цэнхэр/хар утас нь газартай холбогддог. Шар утас нь татах эсэргүүцэл/зүү 4-тэй холбогддог. Үүнийг утсаар холбосны дараа Pi-гээ асаана уу.

Raspbian -ийн хамгийн сүүлийн хувилбар (цөм 3.18) нь DS18B20 -тэй холбогдохын тулд Pi /boot/config.txt файлд нэмэлт оруулах шаардлагатай болно. Энэ файлыг засахын тулд дараах зүйлийг ажиллуулна уу.

$ sudo нано /boot/config.txt

Дараах мөр энэ файлд байхгүй бол (хэрэв байгаа бол энэ нь файлын доод хэсэгт байх магадлалтай) үүнийг нэмж файлыг хадгална уу.

dtoverlay = w1-gpio, gpiopin = 4

Өөрчлөлтүүд хүчин төгөлдөр болохын тулд Pi -гээ дахин эхлүүлнэ үү.

$ sudo дахин ачаална уу

Температур мэдрэгчийн унших интерфэйсийг эхлүүлэхийн тулд бид хоёр тушаалыг ажиллуулах хэрэгтэй. Pi эсвэл SSH дээрх тушаалын мөр рүү очиж Pi руу орно уу. Дараах тушаалуудыг бичнэ үү.

$ sudo modprobe w1-gpio $ sudo modprobe w1-therm

Таны температур мэдрэгчийн гаралтыг одоо таны Pi дээрх файлд бичиж байна. Энэ файлыг олохын тулд:

$ cd/sys/bus/w1/төхөөрөмжүүд

Энэ лавлахад "28-" гэж эхэлдэг дэд лавлах байх болно. "28-" -ын дараа гарч ирэх зүйл бол таны мэдрэгчийн серийн дугаар юм. cd -ийг энэ лавлах руу оруулна уу. Энэ лавлах дотор w1_slave нэртэй файл нь таны мэдрэгчийн гаралтыг агуулдаг. Файлын агуулгыг үзэхийн тулд нано ашиглана уу. Та файлыг оруулсны дараа иймэрхүү харагдах болно:

a2 01 4b 46 7f ff 0e 10 d8: crc = d8 YESa2 01 4b 46 7f ff 0e 10 d8 t = 26125

"T =" -ын дараах тоо бол бидний хүссэн тоо юм. Энэ бол Цельсийн 1/1000 градусын температур юм (дээрх жишээн дээр температур 26.125 С байна). Бидэнд энэ файлыг уншиж, тоог задлан шинжлэх энгийн програм хэрэгтэй. Бид үүнд хэдхэн секундын дотор хүрэх болно.

Бид өгөгдөл дамжуулж эхлэхэд бүх зүйл бэлэн боллоо. Текст засварлагчийг нээхийн тулд командын мөрөнд дараахь зүйлийг бичнэ үү.

$ нано температур. py

Доорх кодыг хуулж аваад текст засварлагч руу буулгана уу.

импортлох os

ISStreamer-аас дэлхийн бөмбөрцгийн импортын цагийг импортлох. -therm ') base_dir ='/sys/bus/w1/devices/'device_folder = glob.glob (base_dir + '28*') [0] device_file = device_folder + '/w1_slave' def read_temp_raw (): f = open (device_file, 'r') мөрүүд = f.readlines () f.close () буцах мөрүүд def read_temp (): шугамууд = read_temp_raw () байхад шугамууд [0]. зурвас () [-3:]! = 'ТИЙМ': time.sleep (0.2) шугам = read_temp_raw () equals_pos = шугамууд [1].хэрэглэх ('t =') бол тэнцүү_pos! = -1: temp_string = шугамууд [1] [equals_pos+2:] temp_c = хөвөх (temp_string) / 1000.0 нь temp_c -ийг True байхад буцаана: temp_c = read_temp () temp_f = temp_c * 9.0 / 5.0 + 32.0 streamer.log ("температур (C)", temp_c) streamer.log ("температур (F)", temp_f) time.sleep (.5)

Та анхны төлөвт нэвтрэх түлхүүрээ PUT_YOUR_ACCESS_KEY_HERE -ийн оронд 6 -р мөрөнд оруулах ёстой (дамжуулах түлхүүрийг "Миний данс" -аас санах ойн санах ой руу хуулж, терминалдаа нано код руу буулгана уу).

6 -р мөр нь таны анхны төлөвт "Температурын урсгал" нэртэй хувин үүсгэх болно (энэ мөрөнд access_key -ээ зөв зааж өгсөн гэж үзвэл). Энэхүү скриптийн 8 -аас 30 -р мөрөнд DS18B20 мэдрэгчтэй холбогдож түүний температурыг өмнө нь авч үзсэн w1_slave файлаас уншиж болно. 15 -р мөр дээрх read_temp_raw () функц нь түүхий w1_slave файлыг уншдаг. 21 -р мөр дээрх read_temp () функц нь тухайн файлын температурыг задлан шинжилдэг. 34 -р шугам нь одоогийн температурыг авахын тулд эдгээр функцуудыг дууддаг. 35 -р мөр нь Цельсийн температурыг Фаренгейт рүү хөрвүүлдэг. 35 ба 36 -р мөрүүд нь температурыг таны анхны төлөв рүү дамжуулдаг. 37 -р мөр нь скриптийг 0.5 секундын турш түр зогсоож, температур мэдрэгчийг хэр олон удаа уншиж, дамжуулахыг тохируулдаг.

Бид цацаж эхлэхэд бэлэн байна. Дараах тушаалыг ажиллуулна уу.

$ sudo python температур.py

Вэб хөтчийнхөө анхны төлөв рүү буцаж очоод Температурын урсгал гэж нэрлэгддэг шинэ өгөгдлийг хайж олоорой. Та температурын өгөгдлийг шууд дамжуулж байгааг харах ёстой. Мэдрэгчийн температурыг гартаа барьж эсвэл мөсөн аяганд хийж өөрчил.

Одоо та анхны төлөвийн хяналтын самбарт өгөгдөл илгээх болно. Хяналтын самбараа хэрхэн тохируулах талаар дэлгэрэнгүй мэдээлэл авахыг хүсвэл энэ нийтлэлийн сүүлчийн хэсэгт очно уу.

Алхам 7: BME280 шийдэл

Энэхүү шийдлийг бий болгохын тулд танд дараахь зүйлс хэрэгтэй болно.

-BME280 даралт, температур, чийгшил мэдрэгч

Энэхүү мэдрэгч нь мэдрэгч дээр гагнах шаардлагатай тээглүүртэй ирдэг. Гагнах ажлыг хөнгөвчлөхийн тулд талхтай талхыг тал руу нь урагш нь доош нь харуулан тавихыг зөвлөж байна. Үүнийг дуусгасны дараа бид мэдрэгчийг Pi руу залгах хэрэгтэй.

Мэдрэгчийн VIN зүүг Pi дээрх 3.3V зүү 1 -тэй холбоно уу. Мэдрэгч дээрх GND зүүг Pi дээрх газардуулгын зүү 6 -тай холбоно уу. Мэдрэгч дээрх SCK зүүг Pi дээрх SCL зүү 5 -тай холбоно уу. Мэдрэгч дээрх SDI зүүг Pi дээрх SDA зүү 3 -тэй холбоно уу. Та энэ шийдэлд Python 3 -ийг ашиглаж, pip3 суулгах аргыг ашиглан Initial State Streamer модулийг суулгах шаардлагатай болно.

Та бас хэд хэдэн Adafruit Python номын санг суулгах хэрэгтэй болно.

pip3 adafruit-blinkapip3 суулгах pureio pip3 spidev pip3 суулгах adafruit-GPIO pip3 суулгах adafruit-circuitpython-bme280

Мэдрэгчийг ашиглахын тулд бид Pi дээрх I2C -ийг идэвхжүүлэх хэрэгтэй.

sudo raspi-config

Энэ нь Raspberry Pi програм хангамжийн тохиргооны хэрэгслийг нээх болно. 5 -р сонголтын интерфейсийн сонголтууд руу очно уу. Эндээс I2C руу очно уу. Хэрэв та I2C -ийг идэвхжүүлэхийг хүсч байвал танаас асуух болно, Тийм гэж сонгоод дуусгах. Одоо та мэдрэгчтэй харилцах I2C -ийг идэвхжүүлсэн байна.

Бид үүнийг дараах туршилтыг ашиглан шалгаж болно.

sudo i2cdetect -y 1

Энэ нь таны Pi мэдрэгчийг харж байгаа эсэхийг шалгах болно. Холбогдож байгаа тохиолдолд энэ нь 77 хаягийн мэдрэгчийг харуулах ёстой. Хэрэв та мэдрэгчийг илрүүлээгүй бол Pi -гээ дахин асаагаад Pi дээрх I2C интерфэйсийн сонголтыг дахин идэвхжүүлээд дахин оролдоно уу. Анхны төлөвт өгөгдөл илгээх үндсэн кодыг ажиллуулах. Нано командыг ашиглан bme280sensor.py нэртэй файл үүсгэсэн. Кодыг үндсэн текстээс хуулж аваад текст засварлагч руу буулгана уу. Та 12-19 -р мөрөнд өөрчлөлт оруулах шаардлагатай болно.

импортлох хугацаа

ISStreamer-аас adafruit_bme280 импортлох самбар импортлох Streamer # Манай Bus I2C porti2c = busio. I2C (board. SCL, board. SDA) ашиглан номын сангийн объект үүсгэх bme280 = adafruit_bme280. Adafruit_BME280_I2C (i2c) # ------- -Хэрэглэгчийн тохиргоо --------- SENSOR_LOCATION_NAME = "Оффис" BUCKET_NAME = ": partly_sunny: Өрөөний температур" BUCKET_KEY = "temp1" ACCESS_KEY = "ТАНЫ ХАНДАХ ТҮЛХҮҮРИЙГ ЭНДЭР" # үүнийг байршлын даралттай тохируулахын тулд өөрчилнө үү (hPa) далайн түвшинд bme280. тэнгисийн_зэргийн_зураг = 1013.25 МИНУТ_ОРООДОО = 10 МЕТРИЙН_НЭГДЭЛ = Худал # --------------------------------- # Эсвэл манай Bus SPI портыг ашиглан номын сангийн объект үүсгэх #spi = busio. SPI (board. SCK, board. MOSI, board. MISO) #bme_cs = digitalio. DigitalInOut (board. D10) #bme280 = adafruit_bme280. Adafruit_BME280_SPI (spi, bme_cs) streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) байхад True: чийгшил = формат (bme280. чийгшил, ".1f") даралт = формат (bme280. даралт, ".1f") temp_c = bme280.temperatu хэрэв METRIC_UNITS: streamer.log (SENSOR_LOCATION_NAME + "Температур (C)", temp_c) өөр: temp_f = формат (temp_c * 9.0 / 5.0 + 32.0, ".1f") streamer.log (SENSOR_LOCATION_NAME + "Температур (F)", temp_f) streamer.log (SENSOR_LOCATION_NAME + "Чийгшил (%)", чийгшил) streamer.log (SENSOR_LOCATION_NAME + "Даралт (hPA)", даралт) streamer.flush () цаг. унтдаг (60*MINUTES_BETWEEN_READS)

  • 12-р мөр- Энэ утга нь зангилаа/температур мэдрэгч бүрийн хувьд өвөрмөц байх ёстой. Энэ нь таны мэдрэгчийн зангилааны өрөөний нэр, физик байршил, өвөрмөц танигч эсвэл бусад зүйл байж болно. Энэ зангилааны өгөгдөл нь таны хяналтын самбарт өөрийн өгөгдлийн урсгал руу орох эсэхийг баталгаажуулахын тулд зангилаа тус бүрт өвөрмөц байдгийг шалгаарай.
  • 13-р мөр- Энэ бол өгөгдлийн савны нэр юм. Үүнийг анхны төлөвийн UI дээр хүссэн үедээ өөрчлөх боломжтой.
  • 14-р мөр- Энэ бол таны хувин түлхүүр юм. Энэ нь нэг хяналтын самбарт харуулахыг хүссэн зангилаа бүрийн хувьд ижил хувин түлхүүр байх ёстой.
  • 15-р мөр- Энэ бол таны анхны төлөвт данс руу нэвтрэх түлхүүр юм. Анхны төлөв данснаасаа энэ түлхүүрийг хуулж буулгана уу.
  • 17-р мөр- Энэ бол таны далайн түвшний даралт (hPa) юм. Та энэ мэдээллийг цаг агаарын ихэнх вэбсайтаас авах боломжтой.
  • 18 -р мөр - Энэ бол мэдрэгчийн унших хоорондох хугацаа юм. 19-р мөр- Энд та хэмжигдэхүүн эсвэл эзэн хааны нэгжийг зааж өгч болно.

Pi Zero WH дээр Python скриптээрээ 12–19 -р мөрүүдийг тохируулсны дараа текст засварлагчийг хадгалаад гараарай. Дараах тушаалаар скриптийг ажиллуулна уу.

$ python3 bme280sensor.py

Одоо та анхны төлөвийн хяналтын самбарт өгөгдөл илгээх болно. Хяналтын самбараа хэрхэн тохируулах талаар дэлгэрэнгүй мэдээлэл авахыг хүсвэл энэ нийтлэлийн сүүлчийн хэсэгт очно уу.

Алхам 8: HAT -ийг мэдэр

Мэдэрдэг HAT
Мэдэрдэг HAT
Мэдэрдэг HAT
Мэдэрдэг HAT

Sense HAT -ийг ашиглах эхний алхам бол үүнийг Pi дээрээ физик байдлаар суулгах явдал юм. Pi -г унтрааж, зураг дээр үзүүлсэн шиг малгайгаа залга.

Хэрэв та дээрх шийдлийг ашиглахаар шийдсэн бол Sense HAT -ийн температурын үзүүлэлт бага зэрэг өндөр байх болно. Гэмт хэрэгтэн нь Pi -ийн процессороос үүдэлтэй дулаан бөгөөд Pi -ийн орой дээр байх үед Sense HAT -ийн эргэн тойрон дахь агаарыг халаана. Температур мэдрэгчийг ашигтай болгохын тулд бид малгайгаа Pi -ээс салгах эсвэл температур мэдрэгчийн заалтыг тохируулахыг хичээх хэрэгтэй. Мэдрэгчийг Пи -ээс салгах сайн шийдэл бол Sense HAT -ийг Pi -ээс салгах боломжийг олгодог кабель юм. 6 инч, 40 зүү бүхий IDE эрэгтэй, эмэгтэй өргөтгөл кабелийн кабель нь заль мэх хийх болно.

Хоёр сонголтыг шийдсэний дараа Pi -гээ асаагаарай. Sense HAT -аас мэдрэгчийн утгыг уншихад хялбар болгохын тулд бид Python номын санг суулгах хэрэгтэй. Нэгдүгээрт, та Raspbian-ийн хувилбар дээр бүх зүйл шинэчлэгдсэн эсэхийг шалгах хэрэгтэй болно.

$ sudo apt-get шинэчлэлт

Дараа нь Sense HAT Python номын санг суулгана уу.

$ sudo apt-get install sense-hat

Pi -гээ дахин ачаална уу. Бид Sense HAT -ийг мэдрэгчийн өгөгдлийг уншиж, анхны төлөв рүү илгээх замаар туршихад бэлэн байна.

Sensehat нэртэй файл үүсгээд командын мөрөнд дараах зүйлийг оруулаад текст засварлагч дээр нээнэ үү.

$ nano sensehat.py

Доорх кодыг текст засварлагч руу хуулж оруулна уу.

SenseHat -аас import_hat импортлох

ISStreamer-ээс импортлох цаг импортлох. Streamer Streamer # --------- Хэрэглэгчийн тохиргоо --------- BUCKET_NAME = "Оффисын цаг агаар" BUCKET_KEY = "sensehat" ACCESS_KEY = "Your_Access_Key" SENSOR_LOCATION_NAME = " Оффис "MINUTES_BETWEEN_SENSEHAT_READS = 0.1 # -------------------------------- дамжуулагч = Дамжуулагч (хувин_нэр = BUCKET_NAME, bucket_key = BUCKET_KEY), access_key = ACCESS_KEY) sense = SenseHat () Үнэн байхад: # Мэдрэгчийг уншина уу temp_c = sense.get_temperature () чийгшил = sense.get_humidity () pressure_mb = sense.get_pressure () # Өгөгдлийн температурыг форматлах_f = temp_c * 9.0 / 5.0 + 32.0 temp_f = float ("{0:.2f}". Формат (temp_f)) чийгшил = хөвөх ("{0:.2f}". Формат (чийгшил)) pressure_in = 0.03937008*(pressure_mb) pressure_in = float ("{ 0:.2f} ". Формат (press_in)) # # Хэвлэх ба хэвлэх SENSOR_LOCATION_NAME +" Температур (F): " + str (temp_f) хэвлэх SENSOR_LOCATION_NAME +" Чийглэг (%): " + str (чийгшил) хэвлэх SENSOR_LOCATION_NAME +" Даралт (IN): " + str (pressure_in) streamer.log (": sunny: " + SEN) SOR_LOCATION_NAME + "Температур (F)", temp_f) streamer.log (": хөлс_ дусал:" + SENSOR_LOCATION_NAME + "Чийглэг (%)", чийгшил) streamer.log (": үүл:" + SENSOR_LOCATION_NAME + "Даралт (IN)"), press_in) streamer.flush () time.sleep (60*MINUTES_BETWEEN_SENSEHAT_READS)

Эхний мөрөнд бид SenseHat номын санг скрипт рүү оруулж байгааг анхаарна уу. Та энэ скриптийг ажиллуулахаас өмнө хэрэглэгчийн параметрүүдийг тохируулах хэрэгтэй.

# --------- Хэрэглэгчийн тохиргоо ---------

BUCKET_NAME = "Оффисын цаг агаар" BUCKET_KEY = "sensehat" ACCESS_KEY = "Таны_Хандалтын_Түлхүүр" SENSOR_LOCATION_NAME = "Оффис" MINUTES_BETWEEN_SENSEHAT_READS = 0.1# ------------------------- --------

Тодруулбал, та ACCESS_KEY -ийг анхны төлөвийн дансны хандалтын түлхүүр болгон тохируулах хэрэгтэй. Та BUCKET_NAME болон SENSOR_LOCATION_NAME -ийг мэдрэгчийн жинхэнэ байрлал болгон өөрчлөх боломжтой. Хадгалж, текст засварлагчаас гарна уу.

Pi дээрх командын мөрөнд скриптийг ажиллуулна уу.

$ sudo python sensehat.py

Одоо та анхны төлөвийн хяналтын самбарт өгөгдөл илгээх болно. Хяналтын самбараа хэрхэн тохируулах талаар дэлгэрэнгүй мэдээлэл авахыг хүсвэл энэ нийтлэлийн сүүлчийн хэсэгт очно уу.

Алхам 9: Анхны төлөв байдлын хяналтын самбарыг тохируулна уу

Анхны төлөв байдлын хяналтын самбарыг тохируулна уу
Анхны төлөв байдлын хяналтын самбарыг тохируулна уу

Анхны муж данс руугаа ороод өгөгдлөө харна уу. Та хавтангийн баруун товчлуур дээр дарж диаграмын төрлийг өөрчилж, Хавтанг засах товчлуур дээр дарж хавтангийнхаа хэмжээг өөрчилж, хөдөлгөж болно. Температур хэмжигч ба чийгшлийн хувьд шингэний түвшинг хэмжих хэмжигчийг ашиглахыг зөвлөж байна. Цаг хугацааны өөрчлөлтийг харахын тулд та температур, чийгшлийн аль алинд нь шугаман график үүсгэж болно. Та мөн самбарынхаа дэвсгэр зургийг нэмж болно.

Хэрэв та температур буурах эсвэл тодорхой босго хэмжээнээс дээш гарсан бол SMS эсвэл имэйл хүлээн авахын тулд Trigger дохио өгөх боломжтой. Мэдээллийн сав руугаа ороод тохиргоо дээр дарна уу. Тэндээс Triggers таб руу очно уу. Хяналт хийхийг хүсч буй урсгал түлхүүр, ашиглахыг хүсч буй оператор, босго утгыг оруулна уу. Нэмэх тэмдэг дээр дарж Trigger -ийг нэмнэ үү. Дараа нь та имэйл эсвэл утасны дугаараа оруулаад дохио хүлээн авч нэмэх тэмдэг дээр дарна уу. Та бүх өдөөгчөө тохируулсны дараа доод талд байгаа Дууссан товчийг дарна уу.

Та одоо температур мэдрэгч болон Raspberry Pi ашиглан температур хянагч бүтээсэн тул дараа нь өөр ямар байгаль орчны өгөгдлийг хянах боломжтой байгаагаа бодож эхэлж болно.

Зөвлөмж болгож буй: