alexa-tracking
Kategori
Kategori
Home / FORUM / All / Tech / ... / Programmer Forum /
[ASK] Python Flask dan Bluetooth shutter di Raspberry Pi
1024
1024
KASKUS
51
244
https://www.kaskus.co.id/thread/5d53fa5f65b24d7fc923c3c2/ask-python-flask-dan-bluetooth-shutter-di-raspberry-pi

[ASK] Python Flask dan Bluetooth shutter di Raspberry Pi

Malam suhu2.

Saya dalam beberapa hari ini belajar python. Saya ingin membuat projek yg mana menggunakan raspberry pi, bluetooth selfie shutter dan usb camera. Bahasa program utama yg saya pakai sebenarnya PHP. Cuma, di projek ini, saya ingin membuat bagaimana caranya mengambil foto menggunakan bluetooth shutter dan usb camera di raspberry pi. 

Jadi ketika halaman website dibuka, user bisa menekan tombol di bluetooh shutter dan otomatis akan mengambil foto dari camera. Kmudian hasil foto tersebut dimunculkan di halaman website.
Saya sudah berhasil integrasi bluetooth shutter dan camera ke raspberry pi untuk mengambil foto menggunakan python. Tapi yg menjadi masalah adalah bagaimana cara mendeteksi kalau ada foto yg baru diambil, sehingga bisa menampilkan foto terbaru di website.

Saya sudah mencoba menggunakan ajax dan python untuk mengecek apakah ada foto terbaru di folder. Dan ajax dijalankan setiap beberapa detik sekali dan foto terbaru berhasil ditampilkan. Tapi yg jadi masalah, setelah beberapa lama raspberry pi menjadi freeze.

Jadi yg saya ingin tanyakan, adakah cara untuk mengetahui jika python berhasil mengambil foto yg baru tanpa harus cek folder setiap beberapa detik sekali?

Thanks
Beri apresiasi terhadap thread ini Gan!
Ini bukan via internet kan? Web servernya ada di Raspberry Pi, dan browser langsung buka ke sana. Atau gimana arsitekturnya? biar ngerti dulu dari awal
Lihat 11 balasan
Balasan post heatbl4st
Quote:


Jadi begini gan, php nya diupload ke hosting karena berhubungan dengan website nya. Jadi dari browser di raspberry pi connect ke hosting utk buka page nya. Di page itu saya menggunakan ajax dan python flask sebagai web server di raspberry pi untuk menjalankan file python yg ada coding utk detect bluetooth shutter nya. Dan sekarang sudah bisa detect bluetooth shutter dan ambil foto.

Yg saya bingung gimana cara mengetahui kalau file python tersebut berhasil ambil foto. Karena ajax yg dipanggil hanya untuk menjalankan python service dibackground

Balasan post heatbl4st
@newtdk
Kenapa setelah browser buka page, ada web server lagi (flask). Kenapa gak pake javascript untuk interaksi dengan bluetooth nya?
Balasan post heatbl4st
Quote:


di projek ini juga perlu ambil data dari raspberry pi yg saya tau ga bisa pakai javascript, makanya saya pakai python dan flask supaya bisa akses dari ajax.

utk yg bluetooth, karena saya cuma menemukan contoh integrasi di raspberry pi menggunakan python dan saya juga sudah install flask, makanya saya puakai python utk detect bluetooth shutternya
Diubah oleh newtdk
Balasan post heatbl4st
@newtdk
Saya masih kurang faham integrasinya di browser, ini jadi ada 2 service terpisah
1. Service yg dari internet (yg pake php tadi agan bilang)
2. Service dari python flask untuk integrasi dengan shutter

Yang jadi pertanyaan, ketika buka yg no 1 tadi, gimana cara menghubungkan dengan no 2? kayak ada 2 hal yg terpisah dan belum terintegrasi gitu
Balasan post heatbl4st
Quote:


memang belum terintegrasi gan. PHP hanya design halaman website nya. Saya pakai python utk tangkap bluetooth shutter nya.

Jadi ketika buka halaman php, ajax akan dipanggil untuk menjalankan service python yg akan menangkap event press dari bluetooth shutter.

Jadi yg mau saya tau apakah ada cara integrasi python service ke javascript utk detect kalau python ambil foto
Balasan post heatbl4st
@newtdk
Ouhh ok, mulai paham. Jadi ibaratnya gini ya
1. di browser buka page, misalnya domain yg agan punya abc.com, jadi buka http://abc.com
2. Pas page nya udah kebuka, katakanlah ada tombol untuk mulai atau semacemnya, tombol ini akan meng-ajax ke http://localhost, yg merupakan server integrasi flask dengan shutter tadi

Kira2 gitu ya gan?
Balasan post heatbl4st
Quote:


iya kurang lebih seperti itu. Setelah ajax dipanggil maka service python akan berjalan di background utk menangkap event dari bluetooth shutter.
Karena ajax menjalankan service python, jadi ga akan ada response di ajax sebelum ada event yg ditangkap dari shutter. Saya bingung apakah ada cara agar python service mengirimkan info kalau ada foto baru ke javascript. Jadi image yg di website bisa update terbaru
Balasan post heatbl4st
@newtdk
Di Ajax kan ada callback, bikin fungsi yg akan menerima fallback tsb. Jadi begitu flask kelar, return 200 ke pemanggil dan kasih tau kalo udah sukses.
Balasan post heatbl4st
Quote:


flask jalan terus gan bukan hanya waktu ajax dijalankan. Ajax hanya untuk memulai service python. Sisanya flask jalan di background walaupun ajax sudah selesai., dan flask kan perlu menunggu ada event dari shutter, klo ga ada event ya ga ada yg bisa direturn ke ajax.

Apakah ada cara gimana python bisa komunikasi dengan javascript.
Balasan post heatbl4st
@newtdk Sorry baru sempet bales,
iya flask jalan terus soalnya flask kan web server (dalam kasus ini jalan lokal di raspberry). Agan manggil ajax ke flask gimana? pasti pake protokol http kan, jadi http://blablabla... gitu kan, Nah itu kan ada return value dari flask nya.
Balasan post heatbl4st
Quote:


maksud saya service python nya yg jalan terus. Flask dipake supaya python script bisa fipanggil dari ajax. Jadi setelah ajax panggil python script, maka python service akan aktif dan siap untuk menangkap event dari shutter. Setelah diaktifkan, tidak ada return value karena ajax hanya utk menjalankan service.

Skemanya
1. Buka website
2. Setelah terbuka, panggil ajax untuk menjalankan python service. Ajax selesai dan tidak ada return value
3. Python service tetap running menunggu event dari shutter

yg jadi masalah setelah ini. Bagaimana cara nya python service mengirimkan info kalau ada foto baru
oh, jadi flask cuma dipake untuk jalanin python service, 1x aja. Phyton service ini bikinan sendiri atau bawaan dari shutter? kenapa ga bisa python service ini terintegrasi dgn flask?. kalau ga keberatan, boleh share reponya,? jadi penasaran hehe
Lihat 5 balasan
Balasan post heatbl4st
Quote:


lihat tutorial di internet gan, aslinya pakai remote wii jadi custom sedikit. Di sini https://core-electronics.com.au/tutorials/using-usb-and-bluetooth-controllers-with-python.html

flask kan hanya webserver. Jadi ga akan menunggu response dari python service kan..
Balasan post heatbl4st
Balasan post newtdk
@newtdk
Halo gan, ane udah liat2. Jadi python service yg kamu dibikin dijalankan hanya sekali, untuk fireup supaya bisa nunggu event dari shutter. Permasalahannya kalo ada event dari shutter gimana cara ngirim ke client side nya, browser (gitu kan). Nah mungkin sampean harus ngepush status nya ke client side via web-socket. Pernah konsider menggunakan web-socket?, kalo belom, berikut bisa liat salah satu referensi dari sini

https://websockets.readthedocs.io/en...ble/intro.html

Pada sample yg "Browser-based example", bisa dicoba bagaimana komunikasi itu terjalin.
Diubah oleh heatbl4st
Balasan post heatbl4st
Quote:


iya seperti itu gan. Wah saya sempat kepikiran juga pakai socket, cuma ya itu masih newbie 😁

ok nanti saya coba pahami dulu. Thanks ya.
Balasan post newtdk
@newtdk no problem, glad if it is working


GDP Network
© 2019 KASKUS, PT Darta Media Indonesia. All rights reserved
Ikuti KASKUS di