Мазмұны:
- 1 -қадам: талаптар
- 2 -қадам: сымдарды орнату
- 3 -қадам: сенсорды орнату
- 4 -қадам: визуализация үшін Ubidots -қа деректерді жіберу
- 5 -қадам: Қосымша қадамдар: Құрылғы мен айнымалылардың атын өзгертіңіз
- 6 -қадам: Оқиғаны орнату
- 7 -қадам: Нәтиже
Бейне: Ubidots көмегімен DIY Raspberry Pi температуралық жүйесі: 7 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Температураны бақылау жүйесі өнімділікті төмендету немесе өнімнің сапасы мен сапасын сақтау үшін коммерциялық және өндірістік ортада құнды ақпарат береді. Егер мен сізге өз қолыңызбен жасалған шарап жертөлесінің немесе үйдегі аквариумның температурасын сол құрылғы арқылы бақылай алатындығыңызды айтсам ше? Сонымен қатар, егер мен сізге дәл осы құрылғы сіздің зауыттағы ауа мен сұйықтықтың температурасын бақылауға болатынын айтсам ше? Біздің әлемді жасаушылар бұған мүмкіндік берді және бұл нұсқаулық сіздің бастамаларыңызды үйде немесе дүкенде бастауға көмектесу үшін осында.
Бұл нұсқаулық жүктеуге су өткізбейтін қарапайым DIY температурасын бақылау жүйесі үшін оқулық болады. Raspberry Pi мен Ubidots көмегімен біз сіздің Pi-ді қалай қосуға болатынын көрсетеміз және нақты уақыт режимінде температура жүйесінің көрсеткіштерін көрсетеміз. Ubidots көмегімен сіз өзіңіздің «айнымалыңызды» (бұл жағдайда температура) сіздің жүйенің шарттарының сапасы мен тиімділігін қамтамасыз ету үшін сіз белгілеген шектеулі шектерде қалуын қамтамасыз ету үшін электрондық поштаны немесе SMS оқиғаларын жасай аласыз.
Бұл жоба үшін біз DS18B20 сенсорының 1 сымды және су өткізбейтін нұсқасын қолданамыз. 1 сымды дегеніміз не? Бұл барлық кабельдерді біріктіру арқылы IoT сенсорларын қосуды жеңілдететін байланыс протоколы (… бұл шын мәнінде үш, екеуі энергияға арналған жер және қуат қосылымдары, үшіншісі-деректерді беру үшін 1 сымды).
МАҢЫЗДЫ ЕСКЕРТУ: 1-сымды температура сенсорының сатылатын әр түрлі нұсқалары бар; біреуі сенсорға қосылған резистормен, екіншісі жоқ. Аппараттық құралдарды сатып алу немесе орнату кезінде осы оқулықта әрі қарай жылжу алдында құрылғылар мен сенсорлардың үйлесімді екеніне көз жеткізіңіз.
1 -қадам: талаптар
- Raspberry Pi 3 моделі (қазірдің өзінде конфигурацияланған)
- OneWire температура сенсоры - DS18B20
- Ubidots тіркелгісі - немесе - STEM лицензиясы
2 -қадам: сымдарды орнату
Бұрын айтылғандай, OneWire температура сенсоры резисторы бар әр түрлі нұсқада сатылады. Бұл оқулық үшін біз екі нұсқаны да көрсетеміз - резисторсыз және онсыз. Сіз өзіңіздің жүйеңіз үшін қайсысын таңдасаңыз да, төмендегі диаграммалар мен фотосуреттерге сүйене отырып, кез келген қосылыстардың дұрыс тексерілгенін тексеріңіз.
Резистор біріктірілген - тоғай қосқышымен
Резисторлы OneWire температура сенсорына дұрыс қосылу үшін жоғарыдағы кестені және суретті орындаңыз.
КЕҢЕС: Arduberry - бұл Kickstarter -дегі жаңа науқан, ол Arduino қалқандарын Raspberry Pi -ге жеткізудің қарапайым және арзан әдісін ұсынады. Бұл керемет опция Arduino Grove қалқанының көмегімен тоғай сенсорларын қосуды бастаудың қарапайым әдісі. Бұл туралы қосымша ақпарат алу үшін кампанияға сілтеме жасаңыз:)
Резисторсыз- тоғай қосқышсыз
Бұл қондырғыдағы резистор деректер желісі үшін тартқыш ретінде пайдаланылады және оны деректер сымы мен қуат сымы арасында жалғау керек. Бұл деректер желісінің белгіленген логикалық деңгейде болуын қамтамасыз етеді және егер түйреуіш өзгермелі күйде қалса, электр шуының кедергісін шектейді.
Дұрыс қосылуды орнату үшін 4.7 кОм (немесе 10 кОм) резисторды қолданыңыз және жоғарыдағы схеманы орындаңыз. Raspberry Pi -ге қосылған түйреуіштер кестеде бірдей екенін ескеріңіз.
3 -қадам: сенсорды орнату
1. Raspberry Pi интернетке қосылған кезде, компьютер терминалындағы ssh көмегімен тақтаға кіруге тағайындалған IP мекенжайын тексеріңіз:
ssh pi@{IP_Address_assigned}
Егер сіз Raspberry Pi тіркелгі деректерін әлі конфигурацияламаған болсаңыз, берілген әдепкі тіркелгі деректерін пайдалануыңыз қажет екенін ескеріңіз:
- пайдаланушы аты: pi
- құпия сөз: таңқурай
Сіздің pi дұрыс конфигурацияланған және қосылған кезде, сіздің терминалдың пайдаланушысы келесідей болады: pi@raspberrypi
2. Енді кейбір пакеттерді жаңартып, Python пакеттік менеджері pip орнатайық. Төмендегі пәрмендерді көшіріп, терминалға қойыңыз және пәрмендерді іске қосу үшін әрқайсысынан кейін «енгізу» түймесін басыңыз.
sudo apt-get update> sudo apt-get upgrade
sudo apt-get install python-pip python-dev install-essential
3. Содан кейін HTTP сұрауларын жасауды жеңілдететін танымал Python кітапханасы болып табылатын Request кітапханасын орнатыңыз. Төмендегі пәрмендерді көшіріп, терминалға қойыңыз және «енгізу» пернесін басыңыз.
$ pip орнату сұраулары
4. Raspberry Pi интерфейске арналған көптеген драйверлермен жабдықталған. Бұл жағдайда, 1-сымды сенсор драйверін GPIO түйреуіштеріне жүктеу үшін төмендегі екі драйверді қолдану керек. Бұл драйверлер жүктелетін модульдер ретінде сақталады және оларды қажет болғанда Linux ядросына жүктеу үшін modprobe пәрмені қолданылады.
Төмендегі пәрмендерді іске қосыңыз:
$ sudo modprobe w1-gpio> $ sudo modprobe w1-therm
5. Енді сенсордың дұрыс жүктелгеніне көз жеткізу үшін бізге каталогты 1-сымды құрылғы қалтасына өзгерту керек. Төмендегі пәрмендерді көшіріп, терминалға қойыңыз және пәрмендерді іске қосу үшін әрқайсысынан кейін «енгізу» түймесін басыңыз.
$ cd/sys/bus/w1/devices/> $ ls
Қазіргі уақытта сенсор қазірдің өзінде жиналған және қосылған және сандар мен әріптер тізімі ретінде тізімделуі керек. Біздің жағдайда, құрылғы 28-00000830fa90 ретінде тіркелген, бірақ сіздің ісіңіз әріптер мен сандардың басқа сериясынан тұрады, сондықтан біздің сериялық нөмірімізді өзіңіздің нөміріңізге ауыстырыңыз және пәрменді іске қосыңыз.
$ cd 28-00000830fa90
Сенсор уақытша сенсорды оқу үшін w1_slave файлына жазады, төмендегі пәрменді орындаңыз:
$ cat w1_slave
Бұл пәрмен сізге t = шығысымен температураны Цельсий градусымен көрсететін екі мәтін жолын көрсетеді. Назар аударыңыз, ондық бөлшек алғашқы екі саннан кейін қойылуы керек (бұл соңғы кодта берілген- алаңдамаңыз); Мысалы, біз алған температура көрсеткіші 29.500 градус Цельсий.
Енді сіз температура көрсеткіштерін ала алатын болсаңыз, оларды Убидоттарға жіберетін уақыт келді!
4 -қадам: визуализация үшін Ubidots -қа деректерді жіберу
Енді кодтау уақыты келді!:) Компьютер терминалында Python сценарийін жасаңыз және іске қосыңыз:
$ nano onewire_temp_ubidots.py
Содан кейін келесі кодты терминалға қойыңыз және сақтаңыз: кодты алу үшін мына жерді басыңыз
28-00000830fa90 сериялық нөмірін өзіңізбен алмастырғаныңызға сенімді болыңыз және Ubidots тіркелгісінің таңбалауышын сұраныс URL мекенжайына тағайындаңыз. Егер сіз Ubidots токенін қалай алу керектігін білмесеңіз, төмендегі мақаладан көмек сұраңыз:
Ubidots есептік жазбаңыздан TOKEN табыңыз
Енді сценарийді тексерейік. Төмендегі сценарийді компьютер терминалына қойыңыз және іске қосыңыз.
python onewire_temp_ubidots.py
Егер ол дұрыс жұмыс істесе, сіз Ubidots есептік жазбаңызда екі айнымалысы бар жаңа құрылғыны көресіз: temp_celsius және temp_fahrenheit
5 -қадам: Қосымша қадамдар: Құрылғы мен айнымалылардың атын өзгертіңіз
Жасалған айнымалылардың атаулары API белгілерімен бірдей, олар API пайдаланатын идентификаторлар. Бұл олардың атауларын өзгерту мүмкін емес дегенді білдірмейді, сондықтан сіздің номенклатураңызға ыңғайлы болу үшін құрылғылар мен айнымалылардың атауын өзгерту ұсынылады. Айнымалылардың атын қалай өзгерту керектігін білу үшін төменде қараңыз:
Құрылғы мен айнымалы атауды қалай өзгертуге болады
Сіз сондай -ақ параметрлер тізімінен әр айнымалы бірліктерді қосуға және реттеуге болады.
Жоғарыда көріп тұрғандай, біз әр айнымалыға әр түрлі бірліктер бердік, сонымен қатар біздің жобалар номенклатурасына сәйкес келетін достық атаулар бердік. Бұл 100 -ді немесе құрылғыларды қолдануды қалайтын пайдаланушыларға өте ұсынылады.
6 -қадам: Оқиғаны орнату
Оқиға (немесе ескерту) - бұл мәліметтер жобалау ережесін орындағанда немесе одан асып кеткенде басталатын кез келген әрекет. Мысалы, сенсор деректерді жіберуді тоқтатқан кезде немесе температура максималды немесе минималды шектен асқан кезде электрондық поштаны немесе SMS хабарламаны жіберуге болады.
Оқиға жасау үшін төмендегі мақалаға жүгініңіз:
Оқиғалар: мәтіндік хабарлама оқиғасын құру (SMS, электрондық пошта және Telegram)
7 -қадам: Нәтиже
Бірнеше минут ішінде сіз температураны бақылаудың қарапайым DIY жүйесін құрдыңыз. Енді сенсорларды қажет жерге қойыңыз және құрылғыңыздан температураны бақылауды бүгіннен бастаңыз!
Бақытты хакерлік:)
Ұсынылған:
Raspberry Pi салқындатқыш желдеткіш қорапшасы, процессордың температуралық индикаторы: 10 қадам (суреттермен)
Raspberry Pi салқындатқыш желдеткіштің CPU температурасының индикаторы бар қорабы: Мен алдыңғы жобада таңқурай pi (бұдан әрі- RPI) процессорының температуралық индикатор схемасын енгіздім. Бұл схема RPI 4 процессордың әр түрлі температуралық деңгейін келесі түрде көрсетеді.- Жасыл жарық диоды қосылған кезде CPU температурасы 30 ~ ішінде
Raspberry Pi процессорының температуралық индикаторы: 11 қадам (суреттермен)
Raspberry Pi процессорының температуралық индикаторы: Бұрын мен қарапайым таңқурай пиін (бұдан әрі - RPI) жұмыс күйінің индикаторлық тізбегін енгізген болатынмын. CPU температурасы
MQTT бассейнінің температуралық мониторы: 7 қадам (суреттермен)
MQTT жүзу бассейнінің температуралық мониторы: Бұл жоба менің үйдегі автоматтандыру бойынша басқа да ақылды деректерді тіркеу гейзер контроллері мен көп мақсатты бөлмедегі жарықтандыру мен қондырғылар контроллерінің серіктесі. Бұл бассейнге орнатылған монитор, ол бассейндегі судың температурасын, қоршаған ауаны өлшейді
IoT қос температуралық деректер сервері: 12 қадам (суреттермен)
IoT қос температуралық деректер сервері: бұл менің нұсқаулықты жазуға бірінші рет тырысуым, сондықтан маған жеңілдік беріңіз! Егер сіз мұны жаман деп ойламасаңыз, маған бірінші рет авторлық байқауда дауыс беріңіз, бұл менің жылыжайдағы 2 температураны қашықтықтан бақылайтын Lock-Down жобам
Arduino көмегімен Python көмегімен MySQL серверіне RFID деректерін жіберу арқылы қатысу жүйесі: 6 қадам
Arduino көмегімен Python көмегімен MySQL серверіне RFID деректерін жіберу арқылы келу жүйесі: Бұл жобада мен RFID-RC522-ді arduino-мен байланыстырдым, содан кейін RFID деректерін phpmyadmin дерекқорына жіберемін. Бұрынғы жобалардан айырмашылығы, біз бұл жағдайда ешқандай қалқанды қолданбаймыз, мұнда біз тек сериялық деректерді оқимыз