Paso 4: Carga y ejecuta el Software
Configuración inicial
Para comunicarse con la Junta de núcleo, primero tenemos que instalar los USB drivers encontrados aquí. Esto nos permite descargar el software a la Junta Directiva, así como recibir datos de la serie. Si bien es opcional, también se recomienda que usted descargue e instale alguna actualización de firmware para la placa, encontrada aquí. Una vez que la Junta está conectada, verá un nuevo dispositivo de almacenamiento. Para transferencia e instalar cualquier nuevo software para el núcleo, simplemente guardar o copiar el programa a este nuevo almacenamiento de información medios de comunicación y usted debería ver luces de tablero parpadear. Tenga en cuenta que el archivo, una vez copiado, va a desaparecer desde el dispositivo. Sin embargo, mientras las luces parpadear y terminaron en verde, la Junta ejecuta continuamente el último software descargado.
Para depurar correctamente el software, se recomienda que configurar una conexión de puerto serie con el núcleo. Si bien puede utilizarse una variedad de programas, en Windows, se utilizó el paquete de software de Arduino. Si se conecta el núcleo y haz clic en el botón "Serial Port Monitor" (una pequeña lupa en la esquina de la pantalla), mostrará toda la información enviada desde la Junta. Esto incluye algunas declaraciones impresión informativos incluidos en nuestra versión del código.
Configurar el código
El código completo puede encontrarse aquí. La forma más fácil para empezar a ejecutar el proyecto es mediante el compilador en línea proporcionado en https://www.developer.mbed.org. Puesto que el servidor para enviar los datos es diferente para cada persona, tienes que hacer una pequeña cantidad de modificaciones para obtener el software para funcionar. En primer lugar, desplácese hasta el archivo "main.h" y cambie la línea #3, que dice:
Donde SU_URL es la URL que desea los datos a. Tenga en cuenta que tienes que poner comillas de la URL. El mejor sitio que encontramos para enviar datos a es RequestBin. Crear un RequestBin, copiar la "URL de Bin" (de la forma "http://requestb.in/19lz95m1") en el campo de SU_URL y actualizar la página. La página va a la pantalla los datos enviados a él por el Consejo de núcleo. Tenga en cuenta que para ver los datos, agregue la línea "? inspeccionar" hasta el final de la URL.
Una vez haya cambiado el archivo "main.h", en el compilador de mbed para, haga clic en el botón compile en la parte superior. Luego se descargará un archivo ".bin". Copiar ese archivo a la Junta de núcleo, y pondrá en marcha el programa.
Modifica el código
Hay una serie de cambios fáciles que usted puede hacer para el código o cambiar el diseño de hardware, cambiar la compañía de la tarjeta SIM (es T-Mobile por defecto), cambiar el número de lecturas por enviar y la frecuencia de tomar una lectura. Todas estas modificaciones tienen lugar en el archivo "main.h".
En primer lugar, para cambiar el diseño de hardware, simplemente se puede cambiar el puerto dado por el sensor específico. Así, por ejemplo, si desea cambiar el pin GPS TX de defecto D6 decir PC_10, cambiaría la línea 13 al decir:
Tenga en cuenta que este no es un cambio de pin válido, ya que tenemos el pin de TX del sensor de pH en PC_10. Además, sólo determinados pins son TX, mientras que otros son RX y muchos ni. Usted debe mirar el pinout del núcleo aquí para determinar que pines son válidos.
Para cambiar la URL de la APN, simplemente puede cambiar a la línea 4
Tenga en cuenta que como con la dirección URL en el apartado anterior, es necesario incluir comillas alrededor de la red APN.
Para cambiar el número de lecturas a enviar o la frecuencia de tomar una lectura, podemos modificar las líneas 6 y 7. Línea 6 define el número de lecturas a recogerse antes de enviar. La gama recomendada es entre 1 y 100. Línea 7 define el número de segundos para dormir entre cada lectura. El valor por defecto es 360, y toma una lectura cada 6 minutos (hasta 10 por hora). Esto se puede cambiar a casi cualquier número positivo, pero muy grandes números habrá sin definir comportamiento.
Probablemente son las ediciones primarias que le gustaría cambiar, pero ediciones más avanzadas se incluyen en la siguiente sección.
Modificar el código (avanzado)
La principal edición "avanzada" nos centramos en es la adición de un sensor. Esto requiere una gran cantidad de modificaciones, pero no es terriblemente complicado. En primer lugar, tienes que incluir la biblioteca de sensor en la carpeta de proyecto completo en el compilador de mbed para y agregue la línea apropiada incluye en "main.cpp" (por ejemplo, #include "Custom_Sensor.h"). Entonces, tenemos que cambiar la estructura de la lectura en "main.h" agregando las líneas para cualquier sensor que desee incluir. Por ejemplo, si desea incluir un número entero de la lectura, se debe añadir la línea "int customSensorReading" a la estructura. Volviendo a "main.cpp" necesitamos añadir una instancia global del sensor, sin embargo se inicializa. Luego, simplemente podemos añadir el sensor a cada una de las funciones asociadas (setup(), enterSleep(), read(), etc.) para conseguir que funcione correctamente. La edición principal final necesitada está en la función send(). Observamos que la llamada a "sprintf" incluye todos los campos de la estructura de la lectura. Tenemos que añadir una línea con formato de cadena (por ejemplo, %d para un entero) y el campo de datos asociado (data[i].customSensorReading) a la llamada de sprintf. Por último, tenemos que modificar el SIZE_OF_ENTRY definir en línea 28 agregando el tamaño de cualquier estructura de datos agregado a la estructura de lectura más uno. Esto es un poco más complicado, ya que necesita ser el tamaño de la estructura a sprintf. Por lo tanto, si agregamos un flotador y llamado % 10f en sprintf, tendríamos que añadir 10 + 1 = 11 para el SIZE_OF_ENTRY definir (como el 10% 10f indica que desea copiar 10 bytes de información a la cadena de sprintf).