Paso 9: Sketch de Arduino subir [Software]
El sketch de Arduino conectado ejecutar el proceso de "kicktracker.py", recibirá los datos devueltos, analizar para obtener información deseada y realizar cualquier otra acción necesaria. Actualmente, sólo controla el número de soportes y desencadena una celebración (música de fanfarria y señales de tráfico LED parpadeante).
Algunos extractos interesantes del código (descargar el archivo ZIP adjunto código ejecutable):
Process p; // Create Process object p.begin("python"); // Start Python p.addParameter("/root/kicktracker.py"); // Run the kicktracker.py script p.addParameter("https://www.kickstarter.com/projects/macetech/rgb-led-shades/stats.json"); // Specify the Kickstarter stats URL p.addParameter("12000"); // Specify the Kickstarter goal amount p.run(); // Run the process
El código anterior en realidad ejecuta el script "kicktracker.py" del paso anterior. Comienza Python, suministra el nombre y la ubicación de la escritura, proporciona el URL de las estadísticas de Kickstarter y la cantidad de meta de la campaña (ya que esa información no es parte de los datos devueltos).
// Read incoming bytes and split into strings when forward slash is found // (Stream).readStringUntil() does not seem to work here while (p.available() > 0) { char c = p.read(); if (wordcount < 5) { if (c == '/') { wordcount++; } else { switch (wordcount) { case 0: pledgedRawStr += c; break; case 1: pledgedFormattedStr += c; break; case 2: backersStr += c; break; case 3: percentFundedFormatted += c; break; } } } }
El código anterior analizará los datos enviados por la secuencia de comandos kicktracker.py, que será cadenas separadas por una barra diagonal. Por el momento, sólo datos de soporte es utilizados por Arduino, pero otras acciones podrían estar vinculadas a los datos (estiramiento de metas alcanzadas, un nuevo comentario, etc.).
Por favor descargue el archivo zip adjunto el listado de código completo.