Mündəricat:

Bitkinizi Buluda Bağlayın: 10 Adım
Bitkinizi Buluda Bağlayın: 10 Adım

Video: Bitkinizi Buluda Bağlayın: 10 Adım

Video: Bitkinizi Buluda Bağlayın: 10 Adım
Video: Gelsin Hayat Bildiği Gibi - 10.Bölüm 2024, Iyul
Anonim
Zavodunuzu Buluda Bağlayın
Zavodunuzu Buluda Bağlayın
Zavodunuzu Buluda qoşun
Zavodunuzu Buluda qoşun
Zavodunuzu Buluda Bağlayın
Zavodunuzu Buluda Bağlayın

Ofisimizdə layiq olduğu diqqəti çəkməyən bir kaktus var. Bir İT şirkətində işlədiyimdən və LoRa, serversiz həllər və AWS ilə təcrübə aparmaq istədiyim üçün kaktusumuza Steeve adını verdim və onu buluda bağladım. Artıq Steeve'i dünyanın hər yerindən onun üçün hazırladığım veb səhifədən istifadə edərək izləyə bilərsiniz: Steeve -nin veb interfeysi.

Təchizat

1 kaktus / ən sevdiyiniz bitki

1 Arduino MKR WAN 1300 (Arduino mağazası)

1 868mHz/914mHz (yerləşdiyiniz yerdən asılı olaraq) anten (Amazon)

1 aralığında olmadıqda 1 LoRa Gateway (Amazon)

2 ədəd AA batareya

1 TMP102 sensoru (Amazon)

1 torpaq nəm sensoru (Amazon)

Keçirici kabellər (Amazon)

lehimleme dəmir

Batareya tutacağı (Amazon)

dava

isteğe bağlı: 3D printer (3d printerdən istifadə edə bilsəniz, batareya tutucusuna və ya qutuya ehtiyacınız yoxdur)

Addım 1: Kassanı çap edin (İsteğe bağlı)

Kassanın Çap edilməsi (İsteğe bağlı)
Kassanın Çap edilməsi (İsteğe bağlı)
Kassanın Çap edilməsi (İsteğe bağlı)
Kassanın Çap edilməsi (İsteğe bağlı)

Bu zip faylını yükləyin, açın və sənədləri çap edin. Fayllar, maddənin ehtiyac miqdarı ilə qeyd olunur.

Mənim kimi qapağa bir şey əlavə etməkdən çekinmeyin.

Bunları 0,2 mm təbəqə hündürlüyü və 15% doldurma istifadə edərək çap etdim.

Qutular m3 vintləri ilə bağlana bilər.

Qutu çap edildikdə, batareya tutucusuna lazımi bağlantıları qurmaq üçün bir tel istifadə edə bilərsiniz. İstinad olaraq təqdim olunan şəkildən istifadə edə bilərsiniz.

Addım 2: Kabel çəkmə

Kablolama
Kablolama
  • Arduino -nu işə salmadan əvvəl antenin bağlı olduğundan əmin olun, arduino -nu antenasız işə salmaq zərər verə bilər.
  • Hər şeyi göstərilən sxemə uyğun olaraq bağlayın.
  • Bu telləri lehimləyirsinizsə, sensorlar və ya arduino üzərində heç bir sancaq bağlamadığınızdan əmin olun!

Addım 3: Şeylər Şəbəkəsində Tətbiq yaradın

  • Https://www.thethingsnetwork.org/ saytına daxil olun və hələ hesabınız yoxdursa, hesab yaradın.
  • Hesabınız olduqda və daxil olduqdan sonra konsola gedə bilərsiniz (sağ üst küncdə istifadəçi adınızı və sonra konsolda).
  • Tətbiqləri vurun.
  • Səhifə yükləndikdən sonra "tətbiq əlavə et" düyməsini basmalısınız.
  • Formu doldurun və altındakı doğru bölgəni seçin. "Tətbiq əlavə et" düyməsini basın.
  • Təbriklər, əşyalar şəbəkəsində yeni bir tətbiq yaratmısınız. = D

Addım 4: Arduino'yu Şeylər Şəbəkəsinə bağlayın

