Мазмұны:
- 1 -қадам: бөлшектерді таңдау, құралдар мен материалдар
- 2 -қадам: біздің жабдықты қосу
- 3 -қадам: Барлығын қосу: Pi орнату
- 4 -қадам: Бағдарламалық қамтамасыз ету / код
- 5 -қадам: қоршау
Бейне: Жауапты веб -сайты бар RPi ауа райы станциясы: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Мектеп жобасы үшін біз жиналған ақпаратты жақсы түрде бейнелейтін веб -сайты бар IoT құрылғысын жасауымыз керек болды, мен Raspberry Pi 3 жұмыс істейтін колбасы бар жауап беретін веб -сайт үшін MySQL (MariaDB) базасына арналған ауа райын жасауды таңдадым. және барлық сенсорлармен ақпарат жинауға арналған питон сценарийі. Маған басынан аяғына дейін аяқтауға 2 апта уақыт кетті.
Бізге өз жетістіктеріңізді DIY қауымдастығының қалған мүшелерімен бөлісуге үйретуге шақырды, осында!
1 -қадам: бөлшектерді таңдау, құралдар мен материалдар
Алдымен метеорологиялық станцияға қандай сенсорлар қажет екенін анықтауым керек болды. Мен келесі деректердің барлығын өлшегім келеді деп шештім:
- Температура
- Ауа қысымы
- Ылғалдылық
- Жел жылдамдығы
- Ультракүлгін индексі
Міне мен қолданған барлық құралдар, материалдар мен бөлшектер
Бөлшектер:
- DHT22/AM2302 температура мен ылғалдылық көрсеткіштері үшін. (15 еуро)
- Adafruit BMP280 барометрлік қысым мен температураға арналған. (12 еуро)
- Ультракүлгін индексін өлшеуге арналған Adafruit SI1145. (10 еуро)
- Adafruit аналогты анемометр жел жылдамдығын өлшеуге арналған (50 евро)
- Аналогтық сигналдарды цифрлық түрлендіруге арналған MCP3008.
- 10kOhm резисторы менің AM2302 үшін тартқыш ретінде.
- Анемометрді қуаттандыруға арналған 9В адаптер
- Raspberry Pi үшін 5В адаптер
- Raspberry Pi 3 (кез келген Pi жеткілікті болуы керек)
Материалдар:
Барлығын сақтауға және жаңбырдан қорғайтын пластикалық ыдыс
Құралдар:
- Пісіру темірі мен қалайы
- Мультиметр
- Силикон
- Кейбір таспа
Жалпы алғанда, сенсорлардың барлығы 85 евро тұрады, бұл өте тік, бірақ мен желдің жылдамдығын есептегішті қосқым келді, сондықтан мен бұл оған тұрарлық деп ойлаймын.
Толық тізімді төмендегі pdf -те сатып алуға болатын дүкендерден таба аласыз:)
2 -қадам: біздің жабдықты қосу
Әрине, біз сенсорларды Raspberry Pi -ге қосуымыз керек. Жоғарыда сіз бәрін дұрыс қосу үшін ұстануға болатын схеманы көре аласыз.
Схемада сіз біздің анемометр үшін қуат көзі ретінде 9В батареяны көре аласыз, бұл тестілеу үшін жақсы қолданылады, себебі ол ұзақ уақытқа созылмайды, сіз кез келген 7-12В қуат көзіне 9В батареяны ауыстыра аласыз. таңдау.
Біздің SI1145 және BMP280 сенсорлары екеуі де I2C протоколы арқылы басқарылады, себебі бұл жұмыс істеудің ең оңай және сым аз қажет.
Схемадағы анемометр LDR ретінде көрсетіледі, өйткені оның анемометрге ұқсас сымдары бар, мен өзімнің схемамды қоюға нақты анемометр таба алмадым:)
3 -қадам: Барлығын қосу: Pi орнату
Ең алдымен, біз Интернетке қосылғанымызды тексеруіміз керек.
Терминалда мұны істеу үшін келесі пәрменді орындау арқылы wpa_supplicant файлына өтуге болады: sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Файлға мынаны қосуға болады:
network = {ssid = «Your_Wifi_SSID» psk = «Your_Wifi_Password» key_mgmt = WPA-PSK
}
Сіз сонымен қатар келешекте оңай қол жеткізу үшін IP-адресті статикалық күйге орнатуды таңдай аласыз, бұл үшін dhcpcd.conf файлына мына пәрменді іске қосу арқылы өту керек: sudo nano /etc/dhcpcd.conf
Мұны файлға қосыңыз:
wlan0static ip_address интерфейсі = 192.168.0.100/24
Содан кейін біз Pi -де орнатылған пакеттер толық жаңартылғанына көз жеткіземіз:
sudo apt-get update && sudo apt-get upgrade
Бұл біраз уақыт алуы мүмкін, сондықтан алаңдамаңыз
Сіз raspi config ішіндегі I2C және SPI протоколын қосуыңыз қажет болады, оны мына пәрменді орындау арқылы орындауға болады:
sudo raspi-config
Содан кейін I2C және SPI екеуін қосатын интерфейс опцияларына өтіңіз
Алдымен сіз өзіңіздің жобаңызды енгізгіңіз келетін каталог жасауыңыз керек (біз оны «ауа райы станциясы» деп атаймыз):
cd ~ mkdir ауа райы станциясы cd ауа райы станциясы
Содан кейін біз python3 виртуалды ортасын орнатамыз:
python3 -m pip орнату-pip setuptools дөңгелегін жаңарту virtualenvpython3 -m venv-жүйелік торап пакеттері envsource env/bin/activatepython -m pip mysql-қосқышы-python Flask колбасы-mysql mysql-қосқышы-python passlib mysql -питон-rf
Содан кейін біз кез келген нәрсенің дұрыс жұмыс істеуі үшін қажет басқа пакеттерді орнатуымыз керек:
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Енді біз мәліметтер базасын құрамыз:
Біз әлі де дерекқорды орнатуымыз керек, мұны 'sql' қалтасында орналасқан код/sql файлын іске қосу арқылы жасауға болады:
sudo mariadb <sql/db_init.sql
Sql сұранысы бізге қажет кестелерді жасайды, сонымен қатар біздің дерекқорды біршама қауіпсіз ету үшін бірнеше пайдаланушыны жасайды.
Бұл сонымен қатар нақты деректер жиналмаған кезде біздің веб -сайттың бәрін дұрыс көрсететініне көз жеткізу үшін біздің дерекқорға кейбір тарих деректерін енгізеді.
Adafruit_GPIO мен MyPyDHT орнату үшін сізге тағы да бірнеше әрекеттерді орындау қажет болады. Алдымен пайдалану қалтасына оралыңыз, содан кейін:
git clone https://github.com/adafruit/Adafruit_Python_GPIO.gitcd Adafruit_Python_GPIO sudo python3 setup.py орнату
cd..git clone -қайталанатын https://github.com/freedom27/MyPyDHTsudo python3 setup.py орнату
4 -қадам: Бағдарламалық қамтамасыз ету / код
Біз метеостанцияның артқы жағын орнатуымыз керек, оған мыналар кіреді:
- Сенсорлық көрсеткіштерді және басқа да ұсақ-түйектерді сақтауға арналған mariadb мәліметтер базасы- Веб-сайтты іске қосуға арналған колбалық қызмет.- Барлық сенсорларды оқитын Python файлымен жұмыс жасайтын басқа қызмет. Жоғарыда сіз менің дерекқордың өте қарапайым қондырғысын көре аласыз. Пайдаланушылар кестесі- бұл қажет емес, бірақ мен кіру жүйесін алғым келгендіктен (барлық деректер барлық пайдаланушылар үшін бірдей болса да) мен дерекқорға қосуды шештім.
Сіз Github -дан жобаның қалтасына жобаның қалтасына көшіруді жалғастыра аласыз: Пайдаланушы қалтасына өтіп, іске қосыңыз: git clone https://github.com/BertVanhaeke/Weatherstation/ tempmv -v temp/* weatherstation/
Содан кейін ауа райы станциясындағы conf қалтасына және қалтадағы барлық файлдарға өтіңіз.
'USERNAME' барлық қайталануын пайдаланушы атыңызға өзгертіңіз
Сондай -ақ.service файлдарының екеуін де systemd -ге көшіріп, оларды келесідей тексеру қажет болады:
sudo cp conf/weatherstation-*. service/etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl start weatherstation-flask.servicesudo systemctl start weatherstation-sensor.service
sudo systemctl күйі ауа райы станциясы-*
Содан кейін біз nginx конфигурациясын өңдеуіміз керек.
sudo cp conf/nginx/etc/nginx/sites-available/weatherstationsudo rm/etc/nginx/sites-enabled/defaultsudo ln -s/etc/nginx/sites-available/weatherstation/etc/nginx/sites-enabled/weatherstationsudo systemctl nginx.servicesudo systemctl күйін nginx.service қайта іске қосыңыз
Егер бәрі жақсы болса, сіз оны іске қосып, терминалда html басып шығаруды алуыңыз керек:
wget -qO - жергілікті хост
Бәрі жақсы жұмыс істеуі керек, сіз таңқурай Pi-дің бастапқыда орнатқан IP-мекен-жайына кіре аласыз және кіру экранымен қарсы аласыз.
5 -қадам: қоршау
Енді бәрі жұмыс істейді, біз бәрін бір нәрсеге қоюымыз керек.
Мен мөлдір қақпағы бар қарапайым пластикалық қорапты таңдадым, оның үстіне анемометр орнатылған, сонымен қатар DHT22 және BMP280 датчиктері бар екінші шағын контейнер.
Бұл датчиктер бөлек контейнерге орнатылады, себебі олар ашық ауада болуы керек (жаңбырсыз), бірақ таңқурай пиі болуы қажет емес.
Көріп отырғаныңыздай, мен су өткізбейтін етіп шеттеріне силикон қостым, сонымен қатар таза ауа алу үшін үстіңгі контейнерде тесіктер жасадым.
Сізге метеостанцияны қалай құру туралы нұсқаулығым ұнады деп үміттенемін, бұл шеттерде сәл қиын болуы мүмкін, өйткені мен бірінші рет осындай нұсқаулық жазамын, бірақ бәрібір сізге ұнады деп үміттенемін:)
Ұсынылған:
DIY ауа райы станциясы мен WiFi сенсорлық станциясы: 7 қадам (суреттермен)
DIY ауа райы станциясы мен WiFi сенсорлық станциясы: Бұл жобада мен сізге WiFi сенсор станциясымен бірге ауа райы станциясын қалай жасау керектігін көрсетемін. Сенсорлық станция жергілікті температура мен ылғалдылық деректерін өлшейді және WiFi арқылы метеостанцияға жібереді. Содан кейін метеостанция мыналарды көрсетеді
Atmega328P-PU микроконтроллері бар ауа райы станциясы: 5 қадам
Atmega328P-PU микроконтроллері бар ауа райы станциясы: Жақында мен edx-те онлайн-ақысыз курстан өттім (2012 жылы Гарвард университеті мен MIT негізін қалады, edX-бұл онлайн оқу орны және MOOC провайдері, ол әлемнің ең жақсы университеттері мен мекемелерінің жоғары сапалы курстарын ұсынады. оқушыларға кешке
DHT11 және OLED дисплейі бар қарапайым DIY ауа райы станциясы: 8 қадам
DHT11 және OLED дисплейі бар қарапайым DIY ауа райы станциясы: Бұл оқулықта біз температура мен ылғалдылықты көрсету үшін Arduino, DHT11 сенсоры, OLED дисплейі мен Visuino көмегімен қарапайым ауа райы станциясын құруды үйренеміз
RPi және ESP8266 бар IoT ауа райы станциясы: 10 қадам
RPi мен ESP8266 бар IoT ауа райы станциясы: Алдыңғы оқулықтарда біз NodeMCU, сенсорлармен ойнадық және ThingSpeak (Интернеттегі заттар (IoT) платформасында деректерді бұлтта жинауға және сақтауға мүмкіндік беретін) деректерді алуды және тіркеуді үйрендік. және IoT қосымшаларын жасаңыз): IOT
Ауа райы шамы - Ауа райы мен температура бір қарағанда: 8 қадам
Ауа райы шамы - Ауа райы мен температура бір қарағанда: Бұл сиқырлы шамды қолдана отырып, сіз ағымдағы температура мен жағдайды бірден біле аласыз