Lepton-Pythonista-MicroPython
โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อสตรีมวิดีโอเกี่ยวกับความร้อนของ FLIR Lepton บน iPhone สตรีมวิดีโอจะถูกดึงข้อมูลโดย ESP32 ผ่าน VoSPI ของ Lepton จากนั้น EPS32 จะส่งวิดีโอไปยัง Iphone ผ่าน Wifi /UDP (ไม่จำเป็นต้องใช้เราเตอร์) โปรแกรมแรกเขียนด้วย Micropython สำหรับ ESP32 อันนี้ตั้งค่าการกำหนดค่า Lepton ผ่าน CCI และรับข้อมูลวิดีโอจาก Lepton และส่งไปยัง Iphone โดยไม่มีการประมวลผลใด ๆ โปรแกรมที่สองเขียนด้วย Pythonista สำหรับ Iphone อันนี้ประมวลผลข้อมูลที่ได้รับและแสดงภาพ / วิดีโอ โปรแกรมให้ผู้ใช้เลือกโหมดได้ : 1) AGC (ระดับสีเทา 8 บิต) 2) RAD /T Linear , RGB ในโหมดที่สองผู้ใช้สามารถรับอุณหภูมิผ่านการสัมผัสหน้าจอ ข้อควรระวัง : โปรแกรมไม่เกี่ยวข้องกับการสอบเทียบ Lepton ใดๆ ผู้ใช้สามารถซูม ถ่ายภาพหน้าจอ และบันทึกวิดีโอได้ (ปุ่มสามปุ่มที่ด้านล่างของหน้าจอเพื่อการนี้)
ฮาร์ดแวร์
- ไอโฟน (8)
- ESP32 Wroom DevKit (จาก uPesy)
- สายจัมเปอร์ + เขียงหั่นขนม
- เลปตัน 3.5
- บอร์ดฝ่าวงล้อม V2.0
การตระเตรียม
- ใน boot.py ตั้งรหัสผ่านและ ssid
- ใน main.py : ตั้งค่า TIMEOUT การสตรีมจะคงอยู่ตามระยะเวลาที่ระบุโดย TIMEOUT หากคุณต้องการให้ลูปทำงานตลอดไป ให้แทนที่ระยะเวลาใน " while loop" ด้วย "true"
- การเดินสายเคเบิลตามรูปแบบไฟฟ้าของ Lepton Breakout board V2.0 และ https://lepton.flir.com/getting-started/raspberry-pi-lepton/ + MOSI ต่อสายดิน
การใช้งาน
- เปิดเครื่อง ESP32 หลังจากผ่านไป 5 วินาทีไฟ LED สีฟ้าจะกระพริบที่ 1 Hz หมายความว่า ESP32 รอการเลือกโหมดที่มาจากโปรแกรม Pythonista
- ใน Iphone ไปที่แผงการกำหนดค่า wifi และเลือกจุดเชื่อมต่อ Wifi ที่เกี่ยวข้อง (ที่คุณระบุไว้ที่ 1) ใน "การเตรียมการ" ด้านบน) ตรวจสอบว่าโลโก้ Wifi ปรากฏบนหน้าจอ Iphone
- รันโปรแกรม Pythonista เลือกโหมดไฟ LED สีฟ้าของ ESP32 จะกระพริบเร็วขึ้น (10 Hz) จนกระทั่งการเริ่มต้นเสร็จสมบูรณ์
- เมื่อการเริ่มต้นเสร็จสมบูรณ์ ไฟ LED จะยังคงคงที่ วิดีโอจะปรากฏบน Iphone สองวินาทีหลังจากนั้น
- ผู้ใช้สามารถซูมได้ (1 , 1.5, 2, 2.5, 3, ความกว้างทั้งหมด), ถ่ายภาพหน้าจอ (ไฟล์ชื่อ screen0X.jpg, ไฟล์ก่อนหน้าจะถูกลบ)
- ผู้ใช้สามารถบันทึกวิดีโอได้ ไฟล์ชื่อ vid0X.mp4 เริ่มต้นจาก X=0 หากมี vid00.mp4 อยู่แล้ว การบันทึกจะไม่สามารถทำได้ (ไม่สามารถเขียนทับ vid00.mp4 ได้) แต่สามารถข้ามได้โดยการแตะอีกครั้งบนปุ่มบันทึก (= จะเพิ่มไฟล์ ชื่อ)
- ในโหมด RAD (RGB) ผู้ใช้สามารถรับอุณหภูมิผ่านการสัมผัสมุมมอง
- หน้าจอบนสุด : CRC ไม่ถูกต้อง : ข้อมูลเกี่ยวกับคุณภาพการสื่อสาร โดยปกติจะอยู่ที่ประมาณ 20-25% qsize :ขนาดของคิวที่แชร์ระหว่างเธรดที่รับข้อมูลและคิวที่ประมวลผลข้อมูล หากทุกอย่างเรียบร้อยดี qsize ไม่ควรเกิน 2 (=การประมวลผลเร็วกว่าการรับข้อมูล) fps : เฟรมต่อวินาที ควรเป็น 9 (อย่างน้อยนอกสหรัฐอเมริกา บางทีในสหรัฐอเมริกาอาจเป็น 27 ก็ได้) T (เฉพาะในโหมด RAD) : อุณหภูมิที่ได้หลังจากสัมผัสมุมมอง (จุดสีขาวปรากฏขึ้นเมื่อสัมผัสหน้าจอ ดูตัวอย่างวิดีโอ)
- RGB : จานสีที่ใช้สามารถพบได้ในโฟลเดอร์ "Pythonista" โปรแกรมจะปรับช่วงสีให้เหมาะกับช่วงอุณหภูมิของฉากปัจจุบัน
- ระยะเวลาการสตรีม : ดูหมายเหตุที่ 2) ด้านบนใน "การเตรียมการ"
- ระหว่างการสตรีมวิดีโอ ผู้ใช้สามารถหยุดโปรแกรม Pythonista และรันอีกครั้งได้ แต่ผู้ใช้จะต้องเลือกโหมดเดียวกับที่ระบุไว้ในตอนแรก (ไม่สามารถเปลี่ยนโหมดระหว่างการสตรีมได้) หมายเหตุ: ในบริบทนี้ มุมมองจะปรากฏขึ้นหลังจาก 4/5 วินาทีเมื่อเลือกโหมดแล้ว หากผู้ใช้ต้องการสลับไปยังโหมดอื่น จะต้องรีเซ็ต ESP32 (จากนั้นไฟ LED สีน้ำเงินจะกะพริบที่ 1 Hz ฯลฯ...)