Saltar al contenido principal

Tutorial de desarrollo del código fuente de MeshCore

Requisitos previos

Herramienta necesaria

Antes de comenzar, prepara las siguientes herramientas:

  1. Git
  2. Python 3
  3. VS Code

Instalar PlatformIO

Busca PlatformIO en el marketplace de Extensiones de VS Code e instálalo.

img

Después de la instalación, normalmente aparece un icono con forma de hormiga en la barra de herramientas izquierda.

img

Preparación del proyecto

Abre una carpeta en la que quieras tu proyecto. Abre la carpeta en la terminal. Haz clic aquí para clonar el proyecto con git.

Abre VSCode, luego haz clic en el icono de PlatformIO y elige select a folder. Elige la carpeta donde clonaste el proyecto.

img

PlatformIO instalará automáticamente las dependencias necesarias. Después de que la instalación se complete correctamente, podrás ver Project has been successfully updated

img

Desarrollo de firmware

Tutorial de desarrollo

Encuentra el entorno para tu placa de destino. Toma como ejemplo el repetidor de nodo solar:

img

Entonces PlatformIO preparará las dependencias necesarias para la placa.

Modifica tu código. Se recomienda modificar el archivo variant.h correspondiente a tu placa.

Después de completar la codificación, ejecuta el siguiente comando para compilar el código y convertirlo en un archivo uf2.

pio run -e SenseCap_Solar_repeater
pio run -e SenseCap_Solar_repeater -t create_uf2

Luego haz doble clic en el botón RST para entrar en modo DFU. Arrastra el archivo uf2 al disco que aparece.

img

Ejemplo

Control de luz de usuario

Este ejemplo muestra cómo escribir un bucle intermitente para la luz de usuario. Copia el siguiente código en /examples/simple_repeater/main.cpp

#endif
#ifdef LED_WHITE
static void updateUserLightBlink() {
static unsigned long lastLedPhaseChangeAt = 0;
static bool lightIsOn = true;

const unsigned long now = millis();
if ((unsigned long)(now - lastLedPhaseChangeAt) >= 5000) {
lightIsOn = !lightIsOn;
lastLedPhaseChangeAt = now;
}

digitalWrite(LED_WHITE, lightIsOn ? LED_STATE_ON : !LED_STATE_ON);
}

y escribe el bucle:

#ifdef LED_WHITE
updateUserLightBlink();
#endif

Compílalo y graba el archivo uf2 en tu nodo solar.

Loading Comments...