ليبتون-بايثونيستا-مايكروبايثون
يهدف هذا المشروع إلى بث الفيديو الحراري لجهاز FLIR Lepton على هاتف Iphone. يتم استرداد دفق الفيديو بواسطة ESP32 من خلال VoSPI الخاص بـ Lepton ثم يرسل EPS32 الفيديو إلى Iphone عبر Wifi /UDP (لا حاجة إلى جهاز توجيه). تمت كتابة البرنامج الأول بلغة Micropython لـ ESP32. يقوم هذا بإعداد تكوين Lepton من خلال CCI ويحصل على بيانات الفيديو من Lepton ويرسلها إلى Iphone دون أي معالجة. البرنامج الثاني مكتوب بلغة Pythonista للآيفون. يقوم هذا بمعالجة البيانات المستلمة ويعرض الصور/الفيديو. يمكّن البرنامج المستخدم من اختيار الوضع: 1) AGC (تدرج رمادي 8 بت) 2) RAD /T Linear، RGB. وفي الوضع الثاني يمكن للمستخدم معرفة درجة الحرارة من خلال لمس الشاشة. تنبيه: البرنامج لا يتضمن أي معايرة لليبتون. يمكن للمستخدم التكبير والتقاط لقطات الشاشة وتسجيل مقاطع الفيديو (ثلاثة أزرار في أسفل الشاشة لهذا الغرض)
الأجهزة
- ايفون (8)
- ESP32 Wroom DevKit (من uPesy)
- كابلات العبور + اللوح
- ليبتون 3.5
- لوحة الاختراق V2.0
تحضير
- في Boot.py قم بإعداد كلمة المرور وSSID
- في main.py: قم بإعداد TIMEOUT، وسيستمر البث للمدة المحددة بواسطة TIMEOUT. إذا كنت تريد أن تستمر الحلقة إلى الأبد، فاستبدل المدة في "الحلقة أثناء الحلقة" بـ "صحيح"
- الكابلات وفقًا للمخطط الكهربائي Lepton Breakout Board V2.0 وhttps://lepton.flir.com/getting-started/raspberry-pi-lepton/ + مؤرض من MOSI
الاستخدام
- قم بتشغيل ESP32، بعد 5 ثوانٍ، يومض مؤشر LED الأزرق عند 1 هرتز، فهذا يعني أن ESP32 ينتظر اختيار الوضع القادم من برنامج Pythonista
- في جهاز iPhone، انتقل إلى لوحة تكوين wifi واختر نقطة وصول Wifi ذات الصلة (التي حددتها في 1) في "الإعداد" أعلاه). تأكد من ظهور شعار Wifi على شاشة الايفون
- قم بتشغيل برنامج Pythonista، وحدد الوضع، ويومض مؤشر LED الأزرق الخاص بـ ESP32 بشكل أسرع (10 هرتز) حتى اكتمال التهيئة
- عند اكتمال عملية التهيئة، يظل مؤشر 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 (= معالجة أسرع من استلام البيانات). إطارًا في الثانية: إطار في الثانية، يجب أن يكون 9 (على الأقل خارج الولايات المتحدة، ربما في الولايات المتحدة يمكن أن يكون 27؟). T (فقط في وضع RAD): تم الحصول على درجة الحرارة بعد لمس العرض (تظهر نقطة بيضاء عند لمس الشاشة، انظر مثال الفيديو)
- RGB: يمكن العثور على اللوحة المستخدمة في مجلد "Pythonista"، حيث يقوم البرنامج بتكييف نطاق الألوان مع نطاق درجة حرارة المشهد الحالي
- مدة البث: انظر الملاحظة في 2) أعلاه في "الإعداد"
- أثناء بث الفيديو، يمكن للمستخدم إيقاف برنامج Pythonista وتشغيله مرة أخرى ولكن يجب على المستخدم اختيار نفس الوضع المحدد في البداية (لا يمكن تغيير الوضع أثناء البث). ملاحظة: في هذا السياق، يظهر العرض بعد 4/5 ثانية بمجرد تحديد الوضع. إذا أراد المستخدم التبديل إلى وضع مختلف، فيجب إعادة ضبط ESP32 (ثم يومض مؤشر LED الأزرق عند 1 هرتز، وما إلى ذلك...)