สารบัญ:
- ขั้นตอนที่ 1: สิ่งที่ใช้ในโครงการนี้
- ขั้นตอนที่ 2: เรื่องราว
- ขั้นตอนที่ 3: การเชื่อมต่อฮาร์ดแวร์
- ขั้นตอนที่ 4: กำหนดค่าคลาวด์
- ขั้นตอนที่ 5: การเขียนโปรแกรมซอฟต์แวร์
วีดีโอ: เห็นโซลูชัน IoTea LoRa (พร้อม Azure อัปเดต 1812): 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
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
แนะนำ:
อัปเดต Solar Laser + Led พร้อม Power Bank: 3 ขั้นตอน
อัปเดต Solar Laser + Led พร้อม Power Bank แล้ว: ฉันใช้วงจร power bank สำหรับ USB และแทนที่จะใช้ supercapacitors ฉันใช้นิกเกิลเมทัลไฮไดรด์สำหรับ LED และฉันเพิ่มตัวชี้เลเซอร์และสำหรับ power bank ฉันใช้เซลล์ลิเธียมและชาร์จโดยใช้ USB ไม่ใช่พลังงานแสงอาทิตย์ และฉันเพิ่มแผงโซลาร์เซลล์สำรองบน
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: 3 ขั้นตอน
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: เป็นโปรเจ็กต์เครื่องรับย่านความถี่ทั้งหมด ใช้ห้องสมุด Arduino Si4734 ห้องสมุดนี้มีตัวอย่างมากกว่า 20 ตัวอย่าง คุณสามารถฟัง FM ด้วย RDS สถานี AM (MW) ในพื้นที่ SW และสถานีวิทยุสมัครเล่น (SSB) เอกสารทั้งหมดที่นี่
PWM พร้อม ESP32 - Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: 6 ขั้นตอน
PWM พร้อม ESP32 | Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: ในคำแนะนำนี้เราจะดูวิธีสร้างสัญญาณ PWM ด้วย ESP32 โดยใช้ Arduino IDE & โดยทั่วไปแล้ว PWM จะใช้เพื่อสร้างเอาต์พุตแอนะล็อกจาก MCU ใดๆ และเอาต์พุตแอนะล็อกนั้นอาจเป็นอะไรก็ได้ระหว่าง 0V ถึง 3.3V (ในกรณีของ esp32) & จาก
เห็นโซลูชัน LoRa IoTea: 5 ขั้นตอน
Seeed LoRa IoTea Solution: ระบบรวบรวมข้อมูลอัตโนมัติที่ใช้กับไร่ชา เป็นส่วนหนึ่งของการเก็บรวบรวมข้อมูลเกษตรอัจฉริยะ
Seeed IoTea LoRa Solution (อัปเดต 1811): 5 ขั้นตอน
Seeed IoTea LoRa Solution (อัปเดต 1811): Internet+ เป็นแนวคิดที่ได้รับความนิยมในขณะนี้ คราวนี้เราลองอินเทอร์เน็ตและการเกษตรเพื่อทำสวนชาให้เติบโตจากอินเทอร์เน็ต Tea