Mündəricat:

IoT Əsasları: Mongoose OS istifadə edərək IoT'nizi Buluda Bağlamaq: 5 Addım
IoT Əsasları: Mongoose OS istifadə edərək IoT'nizi Buluda Bağlamaq: 5 Addım

Video: IoT Əsasları: Mongoose OS istifadə edərək IoT'nizi Buluda Bağlamaq: 5 Addım

Video: IoT Əsasları: Mongoose OS istifadə edərək IoT'nizi Buluda Bağlamaq: 5 Addım
Video: İnformasiya Texnologiyaları İnstitutunda Elmi şuranın növbəti iclası keçirilib 2024, Iyul
Anonim
IoT Əsasları: Mongoose OS istifadə edərək IoT'nizi Buluda Bağlamaq
IoT Əsasları: Mongoose OS istifadə edərək IoT'nizi Buluda Bağlamaq
IoT Əsasları: Mongoose OS istifadə edərək IoT'nizi Buluda Bağlamaq
IoT Əsasları: Mongoose OS istifadə edərək IoT'nizi Buluda Bağlamaq

Toxunma və elektronika ilə məşğul olan birisinizsə, ümumiyyətlə IoT olaraq qısaldılmış Əşyalar İnterneti ilə qarşılaşacaqsınız və bu, İnternetə qoşula bilən bir sıra cihazlara aiddir! Özüm belə bir insan olduğum üçün bu cür böyük cihazların mənim üçün asanlıqla əldə edilə biləcəyini biləndə heyran oldum. Kiçik bir aparat istifadə edərək layihələrimi internetə bağlaya biləcəyimi düşünmək və layihə ideyalarımı işə salmağım üçün açacağı saysız -hesabsız qapıları düşünmək.

Ancaq IoT -yə İnternetə qoşulmağı söyləmək, onu rəfdən satın almaq və onu işə salmaq qədər asan deyil. Cihazı İnternetə bağlamaqdan başqa, bəzi faydalı məlumatları da internetə çıxarmalıyıq. Bu Təlimat yuxarıda göstərilən məqsədə çatmaq üçün nəzərdə tutulan prosedurdan bəhs edir və hər hansı bir təcrübə səviyyəsində oxuyanlar üçün, başlanğıcdan IoT-də yeni olan veteranlara qədər nəzərdə tutulmuşdur.

Bu Təlimat kitabında, nümunə olaraq, oxuculara proses haqqında yaxşı bir fikir verməli olan ESP32 inkişaf lövhəsinin daxili temperatur sensoru oxunuşlarının qrafikini necə quracağımı nümayiş etdirəcəyəm.

Bu Təlimat ESP32 və Mongoose OS -dən istifadə etsə də, prosedur bütün IoT -lərə və proqram təminatına qədər uzadıla bilər!

Təchizat

Bu Təlimatı özünüz həyata keçirə bilmək üçün ən az miqdarda aparata ehtiyacınız olacaq və bunlar:

  • Əşyaların İnterneti (IoT): Ucuz bir ESP32 inkişaf lövhəsi klonundan istifadə etdim. Yeni bir ESP32 inkişaf lövhəsi almağı planlaşdırırsınızsa, DFRobotun ESP32 lövhəsini yoxlamalısınız.
  • Məlumat Kabeli: IoT -un yanıb sönməsi üçün tələb etdiyi bir kabeldən istifadə edin.
  • Batareya (İsteğe bağlı): Bunu yalnız IoT -ni uzun müddət gücləndirmək niyyətindəsinizsə satın alın.
  • Mini Breadboard (İsteğe bağlı)

Oxucuya ESP32 -dən fərqli bir IoT istifadə etməyi təklif edirəm ki, sadəcə məni təqlid etmək əvəzinə burada nələr edildiyini anlaya bilsin. İnanın, bu prosesi öz ağlınızdan istifadə edərək başqa bir IoT -də tətbiq etməkdən zövq alacaqsınız, məsələn, ESP8266 yaxşı bir seçim olardı.

Addım 1: MQTT -yə giriş

MQTT -yə giriş
MQTT -yə giriş

MQTT nədir?

"MQTT, aşağı bant genişliyi olan məhdud cihazlar üçün hazırlanmış sadə bir mesajlaşma protokoludur. Deməli, Əşyaların İnterneti tətbiqləri üçün mükəmməl bir həlldir. MQTT, çıxışları idarə etmək, sensor qovşaqlarından verilənləri oxumaq və dərc etmək üçün əmrlər göndərməyə imkan verir. " (RandomNerdTutorials -dən)

MQTT necə işləyir?

Texnikaya keçməzdən əvvəl, gəlin real dünyamızı düşünək. Tutaq ki, dostunuzun dostuna məxsus bir kart kolleksiyası ilə maraqlanırsınız, məsələn, şəxsən tanımadığınız Laurel. Bu kart toplama mövzusunda çox xüsusi olduğunuz üçün, güman ki, Tomdan dostunuzdan Laurelin onu satmaq istəyib -istəmədiyini soruşacaqsınız. Bunu edərkən, Laurelin satmaq istədiyi təqdirdə Tomdan kart kolleksiyasını özü almasını istəyəcəksən, çünki başqasının istədiyin kolleksiyanı əlindən almasını istəmirsən! Vaxt keçdikcə Tom və Laurel qarşılıqlı əlaqə qurur və qarşılıqlı razılaşma əsasında Laurel, pul qarşılığında kart kolleksiyasını Tom'a verir. Bu mübadilədən sonra Tom, kartları sizinlə bir daha görüşənə qədər özündə saxlayır, bu da nəhayət kart kolleksiyasını sizə verir. Gündəlik həyatımızda normal bir mübadilə belə davam edir.

MQTT -də mübadilədə iştirak edən əsas elementlər naşir (Laurel), abunəçi (Siz) və brokerdir (Tom). İş axını da bir böyük fərq istisna olmaqla yuxarıda göstərilən real dünya nümunəsinə bənzəyir! MQTT -də mübadilə broker tərəfindən aparılır, yəni Laurel, Tom kolleksiyasını satmaq istədiyini söyləyən ilk adam olacaq. MQTT işini real dünya nümunəmizlə müqayisə etsək, belə olar:

  1. Laurel Tom -a kart kolleksiyasını (məlumat və ya yük) satmaq istədiyini bildirir və kartları ona verir.
  2. Tom bu kartları əlinə alır və kart toplama təkliflərinə açıqdır. Siz və Tom görüşəndə və o, kartlarla maraqlandığınızı öyrənəndə (bir mövzuya abunə olur). Tom sizə kartları verir.

Bütün proses brokerə güvəndiyindən və abunəçi ilə yayımçı arasında birbaşa qarşılıqlı əlaqə olmadığından, MQTT həm nəşriyyatın, həm də abunəçinin sinxronizasiya edilməsinin çətinliyini aradan qaldırır. Aralıq bir brokerin olması, IoT və mikroprosessorlar kimi resursları məhdudlaşdıran qurğular üçün bir nemətdir, çünki onların emal gücü məlumatların normal şəkildə ötürülməsi üçün yetərli deyil ki, bu da autentifikasiya, şifrələmə və s. MQTT, məhdudlaşdırılmış şəbəkələr və müştərilər üçün ideal hala gətirən yüngüllük, birdən çox paylama və sair kimi bir çox başqa xüsusiyyətə malikdir.

Addım 2: IoT Platformasına Giriş

IoT Platforması nədir?

"Yüksək səviyyədə Əşyaların İnterneti (IoT) platforması, kənar avadanlıqları, giriş nöqtələrini və məlumat şəbəkələrini dəyər zəncirinin digər hissələrinə (ümumiyyətlə son istifadəçi tətbiqləri olan) birləşdirən dəstək proqramdır. IoT platformaları adətən istifadəçilərə mühitlərini avtomatlaşdırmağa imkan verən davamlı idarəetmə vəzifələrini və məlumatların vizualizasiyasını idarə edin. " (Link-Labs-dan)

IoT platforması, istifadəçi ilə toplanan məlumatları təmsil etməkdən məsul olan məlumat toplama agentləri arasında vasitəçi rolunu oynayır.

Bu Təlimat kitabında, ESP32 -nin temperatur oxunuşlarını onlayn rejimə keçirməyi planlaşdırırıq. ESP32, MQTT naşiri kimi çıxış edəcək və MQTT brokeri seçdiyimiz bir IoT platforması olacaq. Qeyd edək ki, layihəmizdə məlumatlar platformanın özü tərəfindən təqdim edildiyi üçün MQTT abunəçisinin rolu yoxdur. IoT platforması, yayımlanan məlumatlarımızı saxlamaqdan və burada bir xətt qrafiki olaraq gözəl şəkildə təqdim etməkdən məsul olacaq. Losant'ı burada IoT platformam olaraq istifadə edəcəyəm, çünki istifadəsi pulsuzdur və məlumatları təqdim etmək üçün yaxşı yollar təklif edir. IoT platformalarının digər nümunələri Google Cloud, Amazon AWS və Adafruit, Microsoft Azure və s. Oxucuya seçdikləri IoT platformasının sənədlərinə müraciət etməyi məsləhət görürəm.

Losant qurmaq:

  1. Losant -a daxil olun
  2. Bir cihaz yaradın (Bağımsız tip)
  3. Cihaza bir neçə məlumat növü əlavə edin1. Adı: temperatur, Məlumat Tipi: Sayı2. Adı: ofset, Məlumat Tipi: Sayı3. Ad: vahid, Məlumat Növü: String
  4. Bir giriş açarı yaradın və cihaz ID və giriş açarını qeyd edin
  5. Qrafik yaradın 1. Bir tablosuna yaradın.2. İstilik dəyişənindən və yaratdığınız cihazdan istifadə edərək "Zaman Seriyası Qrafiki" blokunu əlavə edin.

"Cihaz Kimliyi", bir cihaz üçün bənzərsiz bir barmaq izi kimi çıxış etmək məqsədinə xidmət edir. Adından da göründüyü kimi "giriş düymələri", IoT -un cihaz kimliyi altında Losant -da yayımlanmasına imkan verir.

Addım 3: MQTT Publisher hazırlayın

Image
Image

İndi məlumatları qəbul etmək və təqdim etmək üçün IoT platformasını hazırladıqdan sonra, məlumatların toplanması və platformaya göndərilməsindən məsul olan bir MQTT nəşriyyatı hazırlamalıyıq.

MQTT naşir hazırlığının konturu belədir:

  • Kodu yazın: Nəşriyyata (IoT) məlumatların toplanmasını, işlənməsini və IoT platformasına göndərilməsini öyrətmək. Təlimatlar, adətən kod olaraq adlandırılan, insan tərəfindən oxunan yüksək səviyyəli proqramlaşdırma dillərində yazılmışdır.
  • Firmware proqramını yandırın: IoT bu təlimatları asanlıqla başa düşməyəcək, çünki əvvəlcə heç bir dil bilmir. İnsan və maşın arasındakı bu dil baryerini aradan qaldırmaq üçün kod, IoT -də yanıb -sönən firmware olaraq bilinən IoT içərisində olan yaddaş yerlərinə xas olan onaltılı və ya ikili dəyərlər kobud bir təlimat toplusuna tərtib edilmişdir.

Bu Təlimat kitabında, lazımlı ESP32 -dən istifadə etdiyim üçün, həm C, həm də JavaScript yazılmış proqramları qəbul edən Mongoose OS firmware proqramını yandıracağam. JS uyğunluğundan başqa, Mongoose OS -nin hələ də proqramınızı onlayn tənzimləmək üçün hava yeniləmələri və cihazlar üçün xüsusi bir tablosuna (mDash) və s.

Bu Təlimat üçün Mongoose OS üçün açıq mənbə proqramı hazırladım. ESP32-nin daxili temperatur oxunuşlarına əsaslanaraq, ətraf mühitin oxunmuş oxunuşlarını Losant'a (pulsuz istifadə olunan IoT platforması) göndərmək üçün MQTT-dən istifadə edən losant-temp-sensor adlı sadə bir tətbiqdir. Daha yaxşı başa düşmək üçün tətbiqin kodundan keçməyiniz məsləhətdir. Bu Təlimat üçün bu proqramı yandıracağıq.

Əgər sərgüzəştli birisinizsə, ESP32-ni Arduino olaraq (WiFi qabiliyyəti ilə) istifadə etməyə imkan verən Arduino-ESP32 firmware ilə eyni məqsədə çatmağa cəhd edə bilərsiniz.

Mongoose OS ilə yanıb -sönən tətbiqlər üçün qısa bir nəticə:

  1. Əməliyyat sisteminiz üçün mos alətini quraşdırın.
  2. Aləti açın və aşağıdakı əmrləri yerinə yetirin:

    1. Mos klonu
    2. cos losant-temp sensoru
    3. mos build --platform esp32
    4. mos flaş
  3. Uğurla yanıb söndükdən sonra cihazın yenidən başlamasına icazə verin və sonra aşağıdakı əmrləri yerinə yetirin:

    1. mos wifi "wifi ssid" "wifi parolunuz" məsələn. wifi "Ev" "ev@123"
    2. Mos config-set temperatur.basis =

      temperatur.unit ="

      "məsələn. mos config-set temperatur.basis = 33 / temperature.unit =" santigrat"

    3. mos config-set device.id = mqtt.client_id = mqtt.user = mqtt.pass =

Bütün bu addımları düzgün bir şəkildə tamamladıqdan sonra, hər 10 dəqiqədən sonra, vaxtaşırı olaraq Losant'a temperatur oxunuşlarını göndərən bir ESP32 ilə qarşılaşacaqsınız. Uğurlu nəşr yuxarıdakı videoda göstərildiyi kimi mavi LED ilə göstərilir.

Addım 4: Dipnot

Image
Image
Qeyd
Qeyd

Əvvəlki addımları düzgün şəkildə təkrarlaya bilsəniz, o zaman indi işinizin layihəsi olacaqsınız ki, bunun köməyi ilə otağınızın içərisində və ya layihəni yerləşdirməyi planlaşdırdığınız hər yerdə temperatur meyllərini müşahidə edə bilərsiniz. Bu Təlimatçılığı bacardığım qədər ümumi saxladığım üçün, hər cür məlumat toplamaq və ondan faydalı bir şey bağlamağa çalışmaq üçün IoT -dən istifadə edə bilərsən və ya bunu yalnız düşünmək üçün edə bilərsən. Bu Təlimatı düzgün başa düşdünüz.

Mənim üçün, IoT -nin ən yaxşı tərəfi, tək başına götürüldüyü təqdirdə nəticəsiz böyük bir məlumat toplamaq və qəti bir şeyə çevirmək imkanı verməyimizdir. Bu, həqiqətən də elmin ruhuna zərbə vurur. Mənim üçün, qrafikim vasitəsilə yağışlı saatlarda otağımın içindəki temperaturun düşməsini görmək çox məmnun və maarifləndirici idi.

Losant-temp-sensor-app, ESP32-nin dərin yuxu xüsusiyyətindən istifadə etdiyi üçün enerji istehlakı üçün optimallaşdırılmışdır, buna görə də batareyadan heç narahat olmadan uzun müddət istifadə edə bilərsiniz. İnkişaf lövhəsindəki LED -i çıxararaq enerji səmərəliliyini daha da artıra bilərsiniz. Bütün quruluşun cari çəkilişi yuxarıda göstərilmişdir.

Bu Təlimatlandırmanın məqsədi, əvvəldən sizə IoT dünyası ilə tanış olmaq idi. Bu Təlimatı bitirdikdən sonra, digər onlayn mənbələr vasitəsilə daha da gücləndirə biləcəyiniz əsasları yaxşı mənimsəyəcəksiniz.

Bu mərhələdə kompleks layihələr edə bilməsəniz də, həmişə nəzərə alınmalıdır ki, əgər kifayət qədər güclü bir kərpiciniz varsa və onları bir araya gətirmək üçün bir yolunuz varsa, o zaman hər hansı bir təsəvvür edilə bilən bir quruluş düzəldə bilərsiniz. kompleksə. Eynilə, əsasları yaxşı başa düşmək və onları necə düzgün tətbiq etməyi bilmək, çoxlu ziddiyyətlər yaratmağa imkan verəcəkdir. Buna görə ilk addımı atdığınız üçün arxanıza bir vuruş verin.

Addım 5: Kredit və Dəstək

Bu Təlimat təsvirlərdən ibarətdir, məsələn. şəxsən etdiyim MQTT mübadiləsini izah edən. Bu təsvirlər yalnız aşağıdakı pulsuz istifadə olunan SVG paketləri sayəsində mümkün olmuşdur:

  • Freepik tərəfindən yaradılan infoqrafik vektor - www.freepik.com
  • Starline tərəfindən yaradılan infoqrafik vektor - www.freepik.com
  • İnsanlar vektoru pikisuperstar tərəfindən yaradılmışdır - www.freepik.com
  • Makrovektor tərəfindən yaradılmış mücərrəd vektor - www.freepik.com
  • Makrovektor tərəfindən yaradılmış mücərrəd vektor - www.freepik.com
  • Pikisuperstar tərəfindən yaradılan infoqrafik vektor - www.freepik.com

Bu Təlimat DFRobot tərəfindən maliyyələşdirilmişdir. DFRobot -un möhtəşəm bir elektronika kolleksiyası var, buna görə yoxlayın.

Bu Təlimatlandırmanı bəyəndiyinizi hiss edirsinizsə və bunun kimi daha çox Təlimatlandırıcılar istəsəniz, Patreonda mənə dəstək ola bilərsiniz. Bu qədər uzağa gedə bilmirsənsə, məni burada Təlimatlarda izləyə bilərsən.

Tövsiyə: