Mündəricat:

MQTT üzərində Uzaqdan Nəzarət və Foto Nəzarət: 8 Addım
MQTT üzərində Uzaqdan Nəzarət və Foto Nəzarət: 8 Addım

Video: MQTT üzərində Uzaqdan Nəzarət və Foto Nəzarət: 8 Addım

Video: MQTT üzərində Uzaqdan Nəzarət və Foto Nəzarət: 8 Addım
Video: JetHome JetHub H1 ağıllı ev nəzarətçisi, Nəzarət olunan Ev Köməkçisini quraşdırın, zigbee2mqtt 2024, Noyabr
Anonim
MQTT üzərində Uzaqdan Nəzarət və Foto Nəzarət
MQTT üzərində Uzaqdan Nəzarət və Foto Nəzarət

Salam.

Bu gün, məsələn, qaraj qapılarını, işıqlandırmanı, istiliyi, təzyiqi idarə etməyi, temperaturu və bir çox digər parametrləri idarə etmək üçün istifadə edilə bilən uzaqdan idarəetmə və izləmə sisteminin necə qurulacağından danışmaq istərdim. Ancaq bu sistemin əsas xüsusiyyəti uzaq bir obyektdən fotoşəkilləri uzaqdan qəbul etməyinizdir. Hekayəyə başlamazdan əvvəl qısa bir ön söz. Bir dəfə Arduino üçün uyğun bir Arduino M0-SD lövhəsi, VC0706 kamera və 3G/GPRS/GSM/GPS qalxanı istifadə edərək foto nəzarət sistemi etmək istədim. Arduino M0 -SD uyğun lövhə, proqramlaşdırılması çox asan olan şərtlərdən seçildi (Arduino UNO kimi), iş gərginliyi 3.3V - bu VC0706 kamera ilə işləmək üçün çox əlverişlidir, böyük miqdarda ROM və RAM, USB -nin ayrı bir virtual portu olan bir neçə UART portu, lakin əsas üstünlüyü birbaşa lövhədə bir micro SD bağlayıcısının olmasıdır (Şəkillər kimi böyük miqdarda məlumatları saxlamaq çox rahatdır).

Arduino üçün 3G/GPRS/GSM/GPS qalxanı uyğun bir Arduino M0-SD lövhəsi ilə istifadə üçün çox əlverişlidir. İnternetdə bir neçə kitabxana və bu qalxanla işləmək üçün bir çox nümunə var. Məlumat ötürmə sürəti (3G) adi GPRS qalxanlarla müqayisədə çox yüksəkdir (xüsusən görüntülərin ötürülməsi üçün əlverişlidir). GPS modulunun olması əlavə bir üstünlükdür.

Məlumatların (fotoşəkillərin) İnternet üzərindən ötürülməsi üçün bir mobil operatordan ucuz bir tarif seçdim. Ancaq sual yarandı: məlumatları necə ötürmək olar? MMS? FTP? Məlumatların alınması barədə bir bildiriş necə alınır (şəkil)? Nəticədə, cib telefonuna quraşdırılmış tətbiq vasitəsi ilə məlumatları (fotoşəkilləri) e-mailə göndərmək və məktublara baxmaq qərarına gəldim. Çox rahat olduğu ortaya çıxdı!:-) Bitmiş layihəyə bu linkdən baxmaq olar.

Arduino UNO üçün bənzər bir layihə də var.

Sonra cihazımın funksionallığını genişləndirmək qərarına gəldim. Məsələn, LEDləri idarə etmək qabiliyyətini əlavə edin (əslində imkanlar daha geniş olsa da). Bunun üçün e-poçt çox uyğun deyil. SMS seçimi bahalı və narahatdır. Və sonra MQTT haqqında öyrəndim. Onun nə olduğunu təsvir etməyəcəyəm. Bir söz deyim: Bu, həqiqətən də gözəl bir şeydir!:-) MQTT-nin köməyi ilə nəinki mesajları, həm də ikili faylları (şəkilləri) mübadilə edə bilərsiniz. Telefon tətbiqində asanlıqla öz interfeysinizi yarada bilərsiniz.

3G/GPRS/GSM/GPS qalxanım (SIM5320) üçün MQTT protokolunun tətbiqinə dair nümunələr axtardım və təəssüf ki, ehtiyacım olan tətbiq tapmadım. Amma bu məni tək qoymadı. Lazımi funksiyanı müstəqil olaraq həyata keçirməyə qərar verdim. Nəticədə, cib telefonuna quraşdırılmış bir tətbiqdən MQTT üzərində idarə olunan (üç LED ilə göstərilmiş) bir cihaz yaratmağı bacardım və telefondan əmrlə telefona bir şəkil göndərdim. (Mən sizə bir sirr deyim ki, əvvəllər MQTT brokeri vasitəsi ilə şəkillər göndərməklə bağlı heç bir nümunə görmədim və bunu ilk dəfə etdim. Və ilk şəkli köçürə biləndə çox xoşbəxt idim!:-)) Və Beləliklə, ilk addıma - zəruri komponentlərin siyahısına keçməyi təklif edirəm.

Addım 1: Komponentlərin siyahısı

Komponentlərin siyahısı
Komponentlərin siyahısı
Komponentlərin siyahısı
Komponentlərin siyahısı
Komponentlərin siyahısı
Komponentlərin siyahısı
Komponentlərin siyahısı
Komponentlərin siyahısı

Növbəti komponentlərə ehtiyacımız var:

1) Arduino M0-SD uyğun.

2) TTL kamera VC0706.

3) Arduino üçün 3G/GPRS/GSM/GPS qalxanı.

4) Qırmızı, yaşıl, sarı LEDlər, 3 rezistor (100-500 Ohm), tellər, 2,54 mm aralığa malik pin açarı konnektoru.

5) AC-DC güc adapteri (6V 1A), 3G antenası və s.

Addım 2: Kameranın hazırlanması

Kameranın hazırlanması
Kameranın hazırlanması
Kameranın hazırlanması
Kameranın hazırlanması
Kameranın hazırlanması
Kameranın hazırlanması

Kameranın kompüterə birbaşa qoşulması üçün RS-232 çıxışı var. MAX232-ni (RS-232 çeviricisi) çıxarmaq və 7-10 (TX), 8-9 (RX) uyğun sancaqlar arasındakı əlaqə yastıqlarını bağlamaq lazımdır.

Kamera ilə birlikdə gələn altı telli kabelin bir az dəyişdirilməsi lazımdır:

  • Bağlayıcıdan iki teli çıxarın.
  • Qırmızı (+ 5V) və qara (GND) telləri şəkildə göstərildiyi kimi yenidən təşkil edin.

Tellərin çılpaq uclarında "dişi" kimi uclar lehimlənməlidir.

Addım 3: Uyğun Arduino M0-SD-nin hazırlanması

Uyğun Arduino M0-SD-nin hazırlanması
Uyğun Arduino M0-SD-nin hazırlanması
Uyğun Arduino M0-SD-nin hazırlanması
Uyğun Arduino M0-SD-nin hazırlanması
Uyğun Arduino M0-SD-nin hazırlanması
Uyğun Arduino M0-SD-nin hazırlanması

Artıq qeyd edildiyi kimi, uyğun olan Arduino M0-SD, orijinal Arduino M0 ilə uyğun olan hardware və proqram təminatıdır, eyni zamanda yaddaş kartını bağlamaq üçün yerüstü microSD konnektoruna malikdir.

Kameranı lövhədə uyğun olan Arduino M0-SD-yə bağlamaq üçün bucaqlı konnektoru şəkildə göstərildiyi kimi TXD, RXD (bağlayıcı X6) terminallarına lehimləmək lazımdır. Bu liman "Serial" a uyğun gəlir.

Kameradan gələn ağ (Camera RX) və sarı (Camera TX) tellər, şəkildə göstərildiyi kimi TXD və RXD (bağlayıcı X6) terminallarına bağlanmalıdır.

Addım 4: 3G/GPRS/GSM/GPS Shield SIM5320 hazırlanması

3G/GPRS/GSM/GPS Shield SIM5320 hazırlanması
3G/GPRS/GSM/GPS Shield SIM5320 hazırlanması
3G/GPRS/GSM/GPS Shield SIM5320 hazırlanması
3G/GPRS/GSM/GPS Shield SIM5320 hazırlanması
3G/GPRS/GSM/GPS Shield SIM5320 hazırlanması
3G/GPRS/GSM/GPS Shield SIM5320 hazırlanması

Yuvaya bir sim kart quraşdırmadan əvvəl PİN kodu tələbini deaktiv etməlisiniz. Sonra SIM kartı lövhənin altındakı yuvaya şəkildə göstərildiyi kimi quraşdırın. İki atlayıcı RX-1 (D1), TX-0 (D0) mövqeyinə quraşdırılmalıdır.

Addım 5: Avadanlıq Montajı

Avadanlıq Montajı
Avadanlıq Montajı
Avadanlıq Montajı
Avadanlıq Montajı
Avadanlıq Montajı
Avadanlıq Montajı

Avadanlıq montajı bir neçə sadə əməliyyatdan ibarətdir:

  • LEDləri idarə etmək üçün əvvəlcə şəkildə göstərildiyi kimi kiçik bir LED dizaynını və cərəyan məhdudlaşdıran rezistorları (100-500 Ohm) lehimləməlisiniz. LEDlərin polaritesinə diqqət yetirin - anod rezistorlara lehimlənməlidir (+). LED -lərin parazitar təsirini azaltmaq üçün adi kartondan qara ekran düzəltdim.
  • LEDləri və kameranı diaqramda göstərildiyi kimi uyğun bir Arduino M0-SD lövhəsinə qoşun. Kameranın enerji təchizatı (qırmızı tel "+ 5V" və qara tel "GND") "+ 5V" və yuvadan "GND" terminallarından alınmalıdır. Bunun üçün bir açı bağlayıcısından da istifadə edə bilərsiniz.
  • Bundan sonra, 3G/GPRS/GSM/GPS qalxanı uyğun Arduino M0-SD lövhəsinə qoşun. 3G antenini bağlamağı unutmayın.

Addım 6: MQTT Brokerinin qurulması

MQTT Brokerinin qurulması
MQTT Brokerinin qurulması
MQTT Brokerinin qurulması
MQTT Brokerinin qurulması
MQTT Brokerinin qurulması
MQTT Brokerinin qurulması

MQTT broker olaraq çox rahat və aydın bir www.cloudmqtt.com seçdim. Pulsuz test təmin edir. Mesajları birbaşa saytda qəbul etmək və göndərmək də mümkündür.

Quraşdırma proseduru belədir:

  1. Online qeydiyyatdan keçin.
  2. "Yeni nümunə yaradın" düyməsini basın.
  3. Adı təyin edin, məsələn "MqttCamera".
  4. "Bölgəni Seç" düyməsini basın. Məsələn, "US-East-1 (Northern Virginia)" seçin.
  5. "Baxış" düyməsini basın.
  6. "Nümunə Yarat" düyməsini basın. "Nümunə uğurla yaradıldı" mesajına baxın.
  7. "MqttCamera" düyməsini basın.
  8. Məlumatı yadda saxla: Server, İstifadəçi, Şifrə, Port, API Açarı (7 -ci və 8 -ci addımlarda bizə lazım olacaq).
  9. Sonra "WEBSOCKET UI" pəncərəsinə gedə bilərsiniz, burada test edə və ayıklaya, mesajlara baxa və göndərə bilərsiniz (Növbəti addımda bu pəncərəyə ehtiyacımız olacaq).

Addım 7: MQTT Dash Tətbiqi

MQTT Dash Tətbiqi
MQTT Dash Tətbiqi
MQTT Dash Tətbiqi
MQTT Dash Tətbiqi
MQTT Dash Tətbiqi
MQTT Dash Tətbiqi

Cib telefonunda idarəetmə paneli yaratmaq üçün çox istifadəçi dostu və aydın MQTT Dash tətbiqini seçdim.

MQTT Dash tətbiqini telefonunuza quraşdırın və aşağıdakı parametrləri edin:

  1. Tətbiqi açın.
  2. MQTT tire pəncərəsində, yeni bir idarəetmə paneli əlavə etmək üçün (+) düyməsini basın.
  3. Görünən pəncərədə, ad (məsələn, MqttCamera), Ünvan, Liman, İstifadəçi adı, İstifadəçi şifrəsi (6 -cı addımdan məlumat alın) kimi lazımi sahələri doldurun.
  4. Sahələri doldurduqdan sonra disket simgesini vurun ("Saxla" əməliyyatı).
  5. İdarəetmə panellərinin siyahısı olan pəncərədə "MqttCamera" xəttini vurun.
  6. Açılan idarəetmə paneli pəncərəsində ölçüləri yükləmək üçün ox işarəsini vurun.
  7. Sonra açılan pəncərədə "ABUNƏ OLUN VƏ METRİKA GÖZLƏYİN" düyməsini basın.
  8. Fərdi kompüterdə bir MQTT brokerində hesab açın (əvvəlki addıma baxın), "WEBSOCKET UI" pəncərəsini açın, "Mesaj göndər" pəncərəsində "ölçülər/mübadilə" mövzusunu qurun və mətni "Mesaj" pəncərəsindəki metrics.txt faylını əlavə edin, "Göndər" düyməsini basın.
  9. 10 saniyə gözləyin, metrikanın telefonda alındığından və idarəetmə panelinin yeniləndiyindən əmin olun.

Sonra uyğun Arduino M0-SD proqramlaşdırmağa davam edə bilərsiniz.

Addım 8: Proqramlaşdırma və İş

Proqramlaşdırma və İş
Proqramlaşdırma və İş
Proqramlaşdırma və İş
Proqramlaşdırma və İş
Proqramlaşdırma və İş
Proqramlaşdırma və İş
Proqramlaşdırma və İş
Proqramlaşdırma və İş

Uyğun Arduino M0-SD proqramlaşdırmadan əvvəl, aşağıda qeyd etdiyim bütün lazımi kitabxanaları (pubsubclient-master, TinyGSM-master) kompüterə quraşdırmalısınız. Bu kitabxanalar uyğun bir Arduino M0-SD lövhəsi, VC0706 kamera və 3G/GPRS/GSM/GPS SIM5320 qalxanı ilə işləmək üçün bir qədər dəyişdirildi.

Kabelinizi və enerji təchizatınızı (3G/GPRS/GSM/GPS ekranını gücləndirmək üçün 6V 1A) uyğun Arduino M0-SD-yə bağlamalısınız.

Arduino IDE -ni işə salın. Arduinoda IDE seçməlidir: Alətlər-> Kart: Arduino M0 Pro (Yerli USB Portu).

MqttCamera.ino eskizini açın. Sahələri doldurun: İstifadəçi adı, İstifadəçi şifrəsi, API Açarı, Liman, Server (6 -cı addımdan məlumat alın).

Serial Monitor pəncərəsini açın.

Eskiz yükləyin. Proqramlaşdırma prosedurunu ətraflı təsvir etmirəm (İnternetdə kifayət qədər təlimat var).

Uğurlu yükləmə və düzgün montajdan sonra Serial Monitor pəncərəsində aşağıdakı məlumatlar görünməlidir:

VC0706 Kamera + Arduino M0 + SIM5320 + MQTT

Kamera başlanğıcı… versiya: ----------------- VC0703 1.00 Ctrl infr mövcuddur İstifadəçi tərəfindən müəyyən edilmiş sensor 525 ----------------- uğur ! Modem işə salınır… Modem: AT+CGMM SIMCOM_SIM5320E Şəbəkə gözlənilir… OK İnternetə qoşulur 3.83.68.228 -ə qoşulur uğursuz 3.83.68.228 -ə qoşulur OK Ping: 0

"Ping: XX" xətti, uyğun Arduino M0-SD-dən serverə verilən dövri bir mesajdır. Bu məlumatın yerinə ADC ölçülərini, giriş vəziyyətini və daha çoxunu göndərə bilərsiniz.

MQTT Dash tətbiqində, ampullərin nişanlarını (LED_YELLOW, LED_GREEN, LED_RED) vurun - yandırın/söndürün. Serial monitorun pəncərəsinə baxın - belə bir şey haqqında məlumat olmalıdır:

LED_SARI YANI

LED_YELLOW_Off LED_GREEN On LED_GREEN off LED_RED On LED_RED Off

Kamera simgesini vurun - "Çək" əmrini göndərin və bir az gözləyin. Serial Monitor pəncərəsində aşağıdakı məlumatlar görünməlidir:

Çəkməyə başlayın!

Şəkil çəkildi! IMAGE332-j.webp

Və bir müddət sonra (5-10 saniyə) "GÖRÜNTÜNƏ GÖRÜN" pəncərəsində bir şəkil göstərilməlidir.

Nümayiş üçün VC0706 kamerasını LED -lərə yönəltdim ki, ixtiyari bir şəkildə dəyişdirdikdən sonra vəziyyətlərini görə biləsiniz. Amma real istifadədə kameranı bir otağa, qapıya, küçəyə, darvazaya, avtomobilə və s. Yönləndirə bilərsiniz (Əlbəttə ki, qanunun tələblərini nəzərə almalısınız). Bir nümayiş olaraq bir LEDlərin quraşdırılmış və faktiki vəziyyətlərinin göstərildiyi cib telefonu.

Ümid edirəm təlimatım sizin üçün maraqlı və faydalı oldu. Geribildiriminizdən və şərhlərinizdən məmnun olarıq. Cihazımı inkişaf etdirmək və yeni yenilikləri sizinlə bölüşmək planlarımda. İzlədiyiniz üçün təşəkkürlər!

Tövsiyə: