Мазмұны:

AirPi - ауа сапасының сенсоры: 8 қадам
AirPi - ауа сапасының сенсоры: 8 қадам

Бейне: AirPi - ауа сапасының сенсоры: 8 қадам

Бейне: AirPi - ауа сапасының сенсоры: 8 қадам
Бейне: EZ-WifiBroadcast , AirPi 1-я часть 2024, Қараша
Anonim
AirPi - ауа сапасының сенсоры
AirPi - ауа сапасының сенсоры

Неліктен бас ауырады деп ойланып көрдіңіз бе? Егер бұл ауа сапасының нашарлығына байланысты болса? Бұл құрылғының көмегімен сіз бұл жағдайдың бар -жоғын тексере аласыз. Бұл құрылғы CO2 мәнін, TVOC мәнін, температура мен ылғалдылықты өлшейді. Сіз LCD дисплейінде ауа сапасын көре аласыз және егер ол қауіпті болса, нақты көрсеткішті көре аласыз. Осылайша сіз терезелерді уақытында аша аласыз.

Егер сіз браузерде құрылғыны іске қосқанда көрсетілген IP мекенжайын енгізсеңіз, сайт ашылады. Сіз соңғы минуттар / сағаттардың графигімен бірге ішкі орта туралы көптеген ақпаратты көре аласыз. Сондай -ақ бақылау тақтасында тірі көрсеткіш және кейбір ақпарат пен кеңестер бар.

Бұл жобаны Howest Kortrijk, NMCT (New Media and Communication Technology) студенті жасады.

1 -қадам: материалдар

Материалдар
Материалдар

Мен бұл жобаны жасау үшін сатып алғанның бәрі. Бұл 3D-басып шығару құнына байланысты салыстырмалы түрде арзан жоба. Егер сіз оны мектепте басып шығара алсаңыз, бұл өте арзан болуы мүмкін. Әйтпесе, бұл оны қайда және сіз басып шығаратын материалға байланысты. Сіз көп мөлшерде сатып алғанымды байқайсыз, себебі жеке резисторларды немесе жарықдиодты табу қиын, және бұл оны одан да арзан етеді. Егер сізде уақыт болса, сіз көптеген тауарларға aliexpress.com сайтында тапсырыс бере аласыз, жеткізу біраз уақыт алуы мүмкін, бірақ осылайша сіз шығындарыңызды шектей аласыз.

Басып шығарусыз мен бұл жобаға жұмсаған ақшам 81, 80 евро.

Бұл сізге қажет материалдар:

Схема:

  • Таңқурай Pi 3
  • SD картасы 8 ГБ (ең аз)
  • CCS811 ауа сапасының сенсоры
  • DHT22 температура мен ылғалдылық сенсоры
  • Потенциометр (контрастты СКД)
  • СКД 16x2
  • Әйелден әйелге секіргіш сымдар
  • Жасыл және қызыл жарық диоды
  • Резисторлар (2x470ohm және 1 4700ohm)

Іс:

  • 3D басып шығару
  • Бұрандалар
  • 2 компонентті желім (немесе басқа ыстық желім)
  • жіптерді кесуге арналған құрал

Сіз тек ПХД қолданасыз:

  • Пісіру темірі
  • Флюс (жеңілдетеді)
  • Қалайы
  • 2x4 см көлеміндегі тәжірибе

2 -қадам: Қосылымдар

Қосылымдар
Қосылымдар

Сымдарды жоғарыда көрсетілгендей жалғаңыз. Сіз фриз файлында электр тізбегін көре аласыз. Бұл өте күрделі схема емес, бірақ егер сіз оны мүмкіндігінше кішірейткіңіз келсе, сіз міндетті түрде ПХД тақтасының экспериментін алғыңыз келеді. Сымдар бірдей болады, тек GND мен Vin ПХД тақтасына қосылады. Датчиктер аналық секіргіштермен немесе еркектермен дәнекерлеу арқылы қосылады. DHT22 сенсорына резисторды дәнекерлеуді ұмытпаңыз.

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

3-қадам: 3D басып шығару

3D басып шығару
3D басып шығару
3D басып шығару
3D басып шығару

Мен істі ойластырған кезде менің ойыма бірінші рет келген 3D-принт болды. Менің әкем серверлік басқа заттарды басып шығарғандықтан, оларды өзі жасаған. Біз бұл дизайнды бірге жасадық және барлық аспектілерді зерттедік. Ол жеткілікті түрде салқындатылуы керек, бәрін орнымен бұрап алуға болады, егер олай болмаса, оны орнына қоюға болады.

Біз тіпті барлық компоненттерді тарттық, олардың бәрі сәйкес келетінін тексердік. Файл бәріне қол жетімді және біз кейбір пікірлерді естігіміз келеді. Біз нәтижеге өте риза болдық.

4 -қадам: код

Бұл жобаның кодын Github сайтынан табуға болады. Егер сіз басқа түйреуіштерді қолдансаңыз (мысалы, светодиоды үшін басқа GPIO-істікші болса, онда сіз бұл айнымалы мәндерді реттеуге тура келеді. Сенсорларды оқу және жаңарту үшін веб-сайт үшін web.py және sensor.py деген екі питон сценарийі жұмыс істейді. Біз LCD класын lcd.py сайтынан импорттайтын боламыз.

Таңдалған таңқурай пи көмегімен сіз жұмысқа кірісе аласыз. Ең алдымен, барлық пакеттерді жаңарту және жаңарту қажет:

sudo apt-get update && sudo apt-get upgrade

Осыдан кейін сізге келесі пакеттерді орнату қажет:

sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

Енді виртуалды орта жасаңыз:

me@my -rpi: ~ $ python3 -m pip орнату -pip setuptools дөңгелегінің виртуалды жүйесін жаңарту

me@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi: ~/project1 $ python3 -m venv-system-site-packages env me@my-rpi: ~/project1 $ source env/bin/ белсендіріңіз (env) me@my-rpi: ~/project1 $ python -m pip mysql-Connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib орнатыңыз

Бұл орындалғандықтан, сіз менің GitHub -дан кодты виртуалды ортаға клондай аласыз. Мұны бірнеше жолмен жасауға болады.

Conf каталогында төрт файлды таба аласыз, егер қажет болса реттеуге тура келеді. Сіз әр файлдағы пайдаланушы мен негізгі бағытты өзгертуіңіз керек. Егер сіз менің кодты өзгертпеген болсаңыз, uWSGI ini жақсы болуы керек, қажет болған жағдайда пайдаланушыны және виртуалды жүйені өзгертіңіз.

CCS811 сенсоры arduino үшін әдейі қолданылғандықтан, бұл i2c шинасы арқылы таңқурай pi жылдамдығымен байланыс жасай алмайды. Конфигурация файлында жылдамдықты 10000 (мен 9600 қолдандым) жылдамдыққа дейін төмендету керек.

Сіз сондай -ақ adafruit сенсорының кітапханасын алуыңыз керек. Мен мұны осында түсіндіре аламын, бірақ мұның бәрін жақсы түсіндіретін тамаша адафрут нұсқаулығы бар.

Біз таңқурай қосылған кезде python сценарийлерінің автоматты түрде жұмыс істеуін қалайтындықтан, сізге қызметтерді пайдалану қажет болады. Егер сіз менің кодты сақтасаңыз, олар жақсы болуы керек. Оларды іске қосу үшін сізге тек қосу қажет. Сіз мұны жасамас бұрын, соңғы нәрсе бар.

Біз nginx веб -серверін қолданатындықтан, әдепкі параметрді өшіріп, оны өз конфигурациясымен ауыстыруға тура келеді. Ол үшін мына қадамдарды орындау қажет:

  • conf/nginx файлын *қол жетімді сайттарға көшіру
  • Әдепкі конфигурацияға сілтемені жойыңыз
  • Жаңа конфигурацияға сілтеме қосыңыз
  • Өзгерістерді сақтау үшін nginx қайта іске қосыңыз

me@my-rpi: ~/project1 $ sudo cp conf/project1-*. service/etc/systemd/system/

me@my-rpi: ~/project1 $ sudo systemctl демон-мені қайта жүктеу@my-rpi: ~/project1 $ sudo systemctl start project1-* me@my-rpi: ~/project1 $ sudo systemctl status project1-*

Nginx және mysql әрқашан жұмыс істеуі керек. Олар таңқурай пи -мен бірге басталады. Веб -сценарий мен сенсор сценарийі әлі ғана емес.

Мұны істеу үшін сіз әлі де осы екі қызметті осы командалармен қосуыңыз керек:

sudo systemctl project1-flask.service қосады

sudo systemctl project1-sensor.service қосады

5 -қадам: мәліметтер базасы

Дерекқор
Дерекқор

Менің мәліметтер қорым үш кестеден тұрады. Пайдаланушының басқа кестелермен байланысы жоқ. Бұл тек сайтқа кіру және кіру үшін қолданылады. Құрылғы қосылған кезде, CO2 мәні мен TVOC мәні әрбір 50 секунд сайын дерекқорға жазылады. Температура мен ылғалдылық әр 5 минут сайын. Осылайша біз өткенге нақты шолу жасаймыз.

SQL файлын мына жерден табуға болады, бірақ таңқурай пи туралы мәліметтер базасын алу үшін мына қадамдарды орындау қажет:

Алдыңғы қадамда пакеттер орнатылғаннан кейін, mariadb/mysql бірден іске қосылуы керек. Сіз оны мына жолмен тексере аласыз:

me@my-rpi: ~ $ sudo systemctl status mysql

Деректер базасы мен пайдаланушыларды құру үшін GitHub кодындағы sql-сценарийлерді іске қосуға болады. Егер сіз мұны дұрыс жасасаңыз, кестені мына пәрменді пайдаланып көруіңіз керек:

me@my-rpi: ~ $ echo 'кестелерді көрсету;' | mysql project1 -t -u project1 -admin -p

Енді бізде бәрі дайын, бәрі жұмыс істейтініне көз жеткізу үшін мұны қапысыз тексеруге болады. Егер сіз Wi -Fi желісіне қосылмаған болсаңыз, оны Ethernet кабелімен қосып, қолмен іске қосуыңыз қажет.

6-қадам: Wi-Fi желісіне қосылыңыз

Wano-supplicant конфигурация файлын нано түрінде ашыңыз (маңызды емес, тек мәтіндік редактормен жұмыс жасай алатындығыңызға көз жеткізіңіз).

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Файлдың төменгі жағына өтіңіз және келесіні қосыңыз (ssid-атау мен пароль-атауын өзіңізге ауыстырыңыз):

желі = {

ssid = «ssid-name» psk = «password-name»}

Шифрланған құпия сөзді жасау үшін wpa_passphrase қолданып, қауіпсіздікті қамтамасыз ету үшін оны wpa_supplicant.conf psk -ке көшіруге болады.

wpa_passphrase «ssid-name» «password-name»

Егер сіз оның осы Wi-Fi желісіне автоматты түрде қосылуын қаласаңыз және конфигурация файлында басқалары болса, конфигурация файлындағы желіге осы жолды қосу арқылы басымдылықты жоғары деңгейге өзгерткеніңізге көз жеткізіңіз:

басымдық = 2

Интерфейсті қайта конфигурациялауды ұмытпаңыз:

wpa_cli -i wlan0 қайта конфигурациялаңыз

Енді сіз дайынсыз және Wi -Fi желісіне қосылдыңыз.

7 -қадам: Барлығын біріктіру

Барлығын біріктіру
Барлығын біріктіру
Барлығын біріктіру
Барлығын біріктіру
Барлығын біріктіру
Барлығын біріктіру

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

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

Үшінші қадам - пиді төменгі бөлікке бұрау. Сізге диаметрі 3 мм болатын ұзындығы 47 мм болатын бұрандалар қажет. Осыдан кейін сіз PCD тақтасын төменгі бөліктің жоғарғы жағындағы орынға итере аласыз. CCS811 датчигін сол жақта бекітілген жерге итеруге болады, ал DHT11 оң жақ тақтаға бекітілуі мүмкін. Екеуі де оқшауланған және жеткілікті желдетілген, бірақ кейіннен оның іші әлі де ыстық екенін байқадық. Бұл туралы толығырақ кейінірек.

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

Енді сіз СКД-дисплейді қоса аласыз, бұрандалар алдыңғы диаметрімен бірдей, бірақ сәл ұзағырақ болады. Менің бойым 1см болды. Егер төрт бұранда бұралса, онда бір ғана нәрсе қалады. Жоғарғы бөлікті бекітіңіз. Сізге тек 4 бұранда қажет, олардың диаметрі бірдей, бұл 2 см. Енді бәрі орнында болуы керек және сіз оны бастай аласыз.

8 -қадам: оны іске қосыңыз

Бұл жобаны іске қосу процесі өте оңай:

  1. Қуат кабелін корпустың сол жағына бекітіңіз. Бұл өте көрінбейді, бірақ оны саңылаулар арқылы көруге болады. Егер сіз оны бір рет алсаңыз, бұл қайтадан проблема болмайды.
  2. Бастауға біраз уақыт беріңіз.
  3. IP-адрес дисплейде он секунд бойы көрсетіледі. Сізге тек бір желіге қосылғаныңызға көз жеткізу және браузердің мекен-жай жолына IP-адресті енгізу қажет.
  4. Сіз қазір сайттасыз. Сізде әлі тіркелгі жоқ, сондықтан есептік жазбаны жасаңыз.
  5. Егер сіз тіркелген болсаңыз, жүйеге кіріңіз.
  6. Орындалды! Сіз веб-беттегі барлық деректерді көре аласыз, ал СКД дисплейі қазіргі ауа сапасын көрсетеді.

Жылу көтерілгеннен кейін біз сенсорларды корпустың төменгі жағына орналастырдық. Осылайша, температура тіркелген мәндерге үлкен әсер етпейді. Оңтайлы өлшеу үшін құрылғыны орнынан тұрғызыңыз немесе қабырғаға іліп қоюға болады.

Ұсынылған: