Агуулгын хүснэгт:
- Алхам 1: Хэсэг сонгох, багаж хэрэгсэл, материал
- Алхам 2: Манай техник хангамжийг холбох
- Алхам 3: Бүх зүйлийг холбох: Pi -г тохируулах
- Алхам 4: Програм хангамж / код
- Алхам 5: Хашаа
Видео: Хариуцлагатай вэбсайттай RPi Weatherstation: 5 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Сургуулийн төслийн хувьд бид цуглуулсан мэдээллээ сайн дүрслэх вэбсайттай IoT төхөөрөмж хийх шаардлагатай болсон бөгөөд би мэдээллийн бааздаа зориулагдсан MySQL (MariaDB) вэбсайтад зориулагдсан Raspberry Pi 3 колбыг ашиглан цаг уурын станц хийхээр шийдсэн. болон бүх мэдрэгчтэй мэдээлэл цуглуулах питон скрипт. Би эхнээс нь дуустал 2 долоо хоног зарцуулсан.
Бид амжилтаа бусад DIY нийгэмлэгтэй хуваалцах зааварчилгаа өгөхийг уриалсан тул энд байна!
Алхам 1: Хэсэг сонгох, багаж хэрэгсэл, материал
Эхлээд цаг уурын станцад ямар төрлийн мэдрэгч чухал болохыг олж мэдэх шаардлагатай байсан бөгөөд дараах бүх өгөгдлийг хэмжихээр шийдлээ.
- Температур
- Агаарын даралт
- Чийгшил
- Салхины хурд
- Хэт ягаан туяаны индекс
Энд миний ашиглаж байсан бүх багаж хэрэгсэл, материал, эд ангиуд байна
Эд анги:
- DHT22/AM2302 нь температур ба чийгийн заалтын хувьд. (15 евро)
- Adafruit BMP280 нь барометрийн даралт ба температурт зориулагдсан. (12 евро)
- Хэт ягаан туяаны индексийг хэмжих Adafruit SI1145. (10 евро)
- Салхины хурдыг хэмжих Adafruit аналог анемометр (50 евро)
- Аналог дохиог тоон руу хөрвүүлэх MCP3008.
- 10kOhm резистор нь миний AM2302-ийг татах зориулалттай.
- Анемометрийг "асаах" 9V адаптер
- Raspberry Pi -д зориулсан 5V адаптер
- Raspberry Pi 3 (Аливаа Pi хангалттай байх ёстой)
Материал:
Аливаа зүйлийг хадгалах, бороо орохоос хамгаалах зориулалттай хуванцар сав
Хэрэгсэл:
- Гагнуурын төмөр ба цагаан тугалга
- Мультиметр
- Силикон
- Бага зэрэг соронзон хальс
Нийтдээ бүх мэдрэгч нь 85 еврогийн үнэтэй бөгөөд энэ нь нэлээд эгц боловч би салхины хурдны зөв тоолуур оруулахыг үнэхээр хүсч байсан тул энэ нь үнэ цэнэтэй гэж бодож байна.
Та доорх pdf дээрээс бүх зүйлийг худалдаж авах боломжтой дэлгүүрүүдээс илүү дэлгэрэнгүй жагсаалтыг олж болно:)
Алхам 2: Манай техник хангамжийг холбох
Мэдээжийн хэрэг, бид мэдрэгчээ Raspberry Pi -тай холбох хэрэгтэй болно.
Схемийн дагуу манай анемометрийн тэжээлийн эх үүсвэр болгон 9В батерейг ашигладаг бөгөөд үүнийг туршихад хамгийн тохиромжтой байдаг, учир нь энэ нь удаан үргэлжлэхгүй тул та 9В батерейг 7-12 В-ийн аль ч тэжээлийн эх үүсвэрээр сольж болно. сонгох.
Манай SI1145 ба BMP280 мэдрэгчийг хоёуланг нь I2C протокол ашиглан удирдах болно, учир нь энэ нь ажиллахад хамгийн хялбар бөгөөд утас бага шаардагддаг.
Схем дээрх анемометрийг LDR хэлбэрээр харуулав, учир нь энэ нь анемометртэй бараг ижил утстай бөгөөд би бүдгэрүүлэх схемээ тавих жинхэнэ анемометр олж чадаагүй байна:)
Алхам 3: Бүх зүйлийг холбох: Pi -г тохируулах
Юуны өмнө бид интернетэд холбогдсон эсэхээ шалгах ёстой.
Үүнийг терминал дээр хийхийн тулд та дараах тушаалыг ажиллуулснаар wpa_supplicant файл руугаа орж болно: sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Файлд та үүнийг нэмж болно:
сүлжээ = {ssid = "Your_Wifi_SSID" psk = "Таны_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 дугуйг виртуал шинэчлэх -питон-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 status nginx.service -ийг дахин эхлүүлнэ үү
Хэрэв бүх зүйл сайн болсон бол та үүнийг ажиллуулж, html -ийг терминал дээр хэвлэх боломжтой байх ёстой.
wget -qO - localhost
Та бүх зүйл хэвийн ажиллаж байх ёстой, та бөөрөлзгөнө Pi-ийн IP хаягийг хайж олох боломжтой.
Алхам 5: Хашаа
Одоо бүх зүйл ажиллаж байгаа тул бид бүх зүйлийг ямар нэгэн зүйлд оруулах хэрэгтэй.
Би тунгалаг тагтай энгийн хуванцар хайрцгийг сонгосон бөгөөд анемометрийг дээр нь суурилуулсан бөгөөд DHT22 ба BMP280 мэдрэгч агуулсан хоёрдогч жижиг савыг авчээ.
Эдгээр мэдрэгчийг задгай агаарт байх ёстой (бороо оруулахгүй байх ёстой), гэхдээ бөөрөлзгөнө пи байх шаардлагагүй тул тусдаа саванд хийнэ.
Таны харж байгаагаар би ус нэвтэрдэггүй болгохын тулд ирмэгийн эргэн тойронд силикон нэмж, цэвэр агаар авахын тулд дээд савны нүхийг өрөмдсөн.
Цаг уурын станц барих гарын авлага танд таалагдсан гэж найдаж байна, анх удаа ийм гарын авлага бичиж байгаа болохоор ирмэг нь бага зэрэг барзгар байж магадгүй, гэхдээ танд таалагдсан гэж найдаж байна:)
Зөвлөмж болгож буй:
Arduino Uno ашиглан акустик левитаци Алхам алхам (8 алхам): 8 алхам
Arduino Uno-тай акустик Levitation Алхам алхамаар (8 алхам): хэт авианы дууны дамжуулагч L298N Dc эмэгтэй адаптерийн эрэгтэй тэжээлийн тэжээлийн хангамж Arduino UNOBreadboard Энэ нь хэрхэн ажилладаг вэ: Нэгдүгээрт, та кодыг Arduino Uno-д байршуулдаг (энэ нь дижитал төхөөрөмжөөр тоноглогдсон микроконтроллер юм. кодыг хөрвүүлэх аналог портууд (C ++)
Коктейль холигч робот - Хариуцлагатай уух: 5 алхам
Коктейль холигч робот - Хариуцлагатай уух: Энэ төсөлд би олон зорилготой байсан, гэхдээ би хуримандаа хоёр холимог ундаа өгөхийг хүссэн. Түүнийг тараахад би нэг минут орчим, согтууруулах ундааг нарийн хэмжээгээр өгөхийг хүссэн. Сантехникийг хялбархан цэвэрлэх шаардлагатай болно. Миний с
Wemos D1 Mini Weatherstation (Plug & Play): 4 алхам
Wemos D1 Mini Weatherstation (Plug & Play): Энэхүү төсөл нь WeMos D1 Mini дээр суурилсан хамгийн энгийн цаг агаарын станцын тухай юм. Би WeMos D1 Mini -ийг сонгодог, учир нь энэ нь давуу талтай: 1. Та USB модулийг ашиглан гадны модулийг холбохгүйгээр програмчилж, ажиллуулж болно. танд хүчдэлийн зохицуулалт хэрэггүй
Гэмтсэн LiPo батерейг хариуцлагатай хаях: 5 алхам
Гэмтсэн LiPo батерейг хариуцлагатай хаях: Хэрэв та хэзээ нэгэн цагт LiPo батерейныхаа нэгийг нь хэт их цэнэггүй болсон эсвэл осолдсоны дараа хавдсан эсвэл ноцтой гажсан болохыг олж мэдсэн бол та LiPo батерейнд гэмтэл гарсан байна. Гэмтсэн LiPo батерей нь гал гаргах магадлалтай тул үүнийг хийх нь чухал юм
Оролт: Хариуцлагатай материал: 12 алхам (зурагтай)
Оролт: Хариуцлагатай материал: Хүчин чадал гэдэг нь объектын цахилгаан цэнэг хадгалах чадвар юм. Энэхүү гарын авлагад бид биеийнхээ багтаамжид тохирсон нэхмэл мэдрэгчийг зохион бүтээж нэхэх бөгөөд энэ цахилгааныг ашиглан хэлхээг дуусгах болно. Энэ хичээлээр та