สารบัญ:

เห็นโซลูชัน IoTea LoRa (พร้อม Azure อัปเดต 1812): 5 ขั้นตอน
เห็นโซลูชัน IoTea LoRa (พร้อม Azure อัปเดต 1812): 5 ขั้นตอน

วีดีโอ: เห็นโซลูชัน IoTea LoRa (พร้อม Azure อัปเดต 1812): 5 ขั้นตอน

วีดีโอ: เห็นโซลูชัน IoTea LoRa (พร้อม Azure อัปเดต 1812): 5 ขั้นตอน
วีดีโอ: IoT Show: Device Update for IoT Hub 2024, มิถุนายน
Anonim
เห็นโซลูชัน IoTea LoRa (พร้อม Azure อัปเดต 1812)
เห็นโซลูชัน IoTea LoRa (พร้อม Azure อัปเดต 1812)

Microsoft Azure เป็นบริการคลาวด์ที่ให้พลังการประมวลผลที่ทรงพลังและเสถียรยิ่งขึ้น คราวนี้เราลองส่งข้อมูล IoTea ของเราไป

ขั้นตอนที่ 1: สิ่งที่ใช้ในโครงการนี้

ส่วนประกอบฮาร์ดแวร์

  • Grove - เซนเซอร์คาร์บอนไดออกไซด์ (MH-Z16)
  • Grove - เซนเซอร์ตรวจจับแสงแบบดิจิตอล
  • Grove - เซ็นเซอร์วัดฝุ่น (PPD42NS)
  • Grove - เซนเซอร์ออกซิเจน (ME2-O2-Ф20)
  • เซ็นเซอร์ความชื้นและอุณหภูมิในดิน
  • LoRa LoRaWAN Gateway - 868MHz Kit พร้อม Raspberry Pi 3
  • Grove - เซ็นเซอร์อุณหภูมิและความชื้นและบารอมิเตอร์ (BME280)

แอพซอฟต์แวร์และบริการออนไลน์

  • Microsoft Visual Studio 2015
  • Microsoft Azure

ขั้นตอนที่ 2: เรื่องราว

บนภูเขา Mengding ทางตะวันออกเฉียงเหนือของ Ya'an, Sichuan สันเขาไหลไปทางตะวันตกไปตะวันออกในทะเลสีเขียว นี่เป็นภาพที่คุ้นเคยมากที่สุดสำหรับเติ้งวัย 36 ปี หนึ่งในผู้ผลิตชา Mengding เพียงไม่กี่คนในรุ่นของเขา ด้วยพื้นที่เพาะปลูก 50mu (=3.3 เฮกตาร์) ที่ระดับความสูง 1100 เมตรเหนือระดับน้ำทะเล เติ้งมาจากครอบครัวผู้ผลิตชา แต่การสืบทอดมรดกของครอบครัวไม่ใช่เรื่องง่าย “ชาของเราปลูกบนที่สูงในสภาพแวดล้อมแบบออร์แกนิกเพื่อให้มั่นใจในคุณภาพที่ยอดเยี่ยม แต่ในขณะเดียวกัน ความหนาแน่นของการเจริญเติบโตก็ต่ำ ค่าใช้จ่ายสูง และการแตกหน่อก็ไม่สม่ำเสมอ ทำให้ชายากที่จะเก็บเกี่ยว นั่นคือเหตุผลที่ชาจากภูเขาสูงมักเป็นผลผลิตขนาดเล็กและคุณค่าของชาเหล่านี้ไม่ได้สะท้อนให้เห็นในตลาด” ในช่วงสองปีที่ผ่านมา เติ้งพยายามที่จะปลุกจิตสำนึกของผู้บริโภคเกี่ยวกับชาภูเขาสูงเพื่อส่งเสริมคุณค่าของพวกเขา และเมื่อเขาได้พบกับฟาน ซึ่งกำลังมองหาพื้นที่เพาะปลูกเพื่อนำเทคโนโลยี IoTea ของ Seeed มาใช้ ได้การจับคู่ที่สมบูรณ์แบบสำหรับโซลูชัน

ขั้นตอนที่ 3: การเชื่อมต่อฮาร์ดแวร์

โปรดทำตามบทช่วยสอนก่อนหน้าเพื่อเชื่อมต่อฮาร์ดแวร์ของคุณ

ขั้นตอนที่ 4: กำหนดค่าคลาวด์

ขั้นตอนที่ 1 สร้างกลุ่มทรัพยากร

คลิกที่นี่เพื่อเข้าสู่ระบบ Microsoft Azure จากนั้น ป้อนกลุ่มทรัพยากรในรายการทางด้านซ้ายของแดชบอร์ด คลิก เพิ่ม เพื่อเพิ่มกลุ่มทรัพยากร

ภาพ
ภาพ

กลุ่มทรัพยากรใช้เพื่อจัดการทรัพยากรทั้งหมดในโครงการ หลังจากใช้ทรัพยากรระบบคลาวด์แล้ว ให้ลบกลุ่มทรัพยากรเพื่อลบทรัพยากรทั้งหมดเพื่อหลีกเลี่ยงค่าใช้จ่าย ในหน้าที่เปิด ให้กรอกชื่อกลุ่มทรัพยากร (เช่น iotea) เลือกตำแหน่งการสมัครและกลุ่มทรัพยากร หากจำเป็น คลิกสร้างเพื่อสร้างกลุ่มทรัพยากร

ขั้นตอนที่ 2 สร้าง Iot Hub

ตอนนี้คุณสามารถสร้างทรัพยากรบนคลาวด์ได้ คลิกสร้างทรัพยากรทางด้านซ้าย เลือก Internet of Things - Iot Hub จะเปิดหน้าใหม่

ในแท็บ Basics เลือก Resource Group ที่คุณเพิ่งสร้างขึ้น และกรอกชื่อ Iot Hub (เช่น iotea) เลือกการสมัครรับข้อมูลและภูมิภาค หากจำเป็น จากนั้นให้เปิดแท็บ Size และ scle

ภาพ
ภาพ

ในแท็บขนาดและมาตราส่วน เลือก F1: ระดับฟรี หรือ B1: ระดับพื้นฐานในคำสั่งผสมระดับราคาและมาตราส่วน ระดับพื้นฐานจะใช้ 10.00 USD ต่อเดือน สุดท้าย ให้เปิดแท็บ ตรวจสอบ + สร้าง ตรวจสอบข้อมูลที่คุณป้อน แล้วคลิก สร้าง เพื่อสร้าง Iot Hub

ภาพ
ภาพ

ขั้นตอนที่ 3 กำหนดค่า LORIOT

เข้าสู่ Iot Hub ที่คุณเพิ่งสร้าง คลิก นโยบายการเข้าถึงที่ใช้ร่วมกัน - อุปกรณ์ คัดลอกคีย์หลักในหน้าทางด้านขวา

ภาพ
ภาพ

เปิดหน้าต่างเบราว์เซอร์ใหม่ (หรือแท็บ) เข้าสู่ระบบ LORIOT Control Panel ของคุณ ไปที่ Application - SampleApp คลิก Data output ในกลุ่ม Control - Change ในกลุ่มเปลี่ยนประเภทผลลัพธ์ เลือก Azure Iot Hub กรอกชื่อ Iot Hub และคีย์หลัก แล้วคลิกปุ่มยืนยันการเปลี่ยนแปลงที่ด้านล่าง

ภาพ
ภาพ

ขั้นตอนที่ 4. เพิ่มอุปกรณ์ Iot

คลิกอุปกรณ์ในรายการทางด้านซ้ายใน LORIOT คัดลอก EUI อุปกรณ์ของคุณ

ภาพ
ภาพ

กลับไปที่ Azure Iot Hub คลิกอุปกรณ์ Iot ในรายการทางด้านซ้ายของ Iot Hub คลิก เพิ่ม กรอก Device EUI ไปยัง Device ID ในหน้าที่เปิด

สำคัญ: ลบ SEPRATOR ทั้งหมดใน DEVICE EUI ให้ดูเหมือน 1122334455667788

ภาพ
ภาพ

คลิกบันทึก เสร็จสิ้น

ขั้นตอนที่ 5. รับข้อความ D2C (อุปกรณ์สู่คลาวด์)

คุณสามารถติดตาม Microsoft Docs เพื่ออ่านข้อความ D2C

ขั้นตอนที่ 5: การเขียนโปรแกรมซอฟต์แวร์

การเขียนโปรแกรมซอฟต์แวร์แบ่งออกเป็น 3 ส่วน: โหนด เกตเวย์ และเว็บไซต์ โปรดทำตามบทช่วยสอนก่อนหน้าเพื่อตั้งโปรแกรมส่วนโหนดและส่วนเกตเวย์ ขั้นตอนที่ 1 ถึง 8 ของส่วนเว็บไซต์จะเหมือนกับบทช่วยสอนก่อนหน้า

หากคุณกำหนดค่า Microsoft Azure แล้ว ให้เปิดเทอร์มินัล เข้าสู่โฟลเดอร์รูทของเว็บไซต์ของคุณ เปิดใช้งานสภาพแวดล้อมเสมือน:

cd ~/iotea-hb

แหล่งที่มาของถัง/เปิดใช้งาน

ติดตั้งโมดูล Azure Event Hub ผ่าน pip และสร้างไฟล์ new.py (เช่น iothub_recv.py):

pip ติดตั้ง azure-eventhub

แตะ iothub_recv.py

แล้วเขียนโค้ดตามลงไป

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

# ลิขสิทธิ์ (c) Microsoft Corporation สงวนลิขสิทธิ์. # ได้รับอนุญาตภายใต้ใบอนุญาต MIT ดู License.txt ในรูทโปรเจ็กต์สำหรับข้อมูลใบอนุญาต # -------------------------------------------------- -------------------------------------------- จาก azure นำเข้า eventhub จาก azure การนำเข้า eventhub EventData, EventHubClient, ตัวบันทึกการบันทึกการนำเข้าออฟเซ็ต = logging.getLogger ('azure.eventhub') การนำเข้า db, json, เวลา, datetime def get_time (): cntime = datetime.datetime.now () + datetime.timedelta (ชั่วโมง = +8) วันที่ = cntime.strftime('%Y-{}-{}').format(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) return [วันที่, ชั่วโมง, นาที, วินาที] def get_iothub_data(): list = ['0'] * 11 client = EventHubClient.from_iothub_connection_string('', debug=True) receiver = client.add_receiver("$default", " 3", operation='/messages/events', offset = Offset(datetime.datetime.utcnow())) ลอง: client.run() eh_info = client.get_eventhub_info() พิมพ์ (eh_info) ได้รับ = receiver.receive (หมดเวลา) =5) พิมพ์ (ได้รับ) สำหรับรายการที่ได้รับ: ฉัน ssage = json.loads(str(item.message)) พิมพ์ (ข้อความ) ถ้า 'data' ในข้อความ: data = message['data'] air_temp = str(int(data[0:2], 16)) air_hum = str(int(data[2:4], 16)) ความดัน = str(int((data[4:8]), 16)) co2 = str(int(data[8:12], 16)) ฝุ่น = str(int(data[12:16], 16)) การส่องสว่าง = str(int(data[16:20], 16)) o2 = str(รอบ(int(ข้อมูล[20:22], 16)) / 10, 1)) soil_temp = str(int(data[22:24], 16)) soil_hum = str(int(data[24:26], 16)) แรงดันไฟ = str(รอบ(int(data[26:28]), 16) / int('ff', 16) * 5, 1)) ข้อผิดพลาด = str(int(data[28:], 16)) รายการ = [air_temp, air_hum, ความดัน, co2, ฝุ่น, การส่องสว่าง, o2, soil_temp, soil_hum, แรงดันไฟฟ้า, ข้อผิดพลาด] ในที่สุด: client.stop() ส่งคืนรายการในขณะที่ True: list = get_time() + get_iothub_data() db.insert(list) print(list)

ก่อนที่คุณจะรันโปรแกรม ให้เปลี่ยนสตริงการเชื่อมต่อของคุณใน

ลูกค้า = EventHubClient.from_iothub_connection_string('', debug=True)

คุณสามารถรับสตริงการเชื่อมต่อของคุณได้โดยคลิก นโยบายการเข้าถึงที่ใช้ร่วมกัน - iotowner ใน Iot Hub คีย์หลักของสตริงการเชื่อมต่อ - คีย์หลักในหน้าที่เปิดคือสตริงการเชื่อมต่อ

ภาพ
ภาพ

หลังจากนั้นคุณสามารถเริ่มโปรแกรม:

gunicorn iothub_recv:app

แนะนำ: