Friday, July 26, 2019

Arduino Downloader melalui WIFI




prog di sini
Arduino adalah suatu system Hardware dan Software yang sangat memudahkan, karena kemudahan, tersedianya library dan komunitas yang banyak siap untuk membantu menyelesaikan persoalan proyek anda dengan Arduino. Arduino memiliki IDE sendiri yang dikembangkan dari sumber-sumber open source. Dari IDE Arduino program di download menuju hardware perantaraan USB port, seperti gambar berikut ini:



Port USB tersebut diubah menjadi port serial pada board hardware, atau USB to serial yang ada di luar seperti pada Arduino pro mini.
Cara ini tentu memiliki kelemahan, yaitu:
  1.  Kurang praktis karena masih menggunakan kabel USB dari PC ke Hardware. Jaman sudah serba praktis, serba wireless.
  2.  Jika Hardware yang akan di download jauh maka harus mendekat atau hardware harus dibawa mendekat ke PC.
  3. Jika Hardware berada di ketinggian, maka hardware harus  diturunkan atau kita yang harus memanjat untuk mendekati hardware. ^&$&(%*&)^*(.
  4.  Jika Hardware bekerja pada tegangan tinggi, beresiko terhadap keselamatan PC. Bahkan bisa berbahaya bagi Nyawa (KESETRUM). 
  5. Jika hardware berada di ruangan sebelah….. waduh….. :D (salah kamar)





untuk itu dibuatlah downloader wireless yang terhubung dengan aplikasi (IDE) Arduino.  Seperti gambar berikut ini:





Downloader wireless ini diberi nama ADW (Arduino Downloader via WIFI) . ADW menggunakan media WIFI. Kita dapat menghubungkanya ke jaringan WIFI dan IDE Arduino dapat mendownload program ke hardware asalkan masih dalam satu jaringan LAN. Hubungan yang dapat digunakan ADW adalah:

1.  PC langsung ke ADW lewat WIFI. ADW bertindak sebagai AP (Access Point).



2.   PC ke Modem WIFI, modem WIFI ke ADW. ADW sebagai STA (station).


Merubah SSID dan Password
ADW dilengkapi dengan interfacing web untuk mengganti SSID dan Password, baik sebagai AP atau STA.
SSID dan Password AP ADW default-nya adalah:
downloader
dan bias di ubah. Pertama kali, beri daya pada ADW melalui port USB dengan adaptor HP atau adaptor USB micro USB.


Hubungkan PC atau Android dengan SSID WIFI “downloader”, masukan Password “downloader”.


Buka Google Chrome, ketik alamat 10.10.10.10 lalu enter



Jika sudah dapat menampilkan cendela tersebut maka ADW sudah bisa terhubung dengan PC.
SSID Station dan Password Station di isi dengan SSID dan Password modem WIFI jika ingin dihubungkan dengan modem. SSID AP dan Password AP adalah SSID dan Password ADW. Jika SSID AP dan Password AP kosong maka akan di isi default nya yaitu; downloader

Aplikasi ADW
Aplikasi ini bertugas mengirim data dari serial port ke LAN lewat TCP/IP dan sebaliknya. Data tersebut akan diterima oleh ADW dan akan dikonversi kembali ke data serial untuk berhubungan dengan bootloader Arduino. Aplikasi ADW sebagai berikut:


  1. Keterangan hal yang dilakukan aplikasi. Jika hubungan ADW benar maka akan secara otomatis aplikasi dapat menemukan ADW. Dan tulisan akan ber ubah menjadi seperti gambar di bawah:


   2. Edit berisi IP terakhir ADW yang dapat berhubungan dengan aplikasi. 
       Jika tetap belum terhubung, dapat di isikan IP ADW secara manual lalu tekan Test IP.
   3. Button untuk mencari hubungan secara manual dengan IP.
   4. Serial Port yang digunakan.
   5. Button koneksi ke Serial Port.
   6. Board Arduino yg didapatkan atau kecepatan serial dalam bps (bit per Second).
   7. Button manual mengenali board Arduino yang terhubung.
   8.  Report status hubungan.
   9. Button untuk menghapus report.


Bagian-bagian ADW

Berikut ini adalah gambar ADW beserta keterangan bagian-bagiannya:
Konektor ADW dirancang sesuai dengan pin-pin Arduino Pro mini yaitu berurut dari, GND, NC, Vcc, TX, RX, DTR, dan disebelahnya adalah NC, NC, NC (Not Connected) sebagai dummy penyangga konector, seperti gambar berikut:
Di belakang WIFI module ada konektor daya USB micro untuk Sumber daya ADW. USB micro ini dibutuhkan karena daya dari Arduino Pro Mini tidak mencukupi untuk menghidupkan ADW. Vcc pada Pro Mini berasal dari output LDO MIC5205 yang hanya 150mA. Vcc  Pro mini dapat mensuplay ADW jika dihubungkan ke sumber daya board tempat Pro Mini menempel.


Menghubungkan Aplikasi ADW dengan ADW
Setelah ADW tertancap pada Pro Mini dan WIFI PC hubung dengan WIFI ADW (SSID = downloader, Password = downloader), buka aplikasi ADW. Jika WIFI sudah hubung maka Aplikasi akan secara automatis menemukannya, dan jika ADW terhubung dengan Arduino maka akan di deteksi juga Arduinonya. Berikut ini ADW terhubung dengan Pro Mini.




Aplikasi dijalankan, hasilnya:




Pada Arduino Uno, dibutuhkan jamper untuk menggunakan ADW. Berikut ini gambar nya:

Setelah terpasang, sambungkan WIFI PC dengan ADW. Jalankan Aplikasi ADW. Berikut ini hasilnya:

Automatis ADW akan mendeteksi board Arduino UNO dan memilihkan baud rate yang dipakai oleh Arduino UNO.
Jika menggunakan Modem WIFI caranya adalalah:

1.  Hubung WIFI PC atau android dengan ADW.
      2.   Buka Crome dan ketik alamat 10.10.10.10 lalu enter.
      3.   Edit  SSID Station, Password Station dengan SSID, Password modem WIFI.
4.  Tekan button Set WIFI.
5.   Kemudian Reset ADW. 
6.  Tunggu hingga beberapa saat ADW reset, lalu hubung kan kembali WIFI PC dengan ADW.

7.  Terlihat status ADW “connect to” yang artinya ADW telah berhasil terhubung ke modem WIFI dengan alamat IP ADW adalah: 192.168.1.14
8.   Langkah berikut adalah menguji jalur hubungan PC ke ADW lewat modem WIFI.
9.   Hubungkan WIFI PC dengan WIFI modem.
10. Lewat crome ketikan alamat ADW 192.162.1.14



Gambar di atas jika berhasil menghubungkan PC dengan ADW lewat WIFI modem.


ADW dengan IDE Arduino

ADW dan aplikasi ADW telah terhubung, selanjutnya adalah menghubungkan aplikasi ADW dengan IDE Arduino. Aplikasi Arduino mempunyai Input/Output berupa TCP/IP dan Serial Port. IDE Arduino mempunyai Input/Output Serial port untuk men-download program. Yang dibutuhkan adalah Serial emulator untuk menghubungkan aplikasi ADW dengan IDE Arduino.

Program Nul Modem untuk membuat jembatan serial port, yaitu dua emulator serial port yg saling terhubung. Fungsinya adalah mengarahkan  sinyal serial port dari IDE Arduino ke aplikasi ADW. Ada banyak program seperti ini baik yang berbayar atau yang gratis. ADW dirancang menggunakan salah satunya yaitu com0com. Program ini adalah program gratis yang dapat di download pada alamat web:
https://sourceforge.net/projects/com0com/files/



Pilih yang di dalam tanda merah.

Meng-install com0com

Jika sudah di download, pilih sesuai dengan PC. Yang 32bit atau 64bit.

Jika sudah ter-instal, buka aplikasi com0com

Pilih virtual port pair 0, centang use Ports class, emulate baud rate, enable buffer overrun pada kedua sisi. Terus tekan button Apply.
Buka Device Manager. Jika belum tahu cara membuka device manager, buka window explorer, pada klik kanan pada This PC, klik pada Properties. Setelah muncul cendela System pilih Device Manager




Berikut ini tampilan cendela Device Manager.



Terlihat disitu com0com belum terinstal dengan benar. Masih ada tanda segitiga seru. Belum muncul pair port pada direktori Port (COM&LPT).  Jika sudah ter-instal dengan benar dan muncul pair port pada direktori Port (COM&LPT), tinggalkan proses ini lanjutkan ke bab berikutnya.

Solusinya adalah pastikan PC terhubung internet. Pada com0com-Bus For Serial Port Pair emulator klik kanan.


Pilih Update driver. Pilih Search automatically for updated driver software. Tunggu hingga proses update selesai.


Setelah selesai proses update selesai, maka tanda segitiga seru hilang, dan pada direktori Ports (COM&LPT) muncul sepasang paired serial, yaitu com0com - serial port emulator (COM4) dan com0com - serial port emulator (COM5). Untuk PC berbeda mungkin nomor COM yang didapat berbeda, missal COM2 dan COM3, atau yang lain tergantung port COM mana yang kosong dalam PC tersebut.


Sepasang COM ini bekerja sebagai COM emulator. Data yang dikirim dari COM4 akan diteruskan ke COM5. Begitu juga sebaliknya. Untuk meyakinkan proses instalasi yang dibuat sudah benar, dapat dicoba dengan membuka dua aplikasi serial terminal, misalnya Hterm. Salah satu dihubungkan dengan COM4 dan yang lain dengan COM5.


Lalu dicoba untuk mengirim karakter dari COM4 ke COM5 dan sebaliknya. Jika karakter yg dikirim dari COM4 diterima pada COM5 maka proses instalasi jembatan Serial telah selesai. Untuk PC ini yang didapatkan adalah COM5 dan COM4.

Menghubungkan ADW dengan IDE Arduino
Setelah bersusah payah melakukan instalasi, hal terakhir adalah menghubungkan ADW dengan IDE Arduino. Jalankan Aplikasi ADW dan buka Sketch Blink. Pada IDE Arduino, pilih Board yang sesuai. Port pilih salah satu dari paired port yang telah dibuat. Pada pengujian ini adalah Port5.  
Pada ADW hubungkan dengan Board Arduino dan beri Sumber daya.



Pada Aplikasi ADW pastikan sudah terhubung. Pilih port pasangannya dari port yg digunakan IDE Arduino.
Pastikan yang terlingkar merah sesuai, Board, paired COM terhubung dan WIFI Dongle Connected.



Coba Upload Sketch. Dan coba untuk sketch yang lain. :D

Reset SSID dan Password AP
Jika SSID dan Password AP sudah dirubah dan lupa, cara me-reset-nya adalah hubungkan TX dan RX dan hidupkan ADW. SSID dan Password AP akan kembali ke default yaitu downloader.




Selamat Berkarya dengan Suka Ria.

Trimakasih



Baca SelengkapnyaArduino Downloader melalui WIFI

Friday, June 10, 2016

ASPduino

Baca sampai habis dulu ya. Unduh di sini
ARDUINO UNO R3 menggunakan mikrokontroler ATmega16U2 sebagai fungsi USB to serial. Karena mikrokontroler maka fungsinya juga dapat di ubah sebagai downloader. Downloader tersebut dapat digunakan untuk menulis bootloader ATmega328P pada ARDUINO tersebut dan juga dapat digunakan untuk download mikrokontroler AVR yang lain. ATmega16U2 diprogram sebagai:
  1.  ATmega16U2 berfungsi sebagai USB to serial seperti lazimnya ARDUINO UNO R3
  2.  Jika dibutuhkan, ATmega16U2 dapat berfungsi sebagai USBasp.
Switching atara fungsi USB to serial dengan USBasp cukup dilakukan dengan mudah yaitu cukup menancapkan Konektor tanpa harus mencabut USB dari PC. Dipilihnya USBasp adalah karena dukungan software yang banyak.  Anda tidak perlu susah-susah untuk mebeli USBasp karena cukup ARDUINO UNO R3 sudah dapat difungsikan sebagai ARDUINO juga USBasp. Untuk membuatnya tambahkan dahulu header pada konektor JP2 seperti Gambar di bawah ini:



Masukan program ASPduino.hex (firmware, gratis 10x pakai) yang terlampir ke mikro ATmega16U2 ARDUINO. Anda dapat menggunakan downloader yang  ada, misalkan USBasp, USBISP atau bisa juga dengan ARDUINO yang lain. Hubungkan MISO, MOSI, SCK, RESET, GROUND dan Vcc pada ARDUINO ke USBasp. Seperti Gambar di bawah ini:



Hubungkan USBasp ke USB PC. Buka AVR programmer. Anda dapat menggunakan berbagai macam aplikasi programmer. Yang digunakan pada tutorial ini adalah PROGISP (ver 1.72).


Langkahnya adalah sebagai berikut:
  1. Buka aplikasi PROGISP
  2. Pilih mikrokontroler ATmega16U2
  3. Tekan tombol RD untuk memastikan PROGISP dapat membaca ID mikrokontroler dan memastikan bahwa mikrokontroler tersebut adalah ATmega16U2, dengan ditandai Read ID Succesfully.
  4. Pastikan yang tercentang pada check box; Chip Erase, Program FLASH dan Verify FLASH.
  5. Tekan Auto dan selesai.
Lepaskan ARDUINO UNO R3 dari USBasp lalu tancapkan pada USB PC, buka Device Manager. Pada PC akan dikenali sebagai;
- Arduino Uno (COMx) atau
-Arduino UNO R3 (COMx) atau
- Serial Port (COMx) atau apapun sebagai port serial (COM)


Lho..kok sama saja dengan ARDUINO UNO R3 sebelumnya? Apa yang berubah? Jawabannya ada di bawah. Biasakan untuk sabar ya J
Mari kita hubungkan port-port dalam ICSP dan ICSP1 seperti gambar berikut ini:



Sekarang coba anda lihat Device Manager. Lho Arduino Uno (COM5) hilang dari Device Manager. Apa kurang benar hubungan USB-nya? Sebentar coba lihat lagi. Ada hardware USBasp terdaftar pada Device Manager. Apa ARDUINO UNO R3 berubah jadi USBasp? Jawabannya BENAR. Dengan formasi hubungan pin-pin ICSP dan ICSP1 di atas ATmega16U2 berfungsi sebagai pengganti master ATmega8 dalam USBasp standard. Dan ATmega328P adalah IC mikrokontroler yang siap untuk di-diwnload.



Sekarang cabut jumper yang menghubungkan JP2.PIN2 dengan JP2.PIN4, tanpa mencabut USB dari ARDUINO UNO R3. Difinisi ARDUINO UNO R3 anda akan kembali ke USB to serial (normal) kembali. Anda dapat mencoba menancapkan kembali jemper JP2.PIN2 dengan JP2.PIN4, dan akan kembali ARDUINO UNO R3 anda berubah menjadi USBasp lagi, tanpa perlu mencabut USB, apa lagi merubah2 program ATmega16U2 lagi. COOOL kan?! J

Port JP2 dan ICSP1 sekarang menjadi Port-port USBasp.
  
  1. Pin1 ICSP1 berguna sebagai MISO
  2. Pin4 ICSP1 berguna sebagai MOSI
  3. Pin3 ICSP1 berguna sebagai SCK
  4. Pin1 JP2 berguna sebagai RESET
  5. Pin2 dan Pin4 Jika dihubungkan ARDUINO UNO R3 anda akan berubah menjadi USBasp dan jika dibiarkan terbuka akan tetap menjadi ARDUINO UNO R3
  6. Pin3 dapat digunakan menjadi GND jika akan mendownload IC mikrokontroler diluar board ARDUINO UNO R3 tersebut.

Sekarang kita coba untuk memasukan bootloader ke mikrokontroler ATmega328P baru yang belum ada bootloadernya.
  1. Hubungkan Port JP2, ICSP1 dengan ICSP seperti petunjuk di atas.


  1. Buka sketch baru. Yang dapat dipakai adalah versi 1.0 ke atas, karena di bawah versi tersebut belum mendukung USBasp. Pilih Board-nya adalah Arduino Uno dan Programmer adalah USBasp.



  1. Lalu tekan Burn Bootloader, tunggu hingga ada pesan penulisan bootloader selesai (done burning bootloader)

  1. Cabut jamper-jamper yang menghubungkan Port JP2, ICSP1 dengan ICSP. Anda tidak usah mencabut USB. Dan ARDUINO UNO R3 anda telah kembali dikenali sedagai USB to serial. ATmega328P juga telah berisi bootloader. Sekarang waktunya mencobanya. Buka sketch Blink dan Upload. Selamat berhasil… J.
 

Untuk memudahkan agar tidak harus mengingat-ingat pin apa terhubung ke pin apa, lebih mudah jika pin-pin tersebut di gabung dalam kabel konektor seperti berikut ini:


Oh iya ada yang tanya, gimana ngriping kabelnya? Gak usah susah-susah, 7 kabel jumper female to female kita dapatkan dari kabel 40pin female to female, yang menjual ketengan juga ada.
 
Ambil 7 kabel, lepaskan black housing bawannya semua. Ganti dengan 2x3 black housing dan diujung lain dengan 2x4 black housing.


Bahan yang diperlukan adalah:
  1. Kabel jamper female to female 7pcs
  2. Black housing 1x3 dua dan 1x4 dua. Jika ada lebih baik black housing 2x3 dan 2x4. Sayangnya di Indonesia tidak ada yang jual.
  3. Double tape, jika tidak ada black housing 2x3 dan 2x4.
Rangkai dua black housing 1x3 menjadi black housing 2x3 dan dua black housing 1x4 menjadi black housing 2x4. (nunggu juragan2 toped ngimpor nih barang J)
Untuk mempermudah, berikut ini peta hubungan antara black housing 2x4 dengan black housing 2x3.

Switch digunakan untuk mengubah ARDUINO UNO R3 menjadi USBasp jika dihubungkan dan USB to serial jika tidak dihubungkan. Kalo digunakan untuk download ATmega328P pada board yg sama, Gnd dan Vcc tidak harus dihubungkan.

ARDUINO UNO R3 menjadi USB to serial jika konektor 2x4pin tidak terhubung



ARDUINO UNO R3 menjadi USBasp jika konektor 2x4pin terhubung

 

Selain kepraktisan di atas, USBasp-nya punya kelemahan yaitu tidak semua aplikasi di internet dapat menulis EEPROM mikrokontroler yang akan di download, tapi jika hanya untuk download FLASH bisa. Diantaranya yang tidak bisa adalah; progisp, extremburner, khazama dan lain-lain. Sebabnya program-program tersebut mengirim 100H x byte data EEPROM yang harus di tulis pada mikrokontroler. Tentu memerlukan waktu lebih dari 1detik. Sedangkan ATmega16U2 menggunakan USB 2.0 dan memiliki timeout sekitar 260ms. Tentu akan membangkitkan timeout.

Tapi tenang saja aplikasi yang lancar menggunakan USBasp ini banyak dan mainstream, selain ARDUINO adalah program-program yang berbasis AVRDUDE. Ada avrdudess, GUI4avrdude dll. Sebabnya avrdude Cuma mengirim 4 byte data sekali tulis ke EEPROM. Bahkan jika gagal menulis 4 byte tersebut, avrdude akan menulis satu persatu EEPROM. ARDUINO berbasis pada AVRDUDES tentu lancar.
Oh ya setelah berhasil membuatnya, anda bisa menggunakan sebagai USBasp 10x gratis. Setelah itu ARDUINO UNO R3 anda akan tetap menjadi USB to serial walaupun konektor atau switch dihubungkan.  Jika ingin menggunakannya kembali anda harus memasukan Passcode. Untuk memasukan ikuti langkah-langkah berikut;
  1. ARDUINO UNO R3 anda sebagai USB to serial. Lepaskan konektor 2x4pin
  2. Buka aplikasi ASPduino yang disertakan pada paket firmware. Buka serial tempat arduino terhubung.

  1. Generate Code. Copy kode yang tampil dan kirim pesan ke https://www.facebook.com/adhopraz atau WA ke 087859746799


  1. Nanti jawaban dari saya adalah berupa kode yang dimasukan ke edit Passcode. Missal:
B01AF774A3C7B567BFC3FEE382CF729E00FA1CC1E0558D0693C1

  1. Kode tersebut masukan ke edit passcode dan tekan tombol Pass Code.

  1. Tidak langsung dimasukan pada kesempatan yang sama juga tidak apa-apa, asalkan board ARDUINO-nya sama. Siapa tahu jawaban saya baru 1-2hari. Misalkan kemarin ngirim code baru hari ini terima passcode. Langsung saja masukan passcode setelah serial terhubung dan tekan Pass Code.
 

  1. Dan hasilnya adalah:

Jika status PASS maka tidak ada batasan lagi anda menggunakannya. Simpan Pass Code yang anda terima. Satu kode akan berlaku untuk satu board dengan ATmega16U2 yang sama. Mahar Pass Code murah cuma seharga satu bungkus nasi padang @Rp10.000 beli 10 @Rp5.000.

MAJULAH EMBEDED INDONESIA





Baca SelengkapnyaASPduino