สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: การพิมพ์เคส (ไม่บังคับ)
- ขั้นตอนที่ 2: การเดินสายไฟ
- ขั้นตอนที่ 3: สร้างแอปบน Things Network
- ขั้นตอนที่ 4: เชื่อมต่อ Arduino กับ Things Network
- ขั้นตอนที่ 5: การตีความข้อมูลในเครือข่ายสิ่งของ
- ขั้นตอนที่ 6: เชื่อมต่อแอปของคุณกับ AWS
- ขั้นตอนที่ 7: การสร้าง Lambda
- ขั้นตอนที่ 8: การสร้าง API Endpoint
- ขั้นตอนที่ 9: เชื่อมต่อโรงงานของคุณกับเครือข่าย Social Plant
- ขั้นตอนที่ 10: เอนหลังและตบหลังตัวเอง
วีดีโอ: เชื่อมต่อโรงงานของคุณกับคลาวด์: 10 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
ในสำนักงานของเรา มีกระบองเพชรที่ไม่ได้รับความสนใจเท่าที่ควร เนื่องจากฉันทำงานที่บริษัทไอทีและต้องการทดลองกับ 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: เอนหลังและตบหลังตัวเอง
คุณเพิ่งเชื่อมต่อโรงงานกับอินเทอร์เน็ต ค่อนข้างน่าประทับใจใช่มั้ย
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง