Mengontrol Arduino Uno dengan Rantonesia Padlock



//
Posted on December 25, 2015 at 1:46 PM

//

Arduino Uno dapat dikontrol dengan aplikasi Rantonesia Padlock secara remote melalui Geeknesia. Dalam kesempatan ini diberikan demo contoh sketch Arduino agar dapat melakukan hal tersebut




Mengontrol Arduino Uno dengan Rantonesia Padlock

Rantonesia Padlock (RPadLock)  tidak lebih dari sebuah aplikasi android remote control sederhana. Perbedaannya  RPadLock dapat mengontrol device (thing) asalkan device tersebut terhubung dengan Geeknesia. Dengan kata lain RPadLock merupakan aplikasi android yang universal dan dedicated untuk Geeknesia.

Pada kali ini kita akan mencoba untuk mengontrol Arduino Uno dengan RPadlock.

Untuk dapat mengontrol perangkat Arduino anda yang harus dipersiapkan adalah hal-hal berikut :

  1. Aplikasi Rantonesia Padlock yang dapat diunduh di : http://www.rantonic.com/page/9/Rantonesia
  2. Arduino Uno development board 1pc.
  3. Arduino Ethernet Shield 1 pc.
  4. LED 1 pc.
  5. Resistor bernilai 470 ohm 1 pc.
  6. Router yang telah terkoneksi dengan internet.
  7. Kabel ethernet (UTP CAT5).
  8. Kabel USB untuk download program Arduino dan sumber Power supply 5VDC.

ArduinonesiaShieldCloud.png

Langkah-langkah yang harus dikerjakan adalah :

  1. Pasang Arduino Ethernet Shield pada board Arduino anda dan lakukan wiring dengan rangkaian berikut ini :

AduinonesiaWiring.png

  1. Buka Arduino IDE dan copy-kan sketch berikut :
#include 
#include 
 
// Setting network(IP Address).
byte mac[]    = {  0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED }; //Sesuaikan...
byte ip[]     = { 192, 168, 0, 2 }; //Sesuaikan dengan IP address anda
byte gateway[]  = { 192, 168, 0, 1 };//Sesuaikan dengan IP address gateway anda
char server[] = "api.geeknesia.com";
unsigned long counter=0L;
unsigned int charcount=0, index=0, curlcount=0;
char parsing[] = {0, 0, 0, 0};
int intdb;
int LedPin=3;
EthernetClient ethClient;

void setup() {
    Serial.begin(9600);
    Ethernet.begin(mac, ip, gateway);
    Serial.print("My IP address: ");
    Serial.println(Ethernet.localIP());
    pinMode(LedPin,OUTPUT); //Set sebagai output
    digitalWrite(LedPin,HIGH); //Kondisi off
  }

void loop() {

    if (ethClient.available())
    {
      char c = ethClient.read();  
      Serial.print(c);
      if ((charcount>=29) && (c!='}'))
      {
         parsing[index]=c;
         index++;
      }
      
      charcount++;
      
      if (c=='}')
       {
         curlcount++; 
          if (curlcount>=3)
          {

            intdb=atoi(parsing); 
           
            Serial.println(); 
            Serial.print(intdb);
            
            intdb = intdb & 0x08; // Nilai integer di AND-kan dengan 00000001000
            
            if (intdb==8) digitalWrite(LedPin,LOW);  
            else digitalWrite(LedPin,HIGH);  
            
            curlcount=0;
            index=0;
            charcount=0;
            
            parsing[0]=0;  //Bersih2 memori...
            parsing[1]=0;  //Bersih2 memori...
            parsing[2]=0;  //Bersih2 memori...
            parsing[3]=0;  //Bersih2 memori...

          } 
        } 

    }

    counter++;
   if (counter==65535L)
   {
     counter=0L;
     Serial.print("\nhttpRequest...");
     httpRequest();
   }

}
 
/////////////////////////////////////////////////////////////////

void httpRequest() 
{
  ethClient.stop();
  ethClient.connect(server,80);
  Serial.println("connecting");
  delay(1000);
  if (ethClient.connected()) 
   {     
     Serial.println("connected");
     ethClient.println("GET http://api.geeknesia.com/api/attribute/RN?api_key=Geeknesia_API_key_anda");
     ethClient.println(" HTTP/1.1");
     ethClient.println("Host: api.geeknesia.com");
     ethClient.println("X-Auth-Token: My Token");
     ethClient.println("Connection: close");
     ethClient.println(); 
   }
   
   else
   {
     Serial.println("connection failed");
   }
}

File .ino dapat di unduh di :  http://www.rantonic.com/page/10/ardunesia

Perhatikan bahwa attribute name harus tetap RN. Pada contoh sketch di atas pengujian nilai bit adalah dengan melakukan operasi logika AND dengan 0x08 heksadesimal karena pada hardware Arduino dihubungkan dengan digital output nomor 3. Anda dapat mengaktifkan kontrol seluruh digital output Arduino sebanyak 10 bit yang berkorelasi dengan RPadlock dengan melakukan teknik yang sama untuk masing-masing bit. Operasikan data yang diperoleh dengan 0x01 heksadesimal untuk menguji bit 0, 0x02 heksadesimal untuk menguji bit 1, 0x04 desimal untuk menguji bit 2 dan seterusnya sampai bit ke-9.

2. Compile dan Upload sketch di atas ke hardware Arduino anda.Install aplikasi Rantonesia Padlock (RPadlock) pada smartphone anda  

Rantonesia Keypad

DISCLAIMER

Baca disclaimer Rantonesia Padlock pada artikel Rantonesia  PadLock | (Android Apps) Universal IoT based Remote Control

3. Buka aplikasi RPadlock isi Geeknesia api key anda sesuai dengan api key yang anda peroleh dari Geeknesia (pada saat pertama di-install aplikasi akan otomatis meminta anda untuk mengisi Geeknesia API key. Untuk selanjutnya anda harus meng-klik tombol SET pada keypad RPadlock. Anda dapat memperbaharui atau mengubah Geeknesia API key anda kapan saja). Tekan tombol SAVE maka aplikasi akan kembali ke keypad utama. 

API setup

4. Coba nyalakan LED pada arduino anda dengan menekan tombol 3 pada keypad RPadlock. 

5. Tadaaaa...! .....dunia dalam genggaman anda....LED akan menyala dan keypad akan berubah menjadi warna kuning.Untuk mematikan LED tekan kembali tombol 3 pada keypad RPadlock maka LED akan mati dan keypad akan berubah kembali menjadi warna merah.

Video : https://www.youtube.com/watch?v=tkqfh8sx_CY

Selamat berkreasi...!

Eigen Hexbyte (www.rantonic.com)


Leave a Comment:

Please Sign in First