สารบัญ:

AirCitizen - การตรวจสอบคุณภาพอากาศ: 11 ขั้นตอน (พร้อมรูปภาพ)
AirCitizen - การตรวจสอบคุณภาพอากาศ: 11 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: AirCitizen - การตรวจสอบคุณภาพอากาศ: 11 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: AirCitizen - การตรวจสอบคุณภาพอากาศ: 11 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: เปิดคลิป วินาทีก่อนจับตาย “จ่าคลั่ง” 2024, พฤศจิกายน
Anonim
AirCitizen - การตรวจสอบคุณภาพอากาศ
AirCitizen - การตรวจสอบคุณภาพอากาศ

สวัสดีทุกคน

วันนี้เราจะมาสอนวิธีการทำซ้ำโครงการของเรา: 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 ! !

โดยทั่วไป นี่คือวิธีการเชื่อมต่อส่วนประกอบ:

  1. เชื่อมขนานกับแผงโซลาร์เซลล์
  2. เชื่อมต่อเข้ากับ LiPo Rider Pro และเชื่อมต่อแบตเตอรี่กับ LiPo Rider Pro
  3. เช่นเดียวกับรูปภาพด้านบน เชื่อมต่อองค์ประกอบทั้งหมดเข้ากับ STM32 เชื่อมต่อเซ็นเซอร์อุณหภูมิและความชื้นเพียงตัวเดียวไม่ใช่ 2 ! อย่าลืมตัวต้านทาน ตัวเก็บประจุ และทรานซิสเตอร์
  4. สุดท้าย เชื่อมต่อ STM32 กับ LiPo Rider Pro ด้วยสาย USB

ขั้นตอนต่อไปคือทางเลือกสำหรับสายนี้

ขั้นตอนที่ 2: ฮาร์ดแวร์ - PCB

ฮาร์ดแวร์ - PCB
ฮาร์ดแวร์ - PCB

เราตัดสินใจใช้ Autodesk Eagle เพื่อออกแบบแผงวงจรพิมพ์ (PCB)

คุณสามารถเลือกที่จะเชื่อมต่อ DHT หรือ SHT เราเลือกออกแบบลายนิ้วมือ 2 อันสำหรับเซ็นเซอร์ 2 ตัวนี้เพื่อเปลี่ยนเซ็นเซอร์หากจำเป็น

ในไฟล์แนบ คุณสามารถดาวน์โหลดไฟล์แนวคิดของ Eagle เพื่อให้คุณสามารถสร้างมันขึ้นมาเองได้อย่างง่ายดาย

เราใช้พิน 5V ของ stm32 เพื่อจัดหาอุปกรณ์ ในการกำหนดค่านี้ มีเพียง stm32 core เท่านั้นที่ใช้พลังงาน

ดังนั้นเราจึงสามารถใช้โหมดสลีปลึกของ MCU ที่ให้กระแสไฟสลีปต่ำได้ ในสถานะสแตนด์บาย กระแสไฟขณะหลับทั้งหมดจะลดลงต่ำกว่า XXµA

ขั้นตอนที่ 3: โปรโตคอล LPWAN: การสื่อสาร Sigfox

โปรโตคอล LPWAN: การสื่อสาร Sigfox
โปรโตคอล 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 - 1 นาที
ThingSpeak - 1 นาที
ThingSpeak - 1 นาที
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 และแพลตฟอร์ม ThingSpeak
การสื่อสารระหว่างโมดูล Sigfox และแพลตฟอร์ม ThingSpeak
การสื่อสารระหว่างโมดูล Sigfox และแพลตฟอร์ม ThingSpeak
การสื่อสารระหว่างโมดูล 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

ThingSpeak - 2
ThingSpeak - 2

ตอนนี้คุณสามารถปรับเปลี่ยนค่าต่ำสุดและสูงสุดของแกนได้

หากจำเป็น ให้คลิกที่โลโก้ดินสอที่ด้านบนขวาของกราฟ

ค่าทั่วไป:

PM 2, 5 & PM 10 = ug/m^3

อุณหภูมิ = °C

ความชื้น = %

ไนโตรเจนไดออกไซด์ = ppm

คุณควรมีบางอย่างเช่นสองภาพด้านบน

คุณยังสามารถเพิ่มวิดเจ็ตอื่นๆ เช่น "การแสดงตัวเลข" หรือ "มาตรวัด"

สุดท้าย ในการทำให้ช่องของคุณเป็นแบบสาธารณะ ไปที่แท็บ "การแบ่งปัน" และเลือก "แชร์มุมมองช่องกับทุกคน"

ขั้นตอนที่ 9: โบนัส - ThingTweet และ React

โบนัส - ThingTweet และ React
โบนัส - ThingTweet และ React
โบนัส - ThingTweet และ React
โบนัส - ThingTweet และ React
โบนัส - ThingTweet และ React
โบนัส - 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

แนะนำ: