Parse.com Javascript SDKを使用してクラウド関数を作成し、それらの関数をArduinoから呼び出しています。以下は、hello
関数のコードです。
Parse.Cloud.define("hello", function(request, response) {
response.success("This is hello function");
}); //hello function Block
次のコードを使用して、Arduino側からこの関数を呼び出しています。
void setup() {
Bridge.begin();
Serial.begin(9600);
while (!Serial);
Parse.begin("***zE0uUjQkMa7nj5D5BALvzegzfyVNSG22BD***", "***Ssggp5JgMFmSHfloewW5oixlM5ibt9LBSE***");
//commented my keys with * here only
// In this example, we associate this device with a pre-generated installation
Parse.getInstallationId();
Parse.startPushService();
}
void loop() {
Serial.println("Start loop");
demoBasic("meeting", 0);
}
void demoBasic(String functionname, int light) {
char fnname[11];
functionname.toCharArray(fnname, 11);
Serial.print("In ");
Serial.print(functionname);
Serial.println(" Function");
ParseCloudFunction cloudFunction;
cloudFunction.setFunctionName(fnname);
cloudFunction.add("light_sensor", light);
cloudFunction.add("value", "Arduino Hello");//parameters
ParseResponse response = cloudFunction.send();
Serial.println(response.getJSONBody());
}
問題は、8回しか応答がないことです。その後、プログラムフロー全体がブロックされます。何が問題ですか?
あなたの問題が何であるかはわかりませんが、demoBasicを呼び出した後、ループの「遅延」を試します。100ミリ秒から始めます。多分あなたのコードは「速すぎて」実行され、それからjs関数がブロックされます。
—
fabrosell 2015年
@fabrosell私もそれをやってみましたが、それでも問題がありました。問題を解決するかもしれない何かを提案できますか?
—
Abhijeet Kulkarni
Parse.comにデータを継続的にプッシュできる作業コードがある場合、それを共有できますか?
—
Abhijeet Kulkarni
すみません、ありません。いずれにせよ、それは関数がちょうど8回呼び出されていないし、何より...取得した場合、非常に奇妙な行動だ
—
fabrosell
コードのどの時点でプログラムフローは「ブロックされる」のですか?
—
キングスレー