🛠 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

Objectifs

Donner accès au réseau au Nicla Sense ME malgré l'absence totale de radio WiFi embarquée. À retenir avant tout câblage : la carte n'a ni ESP32-N4, ni puce WiFi de quelque sorte que ce soit — le manuel officiel est catégorique, « The Nicla Sense ME does not have built-in Wi-Fi » — et la voie documentée par Arduino est une carte hôte (MKR WiFi 1010 ou Portenta C33) qui joue le rôle de passerelle, soit par BLE, soit par câble ESLOV, soit par connectique MKR-shield en I²C. C'est la bibliothèque Arduino_BHY2Host qui fait le pont : le Nicla reste le nœud de capteurs autonome, l'hôte récupère les données et dispose de sa propre connectivité.

Matériel

Code complet

// 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 données recues du Nicla
  if (millis - printTime >= 5000) {
    printTime = millis;
    Serial.println(String("Temperature (via Nicla) : ") + String(tempSensor.value, 2));
  }
}

Vérification attendue

Le Nicla téléversé en mode « App » est détecté par l'hôte ; la console de l'hôte affiche la température du BME688 du Nicla toutes les 5 secondes, et le WiFi est établi (adresse IP affichable avec WiFi.localIP). Une fois cette passerelle validée, n'importe quelle bibliothèque réseau sur l'hôte (HTTP, MQTT, Arduino Cloud) peut exploiter les données du Nicla — voir le tutoriel MQTT avancé.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels