🛠 Connecter le Nicla au WiFi via une carte hôte

Arduino Nicla Sense ME · intermediaire · Schéma : IMG-nicla-sense-me-intermediaire-3-niclasense-wifi-via-passerelle.svg — Nicla Sense ME relié par liaison BLE ou câble ESLOV à un MKR WiFi 1010, lui-même relié par un arc WiFi à une borne Internet, nuage et routeur annotés

Objetivos

Dar acceso a la red al Nicla Sense ME a pesar de la ausencia total de radio WiFi integrada. Antes de cualquier cableado, ten en cuenta: la tarjeta no tiene ESP32-N4, ni ningún tipo de chip WiFi — el manual oficial es categórico, « The Nicla Sense ME does not have built-in Wi-Fi » — y la vía documentada por Arduino es una tarjeta host (MKR WiFi 1010 o Portenta C33) que actúa como pasarela, ya sea mediante BLE, mediante cable ESLOV, o mediante conectividad MKR-shield en I²C. Es la biblioteca Arduino_BHY2Host la que hace de puente: el Nicla sigue siendo el nodo de sensores autónomo, el host recupera los datos y dispone de su propia conectividad.

Material

Código completo

// A televerser sur la CARTE HOTE (MKR WiFi 1010), pas sur le Nicla
#include "Arduino.h"
#include "Arduino_BHY2Host.h"
#include <WiFi101.h>

Sensor tempSensor(SENSOR_ID_TEMP);

const char* ssid = "MON_WIFI";
const char* pass = "MON_MOT_DE_PASSE";

void setup {
  Serial.begin(115200);
  while (!Serial);
  // 2e argument : NICLA_VIA_BLE, NICLA_VIA_ESLOV ou NICLA_AS_SHIELD
  BHY2Host.begin(false, NICLA_VIA_BLE);
  tempSensor.begin;

  while (WiFi.begin(ssid, pass) != WL_CONNECTED) {
    Serial.println("Connexion WiFi en cours...");
    delay(2000);
  }
  Serial.println("Passerelle connectee");
}

void loop {
  static auto printTime = millis;
  BHY2Host.update;   // pompe les donnees recues du Nicla
  if (millis - printTime >= 5000) {
    printTime = millis;
    Serial.println(String("Temperature (via Nicla) : ") + String(tempSensor.value, 2));
  }
}

Verificación esperada

El Nicla cargado en modo « App » es detectado por el host; la consola del host muestra la temperatura del BME688 del Nicla cada 5 segundos, y el WiFi está establecido (dirección IP visible con WiFi.localIP). Una vez validada esta pasarela, cualquier biblioteca de red en el host (HTTP, MQTT, Arduino Cloud) puede explotar los datos del Nicla — ver el tutorial avanzado de MQTT.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales