{"id":2305,"date":"2025-11-14T15:47:37","date_gmt":"2025-11-14T14:47:37","guid":{"rendered":"http:\/\/telefab.fr\/?p=2305"},"modified":"2026-04-30T16:39:10","modified_gmt":"2026-04-30T14:39:10","slug":"utiliser-un-module-bluetooth-serie","status":"publish","type":"tutoriel","link":"https:\/\/hub.imt-atlantique.fr\/fablab\/tutoriel\/utiliser-un-module-bluetooth-serie\/","title":{"rendered":"Utiliser un module Bluetooth\/S\u00e9rie"},"content":{"rendered":"<p>Le but de cet article est de d\u00e9crire le fonctionnement et l&rsquo;utilisation des modules Bluetooth\/S\u00e9rie mis \u00e0 disposition au FabLab. Le but de ces modules est d&rsquo;offrir une communication similaire \u00e0 une communication UART (\u00ab\u00a0Serial\u00a0\u00bb dans Arduino), mais en sans fil. Il est donc possible, en utilisant les fonctions standards pour communiquer sur le port s\u00e9rie, et avec un effort minimum, de communiquer \u00e0 distance avec n&rsquo;importe quel appareil compatible (PC, smartphone, autre module&#8230;).<\/p>\n<p>Le principe de ce type de module est quasiment toujours le m\u00eame, <!--more-->quelque soit le mod\u00e8le ou le fabricant. La seule diff\u00e9rence r\u00e9side dans les commandes qu&rsquo;ils acceptent. Pour mettre en place ces modules, il faut commencer par les configurer, v\u00e9rifier que la connexion fonctionne, puis les int\u00e9grer dans votre projet (la partie facile&#8230;).<\/p>\n<h2>Quelques principes de base<\/h2>\n<h4>Communication s\u00e9rie<\/h4>\n<p>Une communication s\u00e9rie, c&rsquo;est une communication dans laquelle les bits \u00e0 transmettre sont envoyer s\u00e9quentiellement, c&rsquo;est-\u00e0-dire l&rsquo;un apr\u00e8s l&rsquo;autre. L&rsquo;avantage de ce type de communication, c&rsquo;est qu&rsquo;on n&rsquo;a besoin que d&rsquo;un seul fil pour transmettre des donn\u00e9es, quelle que soit leur taille. L&rsquo;inconv\u00e9nient, c&rsquo;est que c&rsquo;est une communication lente.<\/p>\n<p>Il existe diff\u00e9rents types de communications s\u00e9ries : le Serial Peripheral Interface (SPI), l&rsquo;Inter Integrated Circuite (I2C), ou encore l&rsquo;Universal Asynchronous Receiver\/Transmitter (UART). C&rsquo;est ce dernier type qui nous int\u00e9resse.<\/p>\n<p>L&rsquo;UART est un protocole tr\u00e8s simple, que je ne d\u00e9cris pas en d\u00e9tail ici. Il est par contre utilis\u00e9 sous diff\u00e9rentes formes, et il existe en particulier diff\u00e9rentes tensions de r\u00e9f\u00e9rence selon les impl\u00e9mentations. On va s&rsquo;int\u00e9resser ici \u00e0 l&rsquo;UART de l&rsquo;Arduino, qui fonctionne sur des niveaux de 0V et 3.3V. L&rsquo;UART requiert au minimum 2 fils pour fonctionner un pour la r\u00e9ception (RX) et un pour l&rsquo;\u00e9mission (TX). On trouve ces deux fils sur les pins 0 et 1 de l&rsquo;Arduino. Le protocole UART est impl\u00e9ment\u00e9 directement en mat\u00e9riel dans le microcontr\u00f4leur de l&rsquo;Arduino. Cependant, l&rsquo;Arduino est connect\u00e9 en USB sur le PC. Pour pouvoir communiquer avec l&rsquo;UART, il y a donc une traduction UART\/USB qui est faite par un deuxi\u00e8me microcontr\u00f4leur sur la carte. Sous Linux, lorsque vous s\u00e9lectionnez le port s\u00e9rie de l&rsquo;Arduino, c&rsquo;est en fait un convertisseur USB\/S\u00e9rie, et vous pouvez regardez la communication en vous connectant sur les pins 0 et 1.<\/p>\n<h4>Bluetooth<\/h4>\n<p>Le Bluetooth est protocole de communication sans fil fonctionnant dans la bande des 2.4 GHz (la m\u00eame que le WiFi), et con\u00e7u pour faire communiquer des p\u00e9riph\u00e9riques \u00e0 distance r\u00e9duite. C&rsquo;est un protocole complexe, dans cet article on ne s&rsquo;int\u00e9resse qu&rsquo;\u00e0 un mode particulier du Bluetooth : le RFCOMM, qui \u00e9mule une communication type UART sur le Bluetooth.<\/p>\n<h2>\u00a0Configuration<\/h2>\n<p>Pour bien comprendre comment fonctionnent ces modules, voici un exemple dans lequel deux Arduino communiquent <em>via<\/em> 2 modules Bluetooth\/S\u00e9rie :<\/p>\n<p>&nbsp;<\/p>\n<p>Dans cette configuration, il y a 4 communications s\u00e9ries qui entrent en jeu :<\/p>\n<ul>\n<li>la communciation entre le PC1 et l&rsquo;Arduino 1, not\u00e9e UART0<\/li>\n<li>la communication entre l&rsquo;Arduino 1 et le BT1, not\u00e9e UART1<\/li>\n<li>la communication entre l&rsquo;Arduino 2 et le BT2, not\u00e9e UART2<\/li>\n<li>la communication entre l&rsquo;Arduino 2 et le PC2, not\u00e9e UART3<\/li>\n<\/ul>\n<p>UART0 et UART3 servent \u00e0 communiquer avec l&rsquo;Arduino. Ce sont celles qui sont utilis\u00e9es lorsque vous utilisez le terminal s\u00e9rie du logiciel Arduino, et qui sont \u00e9galement utilis\u00e9es pour programmer votre carte Arduino. Ce sont ces connexions qui sont utilis\u00e9es lorsque vous utilisez la librairie Serial.<\/p>\n<p>UART1 et UART2 servent \u00e0 utiliser le Bluetooth depuis l&rsquo;Arduino. Selon les cas, elles peuvent donc \u00eatre utilis\u00e9es soit pour configurer le Bluetooth selon nos besoins, soit pour communiquer directement. Ces connexions sont r\u00e9alis\u00e9es sur des pins de l&rsquo;Arduino qui ne correspondent pas au port s\u00e9rie, on va donc \u00e9muler un port s\u00e9rie gr\u00e2ce \u00e0 la librairie \u00ab\u00a0SoftwareSerial\u00a0\u00bb.<\/p>\n<h2>Marche \u00e0 suivre<\/h2>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"featured_media":0,"parent":0,"template":"","meta":{"_acf_changed":false},"class_list":["post-2305","tutoriel","type-tutoriel","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/tutoriel\/2305","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/tutoriel"}],"about":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/types\/tutoriel"}],"wp:attachment":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/media?parent=2305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}