İçindekiler:

Seeed IoTea LoRa Çözümü (Azure ile, Güncelleme 1812): 5 Adım
Seeed IoTea LoRa Çözümü (Azure ile, Güncelleme 1812): 5 Adım

Video: Seeed IoTea LoRa Çözümü (Azure ile, Güncelleme 1812): 5 Adım

Video: Seeed IoTea LoRa Çözümü (Azure ile, Güncelleme 1812): 5 Adım
Video: Seeed IoTea Lora Solution 2024, Kasım
Anonim
Seeed IoTea LoRa Çözümü (Azure, Güncelleme 1812 ile)
Seeed IoTea LoRa Çözümü (Azure, Güncelleme 1812 ile)

Microsoft Azure, daha güçlü ve kararlı bilgi işlem gücü sağlayan bir bulut hizmetidir. Bu sefer IoTea verilerimizi ona göndermeyi denedik.

Adım 1: Bu Projede Kullanılanlar

Donanım bileşenleri

  • Grove - Karbon Dioksit Sensörü(MH-Z16)
  • Grove - Dijital Işık Sensörü
  • Grove - Toz Sensörü(PPD42NS)
  • Grove - Oksijen Sensörü(ME2-O2-Ф20)
  • Toprak Nemi ve Sıcaklık Sensörü
  • LoRa LoRaWAN Ağ Geçidi - Raspberry Pi 3 ile 868MHz Kiti
  • Grove - Sıcaklık&Humi&Barometre Sensörü (BME280)

Yazılım uygulamaları ve çevrimiçi hizmetler

  • Microsoft Visual Studio 2015
  • Microsoft Azure

2. Adım: Öykü

Sichuan, Ya'an'ın kuzeydoğusundaki Mengding Dağı'nda, dağ sırtı yeşil bir denizde batıdan doğuya uzanır. Bu, deniz seviyesinden 1100 m yükseklikte bulunan 50mu (=3.3 hektar) plantasyonuyla neslinin çok az Mengding çay üreticisinden biri olan 36 yaşındaki Deng için en tanıdık manzara. Deng, çay üreticisi bir aileden geliyor, ancak aile mirasını sürdürmek kolay bir iş değil. “Çaylarımız, mükemmel kalitesini sağlamak için organik bir ortamda yüksek rakımda yetiştirilmektedir. Ancak aynı zamanda, büyüme yoğunluğu düşük, maliyet yüksek ve tomurcuklanma düzensiz, bu da çayı hasat etmeyi zorlaştırıyor. Bu nedenle yüksek dağ çayları normalde küçük hasatlardır ve değerleri piyasaya yansıtılmaz.” Deng, son iki yıldır, değerlerini tanıtmak için yüksek dağ çayı konusunda tüketici bilincini artırmaya çalışıyor. Ve Seeed'in IoTea teknolojisini uygulamak için bir plantasyon arayan Fan ile tanıştığında, bir çözüm için mükemmel bir eşleşme yapıldı.

3. Adım: Donanım Bağlantısı

Donanımınızı bağlamak için lütfen Önceki Öğreticiyi takip edin.

4. Adım: Bulut Yapılandırması

Adım 1. Kaynak Grubu Oluşturun

Microsoft Azure'a giriş yapmak için buraya tıklayın. Ardından, panonun solundaki listeye Kaynak grupları girin, bir Kaynak Grubu eklemek için Ekle'ye tıklayın.

resim
resim

Projedeki tüm kaynakları yönetmek için bir Kaynak Grubu kullanılır, bulut kaynaklarını kullandıktan sonra, ücretlerden kaçınmak için tüm kaynakları silmek için kaynak grubunu silin. Açılan sayfada Kaynak grubu adını (iotea gibi) girin, gerekirse Abonelik ve Kaynak grubu konumunu seçin, Kaynak Grubu oluşturmak için Oluştur'a tıklayın.

2. Adım. Iot Hub'ı oluşturun

Artık bir bulut kaynağı oluşturabilirsiniz, soldaki Kaynak oluştur'a tıklayın, Nesnelerin İnterneti - Iot Hub'ı seçin, yeni bir sayfa açılacaktır.

Temeller sekmesinde, az önce oluşturduğunuz Kaynak Grubunu seçin ve Iot Hub Adını (iotea gibi) doldurun, gerekirse Abonelik ve Bölge'yi seçin ve ardından Boyut ve scle sekmesine dönün.

resim
resim

Boyut ve ölçek sekmesinde, Fiyatlandırma ve ölçek katmanı kombinasyonunda F1: Ücretsiz katman veya B1: Temel katman'ı seçin, Temel Katman ayda 10,00 USD alacaktır. Son olarak, girdiğiniz kontrolleri gözden geçir + oluştur sekmesine dönün ve bir Iot Hub oluşturmak için Oluştur'a tıklayın.

resim
resim

Adım 3. LORIOT'u yapılandırın

Yeni oluşturduğunuz Iot Hub'a girin, Paylaşılan erişim ilkeleri - cihaz'ı tıklayın, sağdaki Birincil anahtarı kopyalayın.

resim
resim

Yeni bir tarayıcı penceresi (veya sekmesi) açın, LORIOT Kontrol Panelinizde oturum açın, Uygulama - SampleApp'e dönün, Kontrol grubu - Değiştir'de Veri çıkışı'na tıklayın. Çıktı türünü değiştir grubunda Azure Iot Hub'ı seçin, Iot Hub Adınızı ve Birincil anahtarınızı doldurun ve alttaki Değişikliği onayla düğmesine tıklayın.

resim
resim

4. Adım. Io cihazı ekleyin

LORIOT'ta soldaki listeden Cihazlar'a tıklayın, Cihaz EUI'nizi kopyalayın.

resim
resim

Azure Iot Hub'a geri dönün, Iot Hub'ın solundaki listede Iot cihazları'na tıklayın. Ekle'ye tıklayın, açılan sayfada Cihaz EUI'sini Cihaz Kimliğine doldurun.

ÖNEMLİ: CİHAZ EUI'DEKİ TÜM AYIRICILARI SİL, 1122334455667788 gibi görünsün.

resim
resim

Kaydet'e tıklayın, hepsi tamamlandı.

Adım 5. D2C (Aygıttan Buluta) Mesajlarını Alın

D2C Mesajlarını okumak için Microsoft Docs'u takip edebilirsiniz.

Adım 5: Yazılım Programlama

Yazılım Programlama 3 bölüme ayrılmıştır: Düğüm, Ağ Geçidi ve Web Sitesi, lütfen Düğüm Bölümünü ve Ağ Geçidi Bölümünü programlamak için Önceki Eğitimi izleyin. Web Sitesi Bölümünün 1'den 8'e kadar olan adımları da Önceki Eğitim ile aynıdır.

Microsoft Azure'u zaten yapılandırdıysanız, bir terminal açın, web sitenizin kök klasörünü girin, sanal ortamı etkinleştirin:

cd ~/iotea-hb

kaynak kutusu/etkinleştir

pip aracılığıyla Azure Event Hub modülünü kurun ve yeni bir.py dosyası oluşturun (iothub_recv.py gibi):

pip kurulumu masmavi-eventhub

iothub_recv.py'ye dokunun

ve ardından aşağıdaki kodları yazın:

# --------------------------------------------------------------------------------------------

# Telif hakkı (c) Microsoft Corporation. Her hakkı saklıdır. # MIT Lisansı altında lisanslıdır. Lisans bilgileri için proje kökündeki License.txt'ye bakın. # ------------------------------------------------- ------------------------------------------- Azure'dan masmavi import eventhub. eventhub içe aktarma EventData, EventHubClient, Ofset içe aktarma günlük kaydı günlüğü = logging.getLogger('azure.eventhub') içe aktarma db, json, time, datetime def get_time(): cntime = datetime.datetime.now() + datetime.timedelta(saat = +8) tarih = cntime.strftime('%Y-{}-{}').format(cntime.strftime('%m').zfill(2), cntime.strftime('%d').zfill(2)) saat = cntime.strftime('%H').zfill(2) dakika = cntime.strftime('%M').zfill(2) saniye = cntime.strftime('%S').zfill(2) dönüş [tarih, saat, dakika, saniye] def get_iothub_data(): list = ['0'] * 11 client = EventHubClient.from_iothub_connection_string('', debug=True) alıcı = client.add_receiver("$varsayılan", " 3", operasyon='/messages/events', offset = Offset(datetime.datetime.utcnow())) deneyin: client.run() eh_info = client.get_eventhub_info() print(eh_info) alınan = alıcı.receive(zaman aşımı) =5) alınan öğe için yazdır(alındı): ben ssage = json.loads(str(item.message)) print(message) eğer mesajda 'data' ise: data = mesaj['data'] air_temp = str(int(data[0:2], 16)) air_hum = str(int(veri[2:4], 16)) basınç = str(int((veri[4:8]), 16)) co2 = str(int(veri[8:12], 16)) toz = str(int(veri[12:16], 16)) aydınlatma = str(int(veri[16:20], 16)) o2 = str(yuvarlak(int(veri[20:22], 16) / 10, 1)) toprak_temp = str(int(veri[22:24], 16)) toprak_hum = str(int(veri[24:26], 16)) voltaj = str(yuvarlak(int(veri[26:28], 16) / int('ff', 16) * 5, 1)) error = str(int(data[28:], 16)) list = [air_temp, air_hum, basınç, co2, toz, aydınlatma, o2, toprak_temp, toprak_hum, voltaj, hata] son olarak: client.stop() listeyi döndürürken True: liste = get_time() + get_iothub_data() db.insert(list) print(list)

Programı çalıştırmadan önce bağlantı dizinizi değiştirin.

istemci = EventHubClient.from_iothub_connection_string('', hata ayıklama=Doğru)

Iot Hub'da Paylaşılan erişim ilkeleri - iotowner'ı tıklayarak bağlantı dizenizi alabilirsiniz, açılan sayfadaki Bağlantı dizesi-birincil anahtar bağlantı dizesidir.

resim
resim

Bundan sonra programı başlatabilirsiniz:

gunicorn iothub_recv:app

Önerilen: