Мазмуну:

Автоматташтырылган өсүмдүк казаны - Кичи бак: 13 кадам (сүрөттөр менен)
Автоматташтырылган өсүмдүк казаны - Кичи бак: 13 кадам (сүрөттөр менен)

Video: Автоматташтырылган өсүмдүк казаны - Кичи бак: 13 кадам (сүрөттөр менен)

Video: Автоматташтырылган өсүмдүк казаны - Кичи бак: 13 кадам (сүрөттөр менен)
Video: Бул базарда тамчылатып сугаруу системасы бар. Бааларын билесиздер 2024, Ноябрь
Anonim
Автоматташтырылган өсүмдүк казаны - Кичи бак
Автоматташтырылган өсүмдүк казаны - Кичи бак

Мен Howest Kortrijkтеги мультимедия жана коммуникация технологияларынын студентимин. Акыркы тапшырмабыз үчүн биз өзүбүз тандаган IoT долбоорун иштеп чыгышыбыз керек болчу.

Идеяны издеп, мен апама пайдалуу нерселерди жасоону чечтим, ал өсүмдүктөрдү өстүрүүнү жакшы көрөт жана автоматташтырылган өсүмдүк казанында иштей баштады.

Бул автоматташтырылган өсүмдүк идишинин, Кичи бактын негизги милдеттери:

  • Ченөө

    • Температура
    • Жарык интенсивдүүлүгү
    • Нымдуулук
    • Топурактын нымдуулугу

Өлчөмдөрдү маалымат базасына сактаңыз

Белгилүү бир мааниси өтө төмөн болсо, өсүмдүктүн өсүш шарттарын жакшыртуу

Түзмөктү вебсайт аркылуу көзөмөлдөп, башкарууга уруксат бериңиз

Ар бир кадам белгиге чейин аткарылышы керек эмес. Көп нерселер сиздин жеке каалооңузга жараша же жакшыртылышы мүмкүн. Бул курулуш бөлүктөрдү кийин калыбына келтирүү үчүн жасалган, андыктан аны туруктуу кылуу үчүн кайталоого башкача мамиле кылгыңыз келиши мүмкүн.

1 -кадам: Берилиштер

Жабдуулар
Жабдуулар
Жабдуулар
Жабдуулар
Жабдуулар
Жабдуулар

Бул долбоордун көпчүлүк жабдууларын алуу өтө кыйын эмес, бирок менин ишимде мен кайра иштетилген материалдар менен көп иштедим. Мен ошондой эле кийинчерээк кээ бир материалдарды калыбына келтире алам.

Негизги компоненттер:

  • Raspberry Pi 4 модели В.
  • Raspberry Pi электр менен камсыздоо
  • Raspberry Pi T-өтүкчү
  • 16 ГБ микро SD карта
  • 3.3V жана 5V менен Breadboard электр менен камсыздоо
  • Breadboard
  • 12V электр менен камсыздоо

Сенсорлор:

  • DHT11: нымдуулук жана температура сенсору
  • BH1750: Жарык интенсивдүүлүгү сенсору
  • Топурактын ным сенсору
  • MCP3008

Актуатордун компоненттери:

  • 220В суу насосу
  • 12V LED тилкеси
  • Реле модулу Velleman
  • Кеңеш 50: NPN транзистору
  • 16X2 ЖК-дисплей
  • PCF8574a

Резисторлор:

  • 3 x 330 Ом каршылыгы
  • 1 x 5k Ом каршылыгы
  • 2 x 10k Ohm резисторлору
  • 1 x 1k Ом каршылыгы
  • 1 x 10k потенциондук резистор

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

  • Prefabricated теплица/өсүмдүк казаны
  • Кошуу кутусу
  • Пластикалык суу бөтөлкөсү
  • Бурулуштар
  • Өткөргүч зымдар + кадимки зым
  • Skrews
  • Калай + калай жылытуучу түтүк
  • Эки тараптуу скотч
  • Paint

Куралдар:

  • Желим курал
  • Бургулоо
  • Sawblade
  • Кандооч
  • Куту кескич
  • Бояуу щеткасы

Бул долбоордун тыкан жери - аны кеңейтүү же жөнөкөйлөтүү, компоненттерди кошуу/алып салуу жана кодду бир аз өзгөртүү. Мисалы, 220В насосту 12В насоско алмаштыруу менен, сиз түзмөктөн кубат адаптерин алып салсаңыз болот.

2 -кадам: Fritzing схемасы

Fritzing Schematic
Fritzing Schematic
Fritzing Schematic
Fritzing Schematic

Аппараттын нан тактасы жана электр схемалары жогоруда көрсөтүлгөн. Бул жерде сиз бардык компоненттердин бири -бири менен кантип байланышканын көрө аласыз.

Компоненттердин кантип иштээри жөнүндө жалпы түшүндүрмө:

  • DHT11 абанын нымдуулугун % менен жана температураны ° C менен өлчөйт. Аны менен байланыш I2C бу менен жүргүзүлөт.
  • BH1750 жарыктын күчүн люкс менен өлчөйт. Байланыш I2C автобусу менен жүргүзүлөт
  • Топурактын ным сенсору MCP3008 тарабынан Raspberry Pi үчүн окула турган санариптик сигналга айландырылган санарип сигналды жаратат
  • 16x2 ЖК-модулу IP даректерин Piден биринин артынан бирин көрсөтөт. Бул Raspberry Piден сигналды алган PCF8574a менен туташкан, ал аны дисплейдин бит казыктары үчүн бир катар сигналдарга айландырат. ЖКдан E жана RS казыктары Pi. The потенцио каршылыгы экрандын жарыктыгын аныктайт.
  • Суу насосу анын ортосундагы релени туташтырат жана анын 220В электр энергиясы/розеткасы. Raspberry Pi релени электрдик схеманы жабуу жана насосту күйгүзүү үчүн сигнал жөнөтө алат.
  • LED тилкеси 12В электр булагына жана TIP 50 (NPN транзисторуна) электр тогун алмаштырат. 1k Ohm резистору Raspberry Piден тартылган кубаттуулукту чектөө үчүн колдонулат, антпесе ал кошумча кытырак болуп куурулат.

3 -кадам: Raspberry Pi даярдаңыз

Raspberry Pi даярдаңыз
Raspberry Pi даярдаңыз

Эгерде сизде али жок болсо, анда Raspberry Pi OSтин сүрөттөрүнүн бирин SD картага салышыңыз керек болот. Мен Lite колдонууну сунуштабайм, анткени бул мага башында көйгөйлөрдү жараткан. Андан кийин, Pi интернетке туташып турганда, төмөнкү буйруктарды колдонуу менен Пиңиздин жаңыртылгандыгын текшеришиңиз керек болот:

  1. sudo apt-get update
  2. sudo apt-get жогорулатуу

Андан кийин сиз raspi-config же командалар аркылуу долбоордун иштеши үчүн пакеттерди иштетип же орното аласыз.

  • SPI
  • I2C
  • MySQL: кийинки кадам
  • SocketIO: колбаны орнотуу

Орнотуудан кийин, сиз html, CSS, Javascript жана Python тилдеринде жазылган керектүү файлдарды кошо аласыз. Менин бардык коддорумду github репозиторийимден тапса болот.

4 -кадам: Маалыматтар базасынын модели - MySQL

Маалыматтар базасынын модели - MySQL
Маалыматтар базасынын модели - MySQL

Жогоруда MariaDB аркылуу жайгаштырылган ERD диаграммасын көрө аласыз. Бул MariaDB орнотуу көрсөтмөсүн аткарууну сунуштайм, MariaDBди орнотуу үчүн гана эмес, сиздин Пи корголгонуна ынануу үчүн.

Түшүнүүнү каалаган адамдар үчүн маалымат базасы төмөнкүдөй иштейт:

Өлчөөлөр жана кыймылдаткыч которгучтар Metingen столунда катар катары сакталат.

  • metingId = өлчөө/которуштуруу сапынын идентификатору
  • deviceId = столдогу бул сапка жооптуу түзмөктүн идентификатору
  • waarde = сенсордун өлчөгүчүнүн же кыймылдаткычтын мааниси

    • сенсор: тиешелүү бирдиктерде өлчөөнүн мааниси
    • кыймылдаткычтар: 0 = ӨЧҮК жана 1 = КҮЙГҮЗҮЛГӨН
  • commentaar = каталар сыяктуу кошумча маалыматты кошуу үчүн колдонулган комментарийлер
  • маалымат = өлчөө/которуштуруу болгон күн жана убакыт