Arduino proqramlaşdırmaq üçün onlayn arduino ide istifadə etməyi məsləhət görürəm, bu lazım olan kitabxananın yüklənməsini çox asanlaşdırır.

  • Əşyalar şəbəkəsində tətbiqinizi açın.
  • Cihazlar adlı bir sahə olmalıdır, cihazı qeyd et düyməsini basın.
  • Cihaz Id adlı bir sahə görəcəksiniz. sensorunuza vermək istədiyiniz ad budur. Cihaz EUI etiketli başqa biri olmalıdır, bu arduino -nun özünü təsdiq etmək üçün istifadə etdiyi unikal açardır.
  • Bu açarı əldə etmək üçün arduinonu xüsusi bir eskizlə yandırmalıyıq. Eskiz üzərində tapa bilərsiniz. Bu eskiz işləməlidir və serial monitorun üstündən eui göndərilməlidir. Eui -ni serial monitorundan əşyalar şəbəkəsindəki Cihaz EUI sahəsinə kopyalayın.
  • Qeydiyyatdan keçin.
  • İndi arduino -nuzu buluda qeyd etdik. Mesaj göndərməyə başlamağın vaxtıdır.
  • Cihaza baxış adlı bir səhifəyə yönləndirilməli idiniz. Burada cihazınızı eui, app eui və tətbiq düyməsini görə bilərsiniz.
  • Davam etmək üçün son eskizini arduinoya bağlamalıyıq. Eskizi burada tapa bilərsiniz.
  • Bu linki açanda birdən çox nişanın olduğunu görəcəksiniz. Gizli sekmesini açın. Şeylər şəbəkəsindən sirlər faylına keçməyiniz lazım olan 2 düymə var.
  • Bu düymələr doldurulduqdan sonra arduinonu yandıra bilərsiniz. Hər saat bir dəfə əşyalar şəbəkəsinə məlumat göndərməyə başlayacaq.
  • Hər şey qaydasındadırsa, arduino (lövhədəki yeganə düymə) sıfırlandıqdan sonra şeylər şəbəkəsindəki Məlumatlar sekmesinde gələn mesajları görə bilməlisiniz.

    • Yuxarıda görünən heç bir məlumat yoxdursa, bu, düzgün LoRa şlüzünə daxil olmadığınız anlamına gələ bilər. Https://thethingsnetwork.org saytında bütün mövcud şlüzləri olan bir xəritəni yoxlaya bilərsiniz. Tək kanallı LoRa şlüzləri tövsiyə olunan arduino ilə işləməyəcək.
    • Bir keçid aralığında deyilsinizsə, əşyalar şəbəkəsinə öz qapınızı qoşa bilərsiniz. Bu ağ geçitləri ümumiyyətlə onları necə bağlamaq barədə kifayət qədər yaxşı dərslərə malikdir. Tövsiyə olunan ağ geçidi üçün təchizat siyahısına baxın.

Addım 5: Şeylər Şəbəkəsindəki Veriləri Şərh etmək

  • Şəbəkələrdəki mesajlardan istifadə edilə bilən məlumatları əldə etmək üçün bytestreamin kodunu açmalıyıq.
  • Şəbəkələrdə tətbiqinizə gedin.
  • "Yükləmə formatları" etiketli bir sekme olmalıdır, bu sekmeyi basın.
  • Bir -birinin yanında 4 düymə var: "dekoder", "çevirici", "doğrulayıcı", "kodlayıcı".
  • Dekoderi vurun.
  • Aşağıdakı kodu ora yapışdırın.

decoder (bayt, port) funksiyası {// bir baytarlıq buferindən // (massivindən) bir sahə obyektinə bir yuxarı bağlantı mesajının kodunu deşifr edin. var stringToDecode = bin2String (bayt); var res = stringToDecode.split (""); var temp = res [1]; var moist = res [3]; var bat = res [5]; var decoded = {"temperatur": temp, "nəm": nəm, "batareya": bat}; dekodlaşdırılmış geri qaytarma; } funksiyası bin2String (array) {var nəticə = ""; for (var i = 0; i <array.length; ++ i) {nəticə+= (String.fromCharCode (array )); } nəticə qaytar;}

  • Saxla düyməsini basın.
  • Arduino -nu sıfırladığınızda və məlumat sekmesine baxdığınızda, asanlıqla oxuya biləcəyiniz gözəl formatlı bir json obyekti görməlisiniz.

Addım 6: Tətbiqinizi AWS -ə bağlayın

Şəbəkələrdəki məlumatları saxlamaq və istifadə etmək üçün AWS -dən istifadə edəcəyik. İstifadə edəcəyimiz bütün mənbələr pulsuz AWS səviyyəsi ilə əhatə olunur.

  • AWS https://aws.amazon.com/ saytına daxil olun.
  • Daxil olun və ya hesab yaradın.
  • Şəbəkə tətbiqinizi AWS-ə bağlamaq üçün bu təlimatı izləməyi məsləhət görürəm:
  • Bu təlimatı tamamladıqdan sonra aws konsolunda IoT-Core seqmentinə gedin.
  • Sol menyu çubuğunda "İdarə et" etiketi var, üzərinə vurun.
  • İndi sensorun adı olan bir kart görməlisiniz.
  • Yenə sol menyu çubuğunda "İşlət" düyməsini basın
  • Mağaza etiketli bir kart varsa, getməyiniz yaxşıdır.
  • Əks təqdirdə "Yarat" düyməsini basın.
  • "Mağaza" adını daxil edin.
  • İstəsəniz bir şərh əlavə edə bilərsiniz.
  • Sorğu ifadəsi olaraq aşağıdakı kodu daxil edin: dev_id, metadata.time, payload_fields.temperature, payload_fields.moisture, payload_fields.battery FROM 'cactus_network/devices/+/up'.
  • "Bir və ya daha çox hərəkəti təyin et" bölməsində Əməliyyat əlavə et düyməsini vurun.
  • "Mesajı DynamoDb cədvəlinin (DynamoDBv2) birdən çox sütununa bölün" seçin.
  • Fəaliyyəti konfiqurasiya et vurun
  • Yeni qaynaq yaratmaq düyməsini vurun.
  • Masa yaratmaq düyməsini vurun və masanıza ad verin.
  • Əsas açarın altında "dev_id" yazın.
  • Sıralama düyməsini əlavə edin
  • "Zaman" yazın.
  • Yarat düyməsini basın.
  • Hər şey yaxşı olarsa, yenidən konfiqurasiya səhifəsinə qayıtmalısınız.
  • "Bu hərəkəti yerinə yetirmək üçün AWS IoT girişi vermək üçün bir rol seçin və ya yaradın" altında bir qədər boz rəngli bir sahə var.
  • Rol yarat düyməsini basın və bu rola ad verin.
  • Rol yaratmaq düyməsini basın.
  • Fəaliyyət əlavə et vurun.
  • Qayda yaratmaq düyməsini basın.
  • İndi DynamoDb -də şeylər şəbəkəsindən gələn bütün mesajları avtomatik olaraq saxlayan bir qaydanız olmalıdır.
  • Arduinonu sıfırlayaraq bunun işlədiyini yoxlaya və yeni yaratdığınız DynamoDb cədvəlinə baxa bilərsiniz.
  • Mesajı olan bir qeyd olmalıdır.

Addım 7: Lambda yaratmaq

DynamoDB -dən məlumatları oxumaq üçün AWS lambda yazacağıq.

  • Xidmətlər altındakı AWS idarəetmə konsolunda "Lambda" etiketli bir keçid var, bunu vurun.
  • Yarat funksiyasını vurun.
  • Bir ad seçin.
  • İş vaxtını python 3.7 -ə təyin edin.
  • Yarat funksiyasını vurun.
  • Bu kodu inteqrasiya edilmiş IDE -yə yapışdırın.

json idxal edin

boto3 idxalı datetime, boto3.dynamodb.conditions'dan timedelta idxal açar, Attr def lambda_handler (hadisə, kontekst): retreive_data () def retreive_data (): # Xidmət qaynağını əldə edin. dynamodb = boto3.resource ('dynamodb') table = dynamodb. Table ('TABLE NAME BURADA') indi = datetime.now () dünən = indi - timedelta (saat = 24) fe = Açar ('vaxt'). arasında (dünən.isoformat (), indi.isoformat ()) qidalanır = Açar ('vaxt'). lt (dünən.isoformat ()) cavab = table.scan (FilterExpression = fe) recordsToDelete = table.scan (FilterExpression = qidalanır) üçün f in recordsToDelete ['Məhsullar']: #print (f) table.delete_item (Açar = {'dev_id': f ['dev_id'], 'vaxt': f ['vaxt']}) data = cavab ['Maddələr '] məlumatları qaytarın

  • Cədvəlin adını seçdiyiniz adla dəyişdirin.
  • İcra roluna keçin.
  • Aws siyasət şablonlarından yeni bir rol yaratmaq düyməsini basın.
  • Bir ad seçin.
  • Siyasət şablonları altında "Test qoşqu icazələrini" və "Sadə mikroservis icazələrini" seçin.
  • Saxla düyməsini basın.
  • Test düyməsini basın.
  • Bir popup görünə bilər, sadəcə bir ad seçin və qeyd edin.
  • Yenidən sınayın.
  • Yuxarıda "İcra nəticəsi: uğur qazandı" yazan yaşıl bir pankart olmalıdır.
  • Bu pankartı tıkladığınızda bu funksiyanın çıxışını görməlisiniz, bu məlumatların siyahısı olmalıdır.
  • Unutmayın ki, bu skript 24 saatdan artıq olan bütün məlumatları silir.
  • Pankartınız yaşıl deyil, qırmızı rəngdədirsə, bir şeyi qaçırmısınız və bu bannerə basmaq sizə tam bir səhv mesajı verəcəkdir. Bu vəziyyətdə Google ən yaxşı dostunuzdur.

Addım 8: API son nöqtəsi yaratmaq

  • Xidmətlər altındakı AWS idarəetmə konsolunda "api-şluz" etiketli bir keçid var, bunu vurun.
  • API yaratmaq düyməsini basın.
  • "REST" və "New API" nin seçildiyindən əmin olun.
  • Api üçün bir ad seçin.
  • API yaratmaq düyməsini basın.
  • İndi ekranda hərəkətlər etiketli bir düymə olmalıdır, üzərinə vurun.
  • Sonra Resurs yaratmaq düyməsini basın.
  • Mənbə adı olaraq "bitki" və ya "bitki məlumatları" kimi sadə bir şeyə sahib olmalısınız.
  • Resurs yaratmaq düyməsini basın.
  • Solda indi daxil etdiyiniz ad olmalıdır. bu adı vurun.
  • İndi hərəkətləri yenidən vurun və metod əlavə et düyməsini basın.
  • GET seçin.
  • Onay işarəsini vurun.
  • Lambda Function etiketli bir mətn qutusu olmalıdır.
  • Sizə lambda funksiyası verdiyiniz adı bura daxil edin.
  • Saxla düyməsini basın.
  • Əlavə icazələr yaratdığını xəbərdar edən bir popup ola bilər.
  • Bu pop -upı qəbul edin.
  • İndi hərəkətlər altında cors imkan ver düyməsini basın.
  • "CORS -u aktiv et və mövcud CORS başlıqlarını dəyişdir" düyməsini basın.
  • "Bəli, …" düyməsini basın.
  • Yenidən hərəkətləri vurun və API yerləşdirmə düyməsini basın.
  • Yerləşdirmə mərhələsində [Yeni Mərhələ] seçin.
  • Bir ad seçin.
  • Dağıtma düyməsini basın.
  • İndi api -ni onlayn olaraq dünyaya yayımlamısınız.
  • Gəldiyiniz ekranda indi "GET" düyməsini basın və yeni yaratdığınız mənbəni göstərin.
  • Yuxarıda "URL çağır" etiketli bir link olmalıdır.
  • Bu linki kopyalayın.
  • Brauzerə yapışdırın və Enter düyməsini basın.
  • Verilənlər bazasında olan məlumatları görməlisiniz.

Addım 9: Zavodunuzu Sosial Bitkilər Şəbəkəsinə qoşun

  • Http://bit.ly/social_plant_network ünvanına daxil olun.
  • "Giriş" düyməsini basın.
  • Hesab yaratmaq düyməsini basın.
  • Hesabınızı yaratmaq üçün formanı doldurun.
  • Nəzərə alın ki, istifadəçi adı da e -poçtunuz olmalıdır.
  • Hesab yaratmaq düyməsini basın.
  • Davam etməzdən əvvəl e -poçtunuzu doğrulamalı ola bilərsiniz.
  • Daxil olduğunuzdan əmin olun.
  • Ana səhifəyə qayıt (sol üst küncdəki loqotipi vurun).
  • Ayarlar düyməsini vurun.
  • Formu doldurun, hər sahəni doldurmalısınız.
  • API bağlantısı, API son nöqtəsini yaratdıqdan sonra saxladığınız bağlantıdır.
  • Hər şey doldurulduqda bitkini saxla düyməsini basın. sistem indi daxil etdiyiniz api bağlantısını yoxlayacaq və bu düzgündürsə, bitkinizi şəbəkədə saxlayacaq.
  • Ana səhifəyə qayıdın.
  • İndi bütün bitkiləri vura bilərsiniz, qeydiyyatdan keçmiş bütün bitkiləri görə bilməlisiniz. zavodunuz da orada olmalıdır. kartı vurun və bitkinizin ümumi bir səhifəsinə aparılacaqsınız, eyni zamanda parametrlərdə təyin etdiyiniz dəyərlərə əsaslanan tövsiyələri göstərəcəkdir.

Addım 10: Arxaya söykənin və kürəyinizə vurun

Bir bitkini İnternetə yeni bağladınız. Çox təsir edici, elə deyilmi?

Tövsiyə: