สารบัญ:
- ขั้นตอนที่ 1: ฮาร์ดแวร์
- ขั้นตอนที่ 2: ฮาร์ดแวร์ - PCB
- ขั้นตอนที่ 3: โปรโตคอล LPWAN: การสื่อสาร Sigfox
- ขั้นตอนที่ 4: การกำหนดค่าซอฟต์แวร์
- ขั้นตอนที่ 5: ตั้งโปรแกรม STM32. ของคุณ
- ขั้นตอนที่ 6: ThingSpeak - 1
- ขั้นตอนที่ 7: การสื่อสารระหว่างโมดูล Sigfox และแพลตฟอร์ม ThingSpeak
- ขั้นตอนที่ 8: ThingSpeak - 2
- ขั้นตอนที่ 9: โบนัส - ThingTweet และ React
- ขั้นตอนที่ 10: ถึงเวลาของคุณแล้ว
- ขั้นตอนที่ 11: การอ้างอิงและบรรณานุกรม
วีดีโอ: AirCitizen - การตรวจสอบคุณภาพอากาศ: 11 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
สวัสดีทุกคน
วันนี้เราจะมาสอนวิธีการทำซ้ำโครงการของเรา: AirCitizen โดยทีม AirCitizenPolytech !
--
มาจาก 'OpenAir / What's your air?' โครงการต่างๆ โครงการ AirCitizen มีเป้าหมายเพื่อให้ประชาชนสามารถประเมินคุณภาพของสภาพแวดล้อมในทันทีและโดยเฉพาะอย่างยิ่งอากาศที่พวกเขาหายใจโดยนำเสนอจาก:
สร้าง
ดำเนินการใน "Fablabs" (ห้องปฏิบัติการการผลิตดิจิทัล) สถานีตรวจวัดสภาพแวดล้อมแบบพกพาที่ผสานรวมเซ็นเซอร์ราคาประหยัดต่างๆ (เช่น อุณหภูมิ ความชื้น ความดัน ก๊าซ NOx โอโซน หรืออนุภาค PM10 และ PM2.5)
วัด
ดำเนินการวัดในแหล่งกำเนิดเพื่อเน้นความแปรปรวน spatiotemporal ของตัวแปรสิ่งแวดล้อม: ในด้านหนึ่ง ในระหว่างการรณรงค์ท่องเที่ยวโดยได้รับการสนับสนุนจากนักภูมิศาสตร์และนักภูมิอากาศวิทยา และในสถานที่ต่างๆ ที่นำเสนอบริบททางสิ่งแวดล้อมที่หลากหลาย
แบ่งปัน
มีส่วนร่วมในการปรับปรุงความรู้โดยการแบ่งปันการวัดเหล่านี้ในฐานข้อมูลด้านสิ่งแวดล้อมและเปิดใช้งานการทำแผนที่ออนไลน์ของมลพิษทางอากาศ
--
แนวคิดคือการสร้างสถานีอิสระที่สามารถรวบรวมข้อมูลสภาพแวดล้อมและส่งไปยังแดชบอร์ดกับเครือข่าย SigFox
ในอีกด้านหนึ่ง เราจะแสดงวิธีออกแบบฮาร์ดแวร์ให้คุณ และในอีกทางหนึ่ง เราจะแสดงวิธีทำส่วนซอฟต์แวร์
ขั้นตอนที่ 1: ฮาร์ดแวร์
นี่คือส่วนประกอบที่เราตัดสินใจใช้ในการออกแบบสถานี:
- STM32 NUCLEO-F303K8 -> สำหรับข้อมูลเพิ่มเติม
- HPMA115S0-XXX (เซ็นเซอร์อนุภาค PM2.5 & PM10) -> ดูข้อมูลเพิ่มเติม
- SHT11 หรือ SHT10 หรือ STH15 หรือ DHT11 (อุณหภูมิ & ความชื้นสัมพัทธ์) -> สำหรับข้อมูลเพิ่มเติม
- MICS2714 (เซ็นเซอร์ NO2, เซ็นเซอร์ไนโตรเจนไดออกไซด์) -> ดูข้อมูลเพิ่มเติม
- Solar Panel x2 (2W) -> ดูข้อมูลเพิ่มเติม
- แบตเตอรี่ LiPo 3, 7 V 1050 mAh -> ดูข้อมูลเพิ่มเติม
- Regulator LiPo Rider Pro (106990008) -> สำหรับข้อมูลเพิ่มเติม
- BreakOut SigFox BRKWS01 + 1 ใบอนุญาต -> สำหรับข้อมูลเพิ่มเติม
- ตัวต้านทาน 7 ตัว (86, 6; 820; 1K; 1K; 4, 7K; 10K; 20K)
- ตัวเก็บประจุ 1 ตัว (100nF)
- 1 ทรานซิสเตอร์ (2N222)
! ! ! คุณต้องถอด SB16 และ SB18 บนกระดานนิวคลีโอ stm32 เพื่อป้องกันการแทรกแซงระหว่าง HPMA และ SHT11 ! !
โดยทั่วไป นี่คือวิธีการเชื่อมต่อส่วนประกอบ:
- เชื่อมขนานกับแผงโซลาร์เซลล์
- เชื่อมต่อเข้ากับ LiPo Rider Pro และเชื่อมต่อแบตเตอรี่กับ LiPo Rider Pro
- เช่นเดียวกับรูปภาพด้านบน เชื่อมต่อองค์ประกอบทั้งหมดเข้ากับ STM32 เชื่อมต่อเซ็นเซอร์อุณหภูมิและความชื้นเพียงตัวเดียวไม่ใช่ 2 ! อย่าลืมตัวต้านทาน ตัวเก็บประจุ และทรานซิสเตอร์
- สุดท้าย เชื่อมต่อ STM32 กับ LiPo Rider Pro ด้วยสาย USB
ขั้นตอนต่อไปคือทางเลือกสำหรับสายนี้
ขั้นตอนที่ 2: ฮาร์ดแวร์ - PCB
เราตัดสินใจใช้ Autodesk Eagle เพื่อออกแบบแผงวงจรพิมพ์ (PCB)
คุณสามารถเลือกที่จะเชื่อมต่อ DHT หรือ SHT เราเลือกออกแบบลายนิ้วมือ 2 อันสำหรับเซ็นเซอร์ 2 ตัวนี้เพื่อเปลี่ยนเซ็นเซอร์หากจำเป็น
ในไฟล์แนบ คุณสามารถดาวน์โหลดไฟล์แนวคิดของ Eagle เพื่อให้คุณสามารถสร้างมันขึ้นมาเองได้อย่างง่ายดาย
เราใช้พิน 5V ของ stm32 เพื่อจัดหาอุปกรณ์ ในการกำหนดค่านี้ มีเพียง stm32 core เท่านั้นที่ใช้พลังงาน
ดังนั้นเราจึงสามารถใช้โหมดสลีปลึกของ MCU ที่ให้กระแสไฟสลีปต่ำได้ ในสถานะสแตนด์บาย กระแสไฟขณะหลับทั้งหมดจะลดลงต่ำกว่า XXµA
ขั้นตอนที่ 3: โปรโตคอล LPWAN: การสื่อสาร Sigfox
Sigfox เป็นโปรโตคอล LPWAN ที่สร้างขึ้นโดยบริษัทโทรคมนาคมของฝรั่งเศส - SIGFOX
ช่วยให้อุปกรณ์ระยะไกลสามารถเชื่อมต่อโดยใช้เทคโนโลยีคลื่นความถี่สูงพิเศษ (UNB) สิ่งเหล่านี้ส่วนใหญ่จะต้องการเพียงแบนด์วิดท์ต่ำในการถ่ายโอนข้อมูลจำนวนเล็กน้อย เครือข่ายสามารถจัดการได้ประมาณ 12 ไบต์ต่อข้อความเท่านั้น และในขณะเดียวกันก็ไม่เกิน 140 ข้อความต่ออุปกรณ์ต่อวัน
สำหรับแอปพลิเคชัน IOT จำนวนมาก ระบบโทรศัพท์เคลื่อนที่แบบเดิมนั้นซับซ้อนเกินไปที่จะยอมให้ใช้พลังงานต่ำมากและมีราคาแพงเกินไปที่จะเป็นไปได้สำหรับโหนดต้นทุนต่ำขนาดเล็กจำนวนมาก…เครือข่ายและเทคโนโลยี SIGFOX มุ่งเป้าไปที่เครื่องจักรต้นทุนต่ำต่อเครื่องจักร พื้นที่ใช้งานที่ต้องการพื้นที่กว้าง
สำหรับ AirCitizen รูปแบบของข้อมูลที่ตรวจพบนั้นเรียบง่ายและปริมาณข้อมูลที่ถูกต้องในการใช้ Sigfox ในการแปลข้อมูลที่ตรวจพบจากเซ็นเซอร์ไปยังแพลตฟอร์ม IOT ของเรา - ThingSpeak
เราจะแนะนำการใช้ Sigfox ในขั้นตอนต่อไปนี้
ขั้นตอนที่ 4: การกำหนดค่าซอฟต์แวร์
หลังจากเข้าใจวงจรของเราแล้ว มาต่อกันที่การพัฒนาไมโครคอนโทรลเลอร์ STM32 F303K8 ของเรา
เพื่อความเรียบง่ายยิ่งขึ้น คุณสามารถเลือกโปรแกรมใน Arduino
ขั้นตอนที่ 1: หากคุณยังไม่ได้ติดตั้ง Arduino IDE ให้ดาวน์โหลดและติดตั้งจากลิงค์นี้ ตรวจสอบให้แน่ใจว่าคุณเลือกระบบปฏิบัติการที่ถูกต้อง
ลิงค์: ดาวน์โหลด Arduino
ขั้นตอนที่ 2: หลังจากติดตั้ง Arduino IDE ให้เปิดและดาวน์โหลดแพ็คเกจที่จำเป็นสำหรับบอร์ด STM32 สามารถทำได้โดยเลือกไฟล์ -> การตั้งค่า
ขั้นตอนที่ 3: การคลิกที่การตั้งค่าจะเปิดกล่องโต้ตอบที่แสดงด้านล่าง ในกล่องข้อความ URL ผู้จัดการบอร์ดเพิ่มเติม ให้วางลิงก์ด้านล่าง:
github.com/stm32duino/BoardManagerFiles/ra…
และกดตกลง
ขั้นตอนที่ 4: ไปที่เครื่องมือ -> บอร์ด -> ผู้จัดการบอร์ด ซึ่งจะเปิดกล่องโต้ตอบตัวจัดการบอร์ด ค้นหา “STM32 Cores” และติดตั้งแพ็คเกจที่ปรากฏขึ้น (แพ็คเกจ STMicrolectronics)
ขั้นตอนที่ 5: หลังจากแพ็คเกจ การติดตั้งเสร็จสิ้น ไปที่เครื่องมือและเลื่อนลงเพื่อค้นหา "Nucleo-32 series" จากนั้นตรวจสอบให้แน่ใจว่าตัวแปรคือ "Nucleo F303K8" และเปลี่ยนวิธีการอัปโหลดเป็น "STLink"
ขั้นตอนที่ 6: ตอนนี้ เชื่อมต่อบอร์ดของคุณกับคอมพิวเตอร์และตรวจสอบว่าพอร์ต COM ใดที่บอร์ดเชื่อมต่อโดยใช้ตัวจัดการอุปกรณ์ จากนั้นเลือกหมายเลขพอร์ตเดียวกันใน Tools->Port
ตอนนี้คุณพร้อมที่จะตั้งโปรแกรม STM32 F303K8 ของคุณด้วย Arduino แล้ว!
ขั้นตอนที่ 5: ตั้งโปรแกรม STM32. ของคุณ
เมื่อกำหนดค่าเสร็จแล้ว คุณต้องตั้งโปรแกรมไมโครคอนโทรลเลอร์เพื่อรวบรวมและส่งข้อมูล
ขั้นที่ 1: ตรวจสอบผลกระทบของ I/O และการวัดเวลาในส่วน "กำหนด" ของโค้ด
ขั้นที่ 2: อัปโหลดโค้ดด้านบนไปที่ stm32 เปิดจอภาพอนุกรมและรีเซ็ตอุปกรณ์ คำสั่ง "AT" ควรปรากฏบนหน้าจอ ถ้าไม่ ให้ตรวจสอบการประกาศ I/O
คุณสามารถทราบถึงความถูกต้องของข้อมูลของคุณได้โดยการปรึกษามาตรฐานกฎหมายของฝรั่งเศสในเอกสารแนบ
มาดูการกำหนดค่าของแดชบอร์ดกัน
ขั้นตอนที่ 6: ThingSpeak - 1
ก่อนกำหนดค่าวิธีเปลี่ยนเส้นทางข้อมูลจากสถานีของเราไปยังแพลตฟอร์ม ThingSpeak คุณต้องสร้างบัญชี ThingSpeak
สมัครสมาชิก: เว็บไซต์ ThingSpeak
ขั้นตอนที่ 1: ตอนนี้คลิกที่ "ช่องใหม่" นี้จะเปิดแบบฟอร์ม ป้อนชื่อและคำอธิบาย (ถ้าจำเป็น)
สร้าง 5 ฟิลด์:
- สนามที่ 1: pm2, 5
- สนามที่ 2: pm10
- สนามที่ 3: อุณหภูมิ
- สนามที่ 4: ความชื้น
- สนามที่ 5: NO2
ชื่อเหล่านี้จะไม่ใช่ชื่อของแผนภูมิของเรา
หากคุณต้องการตัวอย่าง ดูภาพด้านบน
คุณไม่จำเป็นต้องกรอกฟิลด์เพิ่มเติม แต่อาจน่าสนใจถ้าคุณป้อนตำแหน่ง
เลื่อนลงมาและ "บันทึกช่อง"
ขั้นตอนที่ 2: ช่องสถานี AirCitizen
ตอนนี้คุณสามารถดูหน้าที่มี 5 แผนภูมิ เมื่อคลิกที่สัญลักษณ์ดินสอ คุณสามารถเปลี่ยนคุณสมบัติของกราฟได้
ผลที่ได้คือภาพที่สองด้านบน
ในขั้นตอนนี้ กราฟเหล่านี้เป็นแบบส่วนตัว คุณจะสามารถทำให้เป็นสาธารณะได้เมื่อได้รับข้อมูลแล้ว
ขั้นตอนที่ 3: หลังจากกำหนดค่ากราฟของคุณแล้ว ไปที่แท็บ "คีย์ API" ดูส่วนคำขอ API และช่องแรก "อัปเดตฟีดช่อง" ให้ละเอียดยิ่งขึ้น สังเกตคีย์ API
คุณจะมีสิ่งนี้:
รับ
ตอนนี้คุณสามารถไปที่บทต่อไป
ขั้นตอนที่ 7: การสื่อสารระหว่างโมดูล Sigfox และแพลตฟอร์ม ThingSpeak
สำหรับข้อมูลของคุณ โปรดทราบว่าการ์ดโมดูล Sigfox แต่ละใบมีหมายเลขที่ไม่ซ้ำกันซึ่งเขียนอยู่บนการ์ดและหมายเลข PAC
ในการรับข้อมูลบน ThingSpeak คุณควรเปลี่ยนเส้นทาง
ข้อมูลไปจากสถานีไปยังแบ็กเอนด์ Sigfox และจะถูกเปลี่ยนเส้นทางไปยังเซิร์ฟเวอร์ ThingSpeak
ดูภาพแรกด้านบนสำหรับคำอธิบาย
ขั้นตอนที่ 1: เราจะไม่อธิบายวิธีการลงทะเบียนบน Sigfox เนื่องจากมีบทช่วยสอนมากมายบนอินเทอร์เน็ต
ไปที่ Sigfox Backend
คลิกที่ "ประเภทอุปกรณ์" จากนั้นคลิกที่บรรทัดของชุดอุปกรณ์และเลือก "แก้ไข"
ตอนนี้ ไปที่ส่วน "การโทรกลับ" และคลิกที่ "ใหม่", "การโทรกลับแบบกำหนดเอง"
ขั้นตอนที่ 2:
คุณควรอยู่ในหน้าการกำหนดค่า:
ประเภท: DATA และ UPLINK
Channel: URL
ส่งซ้ำ: none
Custom payload config: ตั้งค่าแหล่งข้อมูลและตัดสินใจเกี่ยวกับแบบฟอร์มข้อมูล คุณควรเขียนเช่น:
VarName::Type:NumberOfBits
ในกรณีนี้ เรามี 5 ค่าชื่อ pm25, pm10, อุณหภูมิ, ความชื้น และ NO2
pm25::int:16 pm10::int:16 อุณหภูมิ::int:8 ความชื้น::uint:8 NO2::uint:8
รูปแบบ URL: นี่คือไวยากรณ์ ใช้คีย์ API ที่พบก่อนหน้านี้และแทรกไว้หลัง "api_key ="
api.thingspeak.com/update?api_key=XXXXXXXXXXXXXXXX&field1={customData#pm25}&field2={customData#pm10}&field3={customData#temperature}&field4={customData#humidity}&field5={customData#NO2}
ใช้วิธี HTTP: GET
ส่ง SNI: ON
หัวข้อ: ไม่มี
คลิกที่ "ตกลง"
กำหนดค่าการโทรกลับของคุณไปยัง ThingSpeak API แล้ว! (ตัวแทนในรูปที่สองด้านบน)
ขั้นตอนที่ 8: ThingSpeak - 2
ตอนนี้คุณสามารถปรับเปลี่ยนค่าต่ำสุดและสูงสุดของแกนได้
หากจำเป็น ให้คลิกที่โลโก้ดินสอที่ด้านบนขวาของกราฟ
ค่าทั่วไป:
PM 2, 5 & PM 10 = ug/m^3
อุณหภูมิ = °C
ความชื้น = %
ไนโตรเจนไดออกไซด์ = ppm
คุณควรมีบางอย่างเช่นสองภาพด้านบน
คุณยังสามารถเพิ่มวิดเจ็ตอื่นๆ เช่น "การแสดงตัวเลข" หรือ "มาตรวัด"
สุดท้าย ในการทำให้ช่องของคุณเป็นแบบสาธารณะ ไปที่แท็บ "การแบ่งปัน" และเลือก "แชร์มุมมองช่องกับทุกคน"
ขั้นตอนที่ 9: โบนัส - ThingTweet และ React
ทางเลือก: ทวีตหากตรงตามเงื่อนไข !
ขั้นตอนที่ 1: สร้างบัญชีทวิตเตอร์หรือใช้บัญชีทวิตเตอร์ส่วนตัวของคุณ
สมัครสมาชิก - Twitter
ขั้นตอนที่ 2: ใน Thingspeak ไปที่ "Apps" จากนั้นคลิกที่ "ThingTweet"
เชื่อมโยงบัญชี Twitter ของคุณโดยคลิกที่ "เชื่อมโยงบัญชี Twitter"
ขั้นตอนที่ 3: ตอนนี้กลับไปที่ "แอพ" จากนั้นคลิกที่ "ตอบสนอง"
สร้าง React ใหม่โดยคลิกที่ "New React"
ตามตัวอย่าง:
ชื่อปฏิกิริยา: อุณหภูมิเกิน 15 °C
ประเภทเงื่อนไข: ตัวเลข
ความถี่ในการทดสอบ: ในการแทรกข้อมูล
เงื่อนไข ถ้าช่อง:
ฟิลด์: 3 (อุณหภูมิ)
เครื่องหมาย: มากกว่า
มูลค่า: 15
การกระทำ: ThingTweet
จากนั้นทวีต: โอ้ ! อุณหภูมิสูงกว่า 15 °C
ใช้บัญชี Twitter:
ตัวเลือก: เรียกใช้การดำเนินการทุกครั้งที่ตรงตามเงื่อนไข
จากนั้นคลิกที่ "บันทึกปฏิกิริยา"
ตอนนี้คุณจะทวีตหากตรงตามเงื่อนไขและสามารถกำหนดค่าเงื่อนไขอื่น ๆ ได้เช่นขึ้นอยู่กับระดับ PM10
ขั้นตอนที่ 10: ถึงเวลาของคุณแล้ว
สุดท้ายนี้ คุณมีองค์ประกอบทั้งหมดในการสร้างสถานี AirCitizen ของคุณเอง !
วิดีโอ: คุณสามารถชมวิดีโอที่เรานำเสนองานของเรา
แพลตฟอร์ม ThingSpeak ของเรา: AirCitizenPolytech Station
--
ขอขอบคุณสำหรับความสนใจของคุณ !
ทีมงาน AirCitizen Polytech
ขั้นตอนที่ 11: การอ้างอิงและบรรณานุกรม
https://www.sigfox.com/en
https://backend.sigfox.com/auth/login
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
หมวกนิรภัย Covid ส่วนที่ 1: บทนำสู่ Tinkercad Circuits!: 20 ขั้นตอน (พร้อมรูปภาพ)
Covid Safety Helmet ตอนที่ 1: บทนำสู่ Tinkercad Circuits!: สวัสดีเพื่อน ๆ ในชุดสองตอนนี้ เราจะเรียนรู้วิธีใช้วงจรของ Tinkercad - เครื่องมือที่สนุก ทรงพลัง และให้ความรู้สำหรับการเรียนรู้เกี่ยวกับวิธีการทำงานของวงจร! หนึ่งในวิธีที่ดีที่สุดในการเรียนรู้คือการทำ ดังนั้น อันดับแรก เราจะออกแบบโครงการของเราเอง: th
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-