Түзмөктүн жөндөөлөрү Орнотуулар ичинде сакталат.

  • settingId = Бул саптын идентификатору жана жөндөө мааниси
  • deviceID = тиешелүү түзмөктүн/сенсордун идентификатору
  • waarde = орнотуунун мааниси
  • type = сепеттин түрү, бул максималдуубу же минималдуубу?

Акыркы, бирок, жок дегенде, Түзмөктөр таблицасы сенсорлор жана кыймылдаткычтар жөнүндө маалыматты камтыйт.

  • deviceId = Бул таблицада түзмөктүн идентификатору
  • naam = түзмөктүн/компоненттин аталышы
  • мерк = бренд
  • prijs = компоненттин баасы
  • beschrijving = компоненттин кыскача мазмуну
  • eenheid = өлчөнгөн баалуулуктар үчүн бирдик
  • typeDevice = компоненттин сенсор же аткаруучу экендигин аныктайт

5 -кадам: Frontend: Webserverди орнотуу

Frontend: Webserverди орнотуу
Frontend: Webserverди орнотуу

Pi бул түзмөктүн веб -серверин иштетүү үчүн сизден Apache веб -серверин орнотууңузду талап кылат. Бул төмөнкү буйрук менен жасалышы мүмкүн:

sudo apt-get apache2 орнотуу.

Бул бүткөндөн кийин, сиз папкага өтсөңүз болот:/var/www/html. Бул жерде сиз фронттун бардык кодун жайгаштырышыңыз керек. Андан кийин, сиз веб -сайтка IP дарегин карап чыгуу менен кире аласыз.

6 -кадам: Backend

Арткы жагын иштетүү үчүн, app.py файлын кол менен иштетүүңүз керек же Pi үчүн ага кызмат түзүү аркылуу автоматтык түрдө башталат.

Сиз байкагандай, бир топ файлдар бар. Мен кодду так карап чыгуу жана уюштуруу үчүн кодду мүмкүн болушунча бөлдүм.

Кыскача түшүндүрмө:

app.py: маалымат базасы, аппараттык код жана арткы код кошулган негизги файл

config.py: databaseRepositories үчүн конфигурация файлы

Репозиторийлер: маалымат кампасына кирүү үчүн

  • Helper

    • devices_id: маалымат базасындагы түзмөк маалыматын аныктоого жардам берүүчү класстар
    • lcd: PCF жана ЖК иштетүү үчүн
    • Актуаторлор: кыймылдаткычтарды иштетүү үчүн класстар
    • Сенсорлор: сенсорлорду иштетүү үчүн класстар

7 -кадам: LED тилкесин коюу

LED тилкесин жайгаштыруу
LED тилкесин жайгаштыруу

Мен LED тилкесинин бир бөлүгүн кесип, күнөскана кутусунун үстүнө чаптадым. Мен колдонгон тилке бир нече позицияда кесилип, кайра туташтырылышы мүмкүн, андыктан сиз бир нече тилкелерди коюп, кийинчерээк зымдар аркылуу кайра туташтырып, көбүрөөк орундун жарык болушуна шарт түзө аласыз.

8 -кадам: Түтүктөрдү жайгаштыруу

Түтүктөрдү жайгаштыруу
Түтүктөрдү жайгаштыруу

Түтүктөрдү бир нече жолдор менен жайгаштырса болот, бирок менин учурда аларды түбүнүн капталына бекитип, мүмкүн болушунча башка электроникадан алысыраак кармап, суунун кирге агып кетишине жол бергем.

9 -кадам: ЖКны жайгаштыруу

LCDди жайгаштыруу
LCDди жайгаштыруу

Мен кесүү такасы менен бириктирүү кутусунун капкагын толугу менен кесип алдым, дисплейдин өтүшү үчүн чоң, бирок жетишерлик кичине, ошондуктан ПХБ анын артында калат. Андан кийин, капкакка кыйшыктарды колдонуу менен бекитилген.

ЖК Raspberry Piнин IP даректерин көрсөтөт, бул веб -сайтка кирүү үчүн кайсы даректи колдонсо болорун билүүгө мүмкүндүк берет.

10 -кадам: сенсорлорду коюу жана LED тилкесин туташтыруу

Сенсорлорду коюу жана LED тилкесин туташтыруу
Сенсорлорду коюу жана LED тилкесин туташтыруу
Сенсорлорду коюу жана LED тилкесин туташтыруу
Сенсорлорду коюу жана LED тилкесин туташтыруу

Фриттинг схемаларын колдонуп, мен зымдардын ортосундагы байланыштарды ширеттим жана аларды ажыратуу үчүн жылуулукту кысуучу түтүктөрдү колдонуп, резисторлорду зымдардын ичине койдум.

Теплицанын капкагынын жана түбүнүн капталдарында тешиктерди кесип, бурулуштарды бекитиш үчүн, мен сенсорлордун жана LED тилкесинин зымдарын тарттым.

Зымдарды функциясы боюнча топтодум. Зымдардын жана кичирейтүүчү түтүктөрдүн чыңалуусу сенсорлорду кармап турду. Мен DHT11 үчүн зымдарга клей колдонушум керек болчу, анткени бул андан ары узартылды.

11 -кадам: Pi'ди туташтыруу

Пи менен байланышуу
Пи менен байланышуу
Пи менен байланышуу
Пи менен байланышуу
Пи менен байланышуу
Пи менен байланышуу

Мен өткөргүчтөрдүн капталындагы тешиктерди кесип, зымдардын кийинчерээк өтүшүн камсыз кылам.

Андан кийин, мен нанды (T-cobbler, PCF8574a, MCP3008, жөнгө салынуучу каршылык жана TIP50 менен), релени жана Raspberry Pi'ди эки тараптуу скотч менен жабылган түйүндүн кутусунун түбүнө койдум. Электр энергиясы нан тактасына туура келбегендиктен, мен аны капталга коюп, секиргич зымдарды колдонуп нан тактасына туташтырдым.

Акыры мен адаптер, сенсор жана кыймылдаткыч зымдарын зымдарды нанга, Raspberry Pi жана башка компоненттерге туташтырылган тешиктер аркылуу тартып алдым. Насостун зымы ачылып калды, андыктан мен анын учтарын реленин ичине кое алам, ошондуктан аны которгуч катары колдонууга болот.

12 -кадам: Суу үчүн контейнер жасоо

Суу үчүн контейнер жасоо
Суу үчүн контейнер жасоо

Мен 1л пластикалык суу бөтөлкөдөн суу идиш жасадым, анын үстүн куту кескич менен кесип, аны жакшы көрүнүш үчүн боёп койдум. Андан кийин суу насосу ичине коюлган. Кемелер менен байланыш эрежесинин себеби, суу потенциалдуу түрдө түтүктөр аркылуу агып кетиши мүмкүн, бирок түтүктү өйдө кармоо маселени чечет.

13 -кадам: Акыркы жыйынтык

Акыркы жыйынтык
Акыркы жыйынтык
Акыркы жыйынтык
Акыркы жыйынтык

Сиз күткөн учур. Эми сиз кир жана үрөндөрдү күнөскана кутусунун ичине салып, түзмөктү өткөрүп алсаңыз болот. Сиз веб -сайттан түзмөктүн абалын көзөмөлдөп, жарык жана топурактын шарттары үчүн оптималдуу баалуулуктарды коё аласыз.

Мен алгач жерди кол менен сугарууну сунуштайм, анткени кээ бир кирлер башында абдан кургак болушу мүмкүн. Кээ бир насостор өтө жай сууга окшойт, бирок сиз абдан этият болушуңуз керек, анткени ал сиз күткөндөн тезирээк толтурулат. 80% дан жогору каныктыруу жерди абдан нымдуу кыла алат. Жана топурактын ным сенсорунун жетишерлик терең экенин текшериңиз.

Сунушталууда: