WiFi Extender (NAT-Router) mit ESP8266 und ESP32

WiFi Extender avec ESP8266 et ESP32

Ils se tiennent debout dans la cour avant, quelque chose de construction, de toute urgence besoin d'un tutoriel parce qu'ils ne savent pas et veulent chercher cela sur Internet. Il suffit de trouver une information avec le moteur de recherche de votre confiance. Exactement dans cet endroit sont bien sûr la connexion de données mobiles au niveau le plus bas et le Wi-Fi domestique, à l'exception de la plage. Vous savez que, alors REE est venu à l'esprit que vous pouvez utiliser comme accespoint. Le problème et la solution ne sont pas nécessairement nouveaux. Je voudrais partager mes expériences avec vous à ce moment. Nous y voilà.

Ce dont nous avons besoin

1

ESP32 ou Esp8266 Conseil de développement de la boutique AZ

1

PC avec connexion Internet

1

Câble de connexion USB

 

Moritz Spranger avait dans sa contribution "maille plus de 4 nœuds ESP8266 Wi-Fi«Il y a quelques années précédemment rapporté par un tel projet similaire. Pour cette solution, l'ESP est flashé avec un firmware via un outil externe. Je vais vous montrer le processus plus tard de plus près.

Je suppose que vous avez l'IDE Arduino, ainsi que les sources d'ESP8266 et ESP32 installées. Sinon, regardez dans le blog AZ. Là, il sera décrit. Je vous recommande de mettre à jour les bibliothèques sur le dernier stand.

Esp8266

Tout d'abord, j'ai commencé à secouer l'exemple des esquisses de l'Ide Arduino (il doit être défini dans l'IDE Arduino sous Outils, le tableau utilisé). Vous recherchez des acspoints et des points chauds peuvent être trouvés sous ESP8266WIFI le programme RangeExtender NAPT. Il vous suffit d'entrer les données d'accès à votre réseau WLAN:

 #define stassid "mynetwork"
 #define stapsk "mynetworkpassword"
Puis chargez le croquis sur le microcontrôleur. Dans la vue d'ensemble de vos réseaux WLAN, l'ESP devrait sortir maintenant avec le nom de votre réseau domestique et à l'arrière émis « Extender »

[Yourwarlame] Extender

Pour vous connecter, vous devez entrer la même clé Wi-Fi, quant à votre propre réseau. Je devais effectuer quelques tentatives dans le navigateur jusqu'à ce que la connexion Internet a fonctionné. Mais cela fait. En fait assez simple.

Connexion via un portail captif

C'est un peu gênant si vous devez entrer les données d'accès dans le code source. C'est un personnellement trop inflexible pour moi. Alors je pensais à mettre en place un serveur web qui affiche une forme d'entrée dans le navigateur Internet. Je voudrais saisir les données d'accès. Comme il n'existe pas sur Internet qu'il n'y a pas déjà, je Cette solution ici trouvé. Je trouve cela très confortable. Il convient de noter que les données d'accès, y compris le mot de passe seront affichés dans le Moniteur série. Ce croquis peut être téléchargé directement sur l'ESP8266 sans changer quelque chose au code source. Ensuite, vous verrez un périphérique appelé ESP dans la vue d'ensemble de vos réseaux WLAN suivis d'une chaîne. Connectez-le (sans mot de passe) et appelez l'adresse IP dans le navigateur 192.168.4.1 (Vous pouvez également voir ces données dans le moniteur série de l'IDE Arduino). Vous verrez ensuite un formulaire d'entrée dans lequel vous pouvez entrer les données d'accès à votre réseau Wi-Fi. Vous pouvez également modifier le nom du réseau ESP et un mot de passe (qui est fortement recommandé). J'utilise aussi le même mot de passe que pour mon réseau domestique. Si les données sont entrées, connectez-vous à l'ESP (si vous avez recréé le nom et le mot de passe) et vous devez déjà avoir une connexion à Internet.

C'est un peu plus confortable

Comme vous pouvez le voir, vous devez entrer le nom de votre réseau sous la forme d'entrée. Malheureusement, ceux-ci sont généralement formulés par le fabricant un peu long. Donc, je veux changer l'esquisse maintenant que les réseaux disponibles sont affichés dans une liste. Là, je veux choisir mon réseau, au lieu de taper le nom. A cet effet, je me suis adapté le code source ci-dessus et changé le formulaire HTML afin que les réseaux WLAN sont répertoriés à proximité et pourvus d'un Radiocheckbox. Ainsi, vous pouvez simplement frapper la sélection, entrez votre mot de passe et de connexion. Voici le code source:

 #if lwip_features &&! lwip_ipv6
 
  #define have_netdump 0
 
  #include
  #include
  #include
  #include
  #include
 
  #define NAPT 1000
  #define napt_port 10
 
  #if have_netdump
 
  #include
 
  annuler décharger(int Netif_idx, CONTAM Char * dateness, size_t len, int dehors, int Succès) {
  (annuler)Succès;
    En série.imprimer(dehors ? F("Dehors") : F(" dans "));
    En série.printf("%d ", Netif_idx);
 
    // Filtre optionnel Exemple: IF (Netdump_is_Arp (données))
  {
      netdump(En série, dateness, len);
      // Netdumphex (série, données, Len);
  }
  }
  #endif
 
  // MES FONCTIONS
  botte testwifi() {
    En série.printf("\ NTESTING CONNEXION avec '% s' \ n", Wifi.SSID().c_str());
    int compter = 0;
    digitalWrite(2,Meugler);
    Tandis que (compter < 20) {
      SI (Wifi.statut() == Wl_connected) {
        En série.printf("\ Nwifi Connected \ NSt.:% S (DNS:% s /% s)! \ N \ n",
                      Wifi.localip().tostring().c_str(),
                      Wifi.dnsip(0).tostring().c_str(),
                      Wifi.dnsip(1).tostring().c_str());
 
        // Donner des serveurs DNS à côté AP
        DHCPSOFTAP.DHCPS_SET_DNS(0, Wifi.dnsip(0));
        DHCPSOFTAP.DHCPS_SET_DNS(1, Wifi.dnsip(1));
        digitalWrite(2,HAUTE);
        revenir vrai;
    }
      En série.imprimer(".");
      retard(1000);
      compter++;
  }
    En série.printf("\ Ncan't se connecter au wifi, se connecter à ap '% s' et configure ... \ n \ n", Wifi.SoftaSSID());
    revenir faux;
  }
 
  // serveur
  ESP8266Webserver serveur(80);
  Chaîne de caractères Contenu;
  Chaîne de caractères réseaux[40];
 
  annuler serverconfig() {
    serveur.Commencer();
    int n = Wifi.ScanNetworks();
 
    Contenu = " ";
    Contenu += " Configuration ESP8266 page </ title> </ head>"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"<Body>"</span>;  </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-keyword" style="box-sizing: border-box; color: #770088;">SI</span> (<span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">statut</span>() <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">!=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wl_connected</span>) {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"<Div> Actuellement non connecté </ div>"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> }</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-keyword" style="box-sizing: border-box; color: #770088;">Autre</span> {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"<Div> Connecté à:"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">SSID</span>();</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"IP:"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">localip</span>().<span class="cm-variable" style="box-sizing: border-box; color: #000000;">tostring</span>();</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"</ Div>"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> }</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"<DIV>"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-keyword" style="box-sizing: border-box; color: #770088;">SI</span> (<span class="cm-variable" style="box-sizing: border-box; color: #000000;">n</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">==</span> <span class="cm-number" style="box-sizing: border-box; color: #116644;">0</span>) {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"<H1> Aucun réseau sans fil Trouvé </ h1>"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> }</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-keyword" style="box-sizing: border-box; color: #770088;">Autre</span> {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"<H1> Station sans fil Réglages </ h1>"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"<Form Method = 'Post'>"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-keyword" style="box-sizing: border-box; color: #770088;">pour</span> (<span class="cm-variable-3" style="box-sizing: border-box; color: #008855;">int</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">je</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">=</span> <span class="cm-number" style="box-sizing: border-box; color: #116644;">0</span>; <span class="cm-variable" style="box-sizing: border-box; color: #000000;">je</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;"><</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">n</span>; <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">++</span><span class="cm-variable" style="box-sizing: border-box; color: #000000;">je</span>) {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">réseaux</span>[<span class="cm-variable" style="box-sizing: border-box; color: #000000;">je</span>] <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">SSID</span>(<span class="cm-variable" style="box-sizing: border-box; color: #000000;">je</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"<DIV>"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"<Input type = \" RADIO \ "ID = \" "</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Chaîne de caractères</span>(<span class="cm-variable" style="box-sizing: border-box; color: #000000;">je</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"\" "</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"Name = \" SSIDs \ "Value = \" "</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Chaîne de caractères</span>(<span class="cm-variable" style="box-sizing: border-box; color: #000000;">je</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"\">"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"<Label for = \" "</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Chaîne de caractères</span>(<span class="cm-variable" style="box-sizing: border-box; color: #000000;">je</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"\""</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">">"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Chaîne de caractères</span>(<span class="cm-variable" style="box-sizing: border-box; color: #000000;">je</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+</span> <span class="cm-number" style="box-sizing: border-box; color: #116644;">1</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">": "</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">SSID</span>(<span class="cm-variable" style="box-sizing: border-box; color: #000000;">je</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">" ("</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Chaîne de caractères</span>(<span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">RSSI</span>(<span class="cm-variable" style="box-sizing: border-box; color: #000000;">je</span>));</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">")"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> (<span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">Type de chiffrement</span>(<span class="cm-variable" style="box-sizing: border-box; color: #000000;">je</span>) <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">==</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Enc_type_none</span>) <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">?</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">" "</span> : <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"*"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"</ Label>"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"</ Div>"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">retard</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">10</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   }</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">« <Label> Mot de passe: </ label> <br> <input type = 'mot de passe' espace réservé = '********' name = 'stapsk' minlength = 8 maxlength = 63> <br> <small> doit être au moins 8 caractères ou vide! </ small> <br> "</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"<Type Bouton = 'Envoyer' FormAction = 'Stasettings'> Enregistrer de façon permanente </ Bouton> <Type Bouton = 'Envoyer' FormAction = 'TempstaSettings'> Enregistrer temporairement (jusqu'au redémarrage) </ Button>"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"</ Form>"</span>;   </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"<H1> Paramètres du point d'accès sans fil </ h1>"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"<Form Method = 'Post'>"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"<Label> SSID: </ Label> <br> <Name Input = 'APSID' = Placeholder « "</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">SoftaSSID</span>();</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Contenu</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"" longueur = 32> <br> "</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">teneur</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"<label> mot de passe: </ étiquette> <br> <type d'entrée =" mot de passe "espace réservoir =" "</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">teneur</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">softappsk</span>();</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">teneur</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"'Nom =' Appsk 'minlength = 8 maxlength = 63> <br> <petit> doit avoir au moins 8 caractères ou en blanc! </ Small> <br> <br>"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">teneur</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"<bouton Type = 'Soumettre' Formactage = 'Apsettings'> Enregistrer en permanence </ Button> <Type de bouton = 'Soumettre' Formaction = 'Templapapsettings'> Enregistrer temporairement (jusqu'à redémarrer) </ Button>"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">teneur</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"</ forme>"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> }</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">teneur</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"<H1> Divers </ h1>"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">teneur</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"<méthode formulaire = 'Obtenir' Action = 'Redboot'> <Type d'entrée = 'Soumettre' Valeur = 'Redémarrer'> </ Form>"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">teneur</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">+=</span> <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"<div>"</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">au</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"/"</span>, []() {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">envoyer</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">200</span>, <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"Texte / HTML"</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">teneur</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> });</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">surnotculer</span>([]() {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">envoyer</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">404</span>, <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"texte simple"</span>, <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"Comment diable êtes-vous arrivé ici?"</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> });</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">au</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"/ Stasettings"</span>, []() {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Chaîne de caractères</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">tempêter</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">argument</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"SSIDS"</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable-3" style="box-sizing: border-box; color: #008855;">int</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">numéro</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">tempêter</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">tint</span>();</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Chaîne de caractères</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">stasside</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">réseaux</span>[<span class="cm-variable" style="box-sizing: border-box; color: #000000;">numéro</span>];</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Chaîne de caractères</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">svpsk</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">argument</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"stapsk"</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-keyword" style="box-sizing: border-box; color: #770088;">si</span> (<span class="cm-variable" style="box-sizing: border-box; color: #000000;">stasside</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">longueur</span>() <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">></span> <span class="cm-number" style="box-sizing: border-box; color: #116644;">0</span>) {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">envoyer</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">200</span>, <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"texte simple"</span>, <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"Paramètres reçus"</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">En série</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">printf</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"\ N \ N \ N auttant de se connecter à"% s "à l'aide du mot de passe '% s' \ n"</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">stasside</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">c_str</span>(), <span class="cm-variable" style="box-sizing: border-box; color: #000000;">svpsk</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">c_str</span>());</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">persistant</span>(<span class="cm-atom" style="box-sizing: border-box; color: #221199;">vrai</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">commencer</span>(<span class="cm-variable" style="box-sizing: border-box; color: #000000;">stasside</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">svpsk</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Testwifi</span>();</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   }</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> });</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">au</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"/ tempstastastings"</span>, []() {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Chaîne de caractères</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">tempêter</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">argument</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"SSIDS"</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable-3" style="box-sizing: border-box; color: #008855;">int</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">numéro</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">tempêter</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">tint</span>();</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Chaîne de caractères</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">stasside</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">réseaux</span>[<span class="cm-variable" style="box-sizing: border-box; color: #000000;">numéro</span>];</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Chaîne de caractères</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">svpsk</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">argument</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"stapsk"</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-keyword" style="box-sizing: border-box; color: #770088;">si</span> (<span class="cm-variable" style="box-sizing: border-box; color: #000000;">stasside</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">longueur</span>() <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">></span> <span class="cm-number" style="box-sizing: border-box; color: #116644;">0</span>) {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">envoyer</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">200</span>, <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"texte simple"</span>, <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"Paramètres reçus"</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">En série</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">printf</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"\ N \ N \ N auttant de se connecter à"% s "à l'aide du mot de passe '% s' \ n"</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">stasside</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">c_str</span>(), <span class="cm-variable" style="box-sizing: border-box; color: #000000;">svpsk</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">c_str</span>());</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">persistant</span>(<span class="cm-atom" style="box-sizing: border-box; color: #221199;">faux</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">commencer</span>(<span class="cm-variable" style="box-sizing: border-box; color: #000000;">stasside</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">svpsk</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Testwifi</span>();</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   }</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> });</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">au</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"/ apsettings"</span>, []() {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Chaîne de caractères</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">apysid</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">argument</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"APSSID"</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Chaîne de caractères</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">appsk</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">argument</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"Appsk"</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-keyword" style="box-sizing: border-box; color: #770088;">si</span> (<span class="cm-variable" style="box-sizing: border-box; color: #000000;">apysid</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">longueur</span>() <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">></span> <span class="cm-number" style="box-sizing: border-box; color: #116644;">0</span>) {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">envoyer</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">200</span>, <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"texte simple"</span>, <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"Paramètres reçus"</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">En série</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">printf</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"\ N \ N \ NSsetting AP Credentials \ nssid:% s \ npassword:% s \ n"</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">apysid</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">c_str</span>(), <span class="cm-variable" style="box-sizing: border-box; color: #000000;">appsk</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">c_str</span>());</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">persistant</span>(<span class="cm-atom" style="box-sizing: border-box; color: #221199;">vrai</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">sonnable</span>(<span class="cm-variable" style="box-sizing: border-box; color: #000000;">apysid</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">appsk</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   }</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> });</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">au</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"/ TEMPAPPAPSETTATIONS"</span>, []() {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Chaîne de caractères</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">apysid</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">argument</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"APSSID"</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Chaîne de caractères</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">appsk</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">argument</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"Appsk"</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-keyword" style="box-sizing: border-box; color: #770088;">si</span> (<span class="cm-variable" style="box-sizing: border-box; color: #000000;">apysid</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">longueur</span>() <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">></span> <span class="cm-number" style="box-sizing: border-box; color: #116644;">0</span>) {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">envoyer</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">200</span>, <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"texte simple"</span>, <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"Paramètres reçus"</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">En série</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">printf</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"\ N \ N \ N \ N \ NSsetting AP temporaire des informations d'identification \ nssid:% s \ npassword:% s \ n"</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">apysid</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">c_str</span>(), <span class="cm-variable" style="box-sizing: border-box; color: #000000;">appsk</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">c_str</span>());</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">persistant</span>(<span class="cm-atom" style="box-sizing: border-box; color: #221199;">faux</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">sonnable</span>(<span class="cm-variable" style="box-sizing: border-box; color: #000000;">apysid</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">appsk</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   }</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> });</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">au</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"/ redémarrer"</span>, []() {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">envoyer</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">200</span>, <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"texte simple"</span>, <span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"Redémarrage en cours..."</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">retard</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">5000</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Espiègler</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">réinitialiser</span>();</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> });</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> }</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> <span class="cm-variable-3" style="box-sizing: border-box; color: #008855;">annuler</span> <span class="cm-def" style="box-sizing: border-box; color: #0000ff;">mettre en place</span>() {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">En série</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">commencer</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">115200</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">punaise</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">2</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">SORTIR</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">retard</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">1000</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">En série</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">printf</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"\ n \ nnapt gamme Extender \ n"</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">En série</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">printf</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"Tas au début:% d \ n"</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Espiègler</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">getfreeheap</span>());</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> <span class="cm-meta" style="box-sizing: border-box; color: #555555;"># à avoir_netdump</span></span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">phy_capture</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">décharger</span>;</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> <span class="cm-meta" style="box-sizing: border-box; color: #555555;">#endif</span></span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">sothymode</span>(<span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi_phy_mode_11n</span>); <span class="cm-comment" style="box-sizing: border-box; color: #aa5500;">// Définissez le type de radio sur n</span></span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">mode</span>(<span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi_ap_sta</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">persistant</span>(<span class="cm-atom" style="box-sizing: border-box; color: #221199;">faux</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">commencer</span>(); <span class="cm-comment" style="box-sizing: border-box; color: #aa5500;">// Utiliser des informations d'identification stockées pour se connecter au réseau</span></span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Testwifi</span>();</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">softapconfig</span>(  <span class="cm-comment" style="box-sizing: border-box; color: #aa5500;">// Définissez l'adresse IP, la passerelle et le sous-réseau</span></span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Adresse IP</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">192</span>, <span class="cm-number" style="box-sizing: border-box; color: #116644;">168</span>, <span class="cm-number" style="box-sizing: border-box; color: #116644;">4</span>, <span class="cm-number" style="box-sizing: border-box; color: #116644;">1</span>),</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Adresse IP</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">192</span>, <span class="cm-number" style="box-sizing: border-box; color: #116644;">168</span>, <span class="cm-number" style="box-sizing: border-box; color: #116644;">4</span>, <span class="cm-number" style="box-sizing: border-box; color: #116644;">1</span>),</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Adresse IP</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">255</span>, <span class="cm-number" style="box-sizing: border-box; color: #116644;">255</span>, <span class="cm-number" style="box-sizing: border-box; color: #116644;">255</span>, <span class="cm-number" style="box-sizing: border-box; color: #116644;">0</span>));</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">sonnable</span>(<span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">softapssid</span>(), <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">softappsk</span>()); <span class="cm-comment" style="box-sizing: border-box; color: #aa5500;">// Utilise des informations d'identification stockées pour créer AP</span></span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">En série</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">printf</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"Tas avant:% d \ n"</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Espiègler</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">getfreeheap</span>());</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">err_t</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">retenir</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">IP_NAPT_INIT</span>(<span class="cm-variable" style="box-sizing: border-box; color: #000000;">Napt</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Napt_port</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">En série</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">printf</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"IP_NAPT_INIT (% D,% D): RET =% D (OK =% D) \ n"</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Napt</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Napt_port</span>, (<span class="cm-variable-3" style="box-sizing: border-box; color: #008855;">int</span>)<span class="cm-variable" style="box-sizing: border-box; color: #000000;">retenir</span>, (<span class="cm-variable-3" style="box-sizing: border-box; color: #008855;">int</span>)<span class="cm-variable" style="box-sizing: border-box; color: #000000;">Err_ok</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-keyword" style="box-sizing: border-box; color: #770088;">si</span> (<span class="cm-variable" style="box-sizing: border-box; color: #000000;">retenir</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">==</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Err_ok</span>) {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">retenir</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">IP_NAPT_ENABLE_NO</span>(<span class="cm-variable" style="box-sizing: border-box; color: #000000;">Softap_if</span>, <span class="cm-number" style="box-sizing: border-box; color: #116644;">1</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">En série</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">printf</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"IP_NAPT_ENABLE_NO (softap_if): ret =% d (ok =% d) \ n"</span>, (<span class="cm-variable-3" style="box-sizing: border-box; color: #008855;">int</span>)<span class="cm-variable" style="box-sizing: border-box; color: #000000;">retenir</span>, (<span class="cm-variable-3" style="box-sizing: border-box; color: #008855;">int</span>)<span class="cm-variable" style="box-sizing: border-box; color: #000000;">Err_ok</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-keyword" style="box-sizing: border-box; color: #770088;">si</span> (<span class="cm-variable" style="box-sizing: border-box; color: #000000;">retenir</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">==</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Err_ok</span>) {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">       <span class="cm-variable" style="box-sizing: border-box; color: #000000;">En série</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">printf</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"\ NWIFI Network '% s' avec Passowrd '% S' et IP '% s' est maintenant configuré \ n"</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">softapssid</span>(), <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">softappsk</span>().<span class="cm-variable" style="box-sizing: border-box; color: #000000;">c_str</span>(), <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">sofapip</span>().<span class="cm-variable" style="box-sizing: border-box; color: #000000;">tostring</span>().<span class="cm-variable" style="box-sizing: border-box; color: #000000;">c_str</span>());</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   }</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> }</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">En série</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">printf</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"Heap après NAPT INIT:% D \ N"</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Espiègler</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">getfreeheap</span>());</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-keyword" style="box-sizing: border-box; color: #770088;">si</span> (<span class="cm-variable" style="box-sizing: border-box; color: #000000;">Retenir</span> <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">!=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Err_ok</span>) {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">En série</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">Printf</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"Initialisation NAPT a échoué \ n"</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> }</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serverconfig</span>();</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> }</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> <span class="cm-meta" style="box-sizing: border-box; color: #555555;">#else</span></span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> <span class="cm-variable-3" style="box-sizing: border-box; color: #008855;">annuler</span> <span class="cm-def" style="box-sizing: border-box; color: #0000ff;">d'installation</span>() {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">En série</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">Commencer</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">115200</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">En série</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">Printf</span>(<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"\ n \ nnapt non pris en charge dans cette configuration \ n"</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> }</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> <span class="cm-meta" style="box-sizing: border-box; color: #555555;">#endif</span></span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> </span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> <span class="cm-variable-3" style="box-sizing: border-box; color: #008855;">annuler</span> <span class="cm-def" style="box-sizing: border-box; color: #0000ff;">boucle</span>() {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-variable" style="box-sizing: border-box; color: #000000;">serveur</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">policière</span>();</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-keyword" style="box-sizing: border-box; color: #770088;">SI</span> (<span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wifi</span>.<span class="cm-variable" style="box-sizing: border-box; color: #000000;">statut</span>() <span class="cm-operator" style="box-sizing: border-box; color: #981a1a;">!=</span> <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Wl_connected</span>) {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">denadewrite</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">2</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">Meugler</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">retard</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">1000</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">denadewrite</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">2</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">HAUTE</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">retard</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">1000</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> }</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">   <span class="cm-keyword" style="box-sizing: border-box; color: #770088;">Autre</span> {</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">     <span class="cm-variable" style="box-sizing: border-box; color: #000000;">denadewrite</span>(<span class="cm-number" style="box-sizing: border-box; color: #116644;">2</span>, <span class="cm-variable" style="box-sizing: border-box; color: #000000;">HAUTE</span>);</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"> }</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">}</span></pre> <h2>Intermédiaire</h2> <p>Pour finalement, que j'ai investi beaucoup de temps ici, cela fonctionne plus mal comme juste. J'ai mesuré la vitesse et je suis venu un peu plus de 1 Mbps. Cela semble être un problème général, car il a également été discuté sur Github et dans le forum de espressif. Malheureusement, il n'y a pas de solution pour cela.</p> <h1>ESP32 ou comment tout fonctionne mieux</h1> <p>D'après mes recherches, il ne vise pas les pages espressifs (le fabricant de la puce ESP) d'utiliser un ESP32 comme WiFi Extender (routeur WiFi de NAT). En conséquence, il n'y a pas de portage de la chaîne d'échantillons d'extension pour le ESP32. Cependant, il y a le projet de <span>Martin-ger sur github</span>qui a déjà été utilisé fréquemment. Aussi dans notre poteau de blog <a href="https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/esp-als-w-lan-router?_pos=1&_sid=83fa63452&_ss=r">ESP8266 Mesh Wi-Fi sur 4 nœuds</a> (de Moritz Spranger) Cette variante est utilisée.</p> <p>Le projet est également disponible pour l'ESP8266. Depuis que je cherche également une solution appropriée pour cela, je montre les deux possibilités ici.</p> <p><strong><a href="https://github.com/martin-ger/esp_wifi_repeater">Site Web GitHub pour ESP8266</a></strong></p> <p><strong><a href="https://github.com/martin-ger/esp32_nat_router">Site Web GitHub pour ESP32</a></strong></p> <br> <h2>Sous Windows:</h2> <ul> <li>L'outil de téléchargement de flash ESP est nécessaire. Vous pouvez le faire <a href="https://www.espressif.com/sites/default/files/tools/flash_download_tool_v3.8.8_0.zip">ici</a> </li> <li>Sur le site GitHub (ESP8266 et ESP32), cliquez sur le bouton vert bouton « Code » en haut à droite et tout comme zip il téléchargement.</li> <li>Démarrez Flash Download Tool et sélectionnez le ESP8266 ou ESP32.</li> <li>Définissez ensuite tout comme celui-ci sur la capture d'écran ci-dessous.</li> </ul> <h2>ESP8266:</h2> <p><img src="https://cdn.shopify.com/s/files/1/1509/1638/files/01_ESPTool_ESP8266_screenshot1b_600x600.jpg?v=1631539743" alt="Outil de l'ESP" style="display: block; margin-left: auto; margin-right: auto;"></p> <h2>ESP32:</h2> <p><img src="https://cdn.shopify.com/s/files/1/1509/1638/files/02_ESPTool_ESP32_screenshot1b_600x600.jpg?v=1631539805" alt="Outil de l'ESP" style="display: block; margin-left: auto; margin-right: auto;"></p> <ul> <li>Connectez l'ESP à l'ordinateur via USB</li> <li>En cliquant sur le bouton "...", vous pouvez sélectionner les fichiers bin. Les données dont vous avez besoin peuvent être trouvées dans le zip téléchargé dans le sous-répertoire "Firmware" (ESP8266) ou "Build" (ESP32).</li> <li>Dans le champ à côté de celui-ci, entrez les adresses de mémoire. Dans ce cas, "0x00000" et "0x02000" (ESP8266) ou "0x1000", "0x10000" et "0x8000" (ESP32). Ce sont les adresses de départ de la mémoire de l'ESP, où le programme est stocké.</li> <li>Si aucun port COM n'est affiché, vous devez installer le pilote approprié (si vous avez déjà programmé l'ESP via l'IDE Arduino, elle doit également être reconnue ici). Le numéro du port COM peut être un autre pour vous.</li> <li><em>Pour une utilisation ESP-01 pour la taille de flash "8MBIT" au lieu de "32MBIT" (ESP8266)</em></li> <li>Démarrer le processus flash</li> </ul> <h2>Esp8266:</h2> <p><img src="https://cdn.shopify.com/s/files/1/1509/1638/files/03_ESPTool_ESP8266_screenshot2b_600x600.jpg?v=1631539895" alt="Outil de l'ESP" style="display: block; margin-left: auto; margin-right: auto;"></p> <h2>ESP32:</h2> <p><img src="https://cdn.shopify.com/s/files/1/1509/1638/files/04_ESPTool_ESP32_screenshot2b_600x600.jpg?v=1631539932" alt="Outil de l'ESP" style="display: block; margin-left: auto; margin-right: auto;"></p> <blockquote> <p><span style="color: #ff0000;"><strong>Remarque: Comme dans l'IDE Arduino, vous devez apporter l'ESP32 en mode Flash en appuyant sur le bouton de démarrage. Maintenez et puis appuyez sur le bouton Démarrer.</strong></span></p> </blockquote> <h2>ESP8266:</h2> <p><img src="https://cdn.shopify.com/s/files/1/1509/1638/files/05_ESPTool_ESP8266_screenshot3b_600x600.jpg?v=1631540003" alt="Outil de l'ESP" style="display: block; margin-left: auto; margin-right: auto;"></p> <h2>ESP32:</h2> <p><img src="https://cdn.shopify.com/s/files/1/1509/1638/files/06_ESPTool_ESP32_screenshot3b_600x600.jpg?v=1631540034" alt="ESP outil" style="display: block; margin-left: auto; margin-right: auto;"></p> <p>Après avoir flashé avec succès, débranchez la connexion USB à l'ESP, puis redémarrez-le en vous connectant à nouveau le bouchon (peut-être d'une simple remise à zéro est suffisante).</p> <p>Après quelques instants, vous devriez voir un nouveau réseau Wi-Fi nommé "MYAP" (ESP8266) ou "ESP32_NAT_Router" (ESP32).</p> <p>Connectez-vous à ce réseau puis appeler le navigateur Internet l'adresse <a href="http://192.168.4.1/">http://192.168.4.1/</a> au. Vous devriez alors voir cette vue d'ensemble:</p> <h2>Esp8266:</h2> <p><img src="https://cdn.shopify.com/s/files/1/1509/1638/files/07_AP_Screenshot_ESP8266_600x600.jpg?v=1631540179" alt="Paramètres du routeur EsSP8266" style="display: block; margin-left: auto; margin-right: auto;"></p> <h2>ESP32:</h2> <p><img src="https://cdn.shopify.com/s/files/1/1509/1638/files/08_AP_Screenshot_ESP32_600x600.jpg?v=1631540247" alt="Paramètres du routeur ESP32" style="display: block; margin-left: auto; margin-right: auto;"></p> <ul> <li>Les paramètres AP sont toujours les données d'accès pour l'ESP32. Au début, aucun mot de passe n'est défini ici. Vous devriez changer cela. J'utilise à ce stade (comme déjà mentionné précédemment) le même mot de passe, qui est également défini dans mon routeur Internet.</li> <li>Les paramètres STA sont les données d'accès à votre routeur WLAN.</li> <li><em>Si vous utilisez un PC, un clic droit sur les propriétés du réseau et entrez le mot de passe par copier et coller sur le site. Elle enregistre ensuite les mots de passe à distance. Il suffit de le faire qu'une fois. Après cela, l'ESP fonctionne autonome. (Le mot de passe est alors dans la mémoire volatile. Si tel est un problème touchant à la sécurité pour vous, vous devez taper le collecteur de mot de passe.)</em></li> <li>Pour le ESP8266, définissez l'entrée pour la sécurité sur WPA2!</li> <li>Pour l'ESP32 vous pouvez entrer l'adresse IP une statique supplémentaire.</li> </ul> <p>Il ne peut pas nuire à redémarrer l'ESP après avoir entré tous les paramètres. Dans le cas où aucune connexion est établie. Rappelez-vous que vous avez (probablement) un mot de passe pour le point d'accès ESP. Vous devez le reconnecter.</p> <h1>sous Linux</h1> <p>Sur les sites Github de Martin-Ger est également montré comment flasher les programmes respectifs sous Linux sur l'ESP:</p> <p>Vous devez installer le ESPTool.py (des informations plus détaillées <a href="https://github.com/espressif/esptool">ici</a>).</p> <p>Démarrez le terminal et entrez la commande suivante:</p> <pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" cid="n2" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: var(--monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-position: inherit; background-size: inherit; background-repeat: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: #f8f8f8; position: relative !important; border: 1px solid #e7eaed; border-radius: 3px; padding: 8px 4px 6px 0px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: #333333; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;" lang="bash"> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"><span class="cm-def" style="box-sizing: border-box; color: #0000ff;">$ pip</span> installer EspaTool</span></pre> <p> </p> <h2>Esp8266</h2> <p>Dans le terminal, entrez la commande suivante:</p> <pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" cid="n2" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: var(--monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-position: inherit; background-size: inherit; background-repeat: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: #f8f8f8; position: relative !important; border: 1px solid #e7eaed; border-radius: 3px; padding: 8px 4px 6px 0px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: #333333; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;" lang="bash"> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"><span class="cm-def" style="box-sizing: border-box; color: #0000ff;">$ ESPTOOL</span>.py <span class="cm-attribute" style="box-sizing: border-box; color: #0000cc;">--Port</span> / Dev / ttyUSB0 write_flash <span class="cm-attribute" style="box-sizing: border-box; color: #0000cc;">fs</span> 4Mo <span class="cm-attribute" style="box-sizing: border-box; color: #0000cc;">-ff</span> 80m <span class="cm-attribute" style="box-sizing: border-box; color: #0000cc;">-F</span> Dio 0x00000 Firmware / 0x00000.bin 0x02000 Firmware / 0x02000.bin<span class="cm-string" style="box-sizing: border-box; color: #aa1111;">"</span></span></pre> <p>Si vous n'utilisez pas le ESP8266 commun comme Mini NODEMCU ou D1, modifiez les entrées suivantes dans la ligne de commande:</p> <ul> <li> <strong>ESP-01:</strong> fs 1Mo</li> <li> <strong>ESP8285:</strong> fs 1Mo <em>et</em> FM Dout</li> </ul> <h2>ESP32</h2> <p>Rappelez-vous aussi ici pour amener le ESP32 en mode flash (clé de démarrage)!</p> <p>Dans le terminal, entrez la commande suivante:</p> <pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" cid="n2" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: var(--monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-position: inherit; background-size: inherit; background-repeat: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: #f8f8f8; position: relative !important; border: 1px solid #e7eaed; border-radius: 3px; padding: 8px 4px 6px 0px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: #333333; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;" lang="bash"> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"><span class="cm-def" style="box-sizing: border-box; color: #0000ff;">$ ESPTOOL</span>.py <span class="cm-attribute" style="box-sizing: border-box; color: #0000cc;">--ébrécher</span> ESP32 <span class="cm-attribute" style="box-sizing: border-box; color: #0000cc;">--Port</span> / Dev / ttyUSB0 \</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"><span class="cm-attribute" style="box-sizing: border-box; color: #0000cc;">--baud</span> <span class="cm-number" style="box-sizing: border-box; color: #116644;">115200</span> <span class="cm-attribute" style="box-sizing: border-box; color: #0000cc;">--avant</span> Default_Reset <span class="cm-attribute" style="box-sizing: border-box; color: #0000cc;">--nach</span> hard_reset write_flash \</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;"><span class="cm-attribute" style="box-sizing: border-box; color: #0000cc;">-Z</span> <span class="cm-attribute" style="box-sizing: border-box; color: #0000cc;">--Mode flash</span> dio <span class="cm-attribute" style="box-sizing: border-box; color: #0000cc;">--FLASH_FREQ</span> 40m <span class="cm-attribute" style="box-sizing: border-box; color: #0000cc;">--Flash_size</span> détecter \</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">0x1000 build / bootloader / bootloader.bin \</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">0x10000 build / ESP32_NAT_ROUTER.BIN \</span><br> <span role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">0x8000 build / partitions_example.bin</span></pre> <blockquote> <p><strong>Si les chemins ne seront pas valides, l'ESPTOOL ne peut pas être saisi comme une variable PATH globale, ou vous n'êtes pas dans le dossier principal des fichiers téléchargés. Vous pouvez également spécifier le dossier source tout à fait en spécifiant le chemin complet au lieu de seulement « firmware » ou « build ».</strong></p> </blockquote> <h1>Sous Mac OS</h1> <p>Malheureusement, je ne pouvais pas tester cela. Le clignotement d'un ESP8266 sera u.ä. <a href="http://blog.wenzlaff.de/?p=6417">ici</a> décrit. Les paramètres du ESPTOOL devraient alors être les mêmes que sous Linux</p> <h1>Conclusion</h1> <p>Après avoir essayé quelques croquis de l'IDE Arduino, seuls les programmes de <em>Martin-Ger</em> travaux satisfaisants (grâce à ce point pour ce travail). L'étape sur l'ESP flash Télécharger l'outil semble un peu plus lourd, mais il ne coûte que quelques minutes de plus que sur l'Arduino IDE. Si je trouve le temps que je l'ai appliqué à la programmation précédente dans l'Arduino IDE, la dernière variante a certainement été le plus rapide.</p> <p>La connexion Internet du ESP8266 était sur le point 5Mbit / s, pour lesquels il était ESP32 environ 16 Mbits / s. Ce dernier, bien sûr aussi des bottes plus rapidement. Le ESP8266 avait des interruptions de temps en temps.</p> <p>En ce qui concerne la gamme est concerné, il dépend fortement de l'environnement dans lequel vous utilisez l'ESP comme un routeur NAT. Dans mon cas, il suffisait de la cour avant, où le routeur Internet est mis en place à l'arrière de la maison. A travers des murs épais, ou sur plusieurs étages, la gamme est réduite et la vitesse de transmission est alors en train de couler fortement. Testez vous-même.</p> <p>Si vous avez d'autres possibilités, ou même fonctionnement croquis Arduino, je serais heureux si vous les partagez avec nous.</p> <p>Comment fournir l'ESP avec l'électricité en tant que point d'accès mobile d'une batterie, vous pouvez vous. <a href="https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/briefkasten-mit-e-mail-benachrichtigung-und-solarmodul">Ce poteau de blog</a> supprimer. Cela comme une pointe finale.</p> <p>Amusez-vous avec votre Extender WiFi (bon marché).</p> <p>Andreas Wolter</p> <p>Pour Blog AZ-Livraison</p> </div><div class="article__aside"><div class="article__aside-item"> <span class="article__tag-label">Tags : </span><a href="/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/tagged/esp-32" class="link link--accented link--underline">Esp-32</a>, <a href="/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/tagged/esp-8266" class="link link--accented link--underline">Esp-8266</a>, <a href="/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/tagged/projekte-fur-anfanger" class="link link--accented link--underline">Projekte für anfänger</a></div><div class="article__aside-item"> <span class="article__share-label">Partager</span> <ul class="social-media__item-list list--unstyled"> <li class="social-media__item social-media__item--facebook"> <a href="https://www.facebook.com/sharer.php?u=https://www.az-delivery.de/fr/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/wifi-extender-mit-esp8266-und-esp32" target="_blank" rel="noopener" aria-label="Partager sur Facebook"><svg class="icon icon--facebook" viewBox="0 0 30 30"> <path d="M15 30C6.71572875 30 0 23.2842712 0 15 0 6.71572875 6.71572875 0 15 0c8.2842712 0 15 6.71572875 15 15 0 8.2842712-6.7157288 15-15 15zm3.2142857-17.1429611h-2.1428678v-2.1425646c0-.5852979.8203285-1.07160109 1.0714928-1.07160109h1.071375v-2.1428925h-2.1428678c-2.3564786 0-3.2142536 1.98610393-3.2142536 3.21449359v2.1425646h-1.0714822l.0032143 2.1528011 1.0682679-.0099086v7.499969h3.2142536v-7.499969h2.1428678v-2.1428925z" fill="currentColor"></path> </svg></a> </li> <li class="social-media__item social-media__item--pinterest"> <a href="https://pinterest.com/pin/create/button/?url=https://www.az-delivery.de/fr/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/wifi-extender-mit-esp8266-und-esp32&media=https://cdn.shopify.com/s/files/1/1509/1638/articles/00_Titelbild_137b44c8-c049-4c39-b93d-c116b086ae5a_large.png?v=1631539511&description=WiFi%20Extender%20avec%20ESP8266%20et%20ESP32%20Ils%20se%20tiennent%20debout%20dans%20la%20cour%20avant,%20quelque..." target="_blank" rel="noopener" aria-label="Pin sur Pinterest"><svg class="icon icon--pinterest" role="presentation" viewBox="0 0 30 30"> <path d="M15 30C6.71572875 30 0 23.2842712 0 15 0 6.71572875 6.71572875 0 15 0c8.2842712 0 15 6.71572875 15 15 0 8.2842712-6.7157288 15-15 15zm-.4492946-22.49876954c-.3287968.04238918-.6577148.08477836-.9865116.12714793-.619603.15784625-1.2950238.30765013-1.7959124.60980792-1.3367356.80672832-2.26284291 1.74754848-2.88355361 3.27881599-.1001431.247352-.10374313.4870343-.17702448.7625149-.47574032 1.7840923.36779138 3.6310327 1.39120339 4.2696951.1968419.1231267.6448551.3405257.8093833.0511377.0909873-.1603963.0706852-.3734014.1265202-.5593764.036883-.1231267.1532436-.3547666.1263818-.508219-.0455542-.260514-.316041-.4256572-.4299438-.635367-.230748-.4253041-.2421365-.8027267-.3541701-1.3723228.0084116-.0763633.0168405-.1527266.0253733-.2290899.0340445-.6372108.1384107-1.0968422.3287968-1.5502554.5593198-1.3317775 1.4578212-2.07273488 2.9088231-2.5163011.324591-.09899963 1.2400541-.25867013 1.7200175-.1523539.2867042.05078464.5734084.10156927.8600087.1523539 1.0390064.33760307 1.7953931.9602003 2.2007079 1.9316992.252902.6061594.3275507 1.7651044.1517724 2.5415071-.0833199.3679287-.0705641.6832289-.1770418 1.0168107-.3936666 1.2334841-.9709174 2.3763639-2.2765854 2.6942337-.8613761.2093567-1.5070793-.3321303-1.7200175-.8896824-.0589159-.1545509-.1598205-.4285603-.1011297-.6865243.2277711-1.0010987.5562045-1.8969797.8093661-2.8969995.24115-.9528838-.2166421-1.7048063-.9358863-1.8809146-.8949186-.2192233-1.585328.6350139-1.8211644 1.1943903-.1872881.4442919-.3005678 1.2641823-.1517724 1.8557085.0471811.1874265.2666617.689447.2276672.8640842-.1728187.7731269-.3685356 1.6039823-.5818373 2.3635745-.2219729.7906632-.3415527 1.5999416-.5564641 2.3639276-.098793.3507651-.0955738.7263439-.1770244 1.092821v.5337977c-.0739045.3379758-.0194367.9375444.0505042 1.2703809.0449484.2137505-.0261175.4786388.0758948.6357396.0020943.1140055.0159752.1388388.0506254.2031582.3168026-.0095136.7526829-.8673992.9106342-1.118027.3008274-.477913.5797431-.990879.8093833-1.5506281.2069844-.5042174.2391769-1.0621226.4046917-1.60104.1195798-.3894861.2889369-.843272.328918-1.2707535h.0252521c.065614.2342095.3033024.403727.4805692.5334446.5563429.4077482 1.5137774.7873678 2.5547742.5337977 1.1769151-.2868184 2.1141687-.8571599 2.7317812-1.702982.4549537-.6225776.7983583-1.3445472 1.0624066-2.1600633.1297394-.4011574.156982-.8454494.2529193-1.2711066.2405269-1.0661438-.0797199-2.3511383-.3794396-3.0497261-.9078995-2.11694836-2.8374975-3.32410832-5.918897-3.27881604z" fill="currentColor" fill-rule="evenodd"></path> </svg></a> </li> <li class="social-media__item social-media__item--twitter"> <a href="https://twitter.com/share?text=WiFi Extender (routeur NAT) avec ESP8266 et ESP32&url=https://www.az-delivery.de/fr/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/wifi-extender-mit-esp8266-und-esp32" target="_blank" rel="noopener" aria-label="Tweeter sur Twitter"><svg class="icon icon--twitter" role="presentation" viewBox="0 0 30 30"> <path d="M15 30C6.71572875 30 0 23.2842712 0 15 0 6.71572875 6.71572875 0 15 0c8.2842712 0 15 6.71572875 15 15 0 8.2842712-6.7157288 15-15 15zm3.4314771-20.35648929c-.134011.01468929-.2681239.02905715-.4022367.043425-.2602865.05139643-.5083383.11526429-.7319208.20275715-.9352275.36657324-1.5727317 1.05116784-1.86618 2.00016964-.1167278.3774214-.1643635 1.0083696-.0160821 1.3982464-.5276368-.0006268-1.0383364-.0756643-1.4800457-.1737-1.7415129-.3873214-2.8258768-.9100285-4.02996109-1.7609946-.35342035-.2497018-.70016357-.5329286-.981255-.8477679-.09067071-.1012178-.23357785-.1903178-.29762142-.3113357-.00537429-.0025553-.01072822-.0047893-.0161025-.0073446-.13989429.2340643-.27121822.4879125-.35394965.7752857-.32626393 1.1332446.18958607 2.0844643.73998215 2.7026518.16682678.187441.43731214.3036696.60328392.4783178h.01608215c-.12466715.041834-.34181679-.0159589-.45040179-.0360803-.25715143-.0482143-.476235-.0919607-.69177643-.1740215-.11255464-.0482142-.22521107-.09675-.3378675-.1449642-.00525214 1.251691.69448393 2.0653071 1.55247643 2.5503267.27968679.158384.67097143.3713625 1.07780893.391484-.2176789.1657285-1.14873321.0897268-1.47198429.0581143.40392643.9397285 1.02481929 1.5652607 2.09147249 1.9056375.2750861.0874928.6108975.1650857.981255.1593482-.1965482.2107446-.6162514.3825321-.8928439.528766-.57057.3017572-1.2328489.4971697-1.97873466.6450108-.2991075.0590785-.61700464.0469446-.94113107.0941946-.35834678.0520554-.73320321-.02745-1.0537875-.0364018.09657429.053325.19312822.1063286.28958036.1596536.2939775.1615821.60135.3033482.93309.4345875.59738036.2359768 1.23392786.4144661 1.93859037.5725286 1.4209286.3186642 3.4251707.175291 4.6653278-.1740215 3.4539354-.9723053 5.6357529-3.2426035 6.459179-6.586425.1416246-.5754053.162226-1.2283875.1527803-1.9126768.1716718-.1232517.3432215-.2465035.5148729-.3697553.4251996-.3074947.8236703-.7363286 1.118055-1.1591036v-.00765c-.5604729.1583679-1.1506672.4499036-1.8661597.4566054v-.0070232c.1397925-.0495.250515-.1545429.3619908-.2321358.5021089-.3493285.8288003-.8100964 1.0697678-1.39826246-.1366982.06769286-.2734778.13506429-.4101761.20275716-.4218407.1938214-1.1381067.4719375-1.689256.5144143-.6491893-.5345357-1.3289754-.95506074-2.6061215-.93461789z" fill="currentColor" fill-rule="evenodd"></path> </svg></a> </li> <li class="social-media__item"> <a href="mailto:?&subject=WiFi Extender (routeur NAT) avec ESP8266 et ESP32&body=https://www.az-delivery.de/fr/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/wifi-extender-mit-esp8266-und-esp32" aria-label="Partager par email"><svg class="icon icon--email" role="presentation" viewBox="0 0 28 28"> <path d="M14 28C6.2680135 28 0 21.7319865 0 14S6.2680135 0 14 0s14 6.2680135 14 14-6.2680135 14-14 14zm-3.2379501-18h6.4759002L14 12.6982917 10.7620499 10zM19 11.1350416V18H9v-6.8649584l5 4.1666667 5-4.1666667zM21 8H7v12h14V8z"></path> </svg></a> </li> </ul> </div></div><div class="article__navigation "><a href="/fr/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/mucken-und-marderschrecker-mit-dem-esp32-und-micropython-teil-2-handy-applikation" class="article__navigation-item article__navigation-item--prev text--strong link" rel="prev"><svg class="icon icon--arrow-left" viewBox="0 0 8 12" role="presentation"> <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path> </svg>Article précédent</a><a href="/fr/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/mucken-und-marderschrecker-mit-dem-esp32-und-micropython" class="article__navigation-item article__navigation-item--next text--strong link" rel="next">Article suivant<svg class="icon icon--arrow-right" viewBox="0 0 8 12" role="presentation"> <path stroke="currentColor" stroke-width="2" d="M2 2l4 4-4 4" fill="none" stroke-linecap="square"></path> </svg></a></div><span id="comments" class="anchor"></span><div class="article__comment-list"> <p class="article__comment-list-heading heading h2">18 commentaires</p><div class="article-comment"><img class="article-comment__gravatar" src="//www.gravatar.com/avatar/4f4deae4736f2563c0217badc40ea3c0?s=100" alt="Andreas Wolter"><div class="article-comment__inner"> <p class="article-comment__author text--strong">Andreas Wolter</p> <time class="article-comment__date">22 août 2022 à 12:59</time> <div class="article-comment__content rte"><p>@irgendjemand: ich habe versucht, das im Entwicklerrepository zu recherchieren. Ich konnte keine konkrete Lösung finden. Es scheint allerdings generell Probleme mit VOIP in Verbindung mit NAT Routern zu geben: https://www.voip-information.de/nat-und-voip.php</p></div> </div> </div><div class="article-comment"><img class="article-comment__gravatar" src="//www.gravatar.com/avatar/1f32b6b24464b24b72c47fcae5b1a8da?s=100" alt="irgendjemand"><div class="article-comment__inner"> <p class="article-comment__author text--strong">irgendjemand</p> <time class="article-comment__date">22 août 2022 à 12:50</time> <div class="article-comment__content rte"><p>Moin,<br> ich wollte den Verstärker für meine VoIP-ESP Klingel benutzten… geht nur nicht :(. Kann man über einen ESP Verstärker kein VoIP nutzten oder mache ich etwas falsch, weil ohne den Verstärker geht es.</p></div> </div> </div><div class="article-comment"><img class="article-comment__gravatar" src="//www.gravatar.com/avatar/4f4deae4736f2563c0217badc40ea3c0?s=100" alt="Andreas Wolter"><div class="article-comment__inner"> <p class="article-comment__author text--strong">Andreas Wolter</p> <time class="article-comment__date">31 juillet 2022 à 08:10</time> <div class="article-comment__content rte"><p>@Tino: mein Kollege hat die Repeater Firmware auf der ESP32 Cam getestet (siehe Kommentar weiter unten). In die Firmware kann man leider nicht so einfach weiteren Code hineinschreiben. Sie ist wirklich nur als Repeater gedacht.</p> <p>Leider gibt es keine brauchbaren Codes für den Repeater, den man über die Arduino IDE programmiert. Dann könnte man da etwas zusammenfügen.</p> <p>Grüße,<br> Andreas Wolter<br> AZ-Delivery Blog</p></div> </div> </div><div class="article-comment"><img class="article-comment__gravatar" src="//www.gravatar.com/avatar/14645c355becaa048ff1fb3b758c0257?s=100" alt="Tino"><div class="article-comment__inner"> <p class="article-comment__author text--strong">Tino</p> <time class="article-comment__date">31 juillet 2022 à 08:06</time> <div class="article-comment__content rte"><p>Hi.. ich bin Anfänger..<br> Ist es möglich das Board gleichzeitig mit dem Kamera Code und gleichzeitig dem WiFi repeater Code (mit Kamera Modul) zu betreiben.. also zwei Fliegen mit einer Klappe.. also die Integration von zwei Scripten. wäre halt effizient.. ???!!</p></div> </div> </div><div class="article-comment"><img class="article-comment__gravatar" src="//www.gravatar.com/avatar/4f4deae4736f2563c0217badc40ea3c0?s=100" alt="Andreas Wolter"><div class="article-comment__inner"> <p class="article-comment__author text--strong">Andreas Wolter</p> <time class="article-comment__date">19 avril 2022 à 07:51</time> <div class="article-comment__content rte"><p>@keinProfi: mein Kollege Gerald Lechner hat das für Sie getestet:</p> <p>Ich habe die Firmware am ESP32-Cam getestet. Hat problemlos funktioniert. Ein Seed-Test direkt neben dem ESP32 ergab Download 5Mbit/s upload 400kbit/s. In einem anderen Raum etwa 15m entfernt vom ESP32 mit Wänden dazwischen Download 250kbit/s Upload 70kbit/s.</p></div> </div> </div><div class="article-comment"><img class="article-comment__gravatar" src="//www.gravatar.com/avatar/de3466d96973b817467176857c92bdf3?s=100" alt="KeinProfi"><div class="article-comment__inner"> <p class="article-comment__author text--strong">KeinProfi</p> <time class="article-comment__date">18 avril 2022 à 09:44</time> <div class="article-comment__content rte"><p>Kann das ganze eigentlich auch für das esp 32 ai thinker board funktionieren (esp32 cam)?</p></div> </div> </div><div class="article-comment"><img class="article-comment__gravatar" src="//www.gravatar.com/avatar/4f4deae4736f2563c0217badc40ea3c0?s=100" alt="Andreas Wolter"><div class="article-comment__inner"> <p class="article-comment__author text--strong">Andreas Wolter</p> <time class="article-comment__date">20 janvier 2022 à 01:32</time> <div class="article-comment__content rte"><p>@GeSe: da es ein fertiges BIN ist, dass auf den MC geladen wird, kann man das selbst leider nicht auf dem MC anzeigen lassen (also eine Liste mit connected clients).<br> So bleibt erst einmal nur die Möglichkeit, auf den Geräten selbst die IP anzuzeigen. Auf dem Smartphone müsste das über die WLAN-Einstellungn gehen. Im Betriebssystem geht das entweder in der Taskleiste über das WLAN-Symbol in den Eigenschaften oder in der Commandozeile mit dem Befehl ifconfig (Linux) oder ipconfig (Windows).</p></div> </div> </div><div class="article-comment"><img class="article-comment__gravatar" src="//www.gravatar.com/avatar/c73761f19800da01ff0c2d31ffbd9500?s=100" alt="GeSe"><div class="article-comment__inner"> <p class="article-comment__author text--strong">GeSe</p> <time class="article-comment__date">20 janvier 2022 à 01:25</time> <div class="article-comment__content rte"><p>Tolle Anleitung, mein erster repeater ist eingerichtet und alles hat mit wenigen Versuchen funktioniert.<br> Gibt es eine Möglichkeit herauszufinden, welche IP Adresse die mit dem repeater verbundenen Geräte erhalten haben? <br> Gruß Gerd</p></div> </div> </div><div class="article-comment"><img class="article-comment__gravatar" src="//www.gravatar.com/avatar/d00f511fcd6641d0b04f6cd6311ba8ed?s=100" alt="Robert"><div class="article-comment__inner"> <p class="article-comment__author text--strong">Robert</p> <time class="article-comment__date">14 décembre 2021 à 09:27</time> <div class="article-comment__content rte"><p>@ Andreas Wolter</p> <p>Danke für die Antwort. <br> Noch etwas genauer zu meiner Config. <br> Ich benutze einen ESP32 und hab es nach eurer Anleitung durchgeführt.</p> <p>Sollte es da also mit %5F funktionieren, bis jetzt hatte ich _ und %5f versucht, leider kein Erfolg. Werde es nun mit %5F demnächst versuchen.</p> <p>Danke!</p></div> </div> </div><div class="article-comment"><img class="article-comment__gravatar" src="//www.gravatar.com/avatar/4f4deae4736f2563c0217badc40ea3c0?s=100" alt="Andreas Wolter"><div class="article-comment__inner"> <p class="article-comment__author text--strong">Andreas Wolter</p> <time class="article-comment__date">13 décembre 2021 à 12:53</time> <div class="article-comment__content rte"><p>@Robert:<br> Das hängt davon ab, welchen Repeater (Arduino Sketch oder Binary) und auf welchem ESP Sie es verwenden. Sie können versuchen, den HTML Platzhalter zu setzen: “_” (ohne Anführungszeichen). Eine komplette Liste finden Sie hier: https://www.nationalfinder.com/html/char-asc.htm<br> Ansonsten müsste Ihre Methode mit %b eigentlich %2B sein, denn das ist der Hex Code für ein Plus. Dementsprechend müsste %5F den Unterstrich ersetzen.</p> <p>Grüße,<br> Andreas Wolter</p></div> </div> </div><div class="article-comment"><img class="article-comment__gravatar" src="//www.gravatar.com/avatar/d00f511fcd6641d0b04f6cd6311ba8ed?s=100" alt="Robert"><div class="article-comment__inner"> <p class="article-comment__author text--strong">Robert</p> <time class="article-comment__date">13 décembre 2021 à 12:53</time> <div class="article-comment__content rte"><p>Eine super Sache der repeater.</p> <p>Ein Problem hab ich aber, in der SSID ist das underline _ Zeichen vorhanden. Das + muss mit %b ersetz werden, womit das _?<br> Ich finde leider nichts. Mit %5f wird die SSID nicht erkannt.</p></div> </div> </div><div class="article-comment"><img class="article-comment__gravatar" src="//www.gravatar.com/avatar/0cb6791e6784e6737e6684f127af6152?s=100" alt="HaJo"><div class="article-comment__inner"> <p class="article-comment__author text--strong">HaJo</p> <time class="article-comment__date">23 octobre 2021 à 09:50</time> <div class="article-comment__content rte"><p>Soeben habe ich einen ESP32 Devkit C V2 geflasht. Hat alles von Anfang an alles, wie erwartet, funktioniert. Sogar das Einbinden in die Fritzbox war ein Kinderspiel. Vielleicht liegen die Probleme (s. u.) in der Architektur des “D1 Mini NodeMcu mit ESP8266-12F WLAN Modul” sowie der Programmierung dieses µP. Das zu prüfen bin ich noch nicht in der Lage (Anfänger, obwohl pensioniert ;-) ). Aber ich habe nun für meinen Garten (2000 m²) einen (oder mehrere) Router, so dass ich mein neues Gewächshaus steuern kann. Übrigens war ich erstaunt über die Wlan-Reichweite des D1 Mini NodeMCU. Auf der Hälfte des Weges streiken unsere ( und die unserer Enkel und Kinder ebenso) Smartphones (WLAN) während der D1 Mini am Ende des Gartens (ca. 60 m) noch mit einer Geschwindigkeit von 2 Mbit per WLAN ohne einen Router sendete.</p></div> </div> </div><div class="article-comment"><img class="article-comment__gravatar" src="//www.gravatar.com/avatar/0cb6791e6784e6737e6684f127af6152?s=100" alt="HaJo"><div class="article-comment__inner"> <p class="article-comment__author text--strong">HaJo</p> <time class="article-comment__date">23 octobre 2021 à 09:49</time> <div class="article-comment__content rte"><p>Ich muss mich für den Kommentar vom 30.09.2021 entschuldigen. In dem Stress hatte ich vor dem beschriebenen Flashen vergessen, vor dem Flashen den Erase-Button zu drücken. Somit war natürlich beim Flashen der 0×02000-bin und der 0×82000-bin noch die 0×00000-bin vorhanden. Werden nur die beiden ersten Bins nach Erase geflasht, funktioniert die Configuration nicht!<br> Obwohl ich einmalig meinen ESP8266-Natrouter zum Laufen gebracht habe, war der Vorgang nicht reproduzierbar, da auf der Configurationsseite es mir nicht gelang, erneut die Daten dauerhaft einzutragen. Um die beiden D1 Mini NodeMcu mit ESP8266-12F WLAN Module zu testen, ob sie fehlerhaft sind, habe ich diese mit ESPEasy geflasht. Zunächst hatte ich ebenfalls keinen Erfolg (getestet mit einer Version aus 2019). Nach dem ich die aktuelle Version vom 15.10.2021 geflasht hatte, lief alles wie am Schnürchen. Ich habe zwar jetzt keinen Router :-(( dafür aber einen AP, den meine Fritzbox nach der Configuration sofort erkannte und mit dem ich nun wunderbar nach allen Regeln der Kunst spielen kann. Wer ESPEasy selber ausprobieren möchte, empfehle ich:<br> https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/esp-easy<br> und ff. Die aktuelle Zip-Datei kann unter:<br> https://github.com/letscontrolit/ESPEasy/releases/tag/mega-20211005<br> heruntergeladen werden.<br> Nochmals Entschuldigung für meinem Kommentar vom 30.09.2021. Aber ich war so happy, dass es nun – leider nur einmalig – funktionierte, dass ich es an der notwendigen Sorgfalt fehlen ließ.</p></div> </div> </div><div class="article-comment"><img class="article-comment__gravatar" src="//www.gravatar.com/avatar/0cb6791e6784e6737e6684f127af6152?s=100" alt="HaJo"><div class="article-comment__inner"> <p class="article-comment__author text--strong">HaJo</p> <time class="article-comment__date">30 septembre 2021 à 09:28</time> <div class="article-comment__content rte"><p>Fast wäre ich verzweifelt – nach dem ich meinen ESP8266Mod-12F (AZ-Delivery D1 Mini) geflasht hatte, konnte ich wie beschrieben das WLAN-Netz MyApp aktivieren, ich konnte die AP-SSID und das Passwort ändern nur die Einbindung ins heimische Netz war nicht möglich (auch erkennbar in der ESP-Konfigurationsseite). Nach der Aufforderung Connect wurde der Inhalt in den Feldern SSID und Passwort des heimischen Netzes gelöscht. In meiner Fritzbox 7590 wurde auch nur unter “Kanälen” das neue WLAN-Netz angezeigt aber mit der korrekten Mac-Adresse. Alle Anstrengungen den ESP in das Netz der Fritzbox einzubinden schlug fehl.<br> Bei der Internetrecherche fand ich ein Tutorial für den Raspi, das sich mit dem ESP8266 als Repeater befasste. Der Autor hatte ähnliche Probleme. Als Lösung fand er folgenden Weg: Nur die Bindateien 0×02000 und 0×82000 flashen und den SPI-Mode DIO einstellen und siehe da, ich konnte endlich meinen ESP als Gerät in der Fritzbox registrieren: Gerätename ESP-xxxxxx (die letzten 6 Stellen der Mac-Adresse). Nun noch in der Konfigurationsseite die Checkbox “automesh” anklicken und erneut den Connect-Button anklicken (fehlt in der aktualisierten Seite der Haken, Haken erneut setzen und den Connect-Button erneut anklicken). Nun funktioniert auch der Repeater und wird in der Fritz!Box angezeigt. Der Name des neuen Repeaters kann beliebig gewählt werden. Die merkwürdige Darstellung in der Fritz!Box soll man ruhig übersehen, Hauptsache es funktioniert.</p></div> </div> </div><div class="article-comment"><img class="article-comment__gravatar" src="//www.gravatar.com/avatar/4f4deae4736f2563c0217badc40ea3c0?s=100" alt="Andreas Wolter"><div class="article-comment__inner"> <p class="article-comment__author text--strong">Andreas Wolter</p> <time class="article-comment__date">20 septembre 2021 à 10:05</time> <div class="article-comment__content rte"><p>@Tester: genau das war das Problem. Es gibt keine .ino für den ESP32. Der Beitrag fasst sämtliche Erfahrungen zusammen, die ich gemacht habe, um die ESP32 bzw. ESP8266 als Extender zu nutzen. Ich hatte dabei massive Probleme und es funktionierte nichts so wie es sollte. Ich wollte versuchen, es nicht mit einem fertigen BIN zu lösen. Aber es ist aktuell die einzige brauchbare Möglichkeit. Der Quellcode ist offen, den finden Sie bei Github (Link im Beitrag).</p></div> </div> </div><div class="article-comment"><img class="article-comment__gravatar" src="//www.gravatar.com/avatar/4f4deae4736f2563c0217badc40ea3c0?s=100" alt="Andreas Wolter"><div class="article-comment__inner"> <p class="article-comment__author text--strong">Andreas Wolter</p> <time class="article-comment__date">20 septembre 2021 à 09:52</time> <div class="article-comment__content rte"><p>@Norbert: Danke für den Hinweis. Ich habe das im Beitrag geändert und nun zur Downloadseite, statt zum Download selbst verlinkt.</p></div> </div> </div><div class="article-comment"><img class="article-comment__gravatar" src="//www.gravatar.com/avatar/9d4633fd43682c55c7ab4e997b9d7dd6?s=100" alt="Norbert"><div class="article-comment__inner"> <p class="article-comment__author text--strong">Norbert</p> <time class="article-comment__date">20 septembre 2021 à 09:47</time> <div class="article-comment__content rte"><p>Der Link für den ESP Flash Download hat sich geändert (neue Version)<br> https://www.espressif.com/sites/default/files/tools/flash_download_tool_3.9.0_0.zip</p></div> </div> </div><div class="article-comment"><img class="article-comment__gravatar" src="//www.gravatar.com/avatar/74b7dfdf91de4c65eee93116d3b56a92?s=100" alt="Tester"><div class="article-comment__inner"> <p class="article-comment__author text--strong">Tester</p> <time class="article-comment__date">20 septembre 2021 à 09:58</time> <div class="article-comment__content rte"><p>Das „einzige brauchbare“ ist das untere Programm, aber wo finde ich die .ino – Datei ? Fertige .bin Dateien helfen beim Testen/Weiterentwickeln nicht. Gute Zusammenfassung, aber das Programm ist seit 2 Jahren im Internet abrufbar.</p></div> </div> </div></div><form method="post" action="/fr/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/wifi-extender-mit-esp8266-und-esp32/comments#comment_form" id="comment_form" accept-charset="UTF-8" class="article__comment-form form"><input type="hidden" name="form_type" value="new_comment" /><input type="hidden" name="utf8" value="✓" /><p class="article__comment-form-title heading h2">Laisser un commentaire</p><p class="article__moderated-note">Tous les commentaires sont modérés avant d'être publiés</p><div class="article__comment-form-wrapper"><div class="form__input-row"> <div class="form__input-wrapper form__input-wrapper--labelled"><input id="comment-form-name" type="text" class="form__field form__field--text " name="comment[author]" value="" required="required"> <label for="comment-form-name" class="form__floating-label">Nom</label> </div> <div class="form__input-wrapper form__input-wrapper--labelled"><input id="comment-form-email" type="email" class="form__field form__field--text " name="comment[email]" value="" required="required"> <label for="comment-form-email" class="form__floating-label">Email</label> </div> </div> <div class="form__input-wrapper form__input-wrapper--labelled"> <textarea id="comment-form-body" name="comment[body]" rows="5" class="form__field form__field--textarea " required="required"></textarea> <label for="comment-form-body" class="form__floating-label">Contenu</label> </div> <button type="submit" class="form__submit button button--primary button--min-width">Publier</button> </div></form></div> </article> <script> // Due to the presence of the possible sidebar, we have to move the header outside the section document.querySelector('.blog-container').insertAdjacentElement('beforebegin', document.querySelector('#shopify-section-' + "article-template" + ' .page__header')); </script> </div> <div id="shopify-section-blog-sidebar" class="shopify-section shopify-section__blog-sidebar"><section class="blog-sidebar hidden-tablet" data-section-id="blog-sidebar" data-section-type="blog-sidebar"><div class="blog-sidebar__item blog-sidebar__item--newsletter" id="block-blog-sidebar-0" > <style> #block-blog-sidebar-0 { background: #dedede; color: #2b323f; } </style><h2 class="heading h3">Restez informé</h2><div class="rte"> <p>Si vous présentez un nouveau projet passionnant ou si vous avez des offres inimaginables, vous devez tout de suite y aller dès que possible.</p> </div><div class="newsletter newsletter--compact"> <button type="submit" class="klaviyo_form_trigger3 button button--primary button--full">S'abonner à </button> <script type="text/javascript"> document.querySelector('.klaviyo_form_trigger3').addEventListener('click', function (){ window._klOnsite = window._klOnsite || []; window._klOnsite.push(['openForm', 'VaHWB6']); }); </script><p class="newsletter__text">100% gratuit, désinscription à tout moment!</p></div> </div><div class="blog-sidebar__item blog-sidebar__item--posts" id="block-1583310986758" ><p class="blog-sidebar__block-title heading h3">Articles De Blog Recommandés</p><ol class="blog-sidebar__post-list blog-sidebar__post-list--ranked"><li class="blog-sidebar__post-item"><a href="/fr/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/wir-bauen-eine-smart-home-zentrale-mit-arduitouch" class="blog-sidebar__post-image-wrapper"> <div class="blog-sidebar__post-image-overflow"> <img src="//cdn.shopify.com/s/files/1/1509/1638/articles/ArduiTouch_smart_home_central_featured_complete_6c2366e6-4ac3-461a-98f0-4eced740e2ae_100x80_crop_center@2x.jpg?v=1563479767" alt="Wir bauen eine Smart Home Zentrale mit ArduiTouch" class="blog-sidebar__post-image"> </div> </a><div class="blog-sidebar__post-info"> <a class="blog-sidebar__post-title text--strong link" href="/fr/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/wir-bauen-eine-smart-home-zentrale-mit-arduitouch">Nous construisons un siège social intelligent avec ArduiTouch</a><div class="blog-sidebar__post-meta"><span class="blog-sidebar__post-meta-item">Displays</span><span class="blog-sidebar__post-meta-item">26/février/2019</span></div></div> </li><li class="blog-sidebar__post-item"><a href="/fr/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/schrittmotor-steuerung-fur-antennen-rotor" class="blog-sidebar__post-image-wrapper"> <div class="blog-sidebar__post-image-overflow"> <img src="//cdn.shopify.com/s/files/1/1509/1638/articles/antenna_rotor_complete_featured_image_9ece8534-fdbc-49af-a783-961a1a20e4c9_100x80_crop_center@2x.jpg?v=1563480044" alt="Schrittmotor Steuerung für Antennen Rotor" class="blog-sidebar__post-image"> </div> </a><div class="blog-sidebar__post-info"> <a class="blog-sidebar__post-title text--strong link" href="/fr/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/schrittmotor-steuerung-fur-antennen-rotor">Commande de moteur pas à rotor d 'antenne</a><div class="blog-sidebar__post-meta"><span class="blog-sidebar__post-meta-item">ESP-8266</span><span class="blog-sidebar__post-meta-item">30/avril/2018</span></div></div> </li><li class="blog-sidebar__post-item"><a href="/fr/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/arbeiten-mit-dem-cayenne-dashboard-teil-1" class="blog-sidebar__post-image-wrapper"> <div class="blog-sidebar__post-image-overflow"> <img src="//cdn.shopify.com/s/files/1/1509/1638/articles/Cayenne_Dashboard_banner_d937edc3-6bf7-47c4-88b5-7c40b86f9094_100x80_crop_center@2x.png?v=1563480310" alt="Arbeiten mit dem Cayenne Dashboard - einfacher Sensor (Teil 1)" class="blog-sidebar__post-image"> </div> </a><div class="blog-sidebar__post-info"> <a class="blog-sidebar__post-title text--strong link" href="/fr/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/arbeiten-mit-dem-cayenne-dashboard-teil-1">Utilisation du tableau de bord de Cayenne - capteurs simples (Partie 1)</a><div class="blog-sidebar__post-meta"><span class="blog-sidebar__post-meta-item">ESP-8266</span><span class="blog-sidebar__post-meta-item">28/novembre/2018</span></div></div> </li><li class="blog-sidebar__post-item"><a href="/fr/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/mit-dem-esp8266-8-lampen-steuern" class="blog-sidebar__post-image-wrapper"> <div class="blog-sidebar__post-image-overflow"> <img src="//cdn.shopify.com/s/files/1/1509/1638/articles/8-Relais-Modul_2e38658e-3b42-4712-90ac-19c5513e9014_100x80_crop_center@2x.png?v=1563480477" alt="Mit dem ESP8266 8 Lampen steuern" class="blog-sidebar__post-image"> </div> </a><div class="blog-sidebar__post-info"> <a class="blog-sidebar__post-title text--strong link" href="/fr/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/mit-dem-esp8266-8-lampen-steuern">Contrôlez 8 lampes avec l’ESP8266</a><div class="blog-sidebar__post-meta"><span class="blog-sidebar__post-meta-item">ESP-8266</span><span class="blog-sidebar__post-meta-item">22/mai/2020</span></div></div> </li></ol> </div><div class="blog-sidebar__item blog-sidebar__item--products" id="block-1583311343420" ><p class="blog-sidebar__block-title heading h3">Produits recommandés</p><div class="product-list product-list--horizontal"><div class="product-item product-item--horizontal product-item--compact "><div class="product-item__label-list"> <span class="product-label product-label--on-sale" style="display: none">Économisez jusqu'à 0</span> </div><a href="/fr/products/gy-bme280" onclick="dataLayer.push({'event': 'select_item', 'selected_item_list_id':'', 'selected_item_list_name': '', 'selected_items': [{item_id: '1319279657056', item_name: 'Capteur barométrique GY-BME280 pour la température, l'humidité et la pression atmosphérique', price:19.00, 'item_list_id': '', 'item_list_name': '' }] });" class="product-item__image-wrapper product-item__image-wrapper--with-secondary"><div class="aspect-ratio " style="padding-bottom: 100.0%"> <img class="product-item__primary-image lazyload image--blur-up" src="//cdn.shopify.com/s/files/1/1509/1638/products/gy-bme280-barometrischer-sensor-fur-temperatur-luftfeuchtigkeit-und-luftdruckaz-deliveryaz-delivery-23703958_60x.jpg?v=1572912520" data-media-id="5600834650208" data-src="//cdn.shopify.com/s/files/1/1509/1638/products/gy-bme280-barometrischer-sensor-fur-temperatur-luftfeuchtigkeit-und-luftdruckaz-deliveryaz-delivery-23703958_{width}x.jpg?v=1572912520" data-sizes="auto" data-widths="[200,300,400,500,600,700,800]" alt="GY-BME280 Barometrischer Sensor für Temperatur, Luftfeuchtigkeit und Luftdruck kompatibel mit Arduino und Raspberry Pi"><img class="product-item__secondary-image lazyload image--blur-up" src="//cdn.shopify.com/s/files/1/1509/1638/products/gy-bme280az-deliveryaz-delivery-22904701_60x.gif?v=1632727915" data-src="//cdn.shopify.com/s/files/1/1509/1638/products/gy-bme280az-deliveryaz-delivery-22904701_{width}x.gif?v=1632727915" data-sizes="auto" data-widths="[200,300,400]" alt="GY-BME280 Barometrischer Sensor für Temperatur, Luftfeuchtigkeit und Luftdruck kompatibel mit Arduino und Raspberry Pi"><noscript> <img src="//cdn.shopify.com/shopifycloud/shopify/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_600x.gif" alt="GY-BME280 Barometrischer Sensor für Temperatur, Luftfeuchtigkeit und Luftdruck kompatibel mit Arduino und Raspberry Pi"> </noscript> </div> </a><div class="product-item__info"> <div class="product-item__info-inner "> <a onclick="dataLayer.push({'event': 'select_item', 'selected_item_list_id':'', 'selected_item_list_name': '', 'selected_items': [{item_id: '1319279657056', item_name: 'Capteur barométrique GY-BME280 pour la température, l'humidité et la pression atmosphérique', price:19.00, 'item_list_id': '', 'item_list_name': '' }] });" href="/fr/products/gy-bme280" class="product-item__title text--strong link">Capteur barométrique GY-BME280 pour la température, l'humidité et la pression atmosphérique</a> <div><div class="ryviu-collection"> <ryviu-widget-total collection="1" reviews_data="4;4.75" product_id="1319279657056" handle="gy-bme280"></ryviu-widget-total> </div><div class="product-item__price-list price-list"><span class="price">A partir de <span data-money-convertible>$19</span></span></div> <span class="product-item__inventory inventory inventory--high">En stock</span></div> </div></div> </div> <div class="product-item product-item--horizontal product-item--compact "><div class="product-item__label-list"> <span class="product-label product-label--on-sale" >Économisez jusqu'à <span data-money-convertible>$34</span></span> </div><a href="/fr/products/35-in-1-arduino-zubehor-kit" onclick="dataLayer.push({'event': 'select_item', 'selected_item_list_id':'', 'selected_item_list_name': '', 'selected_items': [{item_id: '8434345417', item_name: 'Kit de module de capteur 35 en 1 et kit d'accessoires compatible avec Arduino et Raspberry Pi', price:27.00, 'item_list_id': '', 'item_list_name': '' }] });" class="product-item__image-wrapper product-item__image-wrapper--with-secondary"><div class="aspect-ratio " style="padding-bottom: 100.0%"> <img class="product-item__primary-image lazyload image--blur-up" src="//cdn.shopify.com/s/files/1/1509/1638/products/35in1kit1xmain_60x.jpg?v=1607002277" data-media-id="9676353470560" data-src="//cdn.shopify.com/s/files/1/1509/1638/products/35in1kit1xmain_{width}x.jpg?v=1607002277" data-sizes="auto" data-widths="[200,300,400,500,600,700,800]" alt="Kit de module de capteur 35 en 1 et kit d'accessoires compatible avec Arduino et Raspberry Pi"><img class="product-item__secondary-image lazyload image--blur-up" src="//cdn.shopify.com/s/files/1/1509/1638/products/Product_1bbd1035-aaf2-4d1e-b9fe-50f8ec72c0a2_60x.jpg?v=1607092800" data-src="//cdn.shopify.com/s/files/1/1509/1638/products/Product_1bbd1035-aaf2-4d1e-b9fe-50f8ec72c0a2_{width}x.jpg?v=1607092800" data-sizes="auto" data-widths="[200,300,400,500,600,700,800]" alt="Kit de module de capteur 35 en 1 et kit d'accessoires compatible avec Arduino et Raspberry Pi"><noscript> <img src="//cdn.shopify.com/shopifycloud/shopify/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_600x.gif" alt="Kit de module de capteur 35 en 1 et kit d'accessoires compatible avec Arduino et Raspberry Pi"> </noscript> </div> </a><div class="product-item__info"> <div class="product-item__info-inner "> <a onclick="dataLayer.push({'event': 'select_item', 'selected_item_list_id':'', 'selected_item_list_name': '', 'selected_items': [{item_id: '8434345417', item_name: 'Kit de module de capteur 35 en 1 et kit d'accessoires compatible avec Arduino et Raspberry Pi', price:27.00, 'item_list_id': '', 'item_list_name': '' }] });" href="/fr/products/35-in-1-arduino-zubehor-kit" class="product-item__title text--strong link">Kit de module de capteur 35 en 1 et kit d'accessoires compatible avec Arduino et Raspberry Pi</a> <div><div class="ryviu-collection"> <ryviu-widget-total collection="1" reviews_data="0;0" product_id="8434345417" handle="35-in-1-arduino-zubehor-kit"></ryviu-widget-total> </div><div class="product-item__price-list price-list"><span class="price">A partir de <span data-money-convertible>$27</span></span></div> <span class="product-item__inventory inventory inventory--high">En stock</span></div> </div></div> </div> <div class="product-item product-item--horizontal product-item--compact "><div class="product-item__label-list"> <span class="product-label product-label--on-sale" >Économisez jusqu'à <span data-money-convertible>$13</span></span> </div><a href="/fr/products/d1-mini" onclick="dataLayer.push({'event': 'select_item', 'selected_item_list_id':'', 'selected_item_list_name': '', 'selected_items': [{item_id: '8669794130', item_name: 'D1 Mini NodeMcu avec module WLAN ESP8266-12F compatible avec Arduino', price:7.00, 'item_list_id': '', 'item_list_name': '' }] });" class="product-item__image-wrapper product-item__image-wrapper--with-secondary"><div class="aspect-ratio " style="padding-bottom: 100.0%"> <img class="product-item__primary-image lazyload image--blur-up" src="//cdn.shopify.com/s/files/1/1509/1638/products/1.Main_1x_D1Minix3V1_60x.jpg?v=1604069387" data-media-id="9352603107424" data-src="//cdn.shopify.com/s/files/1/1509/1638/products/1.Main_1x_D1Minix3V1_{width}x.jpg?v=1604069387" data-sizes="auto" data-widths="[200,300,400,500,600,700,800]" alt="D1 Mini NodeMcu mit ESP8266-12F WLAN Modul"><img class="product-item__secondary-image lazyload image--blur-up" src="//cdn.shopify.com/s/files/1/1509/1638/products/2.FrontChangedWOlOGO_60x.jpg?v=1663668589" data-src="//cdn.shopify.com/s/files/1/1509/1638/products/2.FrontChangedWOlOGO_{width}x.jpg?v=1663668589" data-sizes="auto" data-widths="[200,300,400,500,600,700,800]" alt="D1 Mini NodeMcu mit ESP8266-12F WLAN Modul"><noscript> <img src="//cdn.shopify.com/shopifycloud/shopify/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_600x.gif" alt="D1 Mini NodeMcu mit ESP8266-12F WLAN Modul"> </noscript> </div> </a><div class="product-item__info"> <div class="product-item__info-inner "> <a onclick="dataLayer.push({'event': 'select_item', 'selected_item_list_id':'', 'selected_item_list_name': '', 'selected_items': [{item_id: '8669794130', item_name: 'D1 Mini NodeMcu avec module WLAN ESP8266-12F compatible avec Arduino', price:7.00, 'item_list_id': '', 'item_list_name': '' }] });" href="/fr/products/d1-mini" class="product-item__title text--strong link">D1 Mini NodeMcu avec module WLAN ESP8266-12F compatible avec Arduino</a> <div><div class="ryviu-collection"> <ryviu-widget-total collection="1" reviews_data="3;5" product_id="8669794130" handle="d1-mini"></ryviu-widget-total> </div><div class="product-item__price-list price-list"><span class="price price--highlight">A partir de <span data-money-convertible>$7</span></span></div> <span class="product-item__inventory inventory inventory--high">En stock</span></div> </div></div> </div> </div> </div><div class="blog-sidebar__item blog-sidebar__item--menu" id="block-1583311488429" ><p class="blog-sidebar__block-title heading h3">Main menu</p> <ul class="blog-sidebar__linklist"><li class="blog-sidebar__link-item"> <a href="/fr#" class="text--strong link">Toutes les categories</a> </li><li class="blog-sidebar__link-item"> <a href="/fr/collections/az-sale" class="text--strong link">SALE %</a> </li><li class="blog-sidebar__link-item"> <a href="/fr/collections/kostenlose-e-books" class="text--strong link">EBooks gratuits </a> </li><li class="blog-sidebar__link-item"> <a href="/fr#" class="text--strong link">Blog.</a> </li><li class="blog-sidebar__link-item"> <a href="/fr/collections/projekte" class="text--strong link">Projet-Ensembles</a> </li><li class="blog-sidebar__link-item"> <a href="/fr/pages/faq-hilfe" class="text--strong link">Au secours!</a> </li><li class="blog-sidebar__link-item"> <a href="/fr/collections/informatik-grundlagenbucher" class="text--strong link">Livre d 'ordinateur</a> </li><li class="blog-sidebar__link-item"> <a href="/fr#" class="text--strong link">Zone B2B</a> </li></ul></div></section></div> </div> </div> </main><div id="shopify-section-static-newsletter" class="shopify-section shopify-section--isolated"><section class="section section--isolated section--tight section--text-centered" data-section-id="static-newsletter" data-section-type="newsletter"> <div class="container container--giga-narrow"><h2 class="heading h3">La meilleure offre et les nouvelles!</h2><div class="rte"> <p>Soyez toujours le premier à savoir quand un nouveau projet intéressant est présenté. Nous vous informons également immédiatement si des produits sont en vente à un prix imbattable! Inscrivez-vous maintenant et obtenez 15% de réduction sur votre prochaine commande.</p> </div><div class="newsletter" style="margin-top: 10px;"> <button type="submit" class="klaviyo_form_trigger4 button button--primary button--full">S'abonner à </button> <script type="text/javascript"> document.querySelector('.klaviyo_form_trigger4').addEventListener('click', function (){ window._klOnsite = window._klOnsite || []; window._klOnsite.push(['openForm', 'VaHWB6']); }); </script> <p class="newsletter__text">100% gratuit. Pas de pourriel. Désignant tout le monde.</p></div> </div> </section> <style> #shopify-section-static-newsletter { background: #2b323f; color: #ffffff; } </style></div> <div id="shopify-section-text-with-icons" class="shopify-section"><section class="section section--tight" data-section-id="text-with-icons" data-section-type="text-with-icons"> <div class="container container--flush"> <div class="text-with-icons text-with-icons--stacked"><div class="text-with-icons__item" data-block-index="0" > <div class="text-with-icons__icon-wrapper"><svg viewBox="0 0 24 24" role="presentation"> <g stroke-width="1.5" fill="none" fill-rule="evenodd"> <path d="M6.5 3.25l12 6" stroke="#2b323f"></path> <path stroke="#2b323f" d="M23 7l-10 5L1 6M13 12v11"></path> <path stroke="#2b323f" stroke-linecap="square" d="M23 7v10l-10 6-12-6V6l10-5z"></path> </g> </svg></div><div class="text-with-icons__content-wrapper"><p class="text-with-icons__title text--strong">Livraison gratuite à partir de €25</p><div class="text-with-icons__content rte"> Si vous commandez plus de 25 €, nous vous offrons les frais de livraison - dans toute l'UE ! </div></div></div><div class="text-with-icons__item" data-block-index="1" > <div class="text-with-icons__icon-wrapper"><svg viewBox="0 0 23 24" role="presentation"> <g transform="translate(1 1)" stroke-width="1.5" fill="none" fill-rule="evenodd"> <path stroke="#2b323f" d="M8 4h8v7"></path> <path stroke="#2b323f" stroke-linecap="square" d="M11 7L8 4l3-3"></path> <circle stroke="#2b323f" stroke-linecap="square" cx="6" cy="20" r="2"></circle> <circle stroke="#2b323f" stroke-linecap="square" cx="18" cy="20" r="2"></circle> <path stroke="#2b323f" stroke-linecap="square" d="M21 5l-2 10H5L3 0H0"></path> </g> </svg></div><div class="text-with-icons__content-wrapper"><p class="text-with-icons__title text--strong">Garantie de satisfaction</p><div class="text-with-icons__content rte"> Vous n'êtes pas satisfait ? Contactez-nous, expliquez-nous votre situation et, dans la plupart des cas, nous vous rembourserons votre commande ! </div></div></div><div class="text-with-icons__item" data-block-index="2" > <div class="text-with-icons__icon-wrapper"><svg viewBox="0 0 24 24" role="presentation"> <g stroke-width="1.5" fill="none" fill-rule="evenodd" stroke-linecap="square"> <path d="M10 17H4c-1.7 0-3 1.3-3 3v3h12v-3c0-1.7-1.3-3-3-3zM7 14c-1.7 0-3-1.3-3-3v-1c0-1.7 1.3-3 3-3s3 1.3 3 3v1c0 1.7-1.3 3-3 3z" stroke="#2b323f"></path> <path stroke="#2b323f" d="M13 1v10l4-3h6V1z"></path> </g> </svg></div><div class="text-with-icons__content-wrapper"><p class="text-with-icons__title text--strong">Service clientèle gratuit</p><div class="text-with-icons__content rte"> Envoyez-nous un e-mail et notre service clientèle sera à vos côtés ! </div></div></div><div class="text-with-icons__item" data-block-index="3" > <div class="text-with-icons__icon-wrapper"><svg viewBox="0 0 24 24" role="presentation"> <g stroke-width="1.5" fill="none" fill-rule="evenodd" stroke-linecap="square"> <path d="M1 5h22M1 9h22M9 17H3c-1.105 0-2-.895-2-2V3c0-1.105.895-2 2-2h18c1.105 0 2 .895 2 2v10M5 13h5" stroke="#2b323f"></path> <path stroke="#2b323f" d="M13 16h8v7h-8zM15 16v-2c0-1.1.9-2 2-2s2 .9 2 2v2M17 19v1"></path> </g> </svg></div><div class="text-with-icons__content-wrapper"><p class="text-with-icons__title text--strong">Mode de paiement sécurisé</p><div class="text-with-icons__content rte"> Payez avec des fournisseurs qui vous sont familiers dans un checkout crypté ! </div></div></div></div> </div> </section></div> <div id="shopify-section-footer" class="shopify-section"><footer class="site-footer" data-section-id="footer" data-section-type="footer" role="contentinfo"><div class="site-footer__block"><div class="site-footer__block-item" > <button class="site-footer__block-item--toggle" aria-expanded="false" aria-controls="block-footer-1" data-action="toggle-collapsible" > <span>À propos de AZ-Delivery</span> <span class="plus-button"></span> </button> <div class="site-footer__collapsible"id="block-footer-1"> <div class="site-footer__collapsible-content"> <ul class="site-footer__linklist list--unstyled"><li class="site-footer__linklist-item"> <a href="/fr/pages/faq-hilfe" class="site-footer__linklist-item--link link">Soutien</a> </li><li class="site-footer__linklist-item"> <a href="/fr/search" class="site-footer__linklist-item--link link">Chercher</a> </li><li class="site-footer__linklist-item"> <a href="/fr/pages/impressum" class="site-footer__linklist-item--link link">Impressum</a> </li><li class="site-footer__linklist-item"> <a href="https://www.az-delivery.de/pages/karriere-bei-az-delivery" class="site-footer__linklist-item--link link">Carrière avec AZ Delivery</a> </li><li class="site-footer__linklist-item"> <a href="/fr/policies/terms-of-service" class="site-footer__linklist-item--link link">Termes et conditions</a> </li><li class="site-footer__linklist-item"> <a href="/fr/pages/datenschutzerklarung-gemass-dsgvo" class="site-footer__linklist-item--link link">Politique de confidentialité conformément au GDPR</a> </li><li class="site-footer__linklist-item"> <a href="/fr/pages/cookie-policy" class="site-footer__linklist-item--link link">Politique de cookies</a> </li><li class="site-footer__linklist-item"> <a href="/fr/policies/refund-policy" class="site-footer__linklist-item--link link">Politique d'annulation</a> </li><li class="site-footer__linklist-item"> <a href="/fr/pages/versandinformation" class="site-footer__linklist-item--link link">Informations d’expédition</a> </li></ul> </div> </div> </div><div class="site-footer__block-item" > <button class="site-footer__block-item--toggle" aria-expanded="false" aria-controls="block-footer-0" data-action="toggle-collapsible" > <span>Modes de paiement</span> <span class="plus-button"></span> </button> <div class="site-footer__collapsible" id="block-footer-0"> <div class="site-footer__collapsible-content rte"> <p>PayPal<br/>Apple/Google Pay<br/>Visa<br/>Mastercard<br/>American Express<br/>Sofortüberweisung<br/>Kauf auf Rechnung (Klarna)<br/>eps-Überweisung<br/>Shop Pay<br/>Bancontact<br/>iDEAL</p> </div> </div> </div><div class="site-footer__block-item" > <button class="site-footer__block-item--toggle" aria-expanded="false" aria-controls="block-b729990f-0d8c-482c-b28d-c32298d410b6" data-action="toggle-collapsible" > <span>Modes d'expédition</span> <span class="plus-button"></span> </button> <div class="site-footer__collapsible" id="block-b729990f-0d8c-482c-b28d-c32298d410b6"> <div class="site-footer__collapsible-content rte"> <p>DHL<br/>DHL Express<br/>Deutsche Post</p> </div> </div> </div><div class="site-footer__block-item" > <button class="site-footer__block-item--toggle" aria-expanded="false" aria-controls="block-05e27636-41dd-4433-b604-71c09f7d2f7c" data-action="toggle-collapsible" > <span>Nous vous soutenons</span> <span class="plus-button"></span> </button> <div class="site-footer__collapsible"id="block-05e27636-41dd-4433-b604-71c09f7d2f7c"> <div class="site-footer__collapsible-content"> <ul class="site-footer__linklist list--unstyled"><li class="site-footer__linklist-item"> <a href="/fr#" class="site-footer__linklist-item--link link">Toutes les categories</a> </li><li class="site-footer__linklist-item"> <a href="/fr/collections/az-sale" class="site-footer__linklist-item--link link">SALE %</a> </li><li class="site-footer__linklist-item"> <a href="/fr/collections/kostenlose-e-books" class="site-footer__linklist-item--link link">EBooks gratuits </a> </li><li class="site-footer__linklist-item"> <a href="/fr#" class="site-footer__linklist-item--link link">Blog.</a> </li><li class="site-footer__linklist-item"> <a href="/fr/collections/projekte" class="site-footer__linklist-item--link link">Projet-Ensembles</a> </li><li class="site-footer__linklist-item"> <a href="/fr/pages/faq-hilfe" class="site-footer__linklist-item--link link">Au secours!</a> </li><li class="site-footer__linklist-item"> <a href="/fr/collections/informatik-grundlagenbucher" class="site-footer__linklist-item--link link">Livre d 'ordinateur</a> </li><li class="site-footer__linklist-item"> <a href="/fr#" class="site-footer__linklist-item--link link">Zone B2B</a> </li></ul> </div> </div> </div></div><div class="site-footer__legal-social"> <div class="site-footer__legal-social--content site-footer__block"> <div class="site-footer__block-item"> <p class="site-footer__block-item--title">© AZ-Delivery<br>Commerce électronique propulsé par Shopify</p> </div><div class="site-footer__block-item"><p class="site-footer__block--title">Nous suivre</p> <ul class="social-media__item-list list--unstyled"> <li class="social-media__item social-media__item--facebook"> <a href="https://www.facebook.com/AZDelivery.de/" target="_blank" rel="noopener" aria-label="Suivez-nous sur Facebook"><svg class="icon icon--facebook" viewBox="0 0 30 30"> <path d="M15 30C6.71572875 30 0 23.2842712 0 15 0 6.71572875 6.71572875 0 15 0c8.2842712 0 15 6.71572875 15 15 0 8.2842712-6.7157288 15-15 15zm3.2142857-17.1429611h-2.1428678v-2.1425646c0-.5852979.8203285-1.07160109 1.0714928-1.07160109h1.071375v-2.1428925h-2.1428678c-2.3564786 0-3.2142536 1.98610393-3.2142536 3.21449359v2.1425646h-1.0714822l.0032143 2.1528011 1.0682679-.0099086v7.499969h3.2142536v-7.499969h2.1428678v-2.1428925z" fill="currentColor"></path> </svg></a> </li> <li class="social-media__item social-media__item--instagram"> <a href="https://www.instagram.com/azdeliveryofficial/" target="_blank" rel="noopener" aria-label="Suivez-nous sur Instagram"><svg class="icon icon--instagram" role="presentation" viewBox="0 0 30 30"> <path d="M15 30C6.71572875 30 0 23.2842712 0 15 0 6.71572875 6.71572875 0 15 0c8.2842712 0 15 6.71572875 15 15 0 8.2842712-6.7157288 15-15 15zm.0000159-23.03571429c-2.1823849 0-2.4560363.00925037-3.3131306.0483571-.8553081.03901103-1.4394529.17486384-1.9505835.37352345-.52841925.20532625-.9765517.48009406-1.42331254.926823-.44672894.44676084-.72149675.89489329-.926823 1.42331254-.19865961.5111306-.33451242 1.0952754-.37352345 1.9505835-.03910673.8570943-.0483571 1.1307457-.0483571 3.3131306 0 2.1823531.00925037 2.4560045.0483571 3.3130988.03901103.8553081.17486384 1.4394529.37352345 1.9505835.20532625.5284193.48009406.9765517.926823 1.4233125.44676084.446729.89489329.7214968 1.42331254.9268549.5111306.1986278 1.0952754.3344806 1.9505835.3734916.8570943.0391067 1.1307457.0483571 3.3131306.0483571 2.1823531 0 2.4560045-.0092504 3.3130988-.0483571.8553081-.039011 1.4394529-.1748638 1.9505835-.3734916.5284193-.2053581.9765517-.4801259 1.4233125-.9268549.446729-.4467608.7214968-.8948932.9268549-1.4233125.1986278-.5111306.3344806-1.0952754.3734916-1.9505835.0391067-.8570943.0483571-1.1307457.0483571-3.3130988 0-2.1823849-.0092504-2.4560363-.0483571-3.3131306-.039011-.8553081-.1748638-1.4394529-.3734916-1.9505835-.2053581-.52841925-.4801259-.9765517-.9268549-1.42331254-.4467608-.44672894-.8948932-.72149675-1.4233125-.926823-.5111306-.19865961-1.0952754-.33451242-1.9505835-.37352345-.8570943-.03910673-1.1307457-.0483571-3.3130988-.0483571zm0 1.44787387c2.1456068 0 2.3997686.00819774 3.2471022.04685789.7834742.03572556 1.2089592.1666342 1.4921162.27668167.3750864.14577303.6427729.31990322.9239522.60111439.2812111.28117926.4553413.54886575.6011144.92395217.1100474.283157.2409561.708642.2766816 1.4921162.0386602.8473336.0468579 1.1014954.0468579 3.247134 0 2.1456068-.0081977 2.3997686-.0468579 3.2471022-.0357255.7834742-.1666342 1.2089592-.2766816 1.4921162-.1457731.3750864-.3199033.6427729-.6011144.9239522-.2811793.2812111-.5488658.4553413-.9239522.6011144-.283157.1100474-.708642.2409561-1.4921162.2766816-.847206.0386602-1.1013359.0468579-3.2471022.0468579-2.1457981 0-2.3998961-.0081977-3.247134-.0468579-.7834742-.0357255-1.2089592-.1666342-1.4921162-.2766816-.37508642-.1457731-.64277291-.3199033-.92395217-.6011144-.28117927-.2811793-.45534136-.5488658-.60111439-.9239522-.11004747-.283157-.24095611-.708642-.27668167-1.4921162-.03866015-.8473336-.04685789-1.1014954-.04685789-3.2471022 0-2.1456386.00819774-2.3998004.04685789-3.247134.03572556-.7834742.1666342-1.2089592.27668167-1.4921162.14577303-.37508642.31990322-.64277291.60111439-.92395217.28117926-.28121117.54886575-.45534136.92395217-.60111439.283157-.11004747.708642-.24095611 1.4921162-.27668167.8473336-.03866015 1.1014954-.04685789 3.247134-.04685789zm0 9.26641182c-1.479357 0-2.6785873-1.1992303-2.6785873-2.6785555 0-1.479357 1.1992303-2.6785873 2.6785873-2.6785873 1.4793252 0 2.6785555 1.1992303 2.6785555 2.6785873 0 1.4793252-1.1992303 2.6785555-2.6785555 2.6785555zm0-6.8050167c-2.2790034 0-4.1264612 1.8474578-4.1264612 4.1264612 0 2.2789716 1.8474578 4.1264294 4.1264612 4.1264294 2.2789716 0 4.1264294-1.8474578 4.1264294-4.1264294 0-2.2790034-1.8474578-4.1264612-4.1264294-4.1264612zm5.2537621-.1630297c0-.532566-.431737-.96430298-.964303-.96430298-.532534 0-.964271.43173698-.964271.96430298 0 .5325659.431737.964271.964271.964271.532566 0 .964303-.4317051.964303-.964271z" fill="#aaadb2" fill-rule="evenodd"></path> </svg></a> </li> <li class="social-media__item social-media__item--pinterest"> <a href="https://www.pinterest.de/AZDeliveryOfficial" target="_blank" rel="noopener" aria-label="Suivez-nous sur Pinterest"><svg class="icon icon--pinterest" role="presentation" viewBox="0 0 30 30"> <path d="M15 30C6.71572875 30 0 23.2842712 0 15 0 6.71572875 6.71572875 0 15 0c8.2842712 0 15 6.71572875 15 15 0 8.2842712-6.7157288 15-15 15zm-.4492946-22.49876954c-.3287968.04238918-.6577148.08477836-.9865116.12714793-.619603.15784625-1.2950238.30765013-1.7959124.60980792-1.3367356.80672832-2.26284291 1.74754848-2.88355361 3.27881599-.1001431.247352-.10374313.4870343-.17702448.7625149-.47574032 1.7840923.36779138 3.6310327 1.39120339 4.2696951.1968419.1231267.6448551.3405257.8093833.0511377.0909873-.1603963.0706852-.3734014.1265202-.5593764.036883-.1231267.1532436-.3547666.1263818-.508219-.0455542-.260514-.316041-.4256572-.4299438-.635367-.230748-.4253041-.2421365-.8027267-.3541701-1.3723228.0084116-.0763633.0168405-.1527266.0253733-.2290899.0340445-.6372108.1384107-1.0968422.3287968-1.5502554.5593198-1.3317775 1.4578212-2.07273488 2.9088231-2.5163011.324591-.09899963 1.2400541-.25867013 1.7200175-.1523539.2867042.05078464.5734084.10156927.8600087.1523539 1.0390064.33760307 1.7953931.9602003 2.2007079 1.9316992.252902.6061594.3275507 1.7651044.1517724 2.5415071-.0833199.3679287-.0705641.6832289-.1770418 1.0168107-.3936666 1.2334841-.9709174 2.3763639-2.2765854 2.6942337-.8613761.2093567-1.5070793-.3321303-1.7200175-.8896824-.0589159-.1545509-.1598205-.4285603-.1011297-.6865243.2277711-1.0010987.5562045-1.8969797.8093661-2.8969995.24115-.9528838-.2166421-1.7048063-.9358863-1.8809146-.8949186-.2192233-1.585328.6350139-1.8211644 1.1943903-.1872881.4442919-.3005678 1.2641823-.1517724 1.8557085.0471811.1874265.2666617.689447.2276672.8640842-.1728187.7731269-.3685356 1.6039823-.5818373 2.3635745-.2219729.7906632-.3415527 1.5999416-.5564641 2.3639276-.098793.3507651-.0955738.7263439-.1770244 1.092821v.5337977c-.0739045.3379758-.0194367.9375444.0505042 1.2703809.0449484.2137505-.0261175.4786388.0758948.6357396.0020943.1140055.0159752.1388388.0506254.2031582.3168026-.0095136.7526829-.8673992.9106342-1.118027.3008274-.477913.5797431-.990879.8093833-1.5506281.2069844-.5042174.2391769-1.0621226.4046917-1.60104.1195798-.3894861.2889369-.843272.328918-1.2707535h.0252521c.065614.2342095.3033024.403727.4805692.5334446.5563429.4077482 1.5137774.7873678 2.5547742.5337977 1.1769151-.2868184 2.1141687-.8571599 2.7317812-1.702982.4549537-.6225776.7983583-1.3445472 1.0624066-2.1600633.1297394-.4011574.156982-.8454494.2529193-1.2711066.2405269-1.0661438-.0797199-2.3511383-.3794396-3.0497261-.9078995-2.11694836-2.8374975-3.32410832-5.918897-3.27881604z" fill="currentColor" fill-rule="evenodd"></path> </svg></a> </li> <li class="social-media__item social-media__item--youtube"> <a href="https://www.youtube.com/channel/UCX5AGfANo0rCWknZMGW-qHA" target="_blank" rel="noopener" aria-label="Suivez-nous sur YouTube"><svg class="icon icon--youtube" role="presentation" viewBox="0 0 30 30"> <path d="M15 30c8.2842712 0 15-6.7157288 15-15 0-8.28427125-6.7157288-15-15-15C6.71572875 0 0 6.71572875 0 15c0 8.2842712 6.71572875 15 15 15zm7.6656364-18.7823145C23 12.443121 23 15 23 15s0 2.5567903-.3343636 3.7824032c-.184.6760565-.7260909 1.208492-1.4145455 1.3892823C20.0033636 20.5 15 20.5 15 20.5s-5.00336364 0-6.25109091-.3283145c-.68836364-.1807903-1.23054545-.7132258-1.41454545-1.3892823C7 17.5567903 7 15 7 15s0-2.556879.33436364-3.7823145c.184-.6761452.72618181-1.2085807 1.41454545-1.38928227C9.99663636 9.5 15 9.5 15 9.5s5.0033636 0 6.2510909.32840323c.6884546.18070157 1.2305455.71313707 1.4145455 1.38928227zm-9.302 6.103758l4.1818181-2.3213548-4.1818181-2.3215322v4.642887z" fill="#aaadb2" fill-rule="evenodd"></path> </svg></a> </li> <li class="social-media__item social-media__item--linkedin"> <a href="https://www.linkedin.com/company/az-delivery-vertriebs-gmbh/" target="_blank" rel="noopener" aria-label="Suivez-nous sur LinkedIn"><svg class="icon icon--linkedin" role="presentation" viewBox="0 0 30 30"> <path d="M15 30C6.71572875 30 0 23.2842712 0 15 0 6.71572875 6.71572875 0 15 0c8.2842712 0 15 6.71572875 15 15 0 8.2842712-6.7157288 15-15 15zM10.2456033 7.5c-.92709386 0-1.67417473.75112475-1.67417473 1.67662742 0 .92604418.74708087 1.67716898 1.67417473 1.67716898.9233098 0 1.6730935-.7511248 1.6730935-1.67716898C11.9186968 8.25112475 11.1689131 7.5 10.2456033 7.5zM8.80063428 21.4285714h2.88885682v-9.3037658H8.80063428v9.3037658zm4.69979822-9.3037658v9.3037658h2.8829104v-4.6015191c0-1.2141468.2292058-2.3898439 1.7309356-2.3898439 1.4811878 0 1.5001081 1.3879832 1.5001081 2.4667435v4.5246195H22.5V16.326122c0-2.5057349-.5400389-4.4320151-3.4618711-4.4320151-1.4044256 0-2.3466556.7711619-2.7315482 1.502791h-.0394623v-1.2720923h-2.7666859z" fill="currentColor" fill-rule="evenodd"></path> </svg></a> </li> </ul> </div><div class="site-footer__block-item"> <p class="site-footer__block-item--title">Nous acceptons</p> <div class="payment-list"> <svg class="payment-list__item" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-american_express"><title id="pi-american_express">American Express Apple Pay Google Pay Maestro Mastercard PayPal Shop Pay Visa