Mündəricat:

BAHÇƏNİZİ İZLƏYİN: 16 addım (şəkillərlə)
BAHÇƏNİZİ İZLƏYİN: 16 addım (şəkillərlə)

Video: BAHÇƏNİZİ İZLƏYİN: 16 addım (şəkillərlə)

Video: BAHÇƏNİZİ İZLƏYİN: 16 addım (şəkillərlə)
Video: Трактористы (комедия, реж. Иван Пырьев, 1939 г.) 2024, Noyabr
Anonim
BAHÇƏNİZİ İZLƏYİN
BAHÇƏNİZİ İZLƏYİN

Bağınızı hər yerdən izləyin, torpaq şəraitini yerli olaraq izləmək üçün yerli ekrandan istifadə edin və ya uzaqdan izləmək üçün Mobildən istifadə edin. Dövrə, torpağın mühit şərtləri haqqında məlumat əldə etmək üçün temperatur və rütubətlə birlikdə torpaq nəm sensoru istifadə edir.

Addım 1: Komponentlər:

  1. Arduino uno
  2. Nodemcu
  3. DHT 11 temperatur və rütubət sensoru
  4. Torpaq nəm sensoru - FC28
  5. Batareya bankı 10000 mAh (arduino və nodemcu üçün)
  6. Nokia LCD 5110
  7. Rezistor (5 x 10k, 1 x 330ohms)
  8. Rotary tipli potensialiometr (LCD parlaqlığını tənzimləmək üçün) 0-100K
  9. Jumper telləri
  10. Çörək lövhəsi

Addım 2: BASIC SENSOR: Soil Moisture FC 28

BASIC SENSOR: Torpaq Nəmliyi FC 28
BASIC SENSOR: Torpaq Nəmliyi FC 28

Rütubəti ölçmək üçün əsas prinsipi aşağıdakı olan torpaq nəm sensoru FC 28-dən istifadə edirik:-

FC-28 torpaq nəm sensörünün spesifikasiyaları aşağıdakı kimidir: Giriş gərginliyi: 3.3-5V

Çıxış gərginliyi: 0 - 4.2V

Giriş Cərəyanı: 35mA

Çıxış siqnalı: həm analoq, həm də rəqəmsal

FC-28 torpaq nəm sensoru dörd sancağa malikdir: VCC: Güc

A0: Analog Çıxış

D0: Rəqəmsal Çıxış

GND: Zəmin

Sensoru analoq rejimə bağlamaq üçün sensorun analog çıxışından istifadə etməliyik. Torpaq nəm sensoru FC-28-dən analoq çıxışı alarkən, sensor bizə 0-dan 1023-ə qədər bir dəyər verir. Nəm faizlə ölçülür, buna görə də bu dəyərləri 0-dan 100-ə qədər xəritələyəcəyik və sonra bu dəyərləri göstərəcəyik. serial monitor. Fərqli nəmlik aralığını təyin edə və su pompasını buna uyğun olaraq aça və ya söndürə bilərsiniz.

Modulda eşik dəyərini təyin edəcək bir potansiyometr də var. Bu eşik dəyəri LM393 müqayisə cihazı ilə müqayisə ediləcək. Çıxış LED bu eşik dəyərinə görə yuxarı və aşağı yanacaq.

Torpaq nəm sensoru ilə əlaqə qurma kodu sonrakı addımlarda qəbul edilir

Addım 3: MQTT -ni anlamaq: Uzaq Məlumat Nəşriyyatı üçün

MQTT -ni anlamaq: Uzaq Məlumat Nəşriyyatı üçün
MQTT -ni anlamaq: Uzaq Məlumat Nəşriyyatı üçün

Başlamağa başlamazdan əvvəl, IOT üçün Uzaqdan məlumat yayımından keçək

MQTT, MQ Telemetri Nəqliyyatını ifadə edir. Məhdud cihazlar və aşağı bant genişliyi, yüksək gecikmə və ya etibarsız şəbəkələr üçün hazırlanmış son dərəcə sadə və yüngül mesajlaşma protokoludur. Dizayn prinsipləri, etibarlılığı və bir qədər çatdırılma zəmanətini təmin etməyə çalışarkən, şəbəkə bant genişliyi və cihaz mənbələri tələblərini minimuma endirməkdir. Bu prinsiplər, ortaya çıxan "maşından maşına" (M2M) və ya "Əşyaların İnterneti" bağlı qurğular dünyasının və bant genişliyi və batareya gücünün üstün olduğu mobil tətbiqlər üçün protokolu ideal hala gətirir.

Mənbə:

MQTT [1] (MQ Telemetry Nəqliyyat və ya Mesaj Sırası Telemetriya Nəqliyyatı) bir ISO standartıdır (ISO/IEC PRF 20922) [2] nəşr-abunə əsaslı mesajlaşma protokoludur. TCP/IP protokolunun üstündə işləyir. "Kiçik bir kod izi" lazım olan və ya şəbəkənin bant genişliyinin məhdud olduğu uzaq yerlərlə əlaqələr üçün nəzərdə tutulmuşdur.

Mənbə:

Addım 4: MQTT: MQTT Broker Hesabının Qurulması

Müxtəlif MQTT broker hesabı var, bu dərs üçün cloudmqtt istifadə etdim (https://www.cloudmqtt.com/)

CloudMQTT, buludda idarə olunan Mosquitto serverləridir. Mosquitto, yayım/abunə mesajı sıralama modelindən istifadə edərək mesajlaşmanın yüngül üsullarını təmin edən MQ Telemetri Nəqliyyat protokolunu tətbiq edir.

Cloudmqtt hesabını broker olaraq qurmaq üçün aşağıdakı addımları yerinə yetirmək lazımdır

  • Bir hesab yaradın və idarəetmə panelinə daxil olun
  • Yeni bir nümunə yaratmaq üçün Yarat+ düyməsini basın
  • Başlamaq üçün müştəri planına yazılmalıyıq, CuteCat planı ilə CloudMQTT -ni pulsuz sınaya bilərik.
  • "Nümunə" yaratdıqdan sonra növbəti addım istifadəçi yaratmaq və istifadəçiyə mesajlara daxil olmaq üçün icazə verməkdir (ACL qaydaları ilə)

Cloudmqtt -də MQTT broker hesabı qurmaq üçün tam bələdçiyə aşağıdakı linkdən daxil olmaq olar:

Yuxarıdakı bütün addımlar aşağıdakı slaydlarda bir -bir qoyulur

Addım 5: MQTT: Nümunə Yaratmaq

MQTT: Bir nümunə yaratmaq
MQTT: Bir nümunə yaratmaq

"MyIOT" adlı bir nümunə yaratdım

plan: Şirin plan

Addım 6: MQTT: Instance Info

MQTT: Nümunə Məlumatı
MQTT: Nümunə Məlumatı

Nümunə qeydiyyatdan keçdikdən dərhal sonra təmin edilir və detallar səhifəsində əlaqə məlumatları kimi nümunə detallarına baxa bilərsiniz. Oradan da İdarəetmə interfeysinə daxil ola bilərsiniz. Bəzən müəyyən bir əlaqə URL'sindən istifadə etməlisiniz

Addım 7: MQTT: İstifadəçi əlavə edin

MQTT: İstifadəçi əlavə etmək
MQTT: İstifadəçi əlavə etmək

"Nodemcu_12" adlı bir istifadəçi yaradın və şifrə verin

Addım 8: MQTT: ACL qaydasının təyin edilməsi

MQTT: ACL qaydasının təyin edilməsi
MQTT: ACL qaydasının təyin edilməsi

Yeni istifadəçi (nodemcu_12) yaradıldıqdan sonra yeni istifadəçini qeyd edin, indi yeni istifadəçiyə daha çox ACL verilməlidir. Əlavə edilmiş şəkildə, istifadəçiyə həm oxumaq, həm də yazmaq imkanı verdiyimi görmək olar.

Diqqət edin: Mövzu formatda göstərildiyi kimi əlavə edilməlidir (bu, düyündən MQTT müştərisinə oxumaq və yazmaq üçün əlavə olaraq tələb olunur)

Addım 9: Nodemcu: Konfiqurasiya

Bu xüsusi layihədə Knewron Technologies -dən nodemcu istifadə etdim, daha çox məlumatı aşağıdakı linkdən əldə etmək olar: -(https://www.dropbox.com/s/73qbh1jfdgkauii/smartWiFi%20Development%20Module%20-%20User% 20Guide.pdf? Dl = 0)

Göründüyü kimi, NodeMCU, Espressif -dən ESP8266 WiFi SOC üçün eLua əsaslı bir firmwaredir. Knowron -dan Nodemcu firmware ilə əvvəlcədən yüklənir, buna görə sadəcə proqram proqramını yükləməliyik: -

  • init.lua
  • quraşdırma.lua
  • config.lua
  • app.lua

Yuxarıda göstərilən bütün lua skriptləri Github -dan aşağıdakı linkdən yüklənə bilər: Github -dan yükləyin

Yuxarıdakı lua skriptlərindən config.lua skriptlərini MQTT ana adı, parol, wifi ssid və s.

Yuxarıdakı skriptləri nodemcu -ya yükləmək üçün "ESPlorer" kimi vasitələrdən istifadə etməliyik, daha çox məlumat üçün sənədlərə baxın:

ESPlorer ilə işləmək növbəti addımda təsvir ediləcəkdir

Addım 10: Nodemcu: ESPlorer_1 ilə Nodemcu -ya Lua Skriptlərinin Yüklənməsi

Nodemcu: ESPlorer_1 ilə Nodemcu -ya Lua Skriptlərinin Yüklənməsi
Nodemcu: ESPlorer_1 ilə Nodemcu -ya Lua Skriptlərinin Yüklənməsi
  • Yenile düyməsini basın
  • COM (Rabitə) portunu və ötürmə sürətini seçin (Ümumiyyətlə istifadə olunan 9600)
  • Aç düyməsini basın

Addım 11: Nodemcu: ESPlorer_II ilə Lua Skriptlərini Nodemcu -ya Yükləmək

Nodemcu: ESPlorer_II ilə Nodemcu -ya Lua Skriptlərinin Yüklənməsi
Nodemcu: ESPlorer_II ilə Nodemcu -ya Lua Skriptlərinin Yüklənməsi

Addım 12: Nodemcu: ESPlorer_III ilə Lua Skriptlərini Nodemcu -ya Yükləmək

Nodemcu: ESPlorer_III ilə Nodemcu -ya Lua Skriptlərinin Yüklənməsi
Nodemcu: ESPlorer_III ilə Nodemcu -ya Lua Skriptlərinin Yüklənməsi

Saxla və tərtib et düyməsi bütün dörd lua skriptini nodemcu -ya göndərəcək, bu nodemcu arduino ilə danışmağa hazır olduqdan sonra.

CHIP ID məlumatlarının toplanması:

Hər bir nodemcu -da bir çip identifikatoru var (ehtimal ki, yox.), Bu çip identifikatoru MQTT brokerinə mesaj dərc etmək üçün tələb olunur, çipin kimliyi haqqında bilmək üçün "ESPlorer" dəki Chip id düyməsini basın.

Addım 13: Nodemcu: Nodemcu ilə danışmaq üçün Arduino qurmaq

Aşağıdakı kod, torpağın nəmini, istiliyini və rütubətini təyin edir və nokia LCD 5110 üzərindəki məlumatları ardıcıl olaraq göstərir.

Arduino kodu

Arduino RX --- Nodemcu TX-ni bağlayın

Arduino TX --- Nodemcu RX

Yuxarıdakı kod, DO pinlərinin də seriyalı sancaqlar kimi işlənə biləcəyi, nodemcu serial portuna qoşulmaq üçün RX/TX pinlərindən istifadə etdiyim softserial kitabxanadan istifadə yollarını da əhatə edir.

Diqqət: nodemcu 3.3V ilə işlədiyi üçün səviyyə dəyişdiricisini istifadə etməyiniz tövsiyə olunur, lakin heç bir səviyyəni dəyişdirmədən birbaşa bağladım və performans yuxarıdakı tətbiq üçün tam uyğun görünür.

Addım 14: Nodemcu: Android -də MQTT Müştərisini Qurmaq

Nodemcu: Android -də MQTT Müştərisini Qurmaq
Nodemcu: Android -də MQTT Müştərisini Qurmaq

Android müştəri ilə mobil məlumatlara baxmaq üçün son addım:-

Müxtəlif MQTT android tətbiqetmələri var, Google play -dən aşağıdakı linkdən istifadə etdim:

.https://play.google.com/store/apps/details?

Android tətbiqinin konfiqurasiyası olduqca sadədir və aşağıdakıları konfiqurasiya etmək lazımdır

  • Port nömrəsi ilə birlikdə MQTT Host ünvanı
  • MQTT istifadəçi adı və ünvanı
  • MQTT broker node ünvanı

Yuxarıdakı təfərrüatları əlavə etdikdən sonra, tətbiq MQTT brokerinə bağlıdırsa, arduinodan bütün giriş statusu / serial ünsiyyət məlumatları qeyd olaraq göründüyündən, proqramı bağlayın.

Addım 15: Əlavə addımlar: Nokia LCD 5110 ilə işləmək

Əlavə addımlar: Nokia LCD 5110 ilə işləmək
Əlavə addımlar: Nokia LCD 5110 ilə işləmək

Aşağıda LCD 5110 üçün pin konfiqurasiyası verilmişdir

1) RST - Sıfırla

2) CE - Chip Enable

3) D/C - Məlumat/Əmr Seçimi

4) DIN - Serial Giriş

5) CLK - Saat Girişi

6) VCC - 3.3V

7) İŞIQ - Arxa işığa nəzarət

8) GND - Torpaq

Yuxarıda göstərildiyi kimi arduino-nu LCD 5110-a yuxarıdakı qaydada bağlayın və aralarında 1-10 K müqavimət göstərin.

Aşağıda LCD 5110 üçün Arduino uno ilə əlaqələndirmək üçün pin var

  • CLK - Arduino Digital pin 3
  • DIN - Arduino Digital pin 4
  • D/C - Arduino Digital pin 5
  • RST - Arduino Digital pin 6
  • CE - Arduino Digital pin 7

LCD 5110-un digər "BL" pinləri, LCD parlaqlığını idarə etmək üçün potentimetr (0-100K) ilə birlikdə istifadə edilə bilər.

Yuxarıdakı kod üçün istifadə olunan kitabxana: - Aşağıdakı linkdən PCD8544 -ü yükləyin

DHT11, temperatur və rütubət sensorunun arduino ilə inteqrasiyasına aşağıdakı DHT11 linkindən baxmaq olar.

Addım 16: Son Quraşdırma

Son Quraşdırma
Son Quraşdırma

Son addım, yuxarıda göstərilənlərin hamısını bir qutuya yığmaqdır, çünki təchizat üçün həm Arduino, həm də Nodemcu üçün 10000mah güc bankı istifadə etdim.

İstəyirsinizsə uzun müddət divar priz şarj cihazından da istifadə edə bilərik.

Tövsiyə: