İçindekiler:

Tesisinizi Buluta Bağlayın: 10 Adım
Tesisinizi Buluta Bağlayın: 10 Adım

Video: Tesisinizi Buluta Bağlayın: 10 Adım

Video: Tesisinizi Buluta Bağlayın: 10 Adım
Video: Endüstriyel ve Kimyasal Tesislerde Seveso Kriterleri Kapsamında Yıldırımdan Korunma Sistem Tasarımı 2024, Temmuz
Anonim
Tesisinizi Buluta Bağlayın
Tesisinizi Buluta Bağlayın
Tesisinizi Buluta Bağlayın
Tesisinizi Buluta Bağlayın
Tesisinizi Buluta Bağlayın
Tesisinizi Buluta Bağlayın

Ofisimizde hak ettiği ilgiyi görmeyen bir kaktüs var. Bir BT şirketinde çalıştığım ve LoRa, sunucusuz çözümler ve AWS ile denemeler yapmak istediğim için kaktüsümüze Steeve adını verdim ve onu buluta bağladım. Artık onun için yaptığım web sayfasını kullanarak dünyanın hemen her yerinden Steve'i izleyebilirsiniz: Steve'in web arayüzü.

Gereçler

1 kaktüs / en sevdiğiniz bitki

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

1 868mHz/914mHz (bulunduğunuz yere göre değişir) anten (Amazon)

Bir aralıkta olmadığında 1 LoRa Ağ Geçidi (Amazon)

2 adet AA pil

1 TMP102 sensörü (Amazon)

1 toprak nem sensörü (Amazon)

İletken kablolar (Amazon)

havya

Pil tutucu (Amazon)

durum

isteğe bağlı: 3B yazıcı (3B yazıcı kullanabiliyorsanız, pil tutucuya veya kılıfa ihtiyacınız yoktur)

1. Adım: Kasayı Yazdırma (Opsiyonel)

Kasayı Yazdırma (Opsiyonel)
Kasayı Yazdırma (Opsiyonel)
Kasayı Yazdırma (Opsiyonel)
Kasayı Yazdırma (Opsiyonel)

Bu zip dosyasını indirin, açın ve dosyaları yazdırın. Dosyalar, öğenin ihtiyaç duyulan miktarı ile işaretlenmiştir.

Benim yaptığım gibi kapağa bir şeyler eklemekten çekinmeyin.

Bunları 0,2 mm katman yüksekliği ve %15 dolgu kullanarak yazdırdım.

Kutu kancaları m3 vidalar kullanılarak takılabilir.

Kutu yazdırıldığında, pil tutucu üzerinde gerekli bağlantıları yapmak için bir miktar kablo kullanabilirsiniz. Verilen resmi referans olarak kullanabilirsiniz.

Adım 2: Kablolama

kablolama
kablolama
  • Arduino'yu açmadan önce antenin bağlı olduğundan emin olun, arduino'yu anten olmadan açmak hasara neden olabilir.
  • Her şeyi sağlanan bağlantı şemasına göre bağlayın.
  • Bu telleri lehimliyorsanız, sensörler veya arduino üzerindeki herhangi bir pimi köprülemediğinizden emin olun!

3. Adım: Things Network'te Bir Uygulama Oluşturun

  • https://www.thethingsnetwork.org/ adresine gidin ve henüz bir hesabınız yoksa bir tane oluşturun.
  • Bir hesabınız olduğunda ve oturum açtıktan sonra konsola gidebilirsiniz (sağ üst köşede, kullanıcı adınızı ve ardından konsolda tıklayın).
  • Uygulamalara tıklayın.
  • Sayfa yüklendikten sonra "uygulama ekle"yi tıklayabilmeniz gerekir.
  • Formu doldurun ve alttaki doğru bölgeyi seçin. "Uygulama ekle"ye tıklayın.
  • Tebrikler, az önce şeyler ağında bir uygulama oluşturdunuz. =D

Adım 4: Arduino'yu Things Ağına Bağlama

Arduino'yu programlamak için çevrimiçi arduino ide'yi kullanmanızı tavsiye ederim, bu gerekli kütüphaneye yüklemeyi çok kolaylaştırır.

  • Uygulamanızı şeyler ağında açın.
  • Cihazlar başlıklı bir alan olmalı, cihazı kaydet'e tıklayın.
  • Cihaz Kimliği adlı bir alan göreceksiniz. sensörünüze vermek istediğiniz isim budur. Cihaz EUI olarak etiketlenmiş başka bir tane daha olmalıdır, bu, arduino'nuzun kimliğini doğrulamak için kullandığı benzersiz anahtardır.
  • Bu anahtarı almak için arduino'yu belirli bir çizimle flaş etmemiz gerekiyor. Kroki burada bulunabilir. Bu kroki çalıştırılmalı ve seri monitör üzerinden eui gönderilmelidir. eui'yi seri monitörden şeyler ağındaki Cihaz EUI alanına kopyalayın.
  • Kaydol'u tıklayın.
  • Artık arduinomuzu buluta kaydettik. Mesaj göndermeye başlamanın zamanı geldi.
  • Cihaza genel bakış adlı bir sayfaya yönlendirilmiş olmanız gerekirdi. Burada cihazınızın eui'sini, uygulama eui'sini ve uygulama anahtarını görebilirsiniz.
  • Devam etmek için son taslağı arduinoya aktarmamız gerekiyor. Kroki burada bulunabilir.
  • Bu bağlantıyı açtığınızda birden fazla sekme olduğunu göreceksiniz. Sırlar sekmesini açın. Things ağından secrets dosyasına kadar başa çıkmanız gereken 2 anahtar var.
  • Bu tuşlar doldurulduktan sonra arduino'yu flaş edebilirsiniz. Her saatte bir şeyler ağına veri göndermeye başlayacak.
  • Her şey yolunda giderse, arduino'yu sıfırladıktan sonra (tahtadaki tek düğme) şeyler ağındaki Veri sekmesinde gelen mesajları görebilmelisiniz.

    • Burada hiçbir veri görünmüyorsa, bu doğru bir LoRa ağ geçidi aralığında olmadığınız anlamına gelebilir. https://thethingsnetwork.org adresinde mevcut tüm ağ geçitlerinin bulunduğu bir haritayı kontrol edebilirsiniz. Tek kanallı LoRa ağ geçitleri, önerilen arduino ile çalışmayacaktır.
    • Bir ağ geçidi menzilinde değilseniz, kendi ağ geçidinizi şeyler ağına bağlayabilirsiniz. Bu ağ geçitleri genellikle onları nasıl bağlayacakları konusunda oldukça iyi öğreticilere sahiptir. Önerilen ağ geçidi için tedarik listesine bakın.

Adım 5: Nesneler Ağındaki Verilerin Yorumlanması

  • Nesneler ağındaki mesajlardan kullanılabilir veriler elde etmek için bayt akışının kodunu çözmemiz gerekir.
  • Şeyler ağında uygulamanıza gidin.
  • "Yük biçimleri" etiketli bir sekme olmalı, bu sekmeye tıklayın.
  • Yan yana 4 adet buton bulunmaktadır: "decoder", "converter", "validator", "encoder".
  • Kod çözücüye tıklayın.
  • Aşağıdaki kodu oraya yapıştırın.

function Kod Çözücü(bayt, bağlantı noktası) { // Bir bayt arabelleğinden // (dizi) bir alan nesnesine giden bağlantı mesajının kodunu çözün. var stringToDecode=bin2String(bytes); var res=stringToDecode.split(" "); var temp=res[1]; var nemli= res[3]; var bat= res[5]; var decoding = {"sıcaklık":temp, "nem":nemli, "pil":bat}; kodu çözülmüş dönüş; } function bin2String(dizi) { var sonuç = ""; for(var i = 0; i < dizi.length; ++i){ sonuç+= (String.fromCharCode(array)); } sonuç döndür;}

  • Kaydet'i tıklayın.
  • Arduino'yu sıfırladığınızda ve veri sekmenizi görüntülediğinizde, kolayca okuyabileceğiniz güzel biçimlendirilmiş bir json nesnesi görmelisiniz.

6. Adım: Uygulamanızı AWS'ye Bağlama

Nesneler ağındaki verileri depolamak ve kullanmak için AWS'yi kullanacağız. Kullanacağımız tüm kaynaklar, AWS'nin ücretsiz katmanı kapsamındadır.

  • AWS https://aws.amazon.com/ adresine gidin.
  • Giriş yap ya da bir hesap oluştur.
  • Nesneler ağındaki uygulamanızı AWS'ye bağlamak için şu öğreticiyi izlemenizi öneririm:
  • Bu öğreticiyi tamamladıktan sonra, aws konsolunda IoT-Core segmentine gidin.
  • Sol menü çubuğunda "Yönet" etiketi var, buna tıklayın.
  • Şimdi içinde sensörünüzün adının bulunduğu bir kart görmelisiniz.
  • Yine sol menü çubuğunda "Hareket Et" e tıklayın
  • Mağaza etiketli bir kart varsa, gitmekte fayda var.
  • Değilse, "Oluştur" u tıklayın.
  • "Mağaza" adını doldurun.
  • İsterseniz bir açıklama ekleyebilirsiniz.
  • Bir sorgu ifadesi olarak şu kodu girin: dev_id, metadata.time, payload_fields.temperature, payload_fields.moisture, payload_fields.battery FROM 'cactus_network/devices/+/up'.
  • "Bir veya daha fazla eylem ayarla"nın altında, eylem ekle'yi tıklayın.
  • "Mesajı bir DynamoDb tablosunun (DynamoDBv2) birden çok sütununa böl" seçeneğini seçin.
  • Eylemi yapılandır'ı tıklayın
  • Yeni kaynak oluştur'u tıklayın.
  • Tablo oluştur'a tıklayın ve tablonuza bir ad verin.
  • Birincil anahtarın altına "dev_id" yazın.
  • Sıralama anahtarı ekle'yi tıklayın
  • "Zaman" doldurun.
  • Oluştur'u tıklayın.
  • Her şey yolunda giderse, yapılandırma eylemi sayfasına geri dönmelisiniz.
  • "Bu eylemi gerçekleştirmek için AWS IoT erişimi vermek için bir rol seçin veya oluşturun" altında biraz gri renkli bir alan var.
  • Rol oluştur'a tıklayın ve bu role bir ad verin.
  • Rol oluştur'a tıklayın.
  • Eylem ekle'yi tıklayın.
  • Kural oluştur'u tıklayın.
  • Artık, şeyler ağından gelen tüm mesajları DynamoDb'de otomatik olarak depolayan bir kuralınız olmalıdır.
  • Bunun çalışıp çalışmadığını arduino'yu sıfırlayarak kontrol edebilir ve az önce oluşturduğunuz DynamoDb tablosuna bakabilirsiniz.
  • Mesajla birlikte bir kayıt olmalıdır.

7. Adım: Lambda Oluşturma

DynamoDB'den veri okumak için bir AWS lambda yazacağız.

  • AWS yönetim konsolunda hizmetler altında "Lambda" etiketli bir bağlantı var, buna tıklayın.
  • İşlev oluştur'a tıklayın.
  • Bir isim seç.
  • Çalışma zamanını python 3.7 olarak ayarlayın.
  • İşlev oluştur'a tıklayın.
  • Bu kodu entegre IDE'ye yapıştırın.

json'u içe aktar

boto3 içe aktarma zamanı tarihsaatinden içe aktarma tarihsaat, boto3.dynamodb.conditions öğesinden zamandelta içe aktarma Anahtar, Attr def lambda_handler(olay, bağlam): return retreive_data() def retreive_data(): # Hizmet kaynağını alın. dynamodb = boto3.resource('dynamodb') tablo = dynamodb. Table('TABLO ADI BURADA') şimdi = datetime.now() dün = şimdi - timedelta(hours=24) fe = Key('time').between(dün.isoformat(), now.isoformat()) feed'i =Key('time').lt(yesterday.isoformat()) yanıtı = table.scan(FilterExpression=fe) recordToDelete=table.scan(FilterExpression=fed) için f in recordToDelete['Items']: #print(f) table.delete_item(Key={'dev_id':f['dev_id'], 'time':f['time']}) data = yanıt['Items '] veriyi döndür

  • Tablo adını seçtiğiniz adla değiştirin.
  • Yürütme rolüne ilerleyin.
  • aws ilke şablonlarından yeni bir rol oluştur'u tıklayın.
  • Bir isim seç.
  • İlke şablonları altında "Harmanlama izinlerini test et" ve "Basit mikro hizmet izinleri"ni seçin.
  • Kaydet'i tıklayın.
  • Testi tıklayın.
  • Bir açılır pencere görünebilir, sadece bir ad seçin ve kaydedin.
  • Tekrar teste tıklayın.
  • En üstte "Yürütme sonucu: başarılı" yazan yeşil bir afiş olmalıdır.
  • Bu başlığı tıkladığınızda bu işlevin çıktısını görmelisiniz, bu sensör verilerinin bir listesi olmalıdır.
  • Lütfen bu komut dosyasının 24 saatten eski tüm verileri sildiğini unutmayın.
  • Banner'ınız yeşil değil de kırmızı ise, bir şeyi kaçırmışsınızdır ve bu banner'a tıklamak size tam hata mesajını verecektir. Bu durumda google en iyi arkadaşınızdır.

8. Adım: Bir API Uç Noktası Oluşturma

  • AWS yönetim konsolunda hizmetler altında "api-gateway" etiketli bir bağlantı var, buna tıklayın.
  • API oluştur'u tıklayın.
  • "REST" ve "New API" öğelerinin her ikisinin de seçili olduğundan emin olun.
  • API'niz için bir ad seçin.
  • API oluştur'u tıklayın.
  • Şimdi ekranda eylemler etiketli bir düğme olmalı, tıklayın.
  • Ardından Kaynak oluştur'a tıklayın.
  • Kaynak adı olarak "plant" veya "plant-data" gibi basit bir şey kullanmalısınız.
  • Kaynak oluştur'u tıklayın.
  • Sol tarafta şimdi az önce girdiğiniz ad olmalıdır. bu adı tıklayın.
  • Şimdi eylemleri tekrar tıklayın ve şimdi yöntem ekle'yi tıklayın.
  • GET'i seçin.
  • Onay işaretini tıklayın.
  • Lambda Function etiketli bir metin kutusu olmalıdır.
  • Lambda fonksiyonuna verdiğiniz ismi buraya giriniz.
  • Kaydet'i tıklayın.
  • Sizi fazladan izinler oluşturduğu konusunda uyaran bir açılır pencere olabilir.
  • Bu açılır pencereyi kabul edin.
  • Şimdi eylemler altında cors'u etkinleştir'i tıklayın.
  • "CORS'u etkinleştir ve mevcut CORS başlıklarını değiştir" seçeneğini tıklayın.
  • "Evet, …" seçeneğini tıklayın.
  • Eylemleri tekrar tıklayın ve API Dağıt'ı tıklayın.
  • Dağıtım aşaması altında [Yeni Aşama]'yı seçin.
  • Bir isim seç.
  • Dağıt'ı tıklayın.
  • Artık api'nizi çevrimiçi olarak dünyaya yayınladınız.
  • Şimdi geldiğiniz ekranda, az önce oluşturduğunuz kaynağa ve "AL" düğmesine tıklayın.
  • En üstte "URL'yi çağır" etiketli bir bağlantı olmalıdır.
  • Bu bağlantıyı kopyalayın.
  • Bir tarayıcıya yapıştırın ve enter tuşuna basın.
  • Veritabanındaki verileri görmelisiniz.

9. Adım: Tesisinizi Sosyal Tesis Ağına Bağlayın

  • https://bit.ly/social_plant_network adresine gidin.
  • "Giriş" i tıklayın.
  • Hesap oluştur'u tıklayın.
  • Hesabınızı oluşturmak için formu doldurun.
  • Lütfen kullanıcı adının aynı zamanda e-postanız olması gerektiğini unutmayın.
  • Hesap oluştur'u tıklayın.
  • Devam etmeden önce e-postanızı doğrulamanız gerekebilir.
  • Giriş yaptığınıza emin olun.
  • Ana sayfaya geri dönün (sol üst köşedeki logoya tıklayın).
  • Ayarlar düğmesine tıklayın.
  • Formu doldurun, her alanı doldurmalısınız.
  • API bağlantısı, API uç noktasını oluşturduktan sonra kaydettiğiniz bağlantıdır.
  • Her şey doldurulduğunda tesisi kaydet düğmesine tıklayın. sistem şimdi girdiğiniz api bağlantısını doğrulayacak ve bu doğruysa tesisinizi ağa kaydedecektir.
  • Ana sayfaya geri dönün.
  • Artık tüm bitkilere tıklayabilirsiniz, kayıtlı tüm bitkileri görebilmeniz gerekir. bitkiniz de orada olmalı. kartı tıkladığınızda tesisinizin bir genel bakış sayfasına yönlendirileceksiniz, ayrıca ayarlarda belirlediğiniz değerlere dayalı tavsiyeler görüntülenecektir.

Adım 10: Arkanıza Yaslayın ve Sırtınızı Patlatın

Az önce bir tesisi internete bağladınız. Oldukça etkileyici, değil mi?

Önerilen: