Სარჩევი:

ნახეთ IoTea LoRa გადაწყვეტა (Azure– ით, განახლება 1812): 5 ნაბიჯი
ნახეთ IoTea LoRa გადაწყვეტა (Azure– ით, განახლება 1812): 5 ნაბიჯი

ვიდეო: ნახეთ IoTea LoRa გადაწყვეტა (Azure– ით, განახლება 1812): 5 ნაბიჯი

ვიდეო: ნახეთ IoTea LoRa გადაწყვეტა (Azure– ით, განახლება 1812): 5 ნაბიჯი
ვიდეო: Privacy, Security, Society - Computer Science for Business Leaders 2016 2024, ივნისი
Anonim
ნახეთ IoTea LoRa გადაწყვეტა (Azure– ით, განახლება 1812)
ნახეთ IoTea LoRa გადაწყვეტა (Azure– ით, განახლება 1812)

Microsoft Azure არის ღრუბლოვანი სერვისი, რომელიც უზრუნველყოფს უფრო მძლავრ და სტაბილურ გამოთვლილ ძალას. ამჯერად ჩვენ ვცადეთ ჩვენი IoTea მონაცემების გაგზავნა.

ნაბიჯი 1: ნივთები, რომლებიც გამოიყენება ამ პროექტში

აპარატურის კომპონენტები

  • გროვი - ნახშირბადის დიოქსიდის სენსორი (MH -Z16)
  • გროუვი - ციფრული სინათლის სენსორი
  • გროვი - მტვრის სენსორი (PPD42NS
  • გროვი-ჟანგბადის სენსორი (ME2-O2-Ф20)
  • ნიადაგის ტენიანობისა და ტემპერატურის სენსორი
  • LoRa LoRaWAN Gateway - 868MHz ნაკრები Raspberry Pi 3 -ით
  • გროვი - ტემპერამენტი და ჰუმი და ბარომეტრის სენსორი (BME280)

პროგრამული უზრუნველყოფის პროგრამები და ონლაინ სერვისები

  • Microsoft Visual Studio 2015
  • Microsoft Azure

ნაბიჯი 2: ისტორია

მენგდინგის მთაზე იაანის ჩრდილო -აღმოსავლეთით, სიჩუანი, მთის ქედი დასავლეთიდან აღმოსავლეთით გადის მწვანე ზღვაში. ეს არის ყველაზე ნაცნობი სანახაობა 36 წლის დენგისთვის, მისი თაობის მენგდინგის ჩაის ერთ – ერთი იმ მცირერიცხოვანი ადამიანისაგან, რომლის პლანტაციაა 50 მუ (= 3.3 ჰექტარი) ზღვის დონიდან 1100 მეტრზე. დენგი ჩაის მწარმოებელთა ოჯახიდან მოდის, მაგრამ ოჯახის მემკვიდრეობის შენარჩუნება ადვილი საქმე არ არის.”ჩვენი ჩაი იზრდება მაღალ სიმაღლეზე ორგანულ გარემოში, რათა უზრუნველყოს მისი შესანიშნავი ხარისხი. მაგრამ ამავე დროს, ზრდის სიმჭიდროვე დაბალია, ღირებულება მაღალია და ყვავის არათანაბარი, რის გამოც ჩაის მოსავალი რთულდება. სწორედ ამიტომ მაღალმთიანი ჩაი ჩვეულებრივ მცირე მოსავალია და მათი ღირებულებები არ აისახება ბაზარზე.”ბოლო ორი წელია დენგი ცდილობს გაზარდოს მომხმარებელთა ცნობიერება მაღალმთიანი ჩაის შესახებ მათი ღირებულების გასაუმჯობესებლად. და როდესაც ის შეხვდა ფანს, რომელიც ეძებდა პლანტაციას Seeed's IoTea ტექნოლოგიის განსახორციელებლად, გამოსავლის სრულყოფილი შესატყვისი გაკეთდა.

ნაბიჯი 3: აპარატურის კავშირი

გთხოვთ, მიჰყევით წინა გაკვეთილს თქვენი აპარატურის დასაკავშირებლად.

ნაბიჯი 4: ღრუბლის კონფიგურაცია

ნაბიჯი 1. შექმენით რესურს ჯგუფი

დააწკაპუნეთ აქ Microsoft Azure– ში შესასვლელად. და შემდეგ, შეიყვანეთ რესურსების ჯგუფები სიის პანელის მარცხნივ, დააწკაპუნეთ დამატებაზე რესურსების ჯგუფის დასამატებლად.

გამოსახულება
გამოსახულება

რესურს ჯგუფი გამოიყენება პროექტის ყველა რესურსის სამართავად, ღრუბლოვანი რესურსების გამოყენების შემდეგ, რესურსების ჯგუფის წაშლა ყველა რესურსის წასაშლელად, საფასურის თავიდან ასაცილებლად. გახსნილ გვერდზე, შეავსეთ რესურსების ჯგუფის სახელი (როგორიცაა iotea), შეარჩიეთ გამოწერა და რესურსების ჯგუფის მდებარეობა საჭიროების შემთხვევაში, დააწკაპუნეთ შექმნა რესურს ჯგუფის შესაქმნელად.

ნაბიჯი 2. შექმენით Iot Hub

ახლა თქვენ შეგიძლიათ შექმნათ ღრუბლოვანი რესურსი, დააწკაპუნეთ მარცხენა მხარეს რესურსის შექმნაზე, აირჩიეთ ნივთების ინტერნეტი - Iot Hub, ის გახსნის ახალ გვერდს.

საფუძვლების ჩანართში შეარჩიეთ თქვენ მიერ შექმნილი რესურსების ჯგუფი და შეავსეთ Iot Hub სახელი (როგორიცაა iotea), საჭიროების შემთხვევაში შეარჩიეთ გამოწერა და რეგიონი, შემდეგ კი გადადით ზომის და გაფართოების ჩანართზე.

გამოსახულება
გამოსახულება

ზომა და მასშტაბი ჩანართში აირჩიეთ F1: უფასო იარუსი ან B1: ძირითადი საფეხური ფასების და მასშტაბის იარუსი კომბინირებული, ძირითადი იარუსი მიიღებს 10,00 აშშ დოლარს თვეში. დაბოლოს, გადადით მიმოხილვა + შექმნა ჩანართზე, რომ შეამოწმოთ თქვენი შეყვანა და დააწკაპუნეთ შექმნაზე, რომ შექმნათ Iot Hub.

გამოსახულება
გამოსახულება

ნაბიჯი 3. LORIOT- ის კონფიგურაცია

შეიყვანეთ თქვენ მიერ შექმნილი Iot Hub, დააწკაპუნეთ გაზიარებული წვდომის პოლიტიკაზე - მოწყობილობა, დააკოპირეთ პირველადი გასაღები გვერდზე მარჯვნივ.

გამოსახულება
გამოსახულება

გახსენით ბრაუერის ახალი ფანჯარა (ან ჩანართი), შედით თქვენს LORIOT პანელში, გადადით აპლიკაციაზე - SampleApp, დააწკაპუნეთ მონაცემთა გამოშვება საკონტროლო ჯგუფში - შეცვლა. შეცვლა გამომავალი ტიპის ჯგუფი, აირჩიეთ Azure Iot Hub, შეავსეთ თქვენი Iot Hub სახელი და ძირითადი გასაღები და დააჭირეთ ღილაკს დაადასტურეთ შეცვლის ღილაკი ბოლოში.

გამოსახულება
გამოსახულება

ნაბიჯი 4. დაამატეთ Iot მოწყობილობა

დააწკაპუნეთ მოწყობილობებზე სიაში LORIOT, დააკოპირეთ თქვენი მოწყობილობის EUI.

გამოსახულება
გამოსახულება

უკან Azure Iot Hub– ზე, დააწკაპუნეთ Iot მოწყობილობებზე Iot Hub– ის მარცხენა სიაში. დააწკაპუნეთ დამატებაზე, შეავსეთ Device EUI Device ID მოწყობილობის გახსნილ გვერდზე.

მნიშვნელოვანია: წაშალეთ ყველა სეპრატორი მოწყობილობაში EUI, ასე გამოიყურება 1122334455667788.

გამოსახულება
გამოსახულება

დააჭირეთ შენახვას, ყველაფერი დასრულებულია.

ნაბიჯი 5. მიიღეთ D2C (Device to Cloud) შეტყობინებები

თქვენ შეგიძლიათ მიჰყვეთ Microsoft Docs– ს D2C შეტყობინებების წასაკითხად.

ნაბიჯი 5: პროგრამული უზრუნველყოფის პროგრამირება

პროგრამული უზრუნველყოფის პროგრამირება დაყოფილია 3 ნაწილად: Node, Gateway და Website, გთხოვთ მიჰყევით წინა სახელმძღვანელოს Node Part და Gateway Part პროგრამირების მიზნით. ვებსაიტის ნაწილის 1 -დან 8 -მდე ნაბიჯები ასევე იგივეა, რაც წინა გაკვეთილი.

თუ უკვე დააკონფიგურირეთ Microsoft Azure, გახსენით ტერმინალი, შეიყვანეთ თქვენი ვებ – გვერდის ძირეული საქაღალდე, გააქტიურეთ ვირტუალური გარემო:

cd ~/iotea-hb

წყაროს ყუთი/გააქტიურება

დააინსტალირეთ Azure Event Hub მოდული პიპის საშუალებით და შექმენით new.py ფაილი (როგორიცაა iothub_recv.py):

pip დააინსტალირეთ azure-eventhub

შეეხეთ iothub_recv.py

და შემდეგ ჩაწერეთ კოდები ქვემოთ:

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

# საავტორო უფლება (გ) Microsoft Corporation. Ყველა უფლება დაცულია. # ლიცენზირებულია MIT ლიცენზიით. იხილეთ License.txt პროექტის ძირში ლიცენზიის ინფორმაციისათვის. # ----------------------------------------------------- ----------------------------------------------- ცისფერიდან იმპორტის მოვლენის ადგილიდან ცისფერიდან. eventhub იმპორტი EventData, EventHubClient, ოფსეტური იმპორტი ჟურნალი = logging.getLogger ('azure.eventhub') db, json, time, datetime def get_time (): cntime = datetime.datetime.now () + datetime.timedelta (საათი = +8) თარიღი = cntime.strftime ('%Y-{}-{}'). ფორმატი (cntime.strftime ('%m'). Zfill (2), cntime.strftime ('%d'). Zfill (2)) საათი = cntime.strftime ('%H'). Zfill (2) წუთი = cntime.strftime ('%M'). Zfill (2) წამი = cntime.strftime ('%S'). Zfill (2) დაბრუნება [თარიღი, საათი, წუთი, წამი] def get_iothub_data (): list = ['0'] * 11 client = EventHubClient.from_iothub_connection_string ('', debug = True) მიმღები = client.add_receiver ("$ default", " 3 ", ოპერაცია = '/შეტყობინებები/მოვლენები', ოფსეტი = ოფსეტური (datetime.datetime.utcnow ())) სცადეთ: client.run () eh_info = client.get_eventhub_info () ამობეჭდვა (eh_info) მიღებული = მიმღები.მიღება (დროის გასვლა = 5) ამობეჭდვა (მიღება) მიღებულ საქონელზე: მე ssage = json.loads (str (item.message)) print (message) if 'data' in message: data = message ['data'] air_temp = str (int (data [0: 2], 16)) air_hum = str (int (მონაცემები [2: 4], 16)) წნევა = str (int ((მონაცემები [4: 8]), 16)) co2 = str (int (მონაცემები [8:12], 16)) მტვერი = str (int (მონაცემები [12:16], 16)) განათება = str (int (მონაცემები [16:20], 16)) o2 = str (მრგვალი (int (მონაცემები [20:22], 16) / 10, 1)) ground_temp = str (int (მონაცემები [22:24], 16)) ground_hum = str (int (მონაცემები [24:26], 16)) ძაბვა = str (მრგვალი (int (მონაცემები [26:28], 16) / int ('ff', 16) * 5, 1)) შეცდომა = str (int (მონაცემები [28:], 16)) სია = [ჰაერის ტემპერატურა, ჰაერის ჰაერი, წნევა, co2, მტვერი, განათება, o2, ნიადაგის_ ტემპერატურა, ნიადაგის_ჰუმი, ძაბვა, შეცდომა] საბოლოოდ: client.stop () სიას აბრუნებს, ხოლო True: list = get_time () + get_iothub_data () db.insert (list) print (list)

სანამ პროგრამას გაუშვებთ, შეცვალეთ თქვენი კავშირის სტრიქონი

კლიენტი = EventHubClient.from_iothub_connection_string ('', გამართვა = ჭეშმარიტი)

თქვენ შეგიძლიათ მიიღოთ თქვენი კავშირის სტრიქონი დაწკაპუნებით გაზიარებული წვდომის პოლიტიკაზე - iotowner Iot Hub– ში, გახსნილი გვერდზე კავშირის სტრიქონი - პირველადი გასაღები არის კავშირის სტრიქონი.

გამოსახულება
გამოსახულება

ამის შემდეგ შეგიძლიათ დაიწყოთ პროგრამა:

gunicorn iothub_recv: აპლიკაცია

გირჩევთ: