之前有個專案使用了Arduino + Ardulink 2,發現了一些需要注意的地方,特別在這邊做個紀錄。
1.對於連續的指命呼叫,可能會送出錯誤的指令給Arduino,例如兩個指令被合併成一個,或指今被截斷,可以在指令中間隔1秒鐘(實測覺得1秒比較穩定)。
2.要從Arduino中送回資料給Java,可以使用alp://cevnt/XXX指令,例如:
Serial.print("alp://cevnt/"); Serial.print(inputString); Serial.print('\n'); // End of Message Serial.flush();
Java端可以用CustomListener的方法customEventReceived,ce.getMessage()來取得XXX。
Link.addCustomListener(new CustomListener() { @Override public void customEventReceived(CustomEvent ce) { System.out.println(ce.getMessage()); } });
3.要從Java端送資料給Arduino,可以用Link的方法sendCustomMessage(String message)來傳送給Arduino,例如
Link.sendCustomMessage("XXX")
在Arduino中會得到如下指令
alp://cust/XXX
解析後就可以得到送給Arduino的資料