{"version":"1.1","schema_version":"1.1.0","plugin_version":"1.1.2","url":"https://tutos-gameserver.fr/2019/09/27/programmation-bluetooth-avec-python-3-bien-choisir-son-serveur-d-impression/","llm_html_url":"https://tutos-gameserver.fr/2019/09/27/programmation-bluetooth-avec-python-3-bien-choisir-son-serveur-d-impression/llm","llm_json_url":"https://tutos-gameserver.fr/2019/09/27/programmation-bluetooth-avec-python-3-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":"Programmation Bluetooth avec Python 3\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-09-27T01:32:53+00:00","modified_at":"2019-09-27T01:32:53+00:00","word_count":972,"reading_time_seconds":292,"summary":"écrit 21 avrilst2013 Cet article présente les techniques de base pour communiquer via Bluetooth avec Python 3.3 et versions ultérieures (à l&#39;aide de sockets Python). Quelques exemples simples de communication via Bluetooth avec prises sera affiché. Des exemples PyBluez seront également présentés pour Comparaison. Les deux options À l’heure actuelle, le moyen le plus documenté [&hellip;]","summary_points":["écrit \n21 avrilst2013\nCet article présente les techniques de base pour communiquer via Bluetooth avec Python 3.3 et versions ultérieures (à l&#39;aide de sockets Python).","Quelques exemples simples de communication via\nBluetooth avec prises sera affiché.","Des exemples PyBluez seront également présentés pour\nComparaison.","Les deux options\nÀ l’heure actuelle, le moyen le plus documenté de communiquer avec Python via Bluetooth est d’utiliser PyBluez."],"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":"adaf11ce6cfc379b51c02a82d130ad33","plain_text":"écrit \n21 avrilst2013\nCet article présente les techniques de base pour communiquer via Bluetooth avec Python 3.3 et versions ultérieures (à l&#39;aide de sockets Python). Quelques exemples simples de communication via\nBluetooth avec prises sera affiché. Des exemples PyBluez seront également présentés pour\nComparaison.\n\n\nLes deux options\nÀ l’heure actuelle, le moyen le plus documenté de communiquer avec Python via Bluetooth est d’utiliser PyBluez. Auparavant, PyBluez ne supportait que Python 2. En janvier 2014, ils ont publié une version Python 3. \nLes sockets Python natifs de Python 3.3 prennent en charge la communication Bluetooth. Malheureusement, il existe très peu de documentation disponible décrivant Comment utiliser les sockets Python pour communiquer via Bluetooth. Bien que l’utilisation de Bluetooth avec ces sockets puisse être facile pour quelqu&#39;un qui sait déjà utiliser les sockets Python, le manque de documentation laisse de nombreuses personnes ignorantes de l’existence même de cette méthode d’utilisation de Bluetooth. Depuis que PyBluez a été porté sur Python 3, l’utilisation des sockets Python natifs a une utilisation limitée.\nCompétence requise: trouver l&#39;adresse MAC d&#39;un adaptateur Bluetooth\nPour exécuter les exemples, l&#39;adresse MAC de l&#39;adaptateur Bluetooth utilisé par le serveur doit être connue. L&#39;application client utilise cette adresse pour se connecter au serveur. Sous Linux, vous pouvez obtenir une liste de tous les périphériques Bluetooth disponibles et de leurs adresses MAC à l’aide de la commande hciconfig, ainsi:\n\nMessagerie du client\nCette application connecte deux appareils via Bluetooth et permet à l&#39;un d&#39;envoyer des messages à l&#39;autre. Le périphérique d&#39;envoi fonctionne socketClient.pyet le périphérique de réception fonctionne socketServer.py. Ces scripts sont présentés ci-dessous, en utilisant d’abord les sockets Python, puis PyBluez:\n\nSockets python\nClient (socketClient.py)\n\n\n\n1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17\n\n\n\n&quot;&quot; &quot;\nUn simple script Python pour envoyer des messages à un serveur via Bluetooth en utilisant\nSockets Python (avec Python 3.3 ou supérieur).\n&quot;&quot; &quot;\n\nimportation prise\n\nserverMACAddress = &#39;00: 1f: e1: dd: 08: 3d &#39;\nPort = 3\ns = prise.prise(prise.AF_BLUETOOTH, prise.SOCK_STREAM, prise.BTPROTO_RFCOMM)\ns.relier((serverMACAddress,Port))\ntandis que 1:\n    texte = contribution()\n    si texte == &quot;quitter&quot;:\n        Pause\n    s.envoyer(octets(texte, &#39;UTF-8&#39;))\ns.proche()\n\n\n\n\n\n\nServeur (socketServer.py)\n\n\n\n1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n\n\n\n&quot;&quot; &quot;\nUn simple script Python pour recevoir des messages d&#39;un client sur\nBluetooth utilisant des sockets Python (avec Python 3.3 ou supérieur).\n&quot;&quot; &quot;\n\nimportation prise\n\nhostMACAddress = &#39;00: 1f: e1: dd: 08: 3d &#39; # L&#39;adresse MAC d&#39;un adaptateur Bluetooth sur le serveur. Le serveur peut avoir plusieurs adaptateurs Bluetooth.\nPort = 3 # 3 est un choix arbitraire. Cependant, il doit correspondre au port utilisé par le client.\narriéré = 1\nTaille = 1024\ns = prise.prise(prise.AF_BLUETOOTH, prise.SOCK_STREAM, prise.BTPROTO_RFCOMM)\ns.lier((hostMACAddress,Port))\ns.écoute(arriéré)\nessayer:\n    client, adresse = s.Acceptez()\n    tandis que 1:\n        Les données = client.recv(Taille)\n        si Les données:\n            impression(Les données)\n            client.envoyer(Les données)\nsauf:\t\n    impression(&quot;Prise de fermeture&quot;)\t\n    client.proche()\n    s.proche()\n\n\n\n\n\n\nEn passant, ce code est presque identique au code requis pour créer une application client-serveur sur Internet. Tout ce qui doit être changé, ce sont les deux lignes:\n\n\n\n\n\n1\n2\n3\n4\n5\n6\nsept\n8\n9\n\n\n\n# Pour le serveur\ns = prise.prise(prise.AF_INET, prise.SOCK_STREAM)\ns.lier((&quot;192.168.1.17&quot;,50001)) # L&#39;adresse MAC Bluetooth et le port RFCOMM sont remplacés par une adresse IP et un port TCP.\n\n# Pour le client\ns = prise.prise(prise.AF_INET, prise.SOCK_STREAM)\ns.relier((&quot;192.168.1.17&quot;,50001))\n\n# Remarque: il s’agit d’adresses IP et de ports TCP arbitraires.\n\n\n\n\n\n\nPyBluez\nPour comparer, voici l’application fonctionnellement identique écrite à l’aide de la bibliothèque PyBluez.\nClient (PyBluezClient.py)\n\n\n\n1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17\n\n\n\n&quot;&quot; &quot;\nUn simple script Python pour envoyer des messages à un serveur via Bluetooth\nen utilisant PyBluez (avec Python 2).\n&quot;&quot; &quot;\n\nimportation Bluetooth\n\nserverMACAddress = &#39;00: 1f: e1: dd: 08: 3d &#39;\nPort = 3\ns = Bluetooth.Prise Bluetooth(Bluetooth.RFCOMM)\ns.relier((serverMACAddress, Port))\ntandis que 1:\n    texte = entrée brute() # Remarque: passage à l&#39;ancien (Python 2) raw_input\n    si texte == &quot;quitter&quot;:\n    Pause\n    s.envoyer(texte)\nchaussette.proche()\n\n\n\n\n\n\nServeur (PyBluezServer.py)\n\n\n\n1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n\n\n\n&quot;&quot; &quot;\nUn simple script Python pour recevoir des messages d&#39;un client sur\nBluetooth en utilisant PyBluez (avec Python 2).\n&quot;&quot; &quot;\n\nimportation Bluetooth\n\nhostMACAddress = &#39;00: 1f: e1: dd: 08: 3d &#39; # L&#39;adresse MAC d&#39;un adaptateur Bluetooth sur le serveur. Le serveur peut avoir plusieurs adaptateurs Bluetooth.\nPort = 3\narriéré = 1\nTaille = 1024\ns = Bluetooth.Prise Bluetooth(Bluetooth.RFCOMM)\ns.lier((hostMACAddress, Port))\ns.écoute(arriéré)\nessayer:\n    client, clientInfo = s.Acceptez()\n    tandis que 1:\n        Les données = client.recv(Taille)\n        si Les données:\n            impression(Les données)\n            client.envoyer(Les données) # Écho au client\nsauf:\t\n    impression(&quot;Prise de fermeture&quot;)\n    client.proche()\n    s.proche()\n\n\n\n\n\n\nConclusion\nPyBluez est le moyen le plus efficace de communiquer via Bluetooth en utilisant Python. Les sockets Python peuvent maintenant être utilisés pour la communication Bluetooth (depuis Python 3.3). Pour une application simple, le code est presque identique. Cependant, pour certaines tâches, telles que la découverte de périphériques et les publications de services Bluetooth, il ne semble pas possible de les exécuter à l&#39;aide de sockets Python. En conséquence, PyBluez a surpassé à bien des égards les sockets Python. Cette question Stackoverflow traite de certaines des limitations des sockets Python pour Bluetooth.\nLectures complémentaires\nIl y a peu ou pas d&#39;informations sur la programmation Bluetooth avec les sockets Python. Il y a beaucoup d&#39;informations sur PyBluez. Voici quelques ressources utiles:\n\nBluetooth Essentials pour les programmeurs\nCouvre de nombreux langages de programmation et utilise PyBluez avec Python. Idéal pour commencer vite et gagner la compréhension en cours de route.\nExemples PyBluez\nExemple de code couvrant diverses tâches Bluetooth. \n\n\n\t  \nClick to rate this post!\r\n                                   \r\n                               [Total: 0  Average: 0]","paragraphs":["écrit \n21 avrilst2013\nCet article présente les techniques de base pour communiquer via Bluetooth avec Python 3.3 et versions ultérieures (à l&#39;aide de sockets Python). Quelques exemples simples de communication via\nBluetooth avec prises sera affiché. Des exemples PyBluez seront également présentés pour\nComparaison.","Les deux options\nÀ l’heure actuelle, le moyen le plus documenté de communiquer avec Python via Bluetooth est d’utiliser PyBluez. Auparavant, PyBluez ne supportait que Python 2. En janvier 2014, ils ont publié une version Python 3. \nLes sockets Python natifs de Python 3.3 prennent en charge la communication Bluetooth. Malheureusement, il existe très peu de documentation disponible décrivant Comment utiliser les sockets Python pour communiquer via Bluetooth. Bien que l’utilisation de Bluetooth avec ces sockets puisse être facile pour quelqu&#39;un qui sait déjà utiliser les sockets Python, le manque de documentation laisse de nombreuses personnes ignorantes de l’existence même de cette méthode d’utilisation de Bluetooth. Depuis que PyBluez a été porté sur Python 3, l’utilisation des sockets Python natifs a une utilisation limitée.\nCompétence requise: trouver l&#39;adresse MAC d&#39;un adaptateur Bluetooth\nPour exécuter les exemples, l&#39;adresse MAC de l&#39;adaptateur Bluetooth utilisé par le serveur doit être connue. L&#39;application client utilise cette adresse pour se connecter au serveur. Sous Linux, vous pouvez obtenir une liste de tous les périphériques Bluetooth disponibles et de leurs adresses MAC à l’aide de la commande hciconfig, ainsi:","Messagerie du client\nCette application connecte deux appareils via Bluetooth et permet à l&#39;un d&#39;envoyer des messages à l&#39;autre. Le périphérique d&#39;envoi fonctionne socketClient.pyet le périphérique de réception fonctionne socketServer.py. Ces scripts sont présentés ci-dessous, en utilisant d’abord les sockets Python, puis PyBluez:","Sockets python\nClient (socketClient.py)","1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17","&quot;&quot; &quot;\nUn simple script Python pour envoyer des messages à un serveur via Bluetooth en utilisant\nSockets Python (avec Python 3.3 ou supérieur).\n&quot;&quot; &quot;","importation prise","serverMACAddress = &#39;00: 1f: e1: dd: 08: 3d &#39;\nPort = 3\ns = prise.prise(prise.AF_BLUETOOTH, prise.SOCK_STREAM, prise.BTPROTO_RFCOMM)\ns.relier((serverMACAddress,Port))\ntandis que 1:\n    texte = contribution()\n    si texte == &quot;quitter&quot;:\n        Pause\n    s.envoyer(octets(texte, &#39;UTF-8&#39;))\ns.proche()","Serveur (socketServer.py)","1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25","&quot;&quot; &quot;\nUn simple script Python pour recevoir des messages d&#39;un client sur\nBluetooth utilisant des sockets Python (avec Python 3.3 ou supérieur).\n&quot;&quot; &quot;","importation prise","hostMACAddress = &#39;00: 1f: e1: dd: 08: 3d &#39; # L&#39;adresse MAC d&#39;un adaptateur Bluetooth sur le serveur. Le serveur peut avoir plusieurs adaptateurs Bluetooth.\nPort = 3 # 3 est un choix arbitraire. Cependant, il doit correspondre au port utilisé par le client.\narriéré = 1\nTaille = 1024\ns = prise.prise(prise.AF_BLUETOOTH, prise.SOCK_STREAM, prise.BTPROTO_RFCOMM)\ns.lier((hostMACAddress,Port))\ns.écoute(arriéré)\nessayer:\n    client, adresse = s.Acceptez()\n    tandis que 1:\n        Les données = client.recv(Taille)\n        si Les données:\n            impression(Les données)\n            client.envoyer(Les données)\nsauf:\t\n    impression(&quot;Prise de fermeture&quot;)\t\n    client.proche()\n    s.proche()","En passant, ce code est presque identique au code requis pour créer une application client-serveur sur Internet. Tout ce qui doit être changé, ce sont les deux lignes:","1\n2\n3\n4\n5\n6\nsept\n8\n9","# Pour le serveur\ns = prise.prise(prise.AF_INET, prise.SOCK_STREAM)\ns.lier((&quot;192.168.1.17&quot;,50001)) # L&#39;adresse MAC Bluetooth et le port RFCOMM sont remplacés par une adresse IP et un port TCP.","# Pour le client\ns = prise.prise(prise.AF_INET, prise.SOCK_STREAM)\ns.relier((&quot;192.168.1.17&quot;,50001))","# Remarque: il s’agit d’adresses IP et de ports TCP arbitraires.","PyBluez\nPour comparer, voici l’application fonctionnellement identique écrite à l’aide de la bibliothèque PyBluez.\nClient (PyBluezClient.py)","1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17","&quot;&quot; &quot;\nUn simple script Python pour envoyer des messages à un serveur via Bluetooth\nen utilisant PyBluez (avec Python 2).\n&quot;&quot; &quot;","importation Bluetooth","serverMACAddress = &#39;00: 1f: e1: dd: 08: 3d &#39;\nPort = 3\ns = Bluetooth.Prise Bluetooth(Bluetooth.RFCOMM)\ns.relier((serverMACAddress, Port))\ntandis que 1:\n    texte = entrée brute() # Remarque: passage à l&#39;ancien (Python 2) raw_input\n    si texte == &quot;quitter&quot;:\n    Pause\n    s.envoyer(texte)\nchaussette.proche()","Serveur (PyBluezServer.py)","1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25","&quot;&quot; &quot;\nUn simple script Python pour recevoir des messages d&#39;un client sur\nBluetooth en utilisant PyBluez (avec Python 2).\n&quot;&quot; &quot;","importation Bluetooth","hostMACAddress = &#39;00: 1f: e1: dd: 08: 3d &#39; # L&#39;adresse MAC d&#39;un adaptateur Bluetooth sur le serveur. Le serveur peut avoir plusieurs adaptateurs Bluetooth.\nPort = 3\narriéré = 1\nTaille = 1024\ns = Bluetooth.Prise Bluetooth(Bluetooth.RFCOMM)\ns.lier((hostMACAddress, Port))\ns.écoute(arriéré)\nessayer:\n    client, clientInfo = s.Acceptez()\n    tandis que 1:\n        Les données = client.recv(Taille)\n        si Les données:\n            impression(Les données)\n            client.envoyer(Les données) # Écho au client\nsauf:\t\n    impression(&quot;Prise de fermeture&quot;)\n    client.proche()\n    s.proche()","Conclusion\nPyBluez est le moyen le plus efficace de communiquer via Bluetooth en utilisant Python. Les sockets Python peuvent maintenant être utilisés pour la communication Bluetooth (depuis Python 3.3). Pour une application simple, le code est presque identique. Cependant, pour certaines tâches, telles que la découverte de périphériques et les publications de services Bluetooth, il ne semble pas possible de les exécuter à l&#39;aide de sockets Python. En conséquence, PyBluez a surpassé à bien des égards les sockets Python. Cette question Stackoverflow traite de certaines des limitations des sockets Python pour Bluetooth.\nLectures complémentaires\nIl y a peu ou pas d&#39;informations sur la programmation Bluetooth avec les sockets Python. Il y a beaucoup d&#39;informations sur PyBluez. Voici quelques ressources utiles:","Bluetooth Essentials pour les programmeurs\nCouvre de nombreux langages de programmation et utilise PyBluez avec Python. Idéal pour commencer vite et gagner la compréhension en cours de route.\nExemples PyBluez\nExemple de code couvrant diverses tâches Bluetooth.","Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]"],"content_blocks":[{"id":"text-1","type":"text","heading":"","plain_text":"écrit \n21 avrilst2013\nCet article présente les techniques de base pour communiquer via Bluetooth avec Python 3.3 et versions ultérieures (à l&#39;aide de sockets Python). Quelques exemples simples de communication via\nBluetooth avec prises sera affiché. Des exemples PyBluez seront également présentés pour\nComparaison.","html":"<p>écrit \n21 avrilst2013\nCet article présente les techniques de base pour communiquer via Bluetooth avec Python 3.3 et versions ultérieures (à l&#039;aide de sockets Python). Quelques exemples simples de communication via\nBluetooth avec prises sera affiché. Des exemples PyBluez seront également présentés pour\nComparaison.</p>"},{"id":"text-2","type":"text","heading":"","plain_text":"Les deux options\nÀ l’heure actuelle, le moyen le plus documenté de communiquer avec Python via Bluetooth est d’utiliser PyBluez. Auparavant, PyBluez ne supportait que Python 2. En janvier 2014, ils ont publié une version Python 3. \nLes sockets Python natifs de Python 3.3 prennent en charge la communication Bluetooth. Malheureusement, il existe très peu de documentation disponible décrivant Comment utiliser les sockets Python pour communiquer via Bluetooth. Bien que l’utilisation de Bluetooth avec ces sockets puisse être facile pour quelqu&#39;un qui sait déjà utiliser les sockets Python, le manque de documentation laisse de nombreuses personnes ignorantes de l’existence même de cette méthode d’utilisation de Bluetooth. Depuis que PyBluez a été porté sur Python 3, l’utilisation des sockets Python natifs a une utilisation limitée.\nCompétence requise: trouver l&#39;adresse MAC d&#39;un adaptateur Bluetooth\nPour exécuter les exemples, l&#39;adresse MAC de l&#39;adaptateur Bluetooth utilisé par le serveur doit être connue. L&#39;application client utilise cette adresse pour se connecter au serveur. Sous Linux, vous pouvez obtenir une liste de tous les périphériques Bluetooth disponibles et de leurs adresses MAC à l’aide de la commande hciconfig, ainsi:","html":"<p>Les deux options\nÀ l’heure actuelle, le moyen le plus documenté de communiquer avec Python via Bluetooth est d’utiliser PyBluez. Auparavant, PyBluez ne supportait que Python 2. En janvier 2014, ils ont publié une version Python 3. \nLes sockets Python natifs de Python 3.3 prennent en charge la communication Bluetooth. Malheureusement, il existe très peu de documentation disponible décrivant Comment utiliser les sockets Python pour communiquer via Bluetooth. Bien que l’utilisation de Bluetooth avec ces sockets puisse être facile pour quelqu&#039;un qui sait déjà utiliser les sockets Python, le manque de documentation laisse de nombreuses personnes ignorantes de l’existence même de cette méthode d’utilisation de Bluetooth. Depuis que PyBluez a été porté sur Python 3, l’utilisation des sockets Python natifs a une utilisation limitée.\nCompétence requise: trouver l&#039;adresse MAC d&#039;un adaptateur Bluetooth\nPour exécuter les exemples, l&#039;adresse MAC de l&#039;adaptateur Bluetooth utilisé par le serveur doit être connue. L&#039;application client utilise cette adresse pour se connecter au serveur. Sous Linux, vous pouvez obtenir une liste de tous les périphériques Bluetooth disponibles et de leurs adresses MAC à l’aide de la commande hciconfig, ainsi:</p>"},{"id":"text-3","type":"text","heading":"","plain_text":"Messagerie du client\nCette application connecte deux appareils via Bluetooth et permet à l&#39;un d&#39;envoyer des messages à l&#39;autre. Le périphérique d&#39;envoi fonctionne socketClient.pyet le périphérique de réception fonctionne socketServer.py. Ces scripts sont présentés ci-dessous, en utilisant d’abord les sockets Python, puis PyBluez:","html":"<p>Messagerie du client\nCette application connecte deux appareils via Bluetooth et permet à l&#039;un d&#039;envoyer des messages à l&#039;autre. Le périphérique d&#039;envoi fonctionne socketClient.pyet le périphérique de réception fonctionne socketServer.py. Ces scripts sont présentés ci-dessous, en utilisant d’abord les sockets Python, puis PyBluez:</p>"},{"id":"text-4","type":"text","heading":"","plain_text":"Sockets python\nClient (socketClient.py)","html":"<p>Sockets python\nClient (socketClient.py)</p>"},{"id":"text-5","type":"text","heading":"","plain_text":"1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17","html":"<p>1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17</p>"},{"id":"text-6","type":"text","heading":"","plain_text":"&quot;&quot; &quot;\nUn simple script Python pour envoyer des messages à un serveur via Bluetooth en utilisant\nSockets Python (avec Python 3.3 ou supérieur).\n&quot;&quot; &quot;","html":"<p>&quot;&quot; &quot;\nUn simple script Python pour envoyer des messages à un serveur via Bluetooth en utilisant\nSockets Python (avec Python 3.3 ou supérieur).\n&quot;&quot; &quot;</p>"},{"id":"text-7","type":"text","heading":"","plain_text":"importation prise","html":"<p>importation prise</p>"},{"id":"text-8","type":"text","heading":"","plain_text":"serverMACAddress = &#39;00: 1f: e1: dd: 08: 3d &#39;\nPort = 3\ns = prise.prise(prise.AF_BLUETOOTH, prise.SOCK_STREAM, prise.BTPROTO_RFCOMM)\ns.relier((serverMACAddress,Port))\ntandis que 1:\n    texte = contribution()\n    si texte == &quot;quitter&quot;:\n        Pause\n    s.envoyer(octets(texte, &#39;UTF-8&#39;))\ns.proche()","html":"<p>serverMACAddress = &#039;00: 1f: e1: dd: 08: 3d &#039;\nPort = 3\ns = prise.prise(prise.AF_BLUETOOTH, prise.SOCK_STREAM, prise.BTPROTO_RFCOMM)\ns.relier((serverMACAddress,Port))\ntandis que 1:\n    texte = contribution()\n    si texte == &quot;quitter&quot;:\n        Pause\n    s.envoyer(octets(texte, &#039;UTF-8&#039;))\ns.proche()</p>"},{"id":"text-9","type":"text","heading":"","plain_text":"Serveur (socketServer.py)","html":"<p>Serveur (socketServer.py)</p>"},{"id":"text-10","type":"text","heading":"","plain_text":"1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25","html":"<p>1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25</p>"},{"id":"text-11","type":"text","heading":"","plain_text":"&quot;&quot; &quot;\nUn simple script Python pour recevoir des messages d&#39;un client sur\nBluetooth utilisant des sockets Python (avec Python 3.3 ou supérieur).\n&quot;&quot; &quot;","html":"<p>&quot;&quot; &quot;\nUn simple script Python pour recevoir des messages d&#039;un client sur\nBluetooth utilisant des sockets Python (avec Python 3.3 ou supérieur).\n&quot;&quot; &quot;</p>"},{"id":"text-12","type":"text","heading":"","plain_text":"importation prise","html":"<p>importation prise</p>"},{"id":"text-13","type":"text","heading":"","plain_text":"hostMACAddress = &#39;00: 1f: e1: dd: 08: 3d &#39; # L&#39;adresse MAC d&#39;un adaptateur Bluetooth sur le serveur. Le serveur peut avoir plusieurs adaptateurs Bluetooth.\nPort = 3 # 3 est un choix arbitraire. Cependant, il doit correspondre au port utilisé par le client.\narriéré = 1\nTaille = 1024\ns = prise.prise(prise.AF_BLUETOOTH, prise.SOCK_STREAM, prise.BTPROTO_RFCOMM)\ns.lier((hostMACAddress,Port))\ns.écoute(arriéré)\nessayer:\n    client, adresse = s.Acceptez()\n    tandis que 1:\n        Les données = client.recv(Taille)\n        si Les données:\n            impression(Les données)\n            client.envoyer(Les données)\nsauf:\t\n    impression(&quot;Prise de fermeture&quot;)\t\n    client.proche()\n    s.proche()","html":"<p>hostMACAddress = &#039;00: 1f: e1: dd: 08: 3d &#039; # L&#039;adresse MAC d&#039;un adaptateur Bluetooth sur le serveur. Le serveur peut avoir plusieurs adaptateurs Bluetooth.\nPort = 3 # 3 est un choix arbitraire. Cependant, il doit correspondre au port utilisé par le client.\narriéré = 1\nTaille = 1024\ns = prise.prise(prise.AF_BLUETOOTH, prise.SOCK_STREAM, prise.BTPROTO_RFCOMM)\ns.lier((hostMACAddress,Port))\ns.écoute(arriéré)\nessayer:\n    client, adresse = s.Acceptez()\n    tandis que 1:\n        Les données = client.recv(Taille)\n        si Les données:\n            impression(Les données)\n            client.envoyer(Les données)\nsauf:\t\n    impression(&quot;Prise de fermeture&quot;)\t\n    client.proche()\n    s.proche()</p>"},{"id":"text-14","type":"text","heading":"","plain_text":"En passant, ce code est presque identique au code requis pour créer une application client-serveur sur Internet. Tout ce qui doit être changé, ce sont les deux lignes:","html":"<p>En passant, ce code est presque identique au code requis pour créer une application client-serveur sur Internet. Tout ce qui doit être changé, ce sont les deux lignes:</p>"},{"id":"text-15","type":"text","heading":"","plain_text":"1\n2\n3\n4\n5\n6\nsept\n8\n9","html":"<p>1\n2\n3\n4\n5\n6\nsept\n8\n9</p>"},{"id":"text-16","type":"text","heading":"","plain_text":"# Pour le serveur\ns = prise.prise(prise.AF_INET, prise.SOCK_STREAM)\ns.lier((&quot;192.168.1.17&quot;,50001)) # L&#39;adresse MAC Bluetooth et le port RFCOMM sont remplacés par une adresse IP et un port TCP.","html":"<p># Pour le serveur\ns = prise.prise(prise.AF_INET, prise.SOCK_STREAM)\ns.lier((&quot;192.168.1.17&quot;,50001)) # L&#039;adresse MAC Bluetooth et le port RFCOMM sont remplacés par une adresse IP et un port TCP.</p>"},{"id":"text-17","type":"text","heading":"","plain_text":"# Pour le client\ns = prise.prise(prise.AF_INET, prise.SOCK_STREAM)\ns.relier((&quot;192.168.1.17&quot;,50001))","html":"<p># Pour le client\ns = prise.prise(prise.AF_INET, prise.SOCK_STREAM)\ns.relier((&quot;192.168.1.17&quot;,50001))</p>"},{"id":"text-18","type":"text","heading":"","plain_text":"# Remarque: il s’agit d’adresses IP et de ports TCP arbitraires.","html":"<p># Remarque: il s’agit d’adresses IP et de ports TCP arbitraires.</p>"},{"id":"text-19","type":"text","heading":"","plain_text":"PyBluez\nPour comparer, voici l’application fonctionnellement identique écrite à l’aide de la bibliothèque PyBluez.\nClient (PyBluezClient.py)","html":"<p>PyBluez\nPour comparer, voici l’application fonctionnellement identique écrite à l’aide de la bibliothèque PyBluez.\nClient (PyBluezClient.py)</p>"},{"id":"text-20","type":"text","heading":"","plain_text":"1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17","html":"<p>1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17</p>"},{"id":"text-21","type":"text","heading":"","plain_text":"&quot;&quot; &quot;\nUn simple script Python pour envoyer des messages à un serveur via Bluetooth\nen utilisant PyBluez (avec Python 2).\n&quot;&quot; &quot;","html":"<p>&quot;&quot; &quot;\nUn simple script Python pour envoyer des messages à un serveur via Bluetooth\nen utilisant PyBluez (avec Python 2).\n&quot;&quot; &quot;</p>"},{"id":"text-22","type":"text","heading":"","plain_text":"importation Bluetooth","html":"<p>importation Bluetooth</p>"},{"id":"text-23","type":"text","heading":"","plain_text":"serverMACAddress = &#39;00: 1f: e1: dd: 08: 3d &#39;\nPort = 3\ns = Bluetooth.Prise Bluetooth(Bluetooth.RFCOMM)\ns.relier((serverMACAddress, Port))\ntandis que 1:\n    texte = entrée brute() # Remarque: passage à l&#39;ancien (Python 2) raw_input\n    si texte == &quot;quitter&quot;:\n    Pause\n    s.envoyer(texte)\nchaussette.proche()","html":"<p>serverMACAddress = &#039;00: 1f: e1: dd: 08: 3d &#039;\nPort = 3\ns = Bluetooth.Prise Bluetooth(Bluetooth.RFCOMM)\ns.relier((serverMACAddress, Port))\ntandis que 1:\n    texte = entrée brute() # Remarque: passage à l&#039;ancien (Python 2) raw_input\n    si texte == &quot;quitter&quot;:\n    Pause\n    s.envoyer(texte)\nchaussette.proche()</p>"},{"id":"text-24","type":"text","heading":"","plain_text":"Serveur (PyBluezServer.py)","html":"<p>Serveur (PyBluezServer.py)</p>"},{"id":"text-25","type":"text","heading":"","plain_text":"1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25","html":"<p>1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25</p>"},{"id":"text-26","type":"text","heading":"","plain_text":"&quot;&quot; &quot;\nUn simple script Python pour recevoir des messages d&#39;un client sur\nBluetooth en utilisant PyBluez (avec Python 2).\n&quot;&quot; &quot;","html":"<p>&quot;&quot; &quot;\nUn simple script Python pour recevoir des messages d&#039;un client sur\nBluetooth en utilisant PyBluez (avec Python 2).\n&quot;&quot; &quot;</p>"},{"id":"text-27","type":"text","heading":"","plain_text":"importation Bluetooth","html":"<p>importation Bluetooth</p>"},{"id":"text-28","type":"text","heading":"","plain_text":"hostMACAddress = &#39;00: 1f: e1: dd: 08: 3d &#39; # L&#39;adresse MAC d&#39;un adaptateur Bluetooth sur le serveur. Le serveur peut avoir plusieurs adaptateurs Bluetooth.\nPort = 3\narriéré = 1\nTaille = 1024\ns = Bluetooth.Prise Bluetooth(Bluetooth.RFCOMM)\ns.lier((hostMACAddress, Port))\ns.écoute(arriéré)\nessayer:\n    client, clientInfo = s.Acceptez()\n    tandis que 1:\n        Les données = client.recv(Taille)\n        si Les données:\n            impression(Les données)\n            client.envoyer(Les données) # Écho au client\nsauf:\t\n    impression(&quot;Prise de fermeture&quot;)\n    client.proche()\n    s.proche()","html":"<p>hostMACAddress = &#039;00: 1f: e1: dd: 08: 3d &#039; # L&#039;adresse MAC d&#039;un adaptateur Bluetooth sur le serveur. Le serveur peut avoir plusieurs adaptateurs Bluetooth.\nPort = 3\narriéré = 1\nTaille = 1024\ns = Bluetooth.Prise Bluetooth(Bluetooth.RFCOMM)\ns.lier((hostMACAddress, Port))\ns.écoute(arriéré)\nessayer:\n    client, clientInfo = s.Acceptez()\n    tandis que 1:\n        Les données = client.recv(Taille)\n        si Les données:\n            impression(Les données)\n            client.envoyer(Les données) # Écho au client\nsauf:\t\n    impression(&quot;Prise de fermeture&quot;)\n    client.proche()\n    s.proche()</p>"},{"id":"text-29","type":"text","heading":"","plain_text":"Conclusion\nPyBluez est le moyen le plus efficace de communiquer via Bluetooth en utilisant Python. Les sockets Python peuvent maintenant être utilisés pour la communication Bluetooth (depuis Python 3.3). Pour une application simple, le code est presque identique. Cependant, pour certaines tâches, telles que la découverte de périphériques et les publications de services Bluetooth, il ne semble pas possible de les exécuter à l&#39;aide de sockets Python. En conséquence, PyBluez a surpassé à bien des égards les sockets Python. Cette question Stackoverflow traite de certaines des limitations des sockets Python pour Bluetooth.\nLectures complémentaires\nIl y a peu ou pas d&#39;informations sur la programmation Bluetooth avec les sockets Python. Il y a beaucoup d&#39;informations sur PyBluez. Voici quelques ressources utiles:","html":"<p>Conclusion\nPyBluez est le moyen le plus efficace de communiquer via Bluetooth en utilisant Python. Les sockets Python peuvent maintenant être utilisés pour la communication Bluetooth (depuis Python 3.3). Pour une application simple, le code est presque identique. Cependant, pour certaines tâches, telles que la découverte de périphériques et les publications de services Bluetooth, il ne semble pas possible de les exécuter à l&#039;aide de sockets Python. En conséquence, PyBluez a surpassé à bien des égards les sockets Python. Cette question Stackoverflow traite de certaines des limitations des sockets Python pour Bluetooth.\nLectures complémentaires\nIl y a peu ou pas d&#039;informations sur la programmation Bluetooth avec les sockets Python. Il y a beaucoup d&#039;informations sur PyBluez. Voici quelques ressources utiles:</p>"},{"id":"text-30","type":"text","heading":"","plain_text":"Bluetooth Essentials pour les programmeurs\nCouvre de nombreux langages de programmation et utilise PyBluez avec Python. Idéal pour commencer vite et gagner la compréhension en cours de route.\nExemples PyBluez\nExemple de code couvrant diverses tâches Bluetooth.","html":"<p>Bluetooth Essentials pour les programmeurs\nCouvre de nombreux langages de programmation et utilise PyBluez avec Python. Idéal pour commencer vite et gagner la compréhension en cours de route.\nExemples PyBluez\nExemple de code couvrant diverses tâches Bluetooth.</p>"},{"id":"text-31","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":"écrit \n21 avrilst2013\nCet article présente les techniques de base pour communiquer via Bluetooth avec Python 3.3 et versions ultérieures (à l&#39;aide de sockets Python). Quelques exemples simples de communication via\nBluetooth avec prises sera affiché. Des exemples PyBluez seront également présentés pour\nComparaison."},{"id":"text-2","heading":"Text","content":"Les deux options\nÀ l’heure actuelle, le moyen le plus documenté de communiquer avec Python via Bluetooth est d’utiliser PyBluez. Auparavant, PyBluez ne supportait que Python 2. En janvier 2014, ils ont publié une version Python 3. \nLes sockets Python natifs de Python 3.3 prennent en charge la communication Bluetooth. Malheureusement, il existe très peu de documentation disponible décrivant Comment utiliser les sockets Python pour communiquer via Bluetooth. Bien que l’utilisation de Bluetooth avec ces sockets puisse être facile pour quelqu&#39;un qui sait déjà utiliser les sockets Python, le manque de documentation laisse de nombreuses personnes ignorantes de l’existence même de cette méthode d’utilisation de Bluetooth. Depuis que PyBluez a été porté sur Python 3, l’utilisation des sockets Python natifs a une utilisation limitée.\nCompétence requise: trouver l&#39;adresse MAC d&#39;un adaptateur Bluetooth\nPour exécuter les exemples, l&#39;adresse MAC de l&#39;adaptateur Bluetooth utilisé par le serveur doit être connue. L&#39;application client utilise cette adresse pour se connecter au serveur. Sous Linux, vous pouvez obtenir une liste de tous les périphériques Bluetooth disponibles et de leurs adresses MAC à l’aide de la commande hciconfig, ainsi:"},{"id":"text-3","heading":"Text","content":"Messagerie du client\nCette application connecte deux appareils via Bluetooth et permet à l&#39;un d&#39;envoyer des messages à l&#39;autre. Le périphérique d&#39;envoi fonctionne socketClient.pyet le périphérique de réception fonctionne socketServer.py. Ces scripts sont présentés ci-dessous, en utilisant d’abord les sockets Python, puis PyBluez:"},{"id":"text-4","heading":"Text","content":"Sockets python\nClient (socketClient.py)"},{"id":"text-5","heading":"Text","content":"1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17"},{"id":"text-6","heading":"Text","content":"&quot;&quot; &quot;\nUn simple script Python pour envoyer des messages à un serveur via Bluetooth en utilisant\nSockets Python (avec Python 3.3 ou supérieur).\n&quot;&quot; &quot;"},{"id":"text-7","heading":"Text","content":"importation prise"},{"id":"text-8","heading":"Text","content":"serverMACAddress = &#39;00: 1f: e1: dd: 08: 3d &#39;\nPort = 3\ns = prise.prise(prise.AF_BLUETOOTH, prise.SOCK_STREAM, prise.BTPROTO_RFCOMM)\ns.relier((serverMACAddress,Port))\ntandis que 1:\n    texte = contribution()\n    si texte == &quot;quitter&quot;:\n        Pause\n    s.envoyer(octets(texte, &#39;UTF-8&#39;))\ns.proche()"},{"id":"text-9","heading":"Text","content":"Serveur (socketServer.py)"},{"id":"text-10","heading":"Text","content":"1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25"},{"id":"text-11","heading":"Text","content":"&quot;&quot; &quot;\nUn simple script Python pour recevoir des messages d&#39;un client sur\nBluetooth utilisant des sockets Python (avec Python 3.3 ou supérieur).\n&quot;&quot; &quot;"},{"id":"text-12","heading":"Text","content":"importation prise"},{"id":"text-13","heading":"Text","content":"hostMACAddress = &#39;00: 1f: e1: dd: 08: 3d &#39; # L&#39;adresse MAC d&#39;un adaptateur Bluetooth sur le serveur. Le serveur peut avoir plusieurs adaptateurs Bluetooth.\nPort = 3 # 3 est un choix arbitraire. Cependant, il doit correspondre au port utilisé par le client.\narriéré = 1\nTaille = 1024\ns = prise.prise(prise.AF_BLUETOOTH, prise.SOCK_STREAM, prise.BTPROTO_RFCOMM)\ns.lier((hostMACAddress,Port))\ns.écoute(arriéré)\nessayer:\n    client, adresse = s.Acceptez()\n    tandis que 1:\n        Les données = client.recv(Taille)\n        si Les données:\n            impression(Les données)\n            client.envoyer(Les données)\nsauf:\t\n    impression(&quot;Prise de fermeture&quot;)\t\n    client.proche()\n    s.proche()"},{"id":"text-14","heading":"Text","content":"En passant, ce code est presque identique au code requis pour créer une application client-serveur sur Internet. Tout ce qui doit être changé, ce sont les deux lignes:"},{"id":"text-15","heading":"Text","content":"1\n2\n3\n4\n5\n6\nsept\n8\n9"},{"id":"text-16","heading":"Text","content":"# Pour le serveur\ns = prise.prise(prise.AF_INET, prise.SOCK_STREAM)\ns.lier((&quot;192.168.1.17&quot;,50001)) # L&#39;adresse MAC Bluetooth et le port RFCOMM sont remplacés par une adresse IP et un port TCP."},{"id":"text-17","heading":"Text","content":"# Pour le client\ns = prise.prise(prise.AF_INET, prise.SOCK_STREAM)\ns.relier((&quot;192.168.1.17&quot;,50001))"},{"id":"text-18","heading":"Text","content":"# Remarque: il s’agit d’adresses IP et de ports TCP arbitraires."},{"id":"text-19","heading":"Text","content":"PyBluez\nPour comparer, voici l’application fonctionnellement identique écrite à l’aide de la bibliothèque PyBluez.\nClient (PyBluezClient.py)"},{"id":"text-20","heading":"Text","content":"1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17"},{"id":"text-21","heading":"Text","content":"&quot;&quot; &quot;\nUn simple script Python pour envoyer des messages à un serveur via Bluetooth\nen utilisant PyBluez (avec Python 2).\n&quot;&quot; &quot;"},{"id":"text-22","heading":"Text","content":"importation Bluetooth"},{"id":"text-23","heading":"Text","content":"serverMACAddress = &#39;00: 1f: e1: dd: 08: 3d &#39;\nPort = 3\ns = Bluetooth.Prise Bluetooth(Bluetooth.RFCOMM)\ns.relier((serverMACAddress, Port))\ntandis que 1:\n    texte = entrée brute() # Remarque: passage à l&#39;ancien (Python 2) raw_input\n    si texte == &quot;quitter&quot;:\n    Pause\n    s.envoyer(texte)\nchaussette.proche()"},{"id":"text-24","heading":"Text","content":"Serveur (PyBluezServer.py)"},{"id":"text-25","heading":"Text","content":"1\n2\n3\n4\n5\n6\nsept\n8\n9\ndix\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25"},{"id":"text-26","heading":"Text","content":"&quot;&quot; &quot;\nUn simple script Python pour recevoir des messages d&#39;un client sur\nBluetooth en utilisant PyBluez (avec Python 2).\n&quot;&quot; &quot;"},{"id":"text-27","heading":"Text","content":"importation Bluetooth"},{"id":"text-28","heading":"Text","content":"hostMACAddress = &#39;00: 1f: e1: dd: 08: 3d &#39; # L&#39;adresse MAC d&#39;un adaptateur Bluetooth sur le serveur. Le serveur peut avoir plusieurs adaptateurs Bluetooth.\nPort = 3\narriéré = 1\nTaille = 1024\ns = Bluetooth.Prise Bluetooth(Bluetooth.RFCOMM)\ns.lier((hostMACAddress, Port))\ns.écoute(arriéré)\nessayer:\n    client, clientInfo = s.Acceptez()\n    tandis que 1:\n        Les données = client.recv(Taille)\n        si Les données:\n            impression(Les données)\n            client.envoyer(Les données) # Écho au client\nsauf:\t\n    impression(&quot;Prise de fermeture&quot;)\n    client.proche()\n    s.proche()"},{"id":"text-29","heading":"Text","content":"Conclusion\nPyBluez est le moyen le plus efficace de communiquer via Bluetooth en utilisant Python. Les sockets Python peuvent maintenant être utilisés pour la communication Bluetooth (depuis Python 3.3). Pour une application simple, le code est presque identique. Cependant, pour certaines tâches, telles que la découverte de périphériques et les publications de services Bluetooth, il ne semble pas possible de les exécuter à l&#39;aide de sockets Python. En conséquence, PyBluez a surpassé à bien des égards les sockets Python. Cette question Stackoverflow traite de certaines des limitations des sockets Python pour Bluetooth.\nLectures complémentaires\nIl y a peu ou pas d&#39;informations sur la programmation Bluetooth avec les sockets Python. Il y a beaucoup d&#39;informations sur PyBluez. Voici quelques ressources utiles:"},{"id":"text-30","heading":"Text","content":"Bluetooth Essentials pour les programmeurs\nCouvre de nombreux langages de programmation et utilise PyBluez avec Python. Idéal pour commencer vite et gagner la compréhension en cours de route.\nExemples PyBluez\nExemple de code couvrant diverses tâches Bluetooth."},{"id":"text-31","heading":"Text","content":"Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]"}],"media":{"primary_image":"https://tutos-gameserver.fr/wp-content/uploads/2019/09/hciconfig.png"},"relations":[{"rel":"canonical","href":"https://tutos-gameserver.fr/2019/09/27/programmation-bluetooth-avec-python-3-bien-choisir-son-serveur-d-impression/"},{"rel":"alternate","href":"https://tutos-gameserver.fr/2019/09/27/programmation-bluetooth-avec-python-3-bien-choisir-son-serveur-d-impression/llm","type":"text/html"},{"rel":"alternate","href":"https://tutos-gameserver.fr/2019/09/27/programmation-bluetooth-avec-python-3-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}