การพัฒนาโปรแกรมบน Android ใช้การพัฒนาในลักษณะต่อยอดจากที่มีอยู่ ซึ่งเค้าเรียกว่า Development Kit ซึ่งจะเห็นและได้ยินกันอยู่บ่อย บางค่ายก็จะเรียกว่า Framework
Android Development Kit (ADK) ก็เป็นส่วนสำคัญขาดไม่ได้ ในการพัฒนาโปรแกรม ซึ่งเราจำเป็นต้องติดตั้งชุดนี้ลงในเครื่อง PC ก่อนเป็นอย่างแรก ง่ายๆครับ download กันเลย
ไม่มีการติดตั้งใดๆ แตกไฟล์ออกวางในตำแหน่งที่สามารถเข้าถึงได้ง่ายๆ
ผมเองจะทำโครงสร้างโฟลเดอร์ลักษณะนี้เพื่อจะได้หาง่าย ชื่อโฟลเดอร์ยาวมาก ตอนจะเรียกใช้งานใน command prompt พิมพ์กันเมื่อยเลย ใครจะ rename ก็ไม่ว่ากัน ผมทิ้งไว้แบบนี้จะได้ไม่ทำให้สับสน เปิดเข้าไปดูก็จะมีโฟลเดอร์อีก ทีนี้ต้องเริ่มงานสำคัญกันแล้ว เปิดโปรแกรม SDK Manager.exe
จะเห็นหน้าต่างนี้
ที่เห็นนี่ได้ติดตั้งในส่วนของ Android 2.3.3 (API 10) แล้ว ถ้าเปิดแล้วพบว่าเป็น Not Installed ให้ติ้กที่ช่องหน้า Android 2.3.3 (API 10) ที่ปุ่ม Install ... package ให้กดปุ่มเพื่อเริ่มติดตั้ง
กดเลือก Accept License ตามด้วย Install รอจนติดตั้งสำเร็จ และเห็นว่าเปลี่ยนเป็น Installed เป็นอันใช้ได้
มีอีก Package หนึ่งที่ต้องติดตั้งด้วยคือ Build-tools ตัวนี้ถ้าไม่มีตอนคอมไฟล์ใน Processing จะแจ้งเออเร่อร์
จะเห็นว่ามี Build-tools หลายตัว ผมเลือกตัวล่าสุด ใช้ได้ก็เลยไม่ได้ลองตัวอื่น
เรื่องของ ADK ก็เป็นอันเรียบร้อย จะรู้ว่าใช้ได้หรือไม่ก็ต้องลองเขียนโปรแกรมเลย
ทีนี้เราจะใช้ Processing ใน Android mode ก็ต้องติดตั้งกัน เหมือนเดิมครับ ถ้าจำได้ตอนติดตั้ง PDE X ก็แบบเดียวกัน Add mode
หา Android mode แล้วก็ติดตั้ง เสร็จเรียบร้อย ปิด เปิด โปรแกรม แล้วก็เลือก Android mode
ลองเขียนโปรแกรมง่ายสักตัว เอาจากตอนแรกๆ ก็ได้ ยังไม่ต้องใช้ ControlP5 ประมาณนี้
void setup() {
size(500,500);
}
void draw(){
background(128);
rect(100,100,100,150,5);
}
ทีนี้ก็เสียบสาย USB จาก Android มายัง PC ถ้ายังไม่เคยใช้ก็อาจมีการติดตั้ง driver กันเล็กน้อย แต่ส่วนสำคัญที่จะต้องมีคือ Android Phone
ถ้ายังไม่มีตัวนี้จะไม่สามารถส่งโปรแกรมไปที่ Android ได้ เครื่องผมเป็น Samsung ก็จะเป็นประมาณนี้
เมื่อทดลอง run โปรแกรม จะสังเกตุเห็นการส่งข้อมูลไปยัง Android ตัวเลข 92862519 นี่แต่ละเครื่องจะไม่เหมือนกันครับ
ผลแสดงบนหน้าจอ Android
ลองเพิ่มส่วน ControlP5 เข้าไปจากตอนที่แล้ว แต่จะมาใช้ทั้งหมดไม่ได้นะครับ ต้องตัดส่วนที่เกี่ยวกับ Serial ออกก่อน ประมาณนี้
//import com.yourinventit.processing.android.serial.*;
import controlP5.*;
//import processing.serial.*;
ControlP5 cp5;
//Serial port;
String inData="";
void setup(){
size(600,600);
//println(Serial.list(this));
//port = new Serial(this, Serial.list(this)[0], 9600);
//port.clear();
//port.bufferUntil('\n');
cp5 = new ControlP5(this);
cp5.addTextfield("text1")
.setPosition(100,100)
.setSize(100,20)
.setCaptionLabel("Data")
.setFont(createFont("Verdana", 16))
;
cp5.addButton("button1")
.setValue(0)
.setPosition(250, 100)
;
cp5.addSlider("slider1")
.setPosition(150,200)
.setValue(100)
.setMax(255)
.setMin(0)
;
cp5.addKnob("knob1").setSize(100,200)
.setPosition(150,250)
.setMax(255)
.setMin(0)
.setValue(100)
;
}
void draw(){
//Textfield t = (Textfield) cp5.getController("text1");
//t.setText(inData);
//cp5.getController("slider1").setValue(int(inData));
//cp5.getController("knob1").setValue(int(inData));
}
void button1(int value)
{
println("Button pressed");
//port.write("B");
}
//void serialEvent(Serial port){
// inData = port.readStringUntil('\n');
// inData = trim(inData);
//}
ทดลอง Run ครับ
มาถึงตรงนี้ เราสามารถใช้ Processing ได้ ทั้งบน PC, PC + Arduino และ Android เหลืออีกจุดหนึ่งก็คือให้ Android เชื่อมต่อกับ Arduino โดยตรงผ่านสาย USB OTG ก็ต้องเป็นตอนต่อไปครับ
ต่อโทรศัพเข้าต้องต่อยังไงครับ
ตอบลบอ่านตอนต่อไปครับ
ตอบลบมันต้องเลือกที่โทรศัพให้เป็นอะไรครับ
ตอบลบขอโทษครับที่มาตอบช้า สำหรับคำถาม ไม่แน่ใจว่าถามถึงส่วนไหน ขอรายละเอียดเพิ่มอกนิดครับ
ตอบลบ