Lepton-Pythonista-MicroPython
Proyek ini bertujuan untuk mengalirkan video termal FLIR Lepton di Iphone. Aliran video diambil oleh ESP32 melalui VoSPI Lepton dan kemudian EPS32 mengirimkan video ke Iphone melalui Wifi /UDP (tidak diperlukan router). Program pertama ditulis dalam Micropython untuk ESP32. Yang ini mengatur konfigurasi Lepton melalui CCI dan mendapatkan data video dari Lepton dan mengirimkannya ke Iphone tanpa pemrosesan apa pun. Program kedua ditulis dalam Pythonista untuk Iphone. Yang ini memproses data yang diterima dan menampilkan gambar/video. Program ini memungkinkan pengguna untuk memilih mode: 1) AGC (skala abu-abu 8 bit) 2) RAD /T Linear, RGB. Pada mode kedua pengguna bisa mendapatkan suhu melalui sentuhan pada layar. PERHATIAN : program ini tidak melibatkan kalibrasi Lepton apa pun. Pengguna dapat memperbesar, mengambil tangkapan layar, dan merekam video (tiga tombol di bagian bawah layar untuk tujuan ini)
Perangkat keras
- iPhone (8)
- ESP32 Wroom DevKit (dari uPesy)
- kabel jumper + papan tempat memotong roti
- Lepton 3.5
- Papan terobosan V2.0
Persiapan
- di boot.py atur kata sandi dan ssid
- di main.py : atur TIMEOUT, streaming berlangsung selama durasi yang ditentukan oleh TIMEOUT. Jika Anda ingin perulangan berjalan selamanya, ganti durasi dalam "perulangan while" dengan "true"
- pemasangan kabel sesuai dengan skema kelistrikan Lepton Breakout board V2.0 dan https://lepton.flir.com/getting-started/raspberry-pi-lepton/ + MOSI ground
Penggunaan
- nyalakan ESP32, setelah 5 detik LED biru berkedip 1 Hz, artinya ESP32 menunggu pemilihan mode yang datang dari program Pythonista
- di Iphone, buka panel konfigurasi wifi dan pilih titik akses Wifi yang relevan (yang telah Anda tentukan di 1) dalam "persiapan" di atas). Periksa apakah logo Wifi sudah muncul di layar Iphone
- jalankan program Pythonista, pilih mode, LED biru ESP32 berkedip lebih cepat (10 Hz) hingga inisialisasi selesai
- ketika inisialisasi selesai, LED tetap, video muncul di Iphone dua detik setelahnya
- pengguna dapat memperbesar (1, 1.5, 2, 2.5, 3, lebar keseluruhan), mengambil tangkapan layar (file diberi nama screenshot0X.jpg, file sebelumnya dihapus)
- pengguna dapat merekam video. File diberi nama vid0X.mp4, dimulai dari X=0, jika vid00.mp4 sudah ada maka perekaman tidak dapat dilakukan (tidak dapat menimpa vid00.mp4) namun dapat dilewati dengan mengetuk lagi tombol rekam (= akan menambah file nama)
- dalam mode RAD (RGB), pengguna bisa mendapatkan suhu melalui sentuhan tampilan
- Layar atas : CRC Buruk : informasi tentang kualitas komunikasi, biasanya sekitar 20-25%. qsize :ukuran antrian yang dibagi antara thread yang menerima data dan yang memproses data, jika semuanya baik-baik saja, qsize tidak boleh lebih dari 2 (=memproses lebih cepat dari penerimaan data). fps : frame per detik, harusnya 9 (setidaknya di luar AS, mungkin di AS bisa 27?). T (hanya dalam mode RAD): suhu yang didapat setelah disentuh tampilan (muncul titik putih saat layar disentuh, lihat contoh video)
- RGB : palet yang digunakan dapat ditemukan di folder "Pythonista", program menyesuaikan rentang warna dengan kisaran suhu pemandangan saat ini
- Durasi streaming : lihat keterangan di 2) di atas dalam "persiapan"
- selama streaming video, pengguna dapat menghentikan program Pythonista dan menjalankannya kembali tetapi pengguna harus memilih mode yang sama seperti yang ditentukan sebelumnya (tidak mungkin mengubah mode selama streaming). Catatan: dalam konteks ini, tampilan muncul setelah 4/5 detik setelah mode dipilih. Jika pengguna ingin beralih ke mode lain, ESP32 harus direset (kemudian LED biru berkedip pada 1 Hz, dll...)