Мазмұны:

Raspberry Pi температуралық мониторын қалай құруға болады: 9 қадам
Raspberry Pi температуралық мониторын қалай құруға болады: 9 қадам

Бейне: Raspberry Pi температуралық мониторын қалай құруға болады: 9 қадам

Бейне: Raspberry Pi температуралық мониторын қалай құруға болады: 9 қадам
Бейне: 1. Q Light Controller + QLC + арқылы бастау. Фигура және функциялары 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 -мен кодтау мүмкіндігі оларды шешуге мүмкіндік берді.

Сізге кез келген 3, 4 және нөлдік W/WH үлгісінде WiFi орнатылған Raspberry Pi қажет болады. Олардың арасында баға мен мүмкіндіктерге байланысты таңдауға болады. Zero W/WH - ең арзан, бірақ егер сізге қосымша функционалдылық қажет болса, сіз 3 -тен 4 -ке дейін таңдай аласыз. Raspberry Pi Foundation шектеулеріне байланысты бір уақытта тек Zero 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 - бұл светодиодтар, сенсорлар мен кішкентай джойстик бар 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 from /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip негізгі нұсқасы: 1 pip шағын нұсқасы: 5 ISStreamer табылды, жаңартылуда … Талап қазірдің өзінде жаңартылған: ISStreamer /Library/Python/2.7/site-packages ішінен тазаланады… Сіз автоматты түрде мысал сценарийін алғыңыз келе ме? [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 -нұсқаны таңдаңыз, пайдаланушы аты мен құпия сөзді енгізіңіз. Осыдан кейін орнату аяқталады.

Сценарийдің үлгісін қарастырайық.

$ nano is_example.py

15 -жолда сіз streamer = Streamer (bucket_… деп басталатын жолды көресіз. Бұл жолдар «Python ағынының мысалы» деп аталатын жаңа деректер пакетін жасайды және сіздің есептік жазбаңызбен байланыстырылады. Бұл байланыс access_key = «…» арқасында болады. сол жолдағы параметр. Әріптер мен сандардың ұзақ тізбегі - сіздің бастапқы күйге кіру кілті. Егер сіз веб -браузердегі бастапқы күйге кірсеңіз, жоғарғы оң жақтағы пайдаланушы атыңызды нұқыңыз, содан кейін «менің параметрлерім» бөліміне өтіңіз., сіз сол кіру кілтін «Ағындық кіру кілттері» бөлімінен таба аласыз.

Деректер ағынын жасаған сайын, бұл кілт сол ағынды сіздің есептік жазбаңызға бағыттайды (сондықтан кілтті ешкіммен бөліспеңіз).

Бастапқы күй шотыңызға деректер ағыны жасай алатындығымызға тексеру үшін тест сценарийін іске қосыңыз. Келесі әрекеттерді орындаңыз:

$ python is_example.py

Веб -шолғышта бастапқы күйге қайтып оралыңыз. «Python ағынының мысалы» деп аталатын жаңа деректер шкаласы журнал сөресінде сол жақта көрсетілуі керек еді (бетті жаңарту қажет болуы мүмкін). Бұл шелекті басыңыз, содан кейін толқындар белгішесін нұқып, тест деректерін көріңіз

Егер сіз Python 3 қолдансаңыз, Initial State Streamer модулін келесі пәрмен арқылы орнатуға болады:

pip3 ISStreamer орнатыңыз

Енді біз температура тақтасына температураны жіберу үшін температура сенсорын орнатуға дайынбыз.

5 -қадам: DHT22 шешімі

DHT22 шешімі
DHT22 шешімі

DHT22 үш түйреуішке ие болады - 5V, Gnd және деректер. DHT22 (мысалы, '+' немесе '5V') қуат көзіне арналған түйреуіш болуы керек. Мұны Pi -дің 2 -ші түйреуішіне (жоғарғы оң жақ түйреуіш, 5В) қосыңыз. Gnd түйреуіші '-' немесе 'Gnd' немесе оған балама нәрсе ретінде белгіленеді. Мұны Pi -дегі 6 Gnd (5В сымының астындағы екі түйреуіш) түйреуішіне қосыңыз. DHT22 -дегі қалған түйін деректер түйреуіші болып табылады және «сыртқа» немесе «с» немесе «деректер» деп белгіленеді. Мұны Pi -дегі GPIO түйреуіштерінің біріне қосыңыз, мысалы GPIO4 (пин 7). Бұл сым қосылғаннан кейін, Pi -ді қосыңыз.

Adafruit DHT Python модулін пәрмен жолында DHT22 сенсорының деректерін оқуды жеңілдету үшін орнатыңыз:

$ sudo pip Adafruit_DHT орнатыңыз

Сенсорлық мәліметтерді оқуға және бастапқы күйге жіберуге арналған екі Python модулімен бірге операциялық жүйеміз орнатылған кезде біз Python сценарийін жазуға дайынбыз. Келесі сценарий бастапқы күйдегі деректер шелегін жасайды/қосады, DHT22 сенсорының деректерін оқиды және сол деректерді нақты уақыттағы бақылау тақтасына жібереді. Сізге 6-11 жолдарды өзгерту қажет.

Adafruit_DHT импорттау

ISStreamer. Streamer импорттау Streamer импорттау уақыты# --------- Пайдаланушы параметрлері --------- SENSOR_LOCATION_NAME = «Office» BUCKET_NAME = «: part_ny: бөлме температурасы» BUCKET_KEY = «rt0129» ACCESS_KEY = «МҰНДА БІРІНШІ МЕМЛЕКЕТТІК КІЛТТІҢ КІЛТІН ОРЫНДАУҒА ОРЫНДАҢЫЗ» MINUTES_BETWEEN_READS = 10METRIC_UNITS = Жалған # --------------------------------- стример = Ақиқат: 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 + «Ылғалдылық (%)», ылғалдылық) streamer.flush () уақыт.ұйқы (60*MINUTES_BETWEEN_READS)

  • 6 -жол - Бұл мән әр түйін/температура сенсоры үшін бірегей болуы керек. Бұл сенсорлық түйіннің бөлме атауы, физикалық орналасуы, бірегей идентификатор немесе кез келген нәрсе болуы мүмкін. Бұл түйіннің деректері бақылау тақтасындағы деректер ағынына өтуін қамтамасыз ету үшін әр түйін үшін бірегей екеніне көз жеткізіңіз.
  • 7 -жол - бұл деректер шелегінің атауы. Мұны кез келген уақытта бастапқы күй интерфейсінде өзгертуге болады.
  • 8 -жол - бұл сіздің шелек кілтіңіз. Ол сол бақылау тақтасында көрсеткіңіз келетін әрбір түйін үшін бірдей кілт болуы керек.
  • 9 -жол - Бұл сіздің бастапқы есептік жазбаңызға кіру кілті. Бұл кілтті бастапқы күй шотынан көшіріп, қойыңыз.
  • 10 -жол - бұл сенсордың оқуы арасындағы уақыт. Сәйкесінше өзгертіңіз.
  • 11 -жол - 11 -жолда метрикалық немесе империялық бірліктерді көрсетуге болады.

Pi -ге Python сценарийінде 6–11 жолдарды орнатқаннан кейін, мәтіндік редакторды сақтап, шығыңыз. Сценарийді келесі пәрменмен іске қосыңыз:

$ python tempsensor.py

Енді сізде бастапқы күй бақылау тақтасына деректер жіберіледі. Бақылау тақтасын қалай баптау керектігін білу үшін осы мақаланың соңғы бөліміне өтіңіз.

6 -қадам: DSB18B20 шешімі

DSB18B20 шешімі
DSB18B20 шешімі
DSB18B20 шешімі
DSB18B20 шешімі

Таспалы кабель Pi -дегі GPIO түйреуіштеріне қосылады. DS18B20 үш сымнан тұрады. Қызыл сым 3.3 В кернеуіне қосылады. Көк/қара сым жерге қосылады. Сары тартқыш резисторға/түйреуішке 4 қосылады. Бұл сымды қосқаннан кейін, Pi құрылғысын қосыңыз.

Raspbian -ның соңғы нұсқасы (ядро 3.18) DS18B20 -мен байланысу үшін Pi үшін /boot/config.txt файлын қосуды қажет етеді. Бұл файлды өңдеу үшін келесі әрекеттерді орындаңыз:

$ sudo nano /boot/config.txt

Егер келесі файл осы файлда жоқ болса (егер ол файлдың төменгі жағында болса), оны қосыңыз және файлды сақтаңыз.

dtoverlay = w1-gpio, gpiopin = 4

Өзгерістер күшіне енуі үшін Pi -ді қайта іске қосыңыз.

$ sudo қайта жүктеу

Температура сенсорының оқу интерфейсін іске қосу үшін бізге екі пәрменді орындау қажет. Pi ішіндегі Pi немесе SSH пәрмен жолына өтіңіз. Келесі пәрмендерді теріңіз:

$ 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-ден глобусты импорттау уақыты Streamerstreamer = Streamer (bucket_name = «Температура ағыны», bucket_key = «piot_temp_stream031815», access_key = «PUT_YOUR_ACCESS_KEY_HERE») os.system ('modprobe w1-gpio) -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].find ('t =') if equals_pos! = -1: temp_string = сызықтар [1] [equals_pos+2:] temp_c = float (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) уақыт.ұйқы (.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 temperatur.py

Веб -шолғыштағы бастапқы күйге қайтып оралыңыз және «Температура ағыны» деп аталатын жаңа деректер пакетін іздеңіз. Тікелей эфирде температура туралы ақпаратты көруге болады. Сенсордың температурасын қолыңызда ұстаңыз немесе мұзға қойыңыз.

Енді сізде бастапқы күй бақылау тақтасына деректер жіберіледі. Бақылау тақтасын қалай баптау керектігін білу үшін осы мақаланың соңғы бөліміне өтіңіз.

7 -қадам: BME280 шешімі

Бұл шешімді құру үшін сізге төмендегілер қажет болады:

-BME280 қысым, температура және ылғалдылық сенсоры

Бұл сенсор сенсорға дәнекерлеу үшін қажет түйреуіштермен бірге келеді. Мен дәнекерлеуді жеңілдету үшін түйіршікті ұзын жағын төмен қаратып нан тақтасына қолдануды ұсынамын. Сіз мұны аяқтағаннан кейін сенсорды Пи -ге қосу керек.

Сенсордағы VIN түйреуішін Пидегі 3.3В 1 істікшеге қосыңыз. Сенсордағы GND түйреуішін Piдегі жерге тұйықтауыш 6 қосыңыз. Сенсордағы SCK түйреуішін Piдегі SCL 5 істігіне қосыңыз. Сенсордағы SDI түйреуішін Pi 3 -ші SDA түйреуішіне қосыңыз. Бұл шешім үшін сіз 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.sea_level_pressure = 1013.25 MINUTES_BETWEEN_READS = 10 METRIC_UNITS = False # -------------------------------- # НЕМЕСЕ біздің 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 () time.sleep (60*MINUTES_BETWEEN_READS)

  • 12-жол- Бұл мән әр түйін/температура сенсоры үшін бірегей болуы керек. Бұл сенсорлық түйіннің бөлме атауы, физикалық орналасуы, бірегей идентификатор немесе кез келген нәрсе болуы мүмкін. Бұл түйіннің деректері бақылау тақтасындағы деректер ағынына өтуін қамтамасыз ету үшін әр түйін үшін бірегей екеніне көз жеткізіңіз.
  • 13-жол- бұл деректер шелегінің атауы. Мұны кез келген уақытта бастапқы күй интерфейсінде өзгертуге болады.
  • 14-жол- бұл сіздің шелек кілтіңіз. Бұл сол бақылау тақтасында көрсеткіңіз келетін әрбір түйін үшін бірдей шелек кілті болуы керек.
  • 15-жол- бұл сіздің бастапқы есептік жазбаңызға кіру кілті. Бұл кілтті бастапқы күй шотынан көшіріп, қойыңыз.
  • 17-жол- Бұл сіздің орналасқан жеріңіздің теңіз деңгейіндегі қысымы (гПа). Сіз бұл ақпаратты ауа -райының көптеген сайттарынан таба аласыз.
  • 18 -жол - бұл сенсордың оқуы арасындағы уақыт. 19-жолда мұнда метрикалық немесе империялық бірліктерді көрсетуге болады.

Pi Zero WH -ге Python сценарийінде 12–19 -шы жолдарды орнатқаннан кейін, мәтіндік редакторды сақтап, шығыңыз. Сценарийді келесі пәрменмен іске қосыңыз:

$ python3 bme280sensor.py

Енді сізде бастапқы күй бақылау тақтасына деректер жіберіледі. Бақылау тақтасын қалай баптау керектігін білу үшін осы мақаланың соңғы бөліміне өтіңіз.

8 -қадам: HAT сезімі

Sense HAT
Sense HAT
Sense HAT
Sense HAT

Sense HAT қолданудың бірінші қадамы - оны Pi -ге физикалық түрде орнату. Pi өшірілген кезде суретте көрсетілгендей қалпақ бекітілген.

Егер сіз шешімді жоғарыда көрсетілгендей қолдануды шешсеңіз, Sense HAT температурасының көрсеткіштері сәл жоғары болатынын байқай аласыз, себебі олар солай. Кінәлі - бұл Pi процессорынан алынған жылу, ол Pi үстінде отырған кезде Sense HAT айналасындағы ауаны қыздырады. Температура сенсорын пайдалы ету үшін бізге HAT -ты Pi -ден алып тастау керек немесе температура сенсорының көрсеткішін калибрлеуге тырысу керек. Сенсорды Пи -ден алыстатудың жақсы шешімі - бұл Sense HAT -ты Пи -ден ажыратуға мүмкіндік беретін кабель. 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

Төмендегі кодты мәтіндік редакторға көшіріп, қойыңыз.

sense_hat импорттауынан SenseHat

ISStreamer. Streamer-ден импорттық жүйені импорттау Streamer # --------- Пайдаланушы параметрлері --------- BUCKET_NAME = «Office Weather» BUCKET_KEY = «sensehat» ACCESS_KEY = «Your_Access_Key» SENSOR_LOCATION_NAME = « «MINUTES_BETWEEN_SENSEHAT_READS = 0.1 # -------------------------------- стример = Streamer (шелек_атауы = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) sense = SenseHat () True: # датчиктерді оқыңыз temp_c = sense.get_temperature () ылғалдылық = sense.get_humidity () pressure_mb = sense.get_pressure () # Деректерді пішімдеу temp_f = temp_c * 9.0 / 5.0 + 32.0 temp_f = float («{0:.2f}». Формат (temp_f)) ылғалдылық = қалқып шығу («{0:.2f}». Формат (ылғалдылық)) pressure_in = 0.03937008*(press_mb) press_in = float («{ 0:.2f} «. Формат (қысымда)) # Басып шығару және басып шығару SENSOR_LOCATION_NAME +» Температура (F): « + str (temp_f) басып шығару SENSOR_LOCATION_NAME +» Ылғалдылық (%): « + str (ылғалдылық) басып шығару SENSOR_LOCATION_NAME +» Қысым (IN): « + str (pressure_in) streamer.log (»: шуақты: « + 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 ескертулерін орната аласыз. Деректер шелегіне өтіп, параметрлерді нұқыңыз. Сол жерден «Іске қосқыштар» қойындысына өтіңіз. Бақылайтын ағын кілтін, пайдаланғыңыз келетін операторды және шекті мәнді енгізіңіз. Триггерді қосу үшін қосу белгісін басыңыз. Содан кейін сіз ескертуді алу үшін электрондық поштаны немесе телефон нөмірін енгізіп, қосу белгісін басасыз. Барлық триггерлерді орнатқаннан кейін төменгі жақтағы Дайын түймесін басыңыз.

Енді сіз температура сенсоры мен Raspberry Pi көмегімен температура мониторын жасадыңыз, содан кейін сіз қоршаған ортаның басқа қандай деректерін бақылауға болатыны туралы ойлана бастай аласыз.

Ұсынылған: