ตอนนี้จะลองทำกดปุ่มบน android แล้วสั่งให้ PORT 1 (หรือ Port อื่น) บน IOIO
จ่ายไฟให้ LED ทำงานครับ
การเขียนโปรแกรม กับ IOIO ให้ทำงานเบื้องหลัง (Services) ได้ไหมครับ???
เช่น สั่งผ่านเว็บให้ LED ทำงาน โดย Services จะรับค่ามาจาก Server
ถ้าเป็น 1 LED ติด 0 LED ดับ
ตอนนี้สร้าง Services รับค่าได้แล้ว แต่ยังไม่ได้ลองกับ IOIO
เพราะการใช้งานติดต่อกับ IOIO ต้องมีการ extends AbstractIOIOActivity อยู่แล้ว
แต่ถ้าใช้ Services ต้อง extends Service ด้วย
//status == รับค่ามาจาก Server
if(status.equals(“1”)) {
Toast.makeText(getApplicationContext(), “LED On”, Toast.LENGTH_SHORT).show();
// อยากให้ IOIO ทำงานตรงนี้
//ทำงานแบบ DigitalOutput ตาม PORT ที่กำหนด เพื่อให้ LED ทำงาน
}else if(status.equals(“0”)){
Toast.makeText(getApplicationContext(), “LED Off”, Toast.LENGTH_SHORT).show();
}
ช่วยหน่อยนะครับ
หรือว่า ต้องให้ Services ไปเรียกใช้งาน Class ที่ติดต่อกับ บอร์ด IOIO ผมลองทำแล้วยังไม่ได้สักที (รับค่าได้ แต่บอร์ด IOIO ไม่ทำงาน)
testservices.java
status = getServerData();
if(status.equals(“1”)) {
Toast.makeText(getApplicationContext(), “Engine On”, Toast.LENGTH_SHORT).show();
// อยากให้บอร์ด IOIO ทำงานตรงนี้
}else if(status.equals(“0”)){
Toast.makeText(getApplicationContext(), “Engine Off”, Toast.LENGTH_SHORT).show();
}
IOIO.java
public class IOIO extends AbstractIOIOActivity { //private ToggleButton button_;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//button_ = (ToggleButton) findViewById(R.id.button);
}
class IOIOThread extends AbstractIOIOActivity.IOIOThread {
private DigitalOutput led_;
@Override
protected void setup() throws ConnectionLostException {
led_ = ioio_.openDigitalOutput(1, true); //กำหนด PORT 1 ให้ทำงาน
}
@Override
protected void loop() throws ConnectionLostException {
led_.write(true); //true LED ติด ,false LED ดับ
try {
sleep(10);
} catch (InterruptedException e) {
}
}
}
@Override
protected AbstractIOIOActivity.IOIOThread createIOIOThread() {
return new IOIOThread();
}
}
จากโค้ด จะเอา ข้อมูลจาก Server ส่งไปให้ led_.write(boolean) ยังไงครับ