{"version":"1.1","schema_version":"1.1.0","plugin_version":"1.1.2","url":"https://tutos-gameserver.fr/2019/10/07/arduino-udpntpclient-bien-choisir-son-serveur-d-impression/","llm_html_url":"https://tutos-gameserver.fr/2019/10/07/arduino-udpntpclient-bien-choisir-son-serveur-d-impression/llm","llm_json_url":"https://tutos-gameserver.fr/2019/10/07/arduino-udpntpclient-bien-choisir-son-serveur-d-impression/llm.json","manifest_url":"https://tutos-gameserver.fr/llm-endpoints-manifest.json","language":"fr-FR","locale":"fr_FR","title":"Arduino &#8211; UdpNtpClient\n\n &#8211; Bien choisir son serveur d impression","site":{"name":"Tutos GameServer","url":"https://tutos-gameserver.fr/"},"author":{"id":1,"name":"Titanfall","url":"https://tutos-gameserver.fr/author/titanfall/"},"published_at":"2019-10-07T18:01:33+00:00","modified_at":"2019-10-07T18:01:33+00:00","word_count":618,"reading_time_seconds":186,"summary":"/ * Udp NTP Client Obtenir l&#39;heure à partir d&#39;un serveur de temps NTP (Network Time Protocol) Montre comment utiliser UDP sendPacket et ReceivePacket Pour plus d&#39;informations sur les serveurs de temps NTP et les messages nécessaires pour communiquer avec eux, voir http://en.wikipedia.org/wiki/Network_Time_Protocol créé le 4 sept. 2010 par Michael Margolis modifié le 9 avril [&hellip;]","summary_points":["/ *\n Udp NTP Client\n  Obtenir l&#39;heure à partir d&#39;un serveur de temps NTP (Network Time Protocol) Montre comment utiliser UDP sendPacket et ReceivePacket Pour plus d&#39;informations sur les serveurs de temps NTP et les messages nécessaires pour communiquer avec eux, voir http://en.wikipedia.org/wiki/Network_Time_Protocol\n  créé le 4 sept.","2010 par Michael Margolis modifié le 9 avril 2012 par Tom Igoe modifié le 2 septembre 2015 par Arturo Guadalupi\n  Ce code est dans le domaine public.","* /\n\n#comprendre #comprendre #comprendre \n// Entrez une adresse MAC pour votre contrôleur ci-dessous.// L&#39;adresse MAC des boucliers Ethernet plus récents est indiquée sur un autocollant.octet Mac[[[[] =   0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED;\nnon signé int port local = 8888;       // port local pour écouter les paquets UDP\nconst carboniser timeServer[[[[] = &quot;time.nist.gov&quot;; // serveur NTP time.nist.gov\nconst int NTP_PACKET_SIZE = 48; // l&#39;horodatage NTP est dans les 48 premiers octets du message\noctet packetBuffer[[[[NTP_PACKET_SIZE]; // tampon pour contenir les paquets entrants et sortants\n// Une instance UDP pour nous permettre d&#39;envoyer et de recevoir des paquets via UDPEthernetUDP Udp;\nvide installer()   // Vous pouvez utiliser Ethernet.init (pin) pour configurer la broche CS  //Ethernet.init(10); // La plupart des boucliers Arduino  //Ethernet.init(5); // Bouclier ETR MKR  //Ethernet.init(0); // Teensy 2.0  //Ethernet.init(20); // Teensy ++ 2.0  //Ethernet.init(15); // ESP8266 avec Adafruit Featherwing Ethernet  //Ethernet.init(33); // ESP32 avec Adafruit Featherwing Ethernet\n  // Ouvrez les communications série et attendez que le port s&#39;ouvre:  En série.commencer(9600);  tandis que (!En série)     ; // attend que le port série se connecte.","Nécessaire pour le port USB natif uniquement  \n  // démarrer Ethernet et UDP  si (Ethernet.commencer(Mac) == 0)     En série.imprimer(&quot;Échec de la configuration d&#39;Ethernet avec DHCP&quot;);    // Vérifier la présence de matériel Ethernet    si (Ethernet.état du matériel() == EthernetNoHardware)       En série.imprimer(&quot;Le bouclier Ethernet n&#39;a pas été trouvé."],"topics":["Serveur d'impression"],"entities":[],"entities_metadata":[{"id":10,"name":"Serveur d'impression","slug":"serveur-dimpression","taxonomy":"category","count":3907,"url":"https://tutos-gameserver.fr/category/serveur-dimpression/"}],"tags":["Serveur d'impression"],"content_hash":"c7d1646072630b389e88529a2f41c282","plain_text":"/ *\n Udp NTP Client\n  Obtenir l&#39;heure à partir d&#39;un serveur de temps NTP (Network Time Protocol) Montre comment utiliser UDP sendPacket et ReceivePacket Pour plus d&#39;informations sur les serveurs de temps NTP et les messages nécessaires pour communiquer avec eux, voir http://en.wikipedia.org/wiki/Network_Time_Protocol\n  créé le 4 sept. 2010 par Michael Margolis modifié le 9 avril 2012 par Tom Igoe modifié le 2 septembre 2015 par Arturo Guadalupi\n  Ce code est dans le domaine public.\n  * /\n\n#comprendre #comprendre #comprendre \n// Entrez une adresse MAC pour votre contrôleur ci-dessous.// L&#39;adresse MAC des boucliers Ethernet plus récents est indiquée sur un autocollant.octet Mac[[[[] =   0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED;\nnon signé int port local = 8888;       // port local pour écouter les paquets UDP\nconst carboniser timeServer[[[[] = &quot;time.nist.gov&quot;; // serveur NTP time.nist.gov\nconst int NTP_PACKET_SIZE = 48; // l&#39;horodatage NTP est dans les 48 premiers octets du message\noctet packetBuffer[[[[NTP_PACKET_SIZE]; // tampon pour contenir les paquets entrants et sortants\n// Une instance UDP pour nous permettre d&#39;envoyer et de recevoir des paquets via UDPEthernetUDP Udp;\nvide installer()   // Vous pouvez utiliser Ethernet.init (pin) pour configurer la broche CS  //Ethernet.init(10); // La plupart des boucliers Arduino  //Ethernet.init(5); // Bouclier ETR MKR  //Ethernet.init(0); // Teensy 2.0  //Ethernet.init(20); // Teensy ++ 2.0  //Ethernet.init(15); // ESP8266 avec Adafruit Featherwing Ethernet  //Ethernet.init(33); // ESP32 avec Adafruit Featherwing Ethernet\n  // Ouvrez les communications série et attendez que le port s&#39;ouvre:  En série.commencer(9600);  tandis que (!En série)     ; // attend que le port série se connecte. Nécessaire pour le port USB natif uniquement  \n  // démarrer Ethernet et UDP  si (Ethernet.commencer(Mac) == 0)     En série.imprimer(&quot;Échec de la configuration d&#39;Ethernet avec DHCP&quot;);    // Vérifier la présence de matériel Ethernet    si (Ethernet.état du matériel() == EthernetNoHardware)       En série.imprimer(&quot;Le bouclier Ethernet n&#39;a pas été trouvé. Désolé, impossible de fonctionner sans matériel. :(&quot;);     autre si (Ethernet.linkStatus() == LinkOFF)       En série.imprimer(&quot;Le câble Ethernet n&#39;est pas connecté.&quot;);        // inutile de continuer, alors ne faites rien pour toujours:    tandis que (vrai)       retard(1);          Udp.commencer(port local);\nvide boucle()     sendNTPpacket(timeServer); // envoie un paquet NTP à un serveur de temps\n  // attend de voir si une réponse est disponible  retard(1000);  si (Udp.parsePacket())     // nous avons reçu un paquet, lis les données        Udp.lis(packetBuffer, NTP_PACKET_SIZE); // lit le paquet dans le tampon\n    // l&#39;horodatage commence à l&#39;octet 40 du paquet reçu et compte quatre octets,    // ou deux mots, long. Tout d’abord, extrayez les deux mots:\n    non signé longue HighWord = mot(packetBuffer[[[[40], packetBuffer[[[[41]);    non signé longue lowWord = mot(packetBuffer[[[[42], packetBuffer[[[[43]);    // combine les quatre octets (deux mots) en un entier long    // c&#39;est l&#39;heure NTP (secondes depuis le 1er janvier 1900):    non signé longue secondesdepuis1900 = HighWord &lt;&lt; 16   // attend dix secondes avant de demander à nouveau l&#39;heure  retard(10000);    Ethernet.maintenir();\n// envoie une requête NTP au serveur de temps à l&#39;adresse indiquéevide sendNTPpacket(const carboniser * adresse)   // met tous les octets du tampon à 0    memset(packetBuffer, 0, NTP_PACKET_SIZE);  // Initialise les valeurs nécessaires pour former une requête NTP  // (voir URL ci-dessus pour plus de détails sur les paquets)    packetBuffer[[[[0] = 0b11100011;   // LI, Version, Mode    packetBuffer[[[[1] = 0;     // strate ou type d&#39;horloge    packetBuffer[[[[2] = 6;     // Intervalle d&#39;interrogation    packetBuffer[[[[3] = 0xEC;  // Précision d&#39;horloge homologue  // 8 octets de zéro pour le délai et la dispersion des racines    packetBuffer[[[[12]  = 49;    packetBuffer[[[[13]  = 0x4E;    packetBuffer[[[[14]  = 49;    packetBuffer[[[[15]  = 52;\n  // tous les champs NTP ont reçu des valeurs, maintenant  // vous pouvez envoyer un paquet demandant un horodatage:    Udp.beginPacket(adresse, 123); // Les requêtes NTP doivent porter le port 123    Udp.écrire(packetBuffer, NTP_PACKET_SIZE);    Udp.endPacket();\n\n\nClick to rate this post!\r\n                                   \r\n                               [Total: 0  Average: 0]","paragraphs":["/ *\n Udp NTP Client\n  Obtenir l&#39;heure à partir d&#39;un serveur de temps NTP (Network Time Protocol) Montre comment utiliser UDP sendPacket et ReceivePacket Pour plus d&#39;informations sur les serveurs de temps NTP et les messages nécessaires pour communiquer avec eux, voir http://en.wikipedia.org/wiki/Network_Time_Protocol\n  créé le 4 sept. 2010 par Michael Margolis modifié le 9 avril 2012 par Tom Igoe modifié le 2 septembre 2015 par Arturo Guadalupi\n  Ce code est dans le domaine public.\n  * /","#comprendre #comprendre #comprendre \n// Entrez une adresse MAC pour votre contrôleur ci-dessous.// L&#39;adresse MAC des boucliers Ethernet plus récents est indiquée sur un autocollant.octet Mac[[[[] =   0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED;\nnon signé int port local = 8888;       // port local pour écouter les paquets UDP\nconst carboniser timeServer[[[[] = &quot;time.nist.gov&quot;; // serveur NTP time.nist.gov\nconst int NTP_PACKET_SIZE = 48; // l&#39;horodatage NTP est dans les 48 premiers octets du message\noctet packetBuffer[[[[NTP_PACKET_SIZE]; // tampon pour contenir les paquets entrants et sortants\n// Une instance UDP pour nous permettre d&#39;envoyer et de recevoir des paquets via UDPEthernetUDP Udp;\nvide installer()   // Vous pouvez utiliser Ethernet.init (pin) pour configurer la broche CS  //Ethernet.init(10); // La plupart des boucliers Arduino  //Ethernet.init(5); // Bouclier ETR MKR  //Ethernet.init(0); // Teensy 2.0  //Ethernet.init(20); // Teensy ++ 2.0  //Ethernet.init(15); // ESP8266 avec Adafruit Featherwing Ethernet  //Ethernet.init(33); // ESP32 avec Adafruit Featherwing Ethernet\n  // Ouvrez les communications série et attendez que le port s&#39;ouvre:  En série.commencer(9600);  tandis que (!En série)     ; // attend que le port série se connecte. Nécessaire pour le port USB natif uniquement  \n  // démarrer Ethernet et UDP  si (Ethernet.commencer(Mac) == 0)     En série.imprimer(&quot;Échec de la configuration d&#39;Ethernet avec DHCP&quot;);    // Vérifier la présence de matériel Ethernet    si (Ethernet.état du matériel() == EthernetNoHardware)       En série.imprimer(&quot;Le bouclier Ethernet n&#39;a pas été trouvé. Désolé, impossible de fonctionner sans matériel. :(&quot;);     autre si (Ethernet.linkStatus() == LinkOFF)       En série.imprimer(&quot;Le câble Ethernet n&#39;est pas connecté.&quot;);        // inutile de continuer, alors ne faites rien pour toujours:    tandis que (vrai)       retard(1);          Udp.commencer(port local);\nvide boucle()     sendNTPpacket(timeServer); // envoie un paquet NTP à un serveur de temps\n  // attend de voir si une réponse est disponible  retard(1000);  si (Udp.parsePacket())     // nous avons reçu un paquet, lis les données        Udp.lis(packetBuffer, NTP_PACKET_SIZE); // lit le paquet dans le tampon\n    // l&#39;horodatage commence à l&#39;octet 40 du paquet reçu et compte quatre octets,    // ou deux mots, long. Tout d’abord, extrayez les deux mots:\n    non signé longue HighWord = mot(packetBuffer[[[[40], packetBuffer[[[[41]);    non signé longue lowWord = mot(packetBuffer[[[[42], packetBuffer[[[[43]);    // combine les quatre octets (deux mots) en un entier long    // c&#39;est l&#39;heure NTP (secondes depuis le 1er janvier 1900):    non signé longue secondesdepuis1900 = HighWord &lt;&lt; 16   // attend dix secondes avant de demander à nouveau l&#39;heure  retard(10000);    Ethernet.maintenir();\n// envoie une requête NTP au serveur de temps à l&#39;adresse indiquéevide sendNTPpacket(const carboniser * adresse)   // met tous les octets du tampon à 0    memset(packetBuffer, 0, NTP_PACKET_SIZE);  // Initialise les valeurs nécessaires pour former une requête NTP  // (voir URL ci-dessus pour plus de détails sur les paquets)    packetBuffer[[[[0] = 0b11100011;   // LI, Version, Mode    packetBuffer[[[[1] = 0;     // strate ou type d&#39;horloge    packetBuffer[[[[2] = 6;     // Intervalle d&#39;interrogation    packetBuffer[[[[3] = 0xEC;  // Précision d&#39;horloge homologue  // 8 octets de zéro pour le délai et la dispersion des racines    packetBuffer[[[[12]  = 49;    packetBuffer[[[[13]  = 0x4E;    packetBuffer[[[[14]  = 49;    packetBuffer[[[[15]  = 52;\n  // tous les champs NTP ont reçu des valeurs, maintenant  // vous pouvez envoyer un paquet demandant un horodatage:    Udp.beginPacket(adresse, 123); // Les requêtes NTP doivent porter le port 123    Udp.écrire(packetBuffer, NTP_PACKET_SIZE);    Udp.endPacket();","Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]"],"content_blocks":[{"id":"text-1","type":"text","heading":"","plain_text":"/ *\n Udp NTP Client\n  Obtenir l&#39;heure à partir d&#39;un serveur de temps NTP (Network Time Protocol) Montre comment utiliser UDP sendPacket et ReceivePacket Pour plus d&#39;informations sur les serveurs de temps NTP et les messages nécessaires pour communiquer avec eux, voir http://en.wikipedia.org/wiki/Network_Time_Protocol\n  créé le 4 sept. 2010 par Michael Margolis modifié le 9 avril 2012 par Tom Igoe modifié le 2 septembre 2015 par Arturo Guadalupi\n  Ce code est dans le domaine public.\n  * /","html":"<p>/ *\n Udp NTP Client\n  Obtenir l&#039;heure à partir d&#039;un serveur de temps NTP (Network Time Protocol) Montre comment utiliser UDP sendPacket et ReceivePacket Pour plus d&#039;informations sur les serveurs de temps NTP et les messages nécessaires pour communiquer avec eux, voir http://en.wikipedia.org/wiki/Network_Time_Protocol\n  créé le 4 sept. 2010 par Michael Margolis modifié le 9 avril 2012 par Tom Igoe modifié le 2 septembre 2015 par Arturo Guadalupi\n  Ce code est dans le domaine public.\n  * /</p>"},{"id":"text-2","type":"text","heading":"","plain_text":"#comprendre #comprendre #comprendre \n// Entrez une adresse MAC pour votre contrôleur ci-dessous.// L&#39;adresse MAC des boucliers Ethernet plus récents est indiquée sur un autocollant.octet Mac[[[[] =   0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED;\nnon signé int port local = 8888;       // port local pour écouter les paquets UDP\nconst carboniser timeServer[[[[] = &quot;time.nist.gov&quot;; // serveur NTP time.nist.gov\nconst int NTP_PACKET_SIZE = 48; // l&#39;horodatage NTP est dans les 48 premiers octets du message\noctet packetBuffer[[[[NTP_PACKET_SIZE]; // tampon pour contenir les paquets entrants et sortants\n// Une instance UDP pour nous permettre d&#39;envoyer et de recevoir des paquets via UDPEthernetUDP Udp;\nvide installer()   // Vous pouvez utiliser Ethernet.init (pin) pour configurer la broche CS  //Ethernet.init(10); // La plupart des boucliers Arduino  //Ethernet.init(5); // Bouclier ETR MKR  //Ethernet.init(0); // Teensy 2.0  //Ethernet.init(20); // Teensy ++ 2.0  //Ethernet.init(15); // ESP8266 avec Adafruit Featherwing Ethernet  //Ethernet.init(33); // ESP32 avec Adafruit Featherwing Ethernet\n  // Ouvrez les communications série et attendez que le port s&#39;ouvre:  En série.commencer(9600);  tandis que (!En série)     ; // attend que le port série se connecte. Nécessaire pour le port USB natif uniquement  \n  // démarrer Ethernet et UDP  si (Ethernet.commencer(Mac) == 0)     En série.imprimer(&quot;Échec de la configuration d&#39;Ethernet avec DHCP&quot;);    // Vérifier la présence de matériel Ethernet    si (Ethernet.état du matériel() == EthernetNoHardware)       En série.imprimer(&quot;Le bouclier Ethernet n&#39;a pas été trouvé. Désolé, impossible de fonctionner sans matériel. :(&quot;);     autre si (Ethernet.linkStatus() == LinkOFF)       En série.imprimer(&quot;Le câble Ethernet n&#39;est pas connecté.&quot;);        // inutile de continuer, alors ne faites rien pour toujours:    tandis que (vrai)       retard(1);          Udp.commencer(port local);\nvide boucle()     sendNTPpacket(timeServer); // envoie un paquet NTP à un serveur de temps\n  // attend de voir si une réponse est disponible  retard(1000);  si (Udp.parsePacket())     // nous avons reçu un paquet, lis les données        Udp.lis(packetBuffer, NTP_PACKET_SIZE); // lit le paquet dans le tampon\n    // l&#39;horodatage commence à l&#39;octet 40 du paquet reçu et compte quatre octets,    // ou deux mots, long. Tout d’abord, extrayez les deux mots:\n    non signé longue HighWord = mot(packetBuffer[[[[40], packetBuffer[[[[41]);    non signé longue lowWord = mot(packetBuffer[[[[42], packetBuffer[[[[43]);    // combine les quatre octets (deux mots) en un entier long    // c&#39;est l&#39;heure NTP (secondes depuis le 1er janvier 1900):    non signé longue secondesdepuis1900 = HighWord &lt;&lt; 16   // attend dix secondes avant de demander à nouveau l&#39;heure  retard(10000);    Ethernet.maintenir();\n// envoie une requête NTP au serveur de temps à l&#39;adresse indiquéevide sendNTPpacket(const carboniser * adresse)   // met tous les octets du tampon à 0    memset(packetBuffer, 0, NTP_PACKET_SIZE);  // Initialise les valeurs nécessaires pour former une requête NTP  // (voir URL ci-dessus pour plus de détails sur les paquets)    packetBuffer[[[[0] = 0b11100011;   // LI, Version, Mode    packetBuffer[[[[1] = 0;     // strate ou type d&#39;horloge    packetBuffer[[[[2] = 6;     // Intervalle d&#39;interrogation    packetBuffer[[[[3] = 0xEC;  // Précision d&#39;horloge homologue  // 8 octets de zéro pour le délai et la dispersion des racines    packetBuffer[[[[12]  = 49;    packetBuffer[[[[13]  = 0x4E;    packetBuffer[[[[14]  = 49;    packetBuffer[[[[15]  = 52;\n  // tous les champs NTP ont reçu des valeurs, maintenant  // vous pouvez envoyer un paquet demandant un horodatage:    Udp.beginPacket(adresse, 123); // Les requêtes NTP doivent porter le port 123    Udp.écrire(packetBuffer, NTP_PACKET_SIZE);    Udp.endPacket();","html":"<p>#comprendre #comprendre #comprendre \n// Entrez une adresse MAC pour votre contrôleur ci-dessous.// L&#039;adresse MAC des boucliers Ethernet plus récents est indiquée sur un autocollant.octet Mac[[[[] =   0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED;\nnon signé int port local = 8888;       // port local pour écouter les paquets UDP\nconst carboniser timeServer[[[[] = &quot;time.nist.gov&quot;; // serveur NTP time.nist.gov\nconst int NTP_PACKET_SIZE = 48; // l&#039;horodatage NTP est dans les 48 premiers octets du message\noctet packetBuffer[[[[NTP_PACKET_SIZE]; // tampon pour contenir les paquets entrants et sortants\n// Une instance UDP pour nous permettre d&#039;envoyer et de recevoir des paquets via UDPEthernetUDP Udp;\nvide installer()   // Vous pouvez utiliser Ethernet.init (pin) pour configurer la broche CS  //Ethernet.init(10); // La plupart des boucliers Arduino  //Ethernet.init(5); // Bouclier ETR MKR  //Ethernet.init(0); // Teensy 2.0  //Ethernet.init(20); // Teensy ++ 2.0  //Ethernet.init(15); // ESP8266 avec Adafruit Featherwing Ethernet  //Ethernet.init(33); // ESP32 avec Adafruit Featherwing Ethernet\n  // Ouvrez les communications série et attendez que le port s&#039;ouvre:  En série.commencer(9600);  tandis que (!En série)     ; // attend que le port série se connecte. Nécessaire pour le port USB natif uniquement  \n  // démarrer Ethernet et UDP  si (Ethernet.commencer(Mac) == 0)     En série.imprimer(&quot;Échec de la configuration d&#039;Ethernet avec DHCP&quot;);    // Vérifier la présence de matériel Ethernet    si (Ethernet.état du matériel() == EthernetNoHardware)       En série.imprimer(&quot;Le bouclier Ethernet n&#039;a pas été trouvé. Désolé, impossible de fonctionner sans matériel. :(&quot;);     autre si (Ethernet.linkStatus() == LinkOFF)       En série.imprimer(&quot;Le câble Ethernet n&#039;est pas connecté.&quot;);        // inutile de continuer, alors ne faites rien pour toujours:    tandis que (vrai)       retard(1);          Udp.commencer(port local);\nvide boucle()     sendNTPpacket(timeServer); // envoie un paquet NTP à un serveur de temps\n  // attend de voir si une réponse est disponible  retard(1000);  si (Udp.parsePacket())     // nous avons reçu un paquet, lis les données        Udp.lis(packetBuffer, NTP_PACKET_SIZE); // lit le paquet dans le tampon\n    // l&#039;horodatage commence à l&#039;octet 40 du paquet reçu et compte quatre octets,    // ou deux mots, long. Tout d’abord, extrayez les deux mots:\n    non signé longue HighWord = mot(packetBuffer[[[[40], packetBuffer[[[[41]);    non signé longue lowWord = mot(packetBuffer[[[[42], packetBuffer[[[[43]);    // combine les quatre octets (deux mots) en un entier long    // c&#039;est l&#039;heure NTP (secondes depuis le 1er janvier 1900):    non signé longue secondesdepuis1900 = HighWord &lt;&lt; 16   // attend dix secondes avant de demander à nouveau l&#039;heure  retard(10000);    Ethernet.maintenir();\n// envoie une requête NTP au serveur de temps à l&#039;adresse indiquéevide sendNTPpacket(const carboniser * adresse)   // met tous les octets du tampon à 0    memset(packetBuffer, 0, NTP_PACKET_SIZE);  // Initialise les valeurs nécessaires pour former une requête NTP  // (voir URL ci-dessus pour plus de détails sur les paquets)    packetBuffer[[[[0] = 0b11100011;   // LI, Version, Mode    packetBuffer[[[[1] = 0;     // strate ou type d&#039;horloge    packetBuffer[[[[2] = 6;     // Intervalle d&#039;interrogation    packetBuffer[[[[3] = 0xEC;  // Précision d&#039;horloge homologue  // 8 octets de zéro pour le délai et la dispersion des racines    packetBuffer[[[[12]  = 49;    packetBuffer[[[[13]  = 0x4E;    packetBuffer[[[[14]  = 49;    packetBuffer[[[[15]  = 52;\n  // tous les champs NTP ont reçu des valeurs, maintenant  // vous pouvez envoyer un paquet demandant un horodatage:    Udp.beginPacket(adresse, 123); // Les requêtes NTP doivent porter le port 123    Udp.écrire(packetBuffer, NTP_PACKET_SIZE);    Udp.endPacket();</p>"},{"id":"text-3","type":"text","heading":"","plain_text":"Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]","html":"<p>Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]</p>"}],"sections":[{"id":"text-1","heading":"Text","content":"/ *\n Udp NTP Client\n  Obtenir l&#39;heure à partir d&#39;un serveur de temps NTP (Network Time Protocol) Montre comment utiliser UDP sendPacket et ReceivePacket Pour plus d&#39;informations sur les serveurs de temps NTP et les messages nécessaires pour communiquer avec eux, voir http://en.wikipedia.org/wiki/Network_Time_Protocol\n  créé le 4 sept. 2010 par Michael Margolis modifié le 9 avril 2012 par Tom Igoe modifié le 2 septembre 2015 par Arturo Guadalupi\n  Ce code est dans le domaine public.\n  * /"},{"id":"text-2","heading":"Text","content":"#comprendre #comprendre #comprendre \n// Entrez une adresse MAC pour votre contrôleur ci-dessous.// L&#39;adresse MAC des boucliers Ethernet plus récents est indiquée sur un autocollant.octet Mac[[[[] =   0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED;\nnon signé int port local = 8888;       // port local pour écouter les paquets UDP\nconst carboniser timeServer[[[[] = &quot;time.nist.gov&quot;; // serveur NTP time.nist.gov\nconst int NTP_PACKET_SIZE = 48; // l&#39;horodatage NTP est dans les 48 premiers octets du message\noctet packetBuffer[[[[NTP_PACKET_SIZE]; // tampon pour contenir les paquets entrants et sortants\n// Une instance UDP pour nous permettre d&#39;envoyer et de recevoir des paquets via UDPEthernetUDP Udp;\nvide installer()   // Vous pouvez utiliser Ethernet.init (pin) pour configurer la broche CS  //Ethernet.init(10); // La plupart des boucliers Arduino  //Ethernet.init(5); // Bouclier ETR MKR  //Ethernet.init(0); // Teensy 2.0  //Ethernet.init(20); // Teensy ++ 2.0  //Ethernet.init(15); // ESP8266 avec Adafruit Featherwing Ethernet  //Ethernet.init(33); // ESP32 avec Adafruit Featherwing Ethernet\n  // Ouvrez les communications série et attendez que le port s&#39;ouvre:  En série.commencer(9600);  tandis que (!En série)     ; // attend que le port série se connecte. Nécessaire pour le port USB natif uniquement  \n  // démarrer Ethernet et UDP  si (Ethernet.commencer(Mac) == 0)     En série.imprimer(&quot;Échec de la configuration d&#39;Ethernet avec DHCP&quot;);    // Vérifier la présence de matériel Ethernet    si (Ethernet.état du matériel() == EthernetNoHardware)       En série.imprimer(&quot;Le bouclier Ethernet n&#39;a pas été trouvé. Désolé, impossible de fonctionner sans matériel. :(&quot;);     autre si (Ethernet.linkStatus() == LinkOFF)       En série.imprimer(&quot;Le câble Ethernet n&#39;est pas connecté.&quot;);        // inutile de continuer, alors ne faites rien pour toujours:    tandis que (vrai)       retard(1);          Udp.commencer(port local);\nvide boucle()     sendNTPpacket(timeServer); // envoie un paquet NTP à un serveur de temps\n  // attend de voir si une réponse est disponible  retard(1000);  si (Udp.parsePacket())     // nous avons reçu un paquet, lis les données        Udp.lis(packetBuffer, NTP_PACKET_SIZE); // lit le paquet dans le tampon\n    // l&#39;horodatage commence à l&#39;octet 40 du paquet reçu et compte quatre octets,    // ou deux mots, long. Tout d’abord, extrayez les deux mots:\n    non signé longue HighWord = mot(packetBuffer[[[[40], packetBuffer[[[[41]);    non signé longue lowWord = mot(packetBuffer[[[[42], packetBuffer[[[[43]);    // combine les quatre octets (deux mots) en un entier long    // c&#39;est l&#39;heure NTP (secondes depuis le 1er janvier 1900):    non signé longue secondesdepuis1900 = HighWord &lt;&lt; 16   // attend dix secondes avant de demander à nouveau l&#39;heure  retard(10000);    Ethernet.maintenir();\n// envoie une requête NTP au serveur de temps à l&#39;adresse indiquéevide sendNTPpacket(const carboniser * adresse)   // met tous les octets du tampon à 0    memset(packetBuffer, 0, NTP_PACKET_SIZE);  // Initialise les valeurs nécessaires pour former une requête NTP  // (voir URL ci-dessus pour plus de détails sur les paquets)    packetBuffer[[[[0] = 0b11100011;   // LI, Version, Mode    packetBuffer[[[[1] = 0;     // strate ou type d&#39;horloge    packetBuffer[[[[2] = 6;     // Intervalle d&#39;interrogation    packetBuffer[[[[3] = 0xEC;  // Précision d&#39;horloge homologue  // 8 octets de zéro pour le délai et la dispersion des racines    packetBuffer[[[[12]  = 49;    packetBuffer[[[[13]  = 0x4E;    packetBuffer[[[[14]  = 49;    packetBuffer[[[[15]  = 52;\n  // tous les champs NTP ont reçu des valeurs, maintenant  // vous pouvez envoyer un paquet demandant un horodatage:    Udp.beginPacket(adresse, 123); // Les requêtes NTP doivent porter le port 123    Udp.écrire(packetBuffer, NTP_PACKET_SIZE);    Udp.endPacket();"},{"id":"text-3","heading":"Text","content":"Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]"}],"media":{"primary_image":""},"relations":[{"rel":"canonical","href":"https://tutos-gameserver.fr/2019/10/07/arduino-udpntpclient-bien-choisir-son-serveur-d-impression/"},{"rel":"alternate","href":"https://tutos-gameserver.fr/2019/10/07/arduino-udpntpclient-bien-choisir-son-serveur-d-impression/llm","type":"text/html"},{"rel":"alternate","href":"https://tutos-gameserver.fr/2019/10/07/arduino-udpntpclient-bien-choisir-son-serveur-d-impression/llm.json","type":"application/json"},{"rel":"llm-manifest","href":"https://tutos-gameserver.fr/llm-endpoints-manifest.json","type":"application/json"}],"http_headers":{"X-LLM-Friendly":"1","X-LLM-Schema":"1.1.0","Content-Security-Policy":"default-src 'none'; img-src * data:; style-src 'unsafe-inline'"},"license":"CC BY-ND 4.0","attribution_required":true,"allow_cors":false}