alexa-tracking
Selamat Guest, Agan dapat mencoba tampilan baru KASKUS Masih Kangen Tampilan Sebelumnya
Kategori
Kategori
Home / FORUM / All / Tech / ... / Android /
Otomatiskan Pengaturan Android dengan TASKER
4.57 stars - based on 7 vote 5 stars 0 stars
1024
1024
KASKUS
51
244
https://www.kaskus.co.id/thread/536a09f282cf176076000179/otomatiskan-pengaturan-android-dengan-tasker

Otomatiskan Pengaturan Android dengan TASKER

Tampilkan isi Thread
Halaman 8 dari 9
Yah gk free appsnya
Quote:


gan bisa share gk yg jadwal shalat pake tasker itu? agan2 yg lain yg tahu juga boleh. hehee...

saya punya 2 profile :
1. untuk aplikasi browser terus shopping saya pake task 4gOnly
2. aplikasi chat kaya line sama Wa saya pake task 2gOnly

nemu kasus, pas buka browser, terus ada notif chat terus saya buka chat terus saya bales gk nyampe satu menit. Tapi akibatnya internet saya dari 4g ke 2g ke 4g. emoticon-Big Grin
Nah gimana caranya, ada jeda gtu 1 menit tetep di 4g?
saya pernah di profile 2 pake task wait 1menit. tapi malah jadi berurutan. pas saya balik lagi ke browser malah pindah ke 2g.
jadi intinya supaya nunggu di 4g satu menit kalau emang aplikasi chat itu masih kebuka.
Quote:

Yang shalat tu pake task HTTP get, kemungkinan besar dia ambil dari Monthly Timesheet JSON Service, lalu dimatch ke harinya apa, dan match baris tersebut ke jadwalnya. Untuk misahnya pake variable split. Liat json nya, bisa split di kurung kurawal atau titik koma nya. Perlu tes sih.

Mengikutin pola pikir agan dulu. Di profile yang 2G only, tambahkan State > Variables > Variable value > %Chat ~ 1. Artinya Profile 2G only tu hanya bisa aktif jika app chat terbuka dan variable %Chat = 1 (Chat nya huruf besar ya, variable global).

Kemudian di profile 4G only, tambahkan exit task, misalnya kasih nama SetChat1. Task nya cuma 2 action : Wait 1 menit, lalu set variable %Chat ke 1. Artinya kalau profile 4G only ga aktif, kan trigger exit task. %Chat nya harus tunggu 1 menit dulu baru bisa jadi 1. Artinya profile 2G only harus nunggu exit task ini 1 menit dulu sebelum bisa aktif.

Di Profile 4G only, yang task utamanya, di awal2 tambahkan dua action : Stop task dari exit task SetChat1 tadi (biar kereset exit tasknya). baru set %Chat = 0. Artinya selama profile 4G only aktif, profile 2G only ga pernah bisa aktif, karena %Chat nya diset jadi 0. Lalu kalau seandainya agan keluar dari browser, kan trigger exit task, menghitung mundur 1 menit. Kalau dalam 1 menit tu agan buka browser lagi, trigger profile 4G Only, entry task nya jalan, ngestop exit task tadi (reset timer), dan %Chat tetap 0.


Tapi ane pikir sih karena agan cuma toggle antara 2G dan 4G, kenapa butuh ampe 2 profile? Kan berarti default nya hanya 2G, pada saat browsing aja jadi 4G. Mah cuma perlu profile 4G only, mirip seperti di atas. Entry task yang sudah ada ditambahkan ngestop exit task (mirip seperti di atas), ga perlu set %Chat lagi. Tapi bedanya di exit task, kasih wait 1 menit, dan action kedua ya langsung aja set network ke 2G. Jadi ga perlu profile 2G only lagi. %Chat juga tidak perlu.
Quote:


coba cari z krack nya di google. hehee

Quote:


ternyata lebh enak pake 2 profil gan.. emoticon-Big Grin
nuhun gan... jangan bosen ya kalo nanti saya banyak nanya. hahaa

Quote:

Tanya ja gan emoticon-Big Grin Biar ane juga ada sentuh2 tu taskernya. Kadang uda selesai profilenya, ga diliat2 lagi. Tapi memang teknologi/app yang bagus adalah yang mampu membuat kita lupa bahwa kita sedang menggunakan/menikmatinya.
Quote:


kalo ada waktu minta bantuan yg jadwal shalat itu donk gan, hehee...
di Play store ada Prayer Time Utilities dukungannya bisa pake tasker, cuman tetep pake variabel yg ilmunya belum nyampe sana...

Quote:

Yang dari http tu mesti parsing datanya lagi. Agak lama sih. Ane uda dikejar2 nih bikin trit tutorial root, jadi mungkin habis ini selesai dulu. Kalau agan bisa tes2 sendiri pake Prayer Time Utilities, ntar ada mentok bisa coba tanya. Variable sih mah cuma dua jenis aja, yang Global pake huruf besar dan lokal yang pake huruf kecil di namanya.
Quote:


- Bikin task Ambil Jadwal Sholat
# Variable -> Set Variable
Name: %posisi
To: %LOC
# Variable -> Variable Split
Name: %posisi
Splitter:,
# Variable -> Set Variable
Name: %waktu
To: %DATE
# Variable -> Variable Split
Name: %waktu
Splitter: -
# Variable -> Set Variable
Name: %tgl
To: %waktu1+0
Do Maths
# Variable -> Set Variable
Name: %tgl2
To: %tgl+1
Do Maths
# Variable -> Set Variable
Name: %bulan
To: %waktu2
# Variable -> Set Variable
Name: %tahun
To: %waktu3
# Net -> Http Get
Server: http://praytime.info
Path: getprayertimes.php?lat=%posisi1&lon=%posisi2&gmt=420&m=%bulan&y=%thn&school=4
# Variable -> Set Variable
Name: %html
To: %HTTPD
# Variable -> Variable Split
Name: %html
Splitter: "%tgl":{
# Variable -> Variable Split
Name: %html2
Splitter: },"%tgl2":
# Task -> Return
Value: %html21

- Bikin task SetSubuh
# Variable -> Set Variable
Name: %jadwalharian
To: %par1
# Variable -> Variable Split
Name: %jadwalharian
Splitter:,
Delete Base: checked
# Variable -> Set Variable
Name: %jadwalharian
To: %jadwalharian2
# Variable -> Variable Split
Name: %jadwalharian
Splitter: :"
Delete Base: checked
# Variable -> Set Variable
Name: %jadwalharian
To: %jadwalharian2
# Variable -> Variable Split
Name: %jadwalharian
Splitter: "
Delete Base: checked
# Variable -> Set Variable
Name: %jadwalharian
To: %jadwalharian1
# Variable -> Variable Split
Name: %jadwalharian
Splitter: :
Delete Base: checked
# System -> Set Alarm
Hours: %jadwalharian1
Minutes: %jadwalharian2

- Bikin task SetDhuhur
# Variable -> Set Variable
Name: %jadwalharian
To: %par1
# Variable -> Variable Split
Name: %jadwalharian
Splitter:,
Delete Base: checked
# Variable -> Set Variable
Name: %jadwalharian
To: %jadwalharian4
# Variable -> Variable Split
Name: %jadwalharian
Splitter: :"
Delete Base: checked
# Variable -> Set Variable
Name: %jadwalharian
To: %jadwalharian2
# Variable -> Variable Split
Name: %jadwalharian
Splitter: "
Delete Base: checked
# Variable -> Set Variable
Name: %jadwalharian
To: %jadwalharian1
# Variable -> Variable Split
Name: %jadwalharian
Splitter: :
Delete Base: checked
# System -> Set Alarm
Hours: %jadwalharian1
Minutes: %jadwalharian2

- Bikin task SetAshar
# Variable -> Set Variable
Name: %jadwalharian
To: %par1
# Variable -> Variable Split
Name: %jadwalharian
Splitter:,
Delete Base: checked
# Variable -> Set Variable
Name: %jadwalharian
To: %jadwalharian5
# Variable -> Variable Split
Name: %jadwalharian
Splitter: :"
Delete Base: checked
# Variable -> Set Variable
Name: %jadwalharian
To: %jadwalharian2
# Variable -> Variable Split
Name: %jadwalharian
Splitter: "
Delete Base: checked
# Variable -> Set Variable
Name: %jadwalharian
To: %jadwalharian1
# Variable -> Variable Split
Name: %jadwalharian
Splitter: :
Delete Base: checked
# System -> Set Alarm
Hours: %jadwalharian1
Minutes: %jadwalharian2

- Bikin task SetMaghrib
# Variable -> Set Variable
Name: %jadwalharian
To: %par1
# Variable -> Variable Split
Name: %jadwalharian
Splitter:,
Delete Base: checked
# Variable -> Set Variable
Name: %jadwalharian
To: %jadwalharian7
# Variable -> Variable Split
Name: %jadwalharian
Splitter: :"
Delete Base: checked
# Variable -> Set Variable
Name: %jadwalharian
To: %jadwalharian2
# Variable -> Variable Split
Name: %jadwalharian
Splitter: "
Delete Base: checked
# Variable -> Set Variable
Name: %jadwalharian
To: %jadwalharian1
# Variable -> Variable Split
Name: %jadwalharian
Splitter: :
Delete Base: checked
# System -> Set Alarm
Hours: %jadwalharian1
Minutes: %jadwalharian2

- Bikin task SetIsya
# Variable -> Set Variable
Name: %jadwalharian
To: %par1
# Variable -> Variable Split
Name: %jadwalharian
Splitter:,
Delete Base: checked
# Variable -> Set Variable
Name: %jadwalharian
To: %jadwalharian8
# Variable -> Variable Split
Name: %jadwalharian
Splitter: :"
Delete Base: checked
# Variable -> Set Variable
Name: %jadwalharian
To: %jadwalharian2
# Variable -> Variable Split
Name: %jadwalharian
Splitter: "
Delete Base: checked
# Variable -> Set Variable
Name: %jadwalharian
To: %jadwalharian1
# Variable -> Variable Split
Name: %jadwalharian
Splitter: :
Delete Base: checked
# System -> Set Alarm
Hours: %jadwalharian1
Minutes: %jadwalharian2

- Bikin task SetJadwalSholat
# Task -> Perform Task
Name: AmbilJadwalSholat
Return Value Variable: %jadwal
# Task -> Perform Task
Name: SetSubuh
Parameter 1: %jadwal
# Task -> Wait
Seconds: 1
# Task -> Perform Task
Name: SetDhuhur
Parameter 1: %jadwal
# Task -> Wait
Seconds: 1
# Task -> Perform Task
Name: SetAshar
Parameter 1: %jadwal
# Task -> Wait
Seconds: 1
# Task -> Perform Task
Name: SetMaghrib
Parameter 1: %jadwal
# Task -> Wait
Seconds: 1
# Task -> Perform Task
Name: SetIsya
Parameter 1: %jadwal

Tested di Zenfone 2
Calculation method : umm am quro
Time zone gmt +7
Penggunaan di Surabaya sekitarnya.
Kalo di Surabaya biasanya untuk isya lebih cepat dari praytime.info.

Kalo cara kirim chat wa terjadwal ke kontak tertentu gimana gan?
Schedulled message gitu 😀
Quote:


Beuh mantap gannnn emoticon-Selamat
Makasih bgt gan... Alhmdllh emoticon-Smilie
Om Gan , Kalo perintah di Tasker dihubungkan menggunakan Google Now bisa gak ya?
Quote:

Bisa, pake autovoice. Versi unlocked, cari di mobilism.
Quote:


Oke , makasih om gan
Thread lama ini ya om Gan. Tasker emang aplikasi android yg powerfull, tapi sayangnya gak semua user android bisa make nya. Sebab utamanya adalah kurangnya tutorial Tasker dalam bahasa Indonesia.
User smartphone di Indonesia ini kan yang seneng ngutak ngatik hape kebanyakan Remaja usia sekolah atopun kuliahan, & sebagian besar pastinya cowok.
Meskipun Tutorial Tasker di Youtube banyak tapi rata rata bahasa asing semua, sedangkan kita hanya sebagian kecil yg paham & fasih bahasa inggris, jadinya masih agak susah juga buat memahaminya.
Di Tasker ini juga banyak istilah istilah yg bagi user awam pastinya membingungkan (kayak ane emoticon-Hammer2 ).

Buat Om TS nya kalo bisa kasih Tutorialnya Penggunaan Tasker di Thread ini Secara Gamblang.
Terus untuk Task Task sederhana diupdate secara kontinyu.
Ambil contoh kayak Profile & Task di Pekiwan yang Om TS buat.
Jadi buat yg awam Tasker bisa terus latihan, sambil memahami variabel variabel yang ada diTasker.

Makasih, hanya sekedar masukan dari saia om Gan :-)
Quote:

TS da hampir ga pernah update pejwan. Paling ane ada rangkumin beberapa tutor dari ane di sebelah. Baca Pejwan Android Troubleshooting, bagian tasker.

Memang kebanyakan tutorial dalam bahasa Inggris. Sekalian tuh, bisa terpaksa belajar. Jaman sekarang sih, bahasa Inggris uda wajib. Apalagi di dunia teknologi. Cara tercepat belajarnya adalah agan perlu ada tujuan dulu. Mo buat proyek apa, atau hanya hal sederhana aja. Lalu tes sana sini ampe task/profilenya berhasil. Kalau buntu, bisa masuk universitas google (googling) atau tanya dimari.
permisi agan2, saya lagi ada project dan menggunakan tasker untuk setting variable, kirim dan terima nilai data dari server untuk mengendalikan lampu.
tasker akan mengirim data dengan HTTP Post setiap kali android membaca NFC tag.
jadi 1 NFC tag dapat digunakan untuk control on/off 1 lampu. misalnya awal2 lampu lagi on, kemudian kalau tag tersebut dibaca lagi bisa bikin lampu off dan begitu jg sebaliknya. karena ada 5 lampu, maka ada 5 tag.

data yang saya kirim dari tasker berupa array yg terdiri dari address mikrokontroler dan kondisi masing2 lampu (berupa biner 1 dan 0).
*address nya dicuekin aja gan, akan sama terus kok untuk sementara.
saya ngakalin nya adalah dengan variable tasker yg saya buat gan, jadi saya ada kondisi if untuk setiap variable relay (dari relay1 - relay5).
misalnya sebelumnya yg saya kirim adalah relay1 = 0, kalau saya kirim lagi (baca tag yg sama lagi) maka dia akan kirim relay1 = 1, dan begitu seterusnya.
Spoiler for task:

nah masalahnya, server gratisan yg saya pakai ini ada batasan nya gan. server ini hanya bisa ditulis dengan interval setiap 15 detik sekali.
kalau misalnya kita barusan ngirim data, dan belum 15 detik udah ngirim lagi, maka data yg terkirim bakal direject sama server. jadi server ga ke update nilai data nya.
padahal, di tasker sendiri value relay nya sudah berubah.
misal nya awal saya kirim relay1 = 1, maka server menerima nilai 1, kemudian belum 15 detik saya udah baca NFC tag yang sama lagi, tasker akan mengubah value relay1 ke 0, jadi value relay1 di tasker udah jadi 0 sekarang. tapi karena server ngereject data yg saya kirim kedua kali tadi, maka di server masih tetap 1. padahal di tasker sudah 0. efek nya adalah, ketika sudah selesai 15 detik, saya kirim data lagi, tasker akan membalik lagi value 0 menjadi 1, padahal di server masih 1, alhasil tidak ada perubahan data di server. jadinya lampu saya tidak berubah kondisi.

bisa dilihat pada gambar di bawah: %datavalue1 adalah variable yg saya kirim ke server, isi nya adalah penggabungan %address dengan %masing2relay. kemudian %dataserver adalah nilai yg saya dapat dari server dengan HTTP Get.
Spoiler for isi variable:


jadi solusi yg saya pikirkan ada 2:
1. gimana caranya supaya tasker ketika sudah ngirim data, apabila dipaksa ngirim data lagi sebelum 15 detik, tasker tetap membalik nilai variable (dari 1 ke 0 atau sebaliknya) tetapi disimpan dulu dan baru dikirim apabila sudah tepat 15 detik.
2. tasker melakukan http get untuk mendapatkan nilai terakhir diserver lalu membandingkan nya kemudian mengirim nilai yg berlawanan dengan nilai yg diterima dari server.

saya udah lakukan yg http get untuk mendapatkan data terakhir, tapi saya ga mudeng cara split nilai dari server ke dalam variable2.
Spoiler for dataserver:

jadi data dari server adalah berbentuk array 11111111.00000 misalnya. nah saya ingin membagi data tersebut ke beberapa bagian.
8 digit pertama adalah address dan kemudian setelah tanda "titik" ada 5 digit masing2 digit untuk variable relay saya.
tapi bagaimana caranya untuk menentukan nya di tasker?

apakah agan2 di sini ada solusi?
mohon maaf banget kalo pertanyaan saya berantakan. saya udah berusaha paling maximal untuk menyederhanakan pertanyaan saya.
kalau misalnya ada yg berkenan boleh dong ajarin taskernya private. karena saya harus mengejar waktu untuk penyelesaian projek.

terima kasih agan2 semuanya.
Diubah oleh empty7
Quote:

Ane jawab dari atas dulu, terus kasih nomor, biar agan gampang track nya.
1. NFC tag tu agan set pake profile dengan plugin gitu? kalau iya, apakah ada satu profile untuk satu tag, atau satu profile untuk semua tag, tapi nanti ada task untuk misahin lampu nya berdasarkan ID dari tag nya? Ini penting karena bisa jadi pembeda nantinya bisa bersamaan atau satu persatu.

2. Metode toggle klasik, ane juga ada pake tu di orvibo ane. Memang harus gitu, NFC tag jadi toggle on/off. Mantap

3. Kekurangan metode toggle ini adalah agan ga punya feedback dari kondisi lampu pada saat sebelum eksekusi task, jadinya value ga sinkron seperti yang agan alami. Atau misalnya agan punya 2 HH, awalnya A nilainya 00000, B juga 00000. Agan pake A untuk hidupin lampu ketiga, A jadi 00100, tapi B tetap masih 00000.

Harusnya sebelum agan kirim command apapun, wajib untuk query dulu status lampu sekarang. Berarti harus HTTP get dulu, diparsing status lampu, update ke nilai di tasker. Dan biasanya yang seperti ini, si mikrokon nya yang harus broadcast setiap kali ada perubahan status lampu. Jadi tadi A request lampu 3 jadi on. Sambil menghidupkan lampu, mikrokon akan broadcast ke semua HH, termasuk B, untuk mengatakan : "Halo semuanya, tadi A barusan suruh ane hidupin lampu 3; ini ya sekarang lampu 3 uda hidup". Ya ini ilustrasinya ya, tentunya pake bahasa IoT nya emoticon-Big Grin

4. Ada cara untuk query ini. Intervalnya kan 15 detik untuk command. Tapi untuk query berapa detik? Apa juga sama 15 detik? Kalau querynya tidak dibatasi, berarti langsung aja query sebelum kirim command.

5. Interval 15 detik kelamaan gan. Delay 3-5 detik juga kelamaan. Bagi ane di atas 1 detik uda sangat tidak manusiawi. Ane pernah liat ada yang pake IFTTT, mo matiin lampu di samping nya aja butuh 3-4 detik setelah tap di commandnya, kelamaan. Ane pake koneksi lokal wifi. Kalau ane aktifkan profile mi band 2, ane angkat tangan, ga ampe 1 detik, lampu nya uda nyala; karena koneksi lokal dan direct.

6. Solusi untuk pertanyaan pertama agan ada 2, tergantung implementasi profile NFC agan sebelumnya. Kalau tadi nya agan pake hanya satu profile, berarti kan cuma satu yang jadi trigger nya. Agan bisa set Cooldown Time 15 detik (tap tahan lama di profile dan pilih setting). Dengan begitu, meskipun ada tag lain terbaca, profile tetap tidak aktif; hanya aktif setelah cooldown habis.

Solusi dua, agan bisa set timer external di awal dan di akhir task. Mirip seperti subscription time di task orvibo ane. Di setiap akhir task, agan set timestamp dan simpan detik itu ke variable global (misalnya %Lastactivated). Lalu di awal task, agan cek timestamp dan kurangkan dengan %Lastactivated; jika nilainya di bawah 15, langsung end task. Hanya kalau selisihnya di atas 15, baru jalankan semua action berikutnya dan perbaharui timestamp.

7. untuk pertanyaan kedua, sudah ane bahas di atas. Memang bagusan selalu query sebelum eksekusi command. Makanya IoT tu perlu protokol yang hemat, karena akan ada feedback terus menerus.

8. Untuk bisa parsing data dari server, karena agan perlu query dulu statusnya sebelum eksekusi; bisa pake semua dari action variable. Ini memang perlu coba2 dulu, tapi asik lo kalau uda terbiasa. Susah kalau mo kasih liat step by step, karena kebanyakan memang mesti pengalaman sendiri. Kalau dijelasin terlalu detail, malah agan jadi ga belajar apa2 dan bingung kenapa pake ini dan itu. Ane pernah pake ini untuk parsing url download koran lokal, ektp bahkan efaktur. Memang capek banget mikirinnya, tapi seru emoticon-Big Grin

Ane contoh dataserver agan adalah 11100111.abcde aja. Sengaja ane buat abcde biar keliatan bedanya. Ane pake nama variabel ane sendiri ya, karena uda sempat SS.
a. untuk pisahin address dan status lampu (%addr), pake variable split, dengan splitter . (titik). Hasil split adalah, %addr = 11100111.abcde, %addr1 = 11100111, %addr2 = abcde Agan bisa baca help nya tasker kenapa habis split bisa jadi %addr1 dan %addr2
b. Action nomor 3 adalah loop counternya, ane kasih nama %len, dan dari awal tambahkan nilai 1. hasilnya %len = 1
c. Untuk pisah variable abcde menjadi a, b, c, d, e; agan perlu variable section. Pake variable section terhadap %addr2 (status lampu), dengan from nya dari %len (di awal2 nilainya 1, nanti akan diadd terus), dengan length 1 (char). Simpan di %Relay(%len) Ini variable baru. Jadi pada saat loop pertama, simpan di %Relay1, lalu nanti %Relay2 dst.
d. Goto action nomor 3, diloop. Berarti %len + 1 lagi, menjadi 2. Di Goto nya kasih if, jika %len < 5. Artinya selama belum ampe 5, loop terus. kalau uda 5, berarti goto nya tidak dieksekusi lagi; baru masuk ke action berikutnya.
e. Ane kasih contoh aja, hasil looping di atas diflash toast message keluar, muncullah a b c d e. Artinya %Relay1 = a, %Relay2 = b dst.
Spoiler for Contoh task:


Data %Relay ini yang nanti agan toggle seperlunya, dicombine kembali untuk dikirim ke server. Sebenarnya bisa dibuat lebih simple dengan menggunakan javascript ataupun python, cuma satu action doank, banyak di google. Tapi karena ane lebih maniak ke tasker, jadi prefer semuanya lewat tasker ja.

======================================================
Nah, sekarang ane baru mo bahas konsepnya nih. Kenapa mesti pake Thingspeak? Tidak ada cara lain kah untuk konek ke mikrokon via http nya? Maksudnya bahasanya mikrokon tu dalam bentuk apa? Kenapa cuma thingspeak doank yang bisa "ngomong" ke mikrokon nya?

Apa mikrokonnya tidak punya CLI ataupun telnet gitu untuk inject command kah? Setau ane seperti arduino/raspberry gitu tetap ada server kecil untuk inject command langsung via network. Mungkin memang perlu modul networknya lagi sih. Tapi kan lebih gampang dan direct. Kalau pun perlu pake TCP connection tanpa http pun, tasker punya send/expect yang bisa kirim raw TCP ataupun UDP sender yang bisa kirim raw UDP. Dua ini lebih efisien dibanding command nya mesti menempuh jauh ampe ke server thingspeak dan balik lagi ampe ke mikrokon nya.

Terus karena ada interval 15 detik, gimana kalau seandainya agan mo hidupin 5 lampunya secara bersamaan. Sementara percommand kalau cuma didetek perlampu; berarti agan perlu 1 menit lebih hanya untuk hidupin semuanya lo? Memang sih bisa diset NFC tag terpisah khusus untuk semuanya hidup/mati. Tapi kan jadi nambah lagi tag nya.

BTW, dengan post panjang di atas, apa ane lebih kejam dari dobim agan gak ? emoticon-Big Grin Abaikan aja masukan aneh ane kalau terlalu memberatkan.emoticon-Betty (S) Soalnya yang paling penting adalah agan harus fokus untuk bisa nyelesain proyek, terlepas dari kekurangannya. Tidak harus perfect banget, tu nanti aja baru disempurnakan. Tujuan utama agan kan proof of conceptnya kan; itu kan tuntutannya.
Quote:


Halo gan, thx banget gan buat jawaban nya poin per poin jadi gampang dipahami mksdnya agan.
Ane jg coba komunikasi poin per poin supaya gampang juga dibacanya:

1. Engga gan, ane ga pake plugin. Secara plugin NFC tasker berbayar jadi ane cari yg gratisan aja.
Ane pake aplikasi gratisan di playstore namanya Trigger. Aplikasi trigger ini sendiri bisa manggil tasker task jika kondisi yg kita mau tertrigger (misalnya baca NFC tag).
Nah, aplikasi trigger ini sendiri sebenarnya ada fitur yg bisa untuk sekaligus manggil tasker task secara gantian setiap kali NFC tag yg sama dibaca lagi.
Tapi ane sengaja ga mau manfaatin fitur ini, karena kalo pake ini bakalan terlalu mudah dan malahan ane ga perlu bereksplorasi di tasker nya.
Tinggal set aja task1 kirim relay1 = 1, task2 kirim relay1 = 0 dan udah otomatis dipanggil gantian tiap kali tag yg sama dibaca alias tanpa perlu setting tasker terlalu dalam.
Bukan nya ane belagu gan, ane sadar diri kalo ilmu ane cetek, tapi ane penasaran sama tasker jadi ane pilih buat ga pake fitur ini di aplikasi trigger dan lebih milih buat eksplor tasker.
Jadi kesimpulan nya, bisa dibilang dalam aplikasi tasker ane ga ada profile nya. Tapi hanya task yg ane buat yg akan dipanggil sama aplikasi trigger ketika android baca tag yg sudah ditentukan.

2. Wah betul banget tuh gan soal feedback. Sebenarnya spek projek ane sendiri ane cantumin ada notifikasi, tapi utk skrg belum ane pikirin terlalu jauh gan. Ane masih berkutat soal pengiriman command. Tapi masukan dari agan bagus banget.
Dan dari yg ane baca2 di web ThingSpeak, utk request data sih ga ada batasan nya gan. Malahan mikrokon ane sendiri dia ngelakuin request data terus menerus ke server. Sehingga ane set, supaya ketika terjadi perubahan data, lakukan perintah.
Masalahnya, walaupun tidak ada batasan untuk read data server dari ThingSpeak, ane coba pasangin variable waktu di mikrokon ane dan ngeprint waktu tersebut tiap kali mikrokon dapet data dari server. Ternyata intervalnya adalah setiap 2 detik.
Dan misalnya ane kirim command dari tasker, kira2 dari tasker sampe server terupdate dengan nilai terbaru itu sekitar 2 detik juga.
Maka dari itu lah respon time nya sekitar 3-5 detik yg bisa dibilang tepatnya sekitar 4 detik untuk nyalain lampu ketika android baca tag. Kalo lagi apes kadang bisa lebih dari 5 detik gan emoticon-Frown

3. Makasih banyak gan tutor dan masukan logika taskernya. Sebenarnya ane mau fokus sama konsep ane yg sekarang. Tapi setelah baca kalimat agan soal konsep, jujur aja pikiran ane lgsg buyar gan.
Ane malah jadinya pengen rombak full semua planning konsep ane.
Ane lanjut di bawah ye gan.

=======================================================================================
Obrolan konsep (maaf kalo terselip curhat)
=======================================================================================
Pertama2, maafkan keterbatasan ilmu ane dalam mencerna bbrp kalimat agan.

Awalnya ane dapet ilham tentang projek ini, ane sendiri belum kepikiran gan untuk server nya bakalan kyk gimana.
Ane sendiri sebenarnya jg ga begitu ngerti soal jaringan, server, dkk.
Yg ane ajuin ke dobim ane sih cuma sekedar kata "webserver". Dobim ane sendiri jg cuek2 gitu gan.
Ane cuma punya konsep, yaitu server sebagai media penghubung antara android dengan mikrokon.

Setelah ane dapet surat tugas dan siap develop, ane coba browsing2 dan akhirnya nemu beberapa free IoT server gan, yg salah satunya adalah ThingSpeak ini.
Ane lihat2, penggunaan nya ga perlu buat database, hosting, dll segala gan, karena memang ane ga ngerti dan sbg electronic engineering yg ga ada basic web programming, ane males untuk pelajari lebih dalam dari awal (karena ingin mempersingkat waktu).
Kemudian juga, kalo dibandingin sama IoT server lain nya, ThingSpeak ini free account tidak dibatasi waktu trial.
Dan yg paling oke adalah, sudah tersedia library ThingSpeak nya untuk Arduino IDE.
Jadi ane ngelihat si ThingSpeak ini sbg solusi buat ane.

*updated*
Perlu diingat juga gan, projek ane ini nanti nya akan diangkut ke kampus, yg berarti keluar dari jangkauan WiFi Router ane.
Dari yg udah ane baca2, kalo misal mikrokon nya ane setel sebagai webserver, harus ngambil IP dan port forwarding dari router di kos2an ane gan.
Jadi, misal pas mau pengujian alat di kampus, bakalan ga bisa konek gan.

*updated: nyoba MQTT*
Setelah cari2 tahu, ternyata ThingSpeak support koneksi MQTT tapi hanya untuk update data ke server aja gan. Jadi ane mau coba untuk dari tasker ke ThingSpeak nya lewat MQTT.
Ternyata, kebetulan plugin MQTT utk tasker juga hanya bisa buat publish(post) saja, ga bisa subscibe(get). Dan ane barusan udah nyoba gan, aplikasinya belum bagus. Ga tau kenapa ga bisa konek ke port MQTT nya ThingSpeak.
Jadi sementara ini ane belum nemu metode lain gan buat komunikasi nya selain pake HTTP post & get.

Dan bener apa yg agan bilang. Untuk mengaktifkan setiap lampu (entah itu mau on ke off atau off ke on) secara bersamaan dari masing2 tag perlu waktu lama gan.
Yaitu ya nunggu 15 detik dulu setiap mau kirim command baru ke server (batasan dari ThingSpeak), total2 jadinya sekitar 1 menit lebih. Kecuali nambah tag yg emang fungsinya adalah command untuk aktifin semua lampu bersamaan.

Bisa dibilang sih, agan via Kaskus aja sudah lebih kritis daripada dobim ane tiap kali ane bimbingan, lepas dari kejam atau engga nya.
Karena dobim ane juga malah nambah2in spek yg bikin ane makin puyeng(misalnya minta percepat respon time, minta perbanyak modul dengan sistem address, dll), tapi ga begitu pengen tahu juga kenapa ane pakai ini dan itu.
Baca postingan agan juga bikin ane puyeng. Tapi baca postingan agan, puyeng2 dapet pencerahan.
Ane sendiri yg udah berpuas diri dengan respon time 3-5 detik (awalnya respon time ane bisa sampe 10 detik lebih), ternyata harus mikir ulang supaya bisa lebih baik dari itu karena agan sendiri bilang segitu ga manusiawi emoticon-Big Grin
Kalo boleh milih, agan aja jadi dobim ane emoticon-Big Grin canda gan.
Maksud ane, kalo emang agan ada masukan dan berkenan buat ngetik panjang2 apapun itu walaupun emang harus nyindir konsep ane, ga masalah gan.
Kalo emang ane bisa dapet ilmu baru dan ide2 baru justru ane terima dengan senang hati gan.

*Btw agan pake orvibo, apakah dia bisa konek dengan internet juga gan? atau terbatas local saja?
kalau bisa konek internet, dia komunikasi nya melalui server siapa?

Gara2 agan, ane jd terilhami utk ngelembur pelajarin macam2 soal komunikasi IoT, thank you gan emoticon-Smilie

Diubah oleh empty7
Quote:

1. Kalau pake external app seperti trigger, ga bisa set cooldown di profile. Berarti mesti set timestamp kalau mo ada cooldown nya. Dan untuk yang link ke external gitu, mungkin akan ada delay tambahan dibandingkan kalau pake plugin NFC yang langsung connect ke tasker. Tapi ane ga bisa tes, ga punya HH yang bisa NFC emoticon-Frown Padahal kalau ada, ane juga pengen buat tag yang bisa auto set autoremote ane on pada saat letakkan di pad tertentu.

2. Berarti delaynya karena cara kerja API thinkspeak nya. Ane kirain dari tasker ke TS, baru TS ke Mikrokon. Rupanya Tasker ke TS, baru juga Mikrokon ke TS buat request update. Tu bakalan lag seperti yang agan alami sekarang.

Kalau agan direct, ga ada masalah tu lagi. Karena langsung dari tasker post ke mikrokon; mikrokon langsung response dan balas ke tasker.

BTW, tu berarti HH agan online dan mikrokon juga online kan? Mikrokon nya terhubung ke network via apa? wifi atau lan?

==========================
Kalau agan fokusnya ke webserver, set aja arduino nya jadi webserver yang bisa terima command via HTTP post. Setiap command dari post dilink ke perintah tertentu untuk arduino nya. Atau sebenarnya lebih gampang lagi kalau langsung via auto arduino (plugin tasker), yang ane liat sih bisa langsung send raw command. Cumanya network interface masih terbatas ke OTG, bluetooth dan ethernet (belum ada wifi). Jadi http webserver masih yang paling kompatibel mungkin.

CLI = Command Line Interface, seperti biasanya kita ketik ping [url=http://www.google.com[/B],]www.google.com[/B],[/url] kan sebaris perintah, tapi console akan menjalankan perintah ping ke website google.
TCP = Transmission Control Protocol, koneksi network yang reliable, salah satu contohnya HTTP; yang membutuhkan konfirmasi antara pengirim dan penerima.

Koneksi ke webserver ataupun mikrokon nya harus pake TCP, karena agan mo memastikan mikrokon "menjawab" dan "ngerti" command sudah diterima; dan balas ke tasker nya bilang : "OK". Nah, tasker ada plugin seperti itu. Tapi HTTP aja sebenarnya sih juga uda cukup, yang penting mikrokon nya support HTTP webserver.

Agan tidak perlu host database untuk buat webserver nya. Cukup sediain index file html nya atau file sejenis yang bisa nerima command aja. Entar kalau perlu pasang https dengan certificate generate sendiri, baru port forwarding keluar supaya bisa diakses dari internet.

Agan bisa tes yang namanya trigger server dari app server ultimate; tu cuma sekedar webserver kosong tanpa data. Agan kunjungin servernya dengan url post tertentu, akan diterima dan bisa execute command tertentu (idealnya via tasker). Ane kemarin sempat pake tu untuk trigger tombol kamera di HH yang jadi trigger server nya. Jadi ibaratnya kalau HH nya tu adalah arduino nya, ane tinggal buka url http://ip.HH.tersebut/contohcommand. Entar [B]contohcommand
ini dilink ke tombol kamera. Setiap kali ane kunjungi link tersebut, ibarat seperti ane tekan tombol kamera di HH server. Tu kira2 konsepnya, entah bisa diterapkan di mikrokon agan gak, jadi http post agan jadi CLI ke arduino nya. Kalau bisa, bakalan sangat cepat banget responnya, ga nyampe 1/2 detik.

Dengan konsep tu, arduino masih tetap jadi web server, ga melenceng dari konsep awal agan kan. Nanti command nya dipisah2 per lampu, ataupun alat lain. Dan Android tetap jadi penghubungnya (meskipun pake browser biasa dari PC atau ipin juga bisa sih). Tapi kan mo diautomate via tasker, ya pasti harus android (karena mo scan NFC tag).


Wkwkwk, kalau ane jadi dobim agan, mungkin skripsinya uda ane minta revisi total entah berapa kali emoticon-Ngakak (S) Dobim agan mungkin uda terlalu capek banyak bimbingan, jadi ga sanggup detail satu persatu. Agan sendiri tetap harus siapkan alasan kuat kenapa milih topik ini, kenapa pake alat ini dan itu, kenapa tidak pakai yang lain. Karena bakalan ditanya nantinya pas sidang.


Orvibo ane bisa online, tapi karena ini produk China, servernya ada di mainland. Koneksinya via app nya, ga support tasker. Ane paranoid, takut data ane dikirim ke sana, makanya ane ga pake onlinenya, meskipun bisa. Itulah makanya ane capek2 parsing command nya dan buat task sendiri. Dengan begitu, kalau ane punya IP publik yang bisa dihubungi, ane juga bisa kirim commandnya via tasker nya. Uda pernah ane tes. Tapi banyakan ane tetap pake lokal aja, meskipun perfoma via online juga tidak beda jauh; yang penting inetnya stabil.

Kita juga sama2 belajar gan. Ane juga baru tau MQTT dari agan. MTQQ client tu bisa subscribe juga kalau liat di playstore, bisa coba yang itu. Bakalan ane pake nantinya kalau uda ada mood untuk otak/i.
gan nanya donk
ane mau pake tasker utk keperluan ojek online, jdi gini
ane mau bikin task klo dapet orderan ditempat A dgn jarak >2km jadi autobid bisa ga?
klo bisa boleh minta tolong gmn caranya
makasih
Halaman 8 dari 9


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