สารบัญ:

เชื่อมต่อโรงงานของคุณกับคลาวด์: 10 ขั้นตอน
เชื่อมต่อโรงงานของคุณกับคลาวด์: 10 ขั้นตอน

วีดีโอ: เชื่อมต่อโรงงานของคุณกับคลาวด์: 10 ขั้นตอน

วีดีโอ: เชื่อมต่อโรงงานของคุณกับคลาวด์: 10 ขั้นตอน
วีดีโอ: อะไรเอ่ย #สิว #สิวอุดตัน #สิวอักเสบ #สิวเห่อ #รอยสิว #รักษาสิว #เล็บเท้า #satisfying 2024, กรกฎาคม
Anonim
เชื่อมต่อโรงงานของคุณกับระบบคลาวด์
เชื่อมต่อโรงงานของคุณกับระบบคลาวด์
เชื่อมต่อโรงงานของคุณกับระบบคลาวด์
เชื่อมต่อโรงงานของคุณกับระบบคลาวด์
เชื่อมต่อโรงงานของคุณกับระบบคลาวด์
เชื่อมต่อโรงงานของคุณกับระบบคลาวด์

ในสำนักงานของเรา มีกระบองเพชรที่ไม่ได้รับความสนใจเท่าที่ควร เนื่องจากฉันทำงานที่บริษัทไอทีและต้องการทดลองกับ LoRa โซลูชันไร้เซิร์ฟเวอร์และ AWS ฉันจึงตั้งชื่อแคคตัส Steeve ของเราและเชื่อมต่อเขากับระบบคลาวด์ ตอนนี้คุณสามารถติดตามดู Steeve ได้จากทุกที่ในโลกโดยใช้หน้าเว็บที่ฉันสร้างขึ้นเพื่อเขา: เว็บอินเทอร์เฟซของ Steeve

เสบียง

1 กระบองเพชร / ต้นโปรดของคุณ

1 Arduino MKR WAN 1300 (ร้าน Arduino)

1 868mHz/914mHz (ขึ้นอยู่กับตำแหน่งของคุณ) เสาอากาศ (Amazon)

1 LoRa Gateway เมื่อไม่อยู่ในระยะหนึ่ง (Amazon)

แบตเตอรี่ AA 2 ก้อน

1 TMP102 เซ็นเซอร์ (อเมซอน)

1 เซ็นเซอร์ความชื้นในดิน (Amazon)

สายไฟนำไฟฟ้า (อเมซอน)

หัวแร้ง

ที่ใส่แบตเตอรี่ (Amazon)

กรณี

ตัวเลือกเสริม: เครื่องพิมพ์ 3 มิติ (หากคุณสามารถใช้เครื่องพิมพ์ 3 มิติได้ คุณไม่จำเป็นต้องมีที่ใส่แบตเตอรี่หรือเคส)

ขั้นตอนที่ 1: การพิมพ์เคส (ไม่บังคับ)

การพิมพ์เคส (ไม่บังคับ)
การพิมพ์เคส (ไม่บังคับ)
การพิมพ์เคส (ไม่บังคับ)
การพิมพ์เคส (ไม่บังคับ)

ดาวน์โหลดไฟล์ zip นี้ แตกไฟล์แล้วพิมพ์ไฟล์ ไฟล์จะถูกทำเครื่องหมายด้วยจำนวนที่ต้องการของรายการ

รู้สึกอิสระที่จะเพิ่มบางสิ่งบางอย่างให้กับฝาปิดเหมือนที่ฉันทำ

ฉันพิมพ์สิ่งเหล่านี้โดยใช้ความสูงของชั้น 0.2 มม. และวัสดุเติม 15%

ตะขอเกี่ยวสามารถติดได้โดยใช้สกรู m3

เมื่อพิมพ์กล่อง คุณสามารถใช้ลวดเพื่อทำการเชื่อมต่อที่จำเป็นบนที่ใส่แบตเตอรี่ คุณสามารถใช้รูปภาพที่ให้ไว้เป็นข้อมูลอ้างอิงได้

ขั้นตอนที่ 2: การเดินสายไฟ

การเดินสายไฟ
การเดินสายไฟ
  • ก่อนเปิดเครื่อง Arduino ตรวจสอบให้แน่ใจว่าได้เชื่อมต่อเสาอากาศแล้ว การเปิดเครื่อง Arduino โดยไม่ใช้เสาอากาศอาจทำให้เกิดความเสียหายได้
  • เชื่อมต่อทุกอย่างตามแผนภาพการเดินสายไฟที่ให้มา
  • หากคุณกำลังบัดกรีสายไฟเหล่านี้ ตรวจสอบให้แน่ใจว่าคุณไม่ได้เชื่อมหมุดใดๆ บนเซ็นเซอร์หรือ Arduino!

ขั้นตอนที่ 3: สร้างแอปบน Things Network

  • ไปที่ https://www.thethingsnetwork.org/ และหากคุณยังไม่มีบัญชี ให้สร้างบัญชีใหม่
  • เมื่อคุณมีบัญชีและเข้าสู่ระบบแล้ว คุณสามารถไปที่คอนโซลได้ (มุมบนขวา คลิกชื่อผู้ใช้ของคุณ จากนั้นไปที่คอนโซล)
  • คลิกที่แอปพลิเคชัน
  • เมื่อโหลดหน้าเว็บแล้ว คุณจะสามารถคลิกที่ "เพิ่มแอปพลิเคชัน" ได้
  • กรอกแบบฟอร์มและเลือกภูมิภาคที่ถูกต้องที่ด้านล่าง คลิกที่ "เพิ่มแอปพลิเคชัน"
  • ขอแสดงความยินดี คุณเพิ่งสร้างแอปพลิเคชันบนเครือข่ายสิ่งของ =D

ขั้นตอนที่ 4: เชื่อมต่อ Arduino กับ Things Network

ในการเขียนโปรแกรม Arduino ฉันแนะนำให้คุณใช้ Arduino IDE ออนไลน์ ซึ่งจะทำให้การโหลดในไลบรารีที่จำเป็นนั้นง่ายมาก

  • เปิดแอปพลิเคชันของคุณบนเครือข่ายสิ่งของ
  • ควรมีฟิลด์ชื่ออุปกรณ์ คลิกที่ลงทะเบียนอุปกรณ์
  • คุณจะเห็นฟิลด์ที่เรียกว่า Device Id นี่คือชื่อที่คุณต้องการตั้งให้เซ็นเซอร์ของคุณ ควรมีอีกอันหนึ่งชื่อว่า Device EUI ซึ่งเป็นคีย์เฉพาะที่ Arduino ของคุณใช้ในการตรวจสอบตัวเอง
  • ในการรับคีย์นี้ เราต้องแฟลช Arduino ด้วยภาพสเก็ตช์เฉพาะ สามารถดูสเก็ตช์ได้ที่นี่ สเก็ตช์นี้ควรทำงานและควรส่ง eui ไปบนจอภาพแบบอนุกรม คัดลอก eui จากมอนิเตอร์แบบอนุกรมไปยังฟิลด์ Device EUI บนเครือข่ายสิ่งของ
  • คลิกลงทะเบียน
  • ตอนนี้เราได้ลงทะเบียน Arduino ของเรากับคลาวด์แล้ว ถึงเวลาเริ่มส่งข้อความ
  • คุณควรถูกเปลี่ยนเส้นทางไปยังหน้าที่เรียกว่าภาพรวมอุปกรณ์ ที่นี่คุณสามารถดู eui ของอุปกรณ์ eui ของแอปและคีย์แอปได้
  • เพื่อดำเนินการต่อเราจำเป็นต้องแฟลชร่างสุดท้ายไปที่ Arduino สามารถดูสเก็ตช์ได้ที่นี่
  • เมื่อคุณเปิดลิงก์นี้ คุณจะเห็นมีหลายแท็บ เปิดแท็บความลับ มี 2 ปุ่มที่คุณต้องจัดการจากเครือข่ายสิ่งต่าง ๆ ไปจนถึงไฟล์ความลับ
  • เมื่อกรอกคีย์เหล่านี้แล้ว คุณสามารถแฟลช Arduino ได้ มันจะเริ่มส่งข้อมูลไปยังเครือข่ายสิ่งต่าง ๆ ทุก ๆ ชั่วโมง
  • หากทุกอย่างถูกต้อง คุณจะเห็นข้อความที่เข้ามาในแท็บข้อมูลบนเครือข่ายสิ่งต่าง ๆ เมื่อทำการรีเซ็ต Arduino (ปุ่มเดียวบนกระดาน)

    • หากไม่มีข้อมูลปรากฏขึ้นที่นี่ แสดงว่าคุณไม่ได้อยู่ในช่วงของเกตเวย์ LoRa ที่ถูกต้อง คุณสามารถตรวจสอบแผนที่พร้อมเกตเวย์ที่มีอยู่ทั้งหมดได้ที่ https://thethingsnetwork.org เกตเวย์ LoRa ช่องทางเดียวจะไม่ทำงานกับ Arduino ที่แนะนำ
    • หากคุณไม่อยู่ในระยะของเกตเวย์ คุณสามารถจับคู่เกตเวย์ของคุณเองกับเครือข่ายสิ่งของได้ เกตเวย์เหล่านี้มักจะมีบทช่วยสอนที่ดีเกี่ยวกับวิธีเชื่อมต่อ ดูในรายการอุปทานสำหรับเกตเวย์ที่แนะนำ

ขั้นตอนที่ 5: การตีความข้อมูลในเครือข่ายสิ่งของ

  • ในการรับข้อมูลที่ใช้งานได้จากข้อความบนเครือข่ายสิ่งต่าง ๆ เราจำเป็นต้องถอดรหัสไบต์สตรีม
  • บนเครือข่ายสิ่งต่าง ๆ ไปที่แอปพลิเคชันของคุณ
  • ควรมีแท็บชื่อ "รูปแบบเพย์โหลด" คลิกแท็บนี้
  • มีปุ่ม 4 ปุ่มอยู่ติดกัน: "ตัวถอดรหัส", "ตัวแปลง", "ตัวตรวจสอบ", "ตัวเข้ารหัส"
  • คลิกที่ตัวถอดรหัส
  • วางรหัสต่อไปนี้ที่นั่น

ฟังก์ชั่น ตัวถอดรหัส (ไบต์, พอร์ต) {// ถอดรหัสข้อความอัปลิงค์จากบัฟเฟอร์ // (อาร์เรย์) ของไบต์ไปยังวัตถุของฟิลด์ var stringToDecode=bin2String(ไบต์); var res=stringToDecode.split(" "); var temp=res[1]; var moist= res[3]; var bat= res[5]; var decoded = {"อุณหภูมิ":อุณหภูมิ "ความชื้น":ชื้น "แบตเตอรี่":bat}; ถอดรหัสกลับ; } ฟังก์ชัน bin2String (อาร์เรย์) { var result = ""; สำหรับ(var i = 0; i < array.length; ++i){ result+= (String.fromCharCode(array)); } ส่งคืนผลลัพธ์;}

  • คลิกบันทึก
  • เมื่อคุณรีเซ็ต Arduino และดูแท็บข้อมูลของคุณ คุณควรเห็นวัตถุ json ที่จัดรูปแบบอย่างสวยงามซึ่งคุณสามารถอ่านได้อย่างง่ายดาย

ขั้นตอนที่ 6: เชื่อมต่อแอปของคุณกับ AWS

เราจะใช้ AWS เพื่อจัดเก็บและใช้ข้อมูลจากเครือข่ายสิ่งของ ทรัพยากรทั้งหมดที่เราจะใช้อยู่ภายใต้ AWS ระดับฟรี

  • ไปที่ AWS
  • เข้าสู่ระบบหรือสร้างบัญชี
  • ในการเชื่อมต่อแอปพลิเคชันของคุณบนเครือข่ายสิ่งของกับ AWS ฉันแนะนำให้ทำตามบทช่วยสอนนี้:
  • เมื่อคุณเสร็จสิ้นบทช่วยสอนนี้แล้ว ให้ไปที่คอนโซล aws ไปยังเซ็กเมนต์ IoT-Core
  • ในแถบเมนูด้านซ้ายจะมีป้ายกำกับว่า "จัดการ" ให้คลิกที่นี่
  • ตอนนี้คุณควรเห็นการ์ดที่มีชื่อเซ็นเซอร์ของคุณอยู่
  • อีกครั้งในแถบเมนูด้านซ้าย คลิก "Act"
  • หากมีบัตรที่มีป้ายกำกับ Store คุณก็พร้อมจะไป
  • ถ้าไม่ให้คลิกที่ "สร้าง"
  • กรอกชื่อ "ร้านค้า"
  • คุณสามารถเพิ่มคำอธิบายได้หากต้องการ
  • เป็นคำสั่งแบบสอบถามกรอกรหัสต่อไปนี้: SELECT dev_id, metadata.time, payload_fields.temperature, payload_fields.moisture, payload_fields.battery FROM 'cactus_network/devices/+/up'
  • ในส่วน "ตั้งค่าการทำงานอย่างน้อย 1 รายการ" ให้คลิกเพิ่มการดำเนินการ
  • เลือก "แยกข้อความออกเป็นหลายคอลัมน์ของตาราง DynamoDb (DynamoDBv2)"
  • คลิกกำหนดค่าการดำเนินการ
  • คลิกสร้างทรัพยากรใหม่
  • คลิกสร้างตารางและตั้งชื่อตารางของคุณ
  • ใต้คีย์หลักให้กรอก "dev_id"
  • คลิกเพิ่มคีย์การจัดเรียง
  • กรอก "เวลา"
  • คลิกสร้าง
  • หากทุกอย่างเป็นไปด้วยดี คุณควรกลับมาที่หน้ากำหนดค่าการดำเนินการ
  • มีพื้นที่สีเทาเล็กน้อยภายใต้ "เลือกหรือสร้างบทบาทเพื่อให้สิทธิ์การเข้าถึง AWS IoT เพื่อดำเนินการนี้"
  • คลิกสร้างบทบาทและตั้งชื่อบทบาทนี้
  • คลิกสร้างบทบาท
  • คลิกเพิ่มการดำเนินการ
  • คลิกสร้างกฎ
  • ตอนนี้คุณควรมีกฎที่จัดเก็บข้อความขาเข้าทั้งหมดจากเครือข่ายสิ่งของใน DynamoDb โดยอัตโนมัติ
  • คุณสามารถตรวจสอบว่าใช้งานได้หรือไม่โดยรีเซ็ต Arduino และไปดูในตาราง DynamoDb ที่คุณเพิ่งสร้างขึ้น
  • ควรมีบันทึกพร้อมข้อความ

ขั้นตอนที่ 7: การสร้าง Lambda

ในการอ่านข้อมูลจาก DynamoDB เราจะเขียนแลมบ์ดา AWS

  • ในคอนโซลการจัดการ AWS ภายใต้บริการ จะมีลิงก์ชื่อ "แลมบ์ดา" ให้คลิกลิงก์นี้
  • คลิกสร้างฟังก์ชัน
  • เลือกชื่อ
  • ตั้งค่ารันไทม์เป็น python 3.7
  • คลิกสร้างฟังก์ชัน
  • วางรหัสนี้ใน IDE แบบรวม

นำเข้า json

นำเข้าเวลานำเข้า boto3 จากวันที่และเวลา วันที่นำเข้า เวลาเดลต้าจาก boto3.dynamodb.conditions นำเข้าคีย์ Attr def lambda_handler (เหตุการณ์ บริบท): return retreive_data() def retreive_data(): # รับทรัพยากรบริการ dynamodb = boto3.resource('dynamodb') table = dynamodb. Table('TABLE NAME HERE') now = datetime.now() เมื่อวาน = ตอนนี้ - timedelta(hours=24) fe = Key('time').between (เมื่อวาน.isoformat(), now.isoformat()) fed =Key('time').lt(yesterday.isoformat()) response = table.scan(FilterExpression=fe) recordsToDelete=table.scan(FilterExpression=fed) สำหรับ f ใน recordsToDelete['Items']: #print(f) table.delete_item(Key={'dev_id':f['dev_id'], 'time':f['time']}) data = response['Items' '] ส่งคืนข้อมูล

  • เปลี่ยนชื่อตารางเป็นชื่อที่คุณเลือก
  • เลื่อนลงไปที่บทบาทการดำเนินการ
  • คลิกสร้างบทบาทใหม่จากเทมเพลตนโยบาย aws
  • เลือกชื่อ
  • ภายใต้เทมเพลตนโยบาย ให้เลือก "ทดสอบการอนุญาตเทียม" และ "สิทธิ์ไมโครเซอร์วิสอย่างง่าย"
  • คลิกบันทึก
  • คลิกทดสอบ
  • ป๊อปอัปอาจปรากฏขึ้น เพียงแค่เลือกชื่อและบันทึก
  • คลิกทดสอบอีกครั้ง
  • ที่ด้านบนควรมีแบนเนอร์สีเขียวที่ระบุว่า "ผลการดำเนินการ: สำเร็จ"
  • เมื่อคุณคลิกแบนเนอร์นี้ คุณจะเห็นผลลัพธ์ของฟังก์ชันนี้ ซึ่งควรเป็นรายการ af sensordata
  • โปรดทราบว่าสคริปต์นี้จะลบข้อมูลทั้งหมดที่เก่ากว่า 24 ชั่วโมง
  • ในกรณีที่แบนเนอร์ของคุณไม่ใช่สีเขียวแต่เป็นสีแดง แสดงว่าคุณพลาดบางอย่างไป และการคลิกแบนเนอร์นี้จะแสดงข้อความแสดงข้อผิดพลาดแบบเต็ม ในกรณีนี้ google เป็นเพื่อนที่ดีที่สุดของคุณ

ขั้นตอนที่ 8: การสร้าง API Endpoint

  • ในคอนโซลการจัดการ AWS ภายใต้บริการ จะมีลิงก์ชื่อ "api-gateway" ให้คลิกที่นี่
  • คลิกสร้าง API
  • ตรวจสอบให้แน่ใจว่าได้เลือกทั้ง "REST" และ "New API"
  • เลือกชื่อสำหรับ API ของคุณ
  • คลิกสร้าง API
  • ควรมีปุ่มกำกับการกระทำบนหน้าจอในขณะนี้ คลิกที่นี่
  • จากนั้นคลิกสร้างทรัพยากร
  • ตามชื่อทรัพยากร คุณควรเขียนอะไรง่ายๆ เช่น "พืช" หรือ "ข้อมูลพืช"
  • คลิกสร้างทรัพยากร
  • ทางด้านซ้ายควรมีชื่อที่คุณเพิ่งป้อน คลิกชื่อนี้
  • ตอนนี้คลิกการกระทำอีกครั้งแล้วคลิกเพิ่มวิธีการ
  • เลือกรับ
  • คลิกเครื่องหมายถูก
  • ควรมีกล่องข้อความที่ระบุว่าฟังก์ชันแลมบ์ดา
  • ป้อนชื่อที่คุณกำหนดให้กับฟังก์ชันแลมบ์ดาที่นี่
  • คลิกบันทึก
  • อาจมีป๊อปอัปที่เตือนคุณว่ากำลังสร้างการอนุญาตพิเศษ
  • ยอมรับป๊อปอัปนี้
  • ตอนนี้ภายใต้การดำเนินการคลิกเปิดใช้งาน cors
  • คลิก "เปิดใช้งาน CORS และแทนที่ส่วนหัว CORS ที่มีอยู่"
  • คลิก "ใช่ …"
  • คลิกการดำเนินการอีกครั้งแล้วคลิกปรับใช้ API
  • ภายใต้ขั้นตอนการปรับใช้ ให้เลือก [สเตจใหม่]
  • เลือกชื่อ
  • คลิกปรับใช้
  • คุณได้เผยแพร่ API ของคุณทางออนไลน์ไปทั่วโลกแล้ว
  • บนหน้าจอที่คุณมาถึงแล้ว ให้คลิก "GET" และทรัพยากรที่คุณเพิ่งสร้างขึ้น
  • ควรมีลิงก์ด้านบนที่มีป้ายกำกับว่า "เรียกใช้ URL"
  • คัดลอกลิงค์นี้
  • วางในเบราว์เซอร์และกด Enter
  • คุณควรเห็นข้อมูลที่อยู่ในฐานข้อมูล

ขั้นตอนที่ 9: เชื่อมต่อโรงงานของคุณกับเครือข่าย Social Plant

  • ไปที่
  • คลิก "เข้าสู่ระบบ"
  • คลิกสร้างบัญชี
  • กรอกแบบฟอร์มเพื่อสร้างบัญชีของคุณ
  • โปรดทราบว่าชื่อผู้ใช้จะต้องเป็นอีเมลของคุณด้วย
  • คลิกสร้างบัญชี
  • คุณอาจต้องยืนยันอีเมลก่อนจึงจะดำเนินการต่อได้
  • ตรวจสอบให้แน่ใจว่าคุณได้เข้าสู่ระบบ
  • กลับไปที่หน้าแรก (คลิกโลโก้ที่มุมบนซ้าย)
  • คลิกปุ่มการตั้งค่า
  • กรอกแบบฟอร์ม คุณควรกรอกทุกช่อง
  • ลิงก์ไปยัง API คือลิงก์ที่คุณบันทึกไว้หลังจากที่คุณสร้างจุดสิ้นสุด API
  • เมื่อกรอกข้อมูลครบถ้วนแล้ว ให้คลิกปุ่มบันทึกพืช ตอนนี้ระบบจะตรวจสอบลิงก์ API ที่คุณป้อน และหากถูกต้อง ระบบจะบันทึกโรงงานของคุณในเครือข่าย
  • กลับไปที่หน้าแรก
  • ตอนนี้คุณสามารถคลิกที่พืชทั้งหมด คุณควรจะสามารถเห็นพืชที่จดทะเบียนทั้งหมดได้ โรงงานของคุณควรอยู่ที่นั่นด้วย คลิกที่การ์ด แล้วคุณจะถูกนำไปที่หน้าภาพรวมของโรงงานของคุณ มันจะแสดงคำแนะนำตามค่าที่คุณตั้งไว้ในการตั้งค่า

ขั้นตอนที่ 10: เอนหลังและตบหลังตัวเอง

คุณเพิ่งเชื่อมต่อโรงงานกับอินเทอร์เน็ต ค่อนข้างน่าประทับใจใช่มั้ย

แนะนำ: