{"id":10009,"date":"2025-03-18T09:18:17","date_gmt":"2025-03-18T08:18:17","guid":{"rendered":"https:\/\/www.boichat.ch\/wordpress\/?p=10009"},"modified":"2025-11-02T08:44:29","modified_gmt":"2025-11-02T07:44:29","slug":"raspberry-pi-5","status":"publish","type":"post","link":"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/","title":{"rendered":"Raspberry Pi 5 avec Java et Python"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"10009\" class=\"elementor elementor-10009\">\n\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-31edf0f e-flex e-con-boxed e-con e-parent\" data-id=\"31edf0f\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-38f4c42 elementor-hidden-mobile elementor-widget elementor-widget-spacer\" data-id=\"38f4c42\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2a01654 elementor-widget elementor-widget-heading\" data-id=\"2a01654\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Raspberry Pi 5  avec Java et Python<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-36d9f90 elementor-widget elementor-widget-spacer\" data-id=\"36d9f90\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-db889be e-flex e-con-boxed e-con e-parent\" data-id=\"db889be\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dd0b2b1 elementor-widget elementor-widget-text-editor\" data-id=\"dd0b2b1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default elementor-inline-editing pen\" style=\"text-align: center;\" contenteditable=\"true\" data-elementor-setting-key=\"title\" data-pen-placeholder=\"\u00c9crivez ici...\"><span style=\"font-size: 34px;\"><em>Une \u00e9tude de mon tout dernier Pi<\/em><\/span><\/h2>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-17bd5fe e-flex e-con-boxed e-con e-parent\" data-id=\"17bd5fe\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9f000a2 elementor-hidden-mobile elementor-widget elementor-widget-spacer\" data-id=\"9f000a2\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9f1342f e-flex e-con-boxed e-con e-parent\" data-id=\"9f1342f\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ade96d1 elementor-widget elementor-widget-text-editor\" data-id=\"ade96d1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: center;\"><span style=\"font-family: georgia, palatino; font-size: 19px;\"><strong>Date de la derni\u00e8re modification: 2 novembre 2025<\/strong> et commenc\u00e9 mi-septembre\u00a02024<br \/><br \/><\/span><\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: center;\"><span style=\"font-family: georgia, palatino; font-size: 19px;\"><b>En travail<\/b> : \u00e9tudes des diff\u00e9rences avec les anciennes versions du\u00a0<b>Pi<\/b>, en particulier les broches <b>GPIO<\/b>!<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-family: georgia, palatino; font-size: 19px;\">Au d\u00e9but, il y aura sans doute quelques erreurs, des impr\u00e9cisions et pas mal d&#8217;adaptations dues aux libraries et au mod\u00e8les anciens comme le <b>Raspberry Pi\u00a04<\/b>!<\/span><\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: center;\"><span style=\"font-family: georgia, palatino; font-size: 19px;\">Le <b>Raspberry Pi<\/b> est en fait un outil didactique incroyable pour apprendre \u00e0 configurer un syst\u00e8me d&#8217;exploitation, \u00e0 utiliser les commandes <b>Linux<\/b>, sa console et \u00e9videmment la <b>programmation Python et Java<\/b> (deux des langages les plus pr\u00e9sents et pris\u00e9s dans le monde informatique d&#8217;aujourd&#8217;hui). J&#8217;ai d\u00e9couvert r\u00e9cemment\u00a0<\/span><span style=\"font-size: 18px;\"><strong><a href=\"https:\/\/gemini.google.com\/\" target=\"_blank\" rel=\"noopener\">Gemini de Google<\/a><\/strong><\/span><span style=\"font-family: georgia, palatino; font-size: 19px;\">\u00a0et <strong><a href=\"https:\/\/www.perplexity.ai\/\" target=\"_blank\" rel=\"noopener\">Perplexity<\/a><\/strong>, <\/span><span style=\"text-align: var(--text-align); font-size: 19px;\"><span style=\"font-family: georgia, palatino;\">des agents conversationnels<\/span><\/span><span style=\"font-family: georgia, palatino; font-size: 19px; text-align: var(--text-align); color: var( --e-global-color-text );\">\u00a0<\/span><span style=\"color: var( --e-global-color-text ); text-align: var(--text-align); font-weight: bolder; font-family: georgia, palatino; font-size: 19px;\">IA\u00a0<\/span><span style=\"color: var( --e-global-color-text ); text-align: var(--text-align); font-family: georgia, palatino; font-size: 19px;\">(<\/span><span style=\"color: var( --e-global-color-text ); text-align: var(--text-align); font-weight: bolder; font-family: georgia, palatino; font-size: 19px;\">AI<\/span><span style=\"text-align: var(--text-align); color: var( --e-global-color-text ); font-family: georgia, palatino; font-size: 19px;\">,\u00a0<\/span><span style=\"font-family: georgia, palatino; font-size: 19px; color: var( --e-global-color-text );\">intelligence artificielle<\/span><span style=\"text-align: var(--text-align); color: var( --e-global-color-text ); font-family: georgia, palatino; font-size: 19px;\">)<\/span><span style=\"text-align: var(--text-align); color: var( --e-global-color-text ); font-family: georgia, palatino; font-size: 19px;\">, qui donnent aussi de superbes r\u00e9ponses lors de recherches de th\u00e8mes, de code ou d&#8217;<\/span><strong style=\"text-align: var(--text-align); color: var( --e-global-color-text ); font-family: georgia, palatino; font-size: 19px;\">API<\/strong><span style=\"text-align: var(--text-align); color: var( --e-global-color-text ); font-family: georgia, palatino; font-size: 19px;\"> \u00e0 utiliser en langage <\/span><strong style=\"text-align: var(--text-align); color: var( --e-global-color-text ); font-family: georgia, palatino; font-size: 19px;\">Python<\/strong><span style=\"text-align: var(--text-align); color: var( --e-global-color-text ); font-family: georgia, palatino; font-size: 19px;\"> et <\/span><strong style=\"text-align: var(--text-align); color: var( --e-global-color-text ); font-family: georgia, palatino; font-size: 19px;\">Java<\/strong><span style=\"text-align: var(--text-align); color: var( --e-global-color-text ); font-family: georgia, palatino; font-size: 19px;\">.<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"text-align: var(--text-align);\"><br \/><span style=\"font-family: georgia, palatino;\"><span style=\"font-size: 19px;\">Dans plusieurs cas d&#8217;application, utiliser un microcontr\u00f4leur\u00a0\u00a0du type <\/span><\/span><strong style=\"font-family: georgia, palatino; font-size: 19px;\">ESP32 <\/strong><span style=\"font-family: georgia, palatino;\"><span style=\"font-size: 19px;\">ou <\/span><\/span><strong style=\"font-family: georgia, palatino; font-size: 19px;\">Arduino <\/strong><span style=\"font-family: georgia, palatino;\"><span style=\"font-size: 19px;\">pourra aussi aider \u00e0 comprendre, configurer et programmer un capteur ou un relais.<br \/><br \/><\/span><\/span><\/span><\/p>\n<p style=\"text-align: center;\">\u00a0<\/p>\n<p style=\"text-align: center;\"><span style=\"font-family: georgia, palatino; font-size: 22px;\">Le point de d\u00e9part c&#8217;est \u00e9videmment mon\u00a0<span style=\"text-align: var(--text-align);\"><a href=\"https:\/\/www.boichat.ch\/wpjrsp\/\" target=\"_blank\" rel=\"noopener\">Un livre sur Java, Python, Eclipse et le Raspberry Pi 3<\/a> dont je reprends les exemples en faisant des adaptations pour le <strong>Pi 5<\/strong> et en y d\u00e9couvrant des alternatives de design!<\/span><\/span><\/p>\n<p>\u00a0<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-035c2db e-flex e-con-boxed e-con e-parent\" data-id=\"035c2db\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0db7c45 elementor-widget elementor-widget-spacer\" data-id=\"0db7c45\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e58f944 e-flex e-con-boxed e-con e-parent\" data-id=\"e58f944\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0ade608 elementor-widget elementor-widget-spacer\" data-id=\"0ade608\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a186e72 elementor-widget elementor-widget-text-editor\" data-id=\"a186e72\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: center;\">Projet: au choix, minuterie pour ma pompe de filtration (piscine) ou luminaire int\u00e9rieur.<br \/>Besoin, au minimum: un relais (5 &#8211; 220V), un ou plusieurs capteurs de temp\u00e9rature et un senseur de lumi\u00e8re.<br \/>Pas d&#8217;\u00e9cran, mais acc\u00e8s avec une connexion \u00e0 distance et un serveur Web.<br \/>D\u00e9veloppement du logiciel sur PC (dont <b>Eclipse <\/b>ou simplement <b>Notepad++<\/b> ).<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c175b6e elementor-widget elementor-widget-text-editor\" data-id=\"c175b6e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: center;\"><span style=\"font-size: 20px;\"><em>Pour les d\u00e9butants &#8220;tout neufs&#8221; je conseillerais peut-\u00eatre de <strong><a href=\"#a_PIR\">commencer par le capteur de pr\u00e9sence (PIR) en fin d&#8217;article<\/a><\/strong>.<\/em><br \/><\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-26fb7fd elementor-widget elementor-widget-spacer\" data-id=\"26fb7fd\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7c74d32 elementor-widget elementor-widget-text-editor\" data-id=\"7c74d32\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: center;\">L&#8217;application d\u00e9crite dans l&#8217;article\u00a0<strong><a href=\"https:\/\/www.boichat.ch\/wordpress\/2018\/02\/02\/raspberry-pi-3-java-un-projet-consequent\/\" target=\"_blank\" rel=\"noopener\">Raspberry Pi 3 \u2013 Java \u2013 Un projet cons\u00e9quent<\/a><\/strong> fonctionne depuis plus de 10 ans sur mon armoire \u00e0 l&#8217;entr\u00e9e avec un <b>Pi Zero <\/b>(un de mes 6 <b>Raspberry Pi<\/b>)! <br \/>Les luminaires sont allum\u00e9s en fonction des heures du lever et du coucher du soleil. Il y a une partie d&#8217;al\u00e9atoire (simulation de pr\u00e9sence) ainsi qu&#8217;un capteur de mouvements si je descend les escaliers et qu&#8217;il y a pas assez de lumi\u00e8re (donc un autre capteur).<\/p>\n<p style=\"text-align: center;\">Celui que j&#8217;utilise le plus souvent, ces jours-ci, en d\u00e9but d&#8217;automne 2024, est d\u00e9crit dans\u00a0<a href=\"https:\/\/www.boichat.ch\/wordpress\/2023\/11\/27\/comment-regler-sa-pompe-a-chaleur-pour-une-consommation-optimale-delectricite\/\" target=\"_blank\" rel=\"noopener\">Comment r\u00e9gler sa pompe \u00e0 chaleur pour une consommation optimale d&#8217;\u00e9lectricit\u00e9<\/a>. Je consulte son interface <b>Web <\/b>plusieurs fois par jour!<\/p>\n<p style=\"text-align: center;\">Il faut parfois pas mal de courage pour s&#8217;y retrouver dans l&#8217;utilisation de ces capteurs. Moi-m\u00eame j&#8217;ai souvent un <b>ESP32<\/b> allum\u00e9<b>\u00a0<\/b>\u00e0 c\u00f4t\u00e9 de mon <b>Raspberry Pi<\/b>\u00a0et avec un <a href=\"https:\/\/www.arduino.cc\/en\/software\" target=\"_blank\" rel=\"noopener\"><strong>Arduino<\/strong> IDE<\/a> actif sur mon PC. L&#8217;article\u00a0<a href=\"https:\/\/www.electronicwings.com\/esp32\/pir-sensor-interfacing-with-esp32\" target=\"_blank\" rel=\"noopener\">PIR Sensor Interfacing with ESP32<\/a> devrait donner des id\u00e9es aux lecteurs. L&#8217;<b>ESP32 <\/b>poss\u00e8de deux c\u0153urs o\u00f9 il est possible de traiter deux &#8220;applications&#8221; en parall\u00e8le similaire \u00e0 deux threads en <b>Java<\/b>. Donc un moyen de tester le fonctionnement des timings des capteurs et d&#8217;analyser d&#8217;autres approches de design!<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c8f8b22 e-flex e-con-boxed e-con e-parent\" data-id=\"c8f8b22\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-43ce818 elementor-widget elementor-widget-spacer\" data-id=\"43ce818\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-32f878c e-flex e-con-boxed e-con e-parent\" data-id=\"32f878c\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-6939f55 e-con-full e-flex e-con e-child\" data-id=\"6939f55\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;full&quot;}\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b2a325e e-con-full e-flex e-con e-child\" data-id=\"b2a325e\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;full&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d489db8 elementor-widget__width-initial elementor-widget elementor-widget-image\" data-id=\"d489db8\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" loading=\"lazy\" width=\"600\" height=\"555\" src=\"https:\/\/www.boichat.ch\/wordpress\/wp-content\/uploads\/2024\/09\/minuterie.jpg\" class=\"attachment-large size-large wp-image-10322\" alt=\"\" srcset=\"https:\/\/www.boichat.ch\/wordpress\/wp-content\/uploads\/2024\/09\/minuterie.jpg 600w, https:\/\/www.boichat.ch\/wordpress\/wp-content\/uploads\/2024\/09\/minuterie-300x278.jpg 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-65dc3e9 e-con-full e-flex e-con e-child\" data-id=\"65dc3e9\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;full&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b038b8a elementor-widget elementor-widget-spacer\" data-id=\"b038b8a\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-51430ae elementor-widget elementor-widget-text-editor\" data-id=\"51430ae\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: center;\">L&#8217;id\u00e9e ici est de programmer le <b>Pi 5<\/b> comme on le ferait avec une minuterie journali\u00e8re m\u00e9canique, o\u00f9 il suffit d&#8217;abaisser les touches des quarts d\u2019heure. Pour une piscine, les p\u00e9riodes de filtrations d\u00e9pendent essentiellement de la temp\u00e9rature de l&#8217;eau et il pourrait \u00eatre possible de passer en auto-consommation si l&#8217;on poss\u00e8de une installation photovolta\u00efque (partie \u00e0 \u00e9tudier encore)!<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ac71dc5 e-flex e-con-boxed e-con e-parent\" data-id=\"ac71dc5\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-457bc2d elementor-widget elementor-widget-spacer\" data-id=\"457bc2d\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-126a3c3 e-flex e-con-boxed e-con e-parent\" data-id=\"126a3c3\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-754604c elementor-widget elementor-widget-spacer\" data-id=\"754604c\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8aa815d elementor-widget elementor-widget-text-editor\" data-id=\"8aa815d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: center;\"><span style=\"font-size: 24px;\"><strong>Un peu d&#8217;histoire et quelles versions<\/strong><\/span><\/p>\n<p style=\"text-align: center;\">Mon premier <strong>Raspberry Pi<\/strong> date de <strong>2014<\/strong>, il n&#8217;avait ni <strong>Wi-Fi<\/strong>, ni <strong>Java<\/strong>.<br \/>J&#8217;y avais ajout\u00e9 un <b>dongle Wi-Fi USB<\/b> et install\u00e9 \u00e0 la main une machine virtuelle <b>Java<\/b>\u00a0(mon langage de programmation favori)!<\/p>\n<p style=\"text-align: center;\">On trouver de nos jours, sur le <b>Web,\u00a0<\/b>une foule d&#8217;articles et de codes d\u00e9di\u00e9s aux composants \u00e9lectroniques divers qu&#8217;on peut attacher aux broches (<strong>pinouts<\/strong>) <b>GPIO <\/b>du <b>Raspberry Pi<\/b>. <br \/>Les exemples en <b>Python <\/b>d&#8217;avant<b> Pi 5 <\/b>(donc avec la librairie <strong>RPi.GPIO<\/strong>) devront donc \u00eatre adapt\u00e9s et revisit\u00e9s pour satisfaire ce nouveau\u00a0<b>Pi 5<\/b>\u00a0avec de nouvelles biblioth\u00e8ques <b>GPIO <\/b>(un peu d\u00e9\u00e7u et contrari\u00e9). <br \/>Donc attention: un <b>Ctrl-C Ctrl-V d&#8217;anciens scripts code Python ne suffira pas<\/b>.<\/p>\n<p style=\"text-align: center;\">J&#8217;ai l&#8217;habitude de noter dans mes script <b>Python <\/b>\u00e0 la fois le num\u00e9ro de la broche et celui du <b>GPIO<\/b>. Par exemple:<br \/><span style=\"font-size: 20px;\"><strong><span style=\"font-family: 'courier new', courier;\">RelayPin = 23 # broche 16 (GPIO 23 &#8211; PI 5)<\/span><\/strong><\/span><br \/>On le comprendra bien sur le sch\u00e9ma\u00a0<strong><a href=\"https:\/\/community.element14.com\/products\/raspberry-pi\/m\/files\/148385\" target=\"_blank\" rel=\"noopener\">Raspberry Pi 5 Pinouts including GPIO for the 40 Pin Header<\/a><\/strong> o\u00f9 <b>pin <\/b>c&#8217;est <b>broche <\/b>et le <b>pin 01 (3.3V)<\/b> est \u00e0 l&#8217;int\u00e9rieur comme tous les impaires.<\/p>\n<p style=\"text-align: center;\">Voir aussi, par exemple: <strong><a href=\"https:\/\/next.ink\/815\/voici-raspberry-pi-5-avec-ameliorations-a-tous-etages-et-bouton-power\/\" target=\"_blank\" rel=\"noopener\">Voici le Raspberry Pi 5 avec des am\u00e9liorations \u00e0 tous les \u00e9tages<\/a><\/strong>!<\/p>\n<p style=\"text-align: center;\">J&#8217;ai actuellement trois <b>Raspberry Pi<\/b> actifs, deux en travail sur mon bureau , donc 5 <b>IP<\/b>s diff\u00e9rents. <br \/>La commande\u00a0<b>cat \/sys\/firmware\/devicetree\/base\/model <\/b>retourne le mod\u00e8le et c&#8217;est pratique pour s&#8217;y retrouver, parfois!!<br \/><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">Si on a des doutes sur la version d&#8217;<\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>OS<\/b><\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\"> install\u00e9e, c&#8217;est la commande\u00a0<\/span><b style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\">cat \/etc\/os-release<\/b><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">.<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">Parfois on ne sait plus avec quelles versions de <\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>Java <\/b><\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">ou de <\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>Python <\/b><\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">on travaille, alors<\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b> java -version<\/b><\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\"> et <\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>python -V<\/b><\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">.<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">Lorsqu&#8217;on bricole avec de petits programmes, c&#8217;est mieux de positionner ces outils dans des r\u00e9pertoires fixes sur la racine\u00a0<\/span><span style=\"text-align: var(--text-align);\"><strong>\/home\/pi<\/strong> comme chez moi dans des sous-r\u00e9pertoires s\u00e9par\u00e9s\u00a0<strong>python<\/strong> ou <strong>jbb_java<\/strong>.<\/span><\/p>\n<div style=\"text-align: center;\">\n<p><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">The <\/span><b style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\">Pi 5<\/b><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\"> est similaire au <\/span><b style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\">Pi 4 avec les m\u00eames broches GPIO<\/b><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">, mais attention aux librairies <\/span><b style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\">GPIO<\/b><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">.<\/span><\/p>\n<\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-83bd12a e-flex e-con-boxed e-con e-parent\" data-id=\"83bd12a\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1f767ad elementor-hidden-mobile elementor-widget elementor-widget-spacer\" data-id=\"1f767ad\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0bd82c5 e-flex e-con-boxed e-con e-parent\" data-id=\"0bd82c5\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-328c80c elementor-widget elementor-widget-spacer\" data-id=\"328c80c\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-71c4a89 elementor-widget elementor-widget-text-editor\" data-id=\"71c4a89\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: center;\"><span style=\"font-size: 24px;\"><strong>Installation<\/strong><\/span><\/p>\n<p style=\"text-align: center;\">Le logiciel Windows\u00a0<span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: bold;\">Raspberry Pi Imager v1.8.5,\u00a0<\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">pour cr\u00e9er la carte <\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>SD,\u00a0<\/b><\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">est disponible sur le<\/span><a style=\"font-family: var( --e-global-typography-text-font-family ), Sans-serif; background-color: #efefef;\" href=\"https:\/\/www.raspberrypi.com\/software\/\" target=\"_blank\" rel=\"noopener\"> site du Raspberry Pi<\/a><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">. <br \/>Cette carte sera ensuite ins\u00e9r\u00e9e\u00a0<\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">sous le bo\u00eetier du\u00a0<\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><span style=\"font-weight: bold;\">Pi 5<\/span>.<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bd10859 elementor-hidden-mobile elementor-widget elementor-widget-spacer\" data-id=\"bd10859\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0fb94a9 elementor-widget elementor-widget-spacer\" data-id=\"0fb94a9\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e4edf0a e-flex e-con-boxed e-con e-parent\" data-id=\"e4edf0a\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-52f12eb elementor-widget elementor-widget-text-editor\" data-id=\"52f12eb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: center;\"><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\">Ce logiciel permet aussi de cr\u00e9er une carte <strong>SD<\/strong> avec un autre syst\u00e8me d&#8217;exploitation support\u00e9 et valide pour par exemple le <strong>Raspberry Pi 4<\/strong>.<br \/>Le <strong>Pi 5<\/strong> avec <strong>Bookworm 64 bits<\/strong> ne fonctionne pas pour mesurer la lumi\u00e8re avec un <strong>photo senseur<\/strong> et la librairie <strong>gpiozero<\/strong>. Il faut alors utiliser un <strong>Pi 4<\/strong> avec <strong>Bullseye 32 bits<\/strong> et la librairie\u00a0<\/span><span style=\"text-align: var(--text-align);\"><strong>RPi.GPIO<\/strong> qui est utilis\u00e9e <\/span><span style=\"text-align: var(--text-align);\">mon livre <strong><a href=\"https:\/\/www.boichat.ch\/wpjrsp\/\" target=\"_blank\" rel=\"noopener\">Programmer en Java pour le Raspberry Pi<\/a><\/strong>)<\/span><span style=\"text-align: var(--text-align); color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">.<br \/>Il peut arriver qu&#8217;on joue \u00e0 la fois sur un <strong>Pi 4<\/strong> et et un <strong>Pi 5<\/strong> et c&#8217;est facile avec nos planches \u00e0 pain puisque les broches (pinouts) sont \u00e9quivalentes.<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-366e067 elementor-widget elementor-widget-spacer\" data-id=\"366e067\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7cabf55 e-flex e-con-boxed e-con e-parent\" data-id=\"7cabf55\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-27d75a6 elementor-widget elementor-widget-text-editor\" data-id=\"27d75a6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: center;\">Pour les anciens Raspberry Pi, la partie de la configuration <b>WiFi <\/b>et du <strong>SSH<\/strong> \u00e9taient bien moins agr\u00e9able!<\/p>\n<p style=\"text-align: center;\">On lance l&#8217;application pour ensuite c<span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">hoisir le mod\u00e8le <strong>Pi 5<\/strong> et la version <strong>PI OS (64 bit)<\/strong> plus rapide de 25% que la <strong>32<\/strong> bit. <br \/>On choisira le stockage (<strong>K:<\/strong> chez moi), un lecteur <strong>USB<\/strong> de cartes <strong>SD<\/strong> avec une carte vierge ou effa\u00e7able (<strong>SanDisk Ultra PLUS microSDHC de 32 GBytes<\/strong> pour moi).<br \/>En cliquant sur <strong>SUIVANT<\/strong> on obtient la fen\u00eatre suivante:<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a3ee79d elementor-widget elementor-widget-spacer\" data-id=\"a3ee79d\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b398c0e e-flex e-con-boxed e-con e-parent\" data-id=\"b398c0e\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-1888f24 e-con-full e-flex e-con e-child\" data-id=\"1888f24\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;full&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-44f3a9c elementor-hidden-mobile elementor-widget elementor-widget-spacer\" data-id=\"44f3a9c\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d6e61a8 elementor-widget elementor-widget-image\" data-id=\"d6e61a8\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" loading=\"lazy\" width=\"800\" height=\"557\" src=\"https:\/\/www.boichat.ch\/wordpress\/wp-content\/uploads\/2024\/09\/install3.jpg\" class=\"attachment-large size-large wp-image-10011\" alt=\"\" srcset=\"https:\/\/www.boichat.ch\/wordpress\/wp-content\/uploads\/2024\/09\/install3.jpg 800w, https:\/\/www.boichat.ch\/wordpress\/wp-content\/uploads\/2024\/09\/install3-300x209.jpg 300w, https:\/\/www.boichat.ch\/wordpress\/wp-content\/uploads\/2024\/09\/install3-768x535.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2aea98f elementor-hidden-mobile elementor-widget elementor-widget-spacer\" data-id=\"2aea98f\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5dd9e9e e-con-full e-flex e-con e-child\" data-id=\"5dd9e9e\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;full&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8134001 elementor-widget elementor-widget-image\" data-id=\"8134001\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" loading=\"lazy\" width=\"600\" height=\"725\" src=\"https:\/\/www.boichat.ch\/wordpress\/wp-content\/uploads\/2024\/09\/install4.jpg\" class=\"attachment-large size-large wp-image-10012\" alt=\"\" srcset=\"https:\/\/www.boichat.ch\/wordpress\/wp-content\/uploads\/2024\/09\/install4.jpg 600w, https:\/\/www.boichat.ch\/wordpress\/wp-content\/uploads\/2024\/09\/install4-248x300.jpg 248w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f587d5b e-flex e-con-boxed e-con e-parent\" data-id=\"f587d5b\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-98d61c0 e-con-full e-flex e-con e-child\" data-id=\"98d61c0\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;full&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7f3ecae elementor-widget elementor-widget-text-editor\" data-id=\"7f3ecae\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Le bouton <strong>MODIFIER REGLAGE<\/strong> permet de d\u00e9finir <strong>un nom<\/strong> pour ce Pi et le param\u00e8tres <strong>WiFi<\/strong>. J&#8217;utilise le m\u00eame mot de passe que mes autres <b>Pi <\/b>et il faut conna\u00eetre les param\u00e8tres du routeur!<\/p>\n<p>Dans l&#8217;onglet <b>SERVICES <\/b>positioner les cases <b>SSH <\/b>avec mot de passe!<\/p>\n<p>On enregistre les r\u00e9glages (bouton\u00a0<b>ENREGISTRER<\/b>) , on les applique et on en d\u00e9marre l&#8217;\u00e9criture avec le bouton <b>OUI<\/b>.<br \/>Accepter que toutes les donn\u00e9es soient effac\u00e9es (<b>disque USB K:<\/b> chez moi) et c&#8217;est parti:<\/p>\n<p>A la fin de l&#8217;\u00e9criture on re\u00e7oit un message indiquant qu&#8217;on peut retirer la carte <b>SD<\/b>!\u00a0 <b>Celle-ci contient le syst\u00e8me d&#8217;exploitation Raspberry Pi OS.<\/b><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d44b857 e-con-full e-flex e-con e-child\" data-id=\"d44b857\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;full&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-486554b elementor-hidden-mobile elementor-widget elementor-widget-spacer\" data-id=\"486554b\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eea9913 elementor-widget elementor-widget-image\" data-id=\"eea9913\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" loading=\"lazy\" width=\"600\" height=\"420\" src=\"https:\/\/www.boichat.ch\/wordpress\/wp-content\/uploads\/2024\/09\/install5.jpg\" class=\"attachment-large size-large wp-image-10013\" alt=\"\" srcset=\"https:\/\/www.boichat.ch\/wordpress\/wp-content\/uploads\/2024\/09\/install5.jpg 600w, https:\/\/www.boichat.ch\/wordpress\/wp-content\/uploads\/2024\/09\/install5-300x210.jpg 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d7cee0e e-flex e-con-boxed e-con e-parent\" data-id=\"d7cee0e\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-68bf201 elementor-widget elementor-widget-spacer\" data-id=\"68bf201\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f0b7576 elementor-widget elementor-widget-text-editor\" data-id=\"f0b7576\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><span style=\"font-size: 20px;\">Je lance mon outil <b>Web <\/b>pour l&#8217;acc\u00e8s \u00e0 mon routeur, j&#8217;ins\u00e8re la mini carte <strong>SD<\/strong> dans (sous) le<strong> Pi 5<\/strong>, je branche l&#8217;alimentation et j&#8217;attends de voir le clignotement de la led verte: je vois alors dans mon outil du routeur mon nouvel appareil actif avec l&#8217;adresse <strong>IP <\/strong><strong>192.168.1.121<\/strong> (ou autre) et le nom attribu\u00e9 <strong>PiPiscine<\/strong>!<\/span><\/p>\n<p>Avec la page <b>Web <\/b>qui g\u00e8re le r\u00e9seau de mon routeur, je lui attribue une <strong>adresse IP fixe<\/strong>, c&#8217;est bien pratique!<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-35219e6 e-flex e-con-boxed e-con e-parent\" data-id=\"35219e6\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7c48e5e elementor-widget elementor-widget-spacer\" data-id=\"7c48e5e\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d80e58c elementor-widget elementor-widget-text-editor\" data-id=\"d80e58c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><strong><span style=\"font-size: 18px;\">Premier acc\u00e8s avec Putty\u00a0 (expliquer: \u00e0 faire)<\/span><\/strong><br \/>Il me permet d&#8217;acc\u00e9der \u00e0 mon nouveau Pi 5 dans une console! <br \/>Et \u00e7a fonctionne!<\/p>\n<p><strong><span style=\"font-size: 18px;\">Premier acc\u00e8s avec WinScp\u00a0 (expliquer: \u00e0 faire)<\/span><\/strong><br \/>C&#8217;est un acc\u00e8s pour transf\u00e9rer des fichiers depuis ou sur mon PC.<br \/>Et \u00e7a fonctionne!<\/p>\n<p>Pour terminer, dans <strong>Putty<\/strong>, la commande\u00a0<strong>sudo halt<\/strong> permet de\u00a0<strong>stopper correctement le Pi<\/strong>, c&#8217;est beaucoup mieux que de couper l&#8217;alimentation!\u00a0<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-195a70c e-flex e-con-boxed e-con e-parent\" data-id=\"195a70c\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9808558 elementor-widget elementor-widget-spacer\" data-id=\"9808558\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0b4f4e7 e-flex e-con-boxed e-con e-parent\" data-id=\"0b4f4e7\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-301b981 elementor-widget elementor-widget-spacer\" data-id=\"301b981\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f561eb9 elementor-widget elementor-widget-text-editor\" data-id=\"f561eb9\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: left;\"><span style=\"font-size: 24px;\"><strong>Utiliser un \u00e9cran et un clavier<\/strong><\/span><\/p>\n<p>Ce <b>Pi 5<\/b> sera install\u00e9 quelque part dans la maison, sans \u00e9cran, ni clavier, ni souris: un &#8220;simple&#8221; objet connect\u00e9 accessible avec <b>PuTTY <\/b>et <b>WinSCP<\/b>\u00a0et plus tard au travers du <b>Web<\/b>!<\/p>\n<p>L&#8217;installation d\u00e9crite ci-dessus a \u00e9videmment mont\u00e9 tout le logiciel afin de pouvoir travailler avec <b>un \u00e9cran HDMI<\/b>, <b>un clavier USB<\/b> et <b>une souris USB<\/b>. Il faudra sans doute <b>un mini adaptateur<\/b> pour un c\u00e2ble standard\u00a0<b>HDMI<\/b>. Le <b>Pi 5<\/b> c&#8217;est <b>MICRO-HDMI<\/b>.<br \/>A tout moment on pourra donc configurer son mat\u00e9riel et son <b>Pi 5 <\/b>pour <b>y travailler <\/b>(voire jouer ou consulter le <b>Web<\/b>) <b>comme un PC traditionnel<\/b>.\u00a0<\/p>\n<p>J&#8217;y reviendrai \u00e0 l&#8217;occasion pour les d\u00e9tails de configuration (\u00e9cran, langue, etc) avec la commande <b>sudo raspi-config<\/b>\u00a0, voire avec un <b>VNC <\/b>client. En <a href=\"https:\/\/www.raspberrypi.com\/news\/a-new-release-of-raspberry-pi-os\/\" target=\"_blank\" rel=\"noopener\">octobre 2024 une nouvelle version est sortie<\/a> qu&#8217;il faudrait sans doute consid\u00e9rer:\u00a0<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-99d61cb elementor-widget elementor-widget-spacer\" data-id=\"99d61cb\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-952a0ff e-flex e-con-boxed e-con e-parent\" data-id=\"952a0ff\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-756d3f5 elementor-widget elementor-widget-spacer\" data-id=\"756d3f5\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6036c8f e-flex e-con-boxed e-con e-parent\" data-id=\"6036c8f\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-671e5db elementor-widget elementor-widget-spacer\" data-id=\"671e5db\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4a6e8ab elementor-widget elementor-widget-spacer\" data-id=\"4a6e8ab\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-744636e elementor-widget elementor-widget-text-editor\" data-id=\"744636e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: left;\"><span style=\"font-size: 24px;\"><strong>Mise \u00e0 niveau et test de Python<\/strong><\/span><\/p>\n<p>C&#8217;est n\u00e9cessaire, et l&#8217;info ici:<a href=\"https:\/\/www.pcguide.com\/raspberry-pi\/how-to-update\/\" target=\"_blank\" rel=\"noopener\"> https:\/\/www.pcguide.com\/raspberry-pi\/how-to-update\/<\/a><\/p>\n<p><b>sudo apt update<\/b> (long processus, plusieurs minutes)<br \/><b>sudo apt full-upgrade<\/b> (assez plus rapide)<br \/><strong>sudo apt dist-upgrade<\/strong><br \/><strong>sudo apt autoremove<\/strong><br \/><strong>sudo reboot<\/strong><\/p>\n<p>On relance et on v\u00e9rifie un <strong>mini script Python<\/strong> d\u00e9pos\u00e9 dans <strong>le r\u00e9pertoire python<\/strong>:<\/p>\n<p><b>pi@PiPiscine:~\/python $ python hello.py<br \/><\/b><b style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; text-align: var(--text-align);\">Hello world!<br \/><\/b><b style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; text-align: var(--text-align);\">pi@PiPiscine:~\/python $<\/b><\/p>\n<div>\n<p>Cool, cela fonctionne, et je ne suis pas vraiment surpris!\u00a0\u00a0<span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">Par contre le script suivant ne marche pas:<\/span><\/p>\n<\/div>\n<p><strong>pi@PiPiscine:~\/python $ python relay.py<\/strong><br \/><strong><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; text-align: var(--text-align);\">Traceback (most recent call last):<br \/><\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; text-align: var(--text-align);\">\u00a0 \u00a0File &#8220;\/home\/pi\/python\/relay.py&#8221;, line 19, in &lt;module&gt;<br \/><\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; text-align: var(--text-align);\">\u00a0 \u00a0setup()<br \/><\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; text-align: var(--text-align);\">\u00a0 \u00a0File &#8220;\/home\/pi\/python\/relay.py&#8221;, line 9, in setup<br \/><\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; text-align: var(--text-align);\">\u00a0 \u00a0GPIO.setup(RelayPin, GPIO.OUT)\u00a0 \u00a0# RelayPin en mode output<br \/><\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; text-align: var(--text-align);\">\u00a0 \u00a0^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<br \/><\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; text-align: var(--text-align);\">\u00a0 \u00a0RuntimeError: Cannot determine SOC peripheral base address<br \/><\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; text-align: var(--text-align);\">pi@PiPiscine:~\/py<\/span><\/strong><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">\u00a0<\/span><\/p>\n<p>C&#8217;est un <a href=\"https:\/\/www.boichat.ch\/wpjrsp\/\" target=\"_blank\" rel=\"noopener\">script tir\u00e9 de mon livre<\/a> pour v\u00e9rifier un relais connect\u00e9 sur les broches <b>GPIO<\/b> et c&#8217;est la librairie <strong>RPi.GPIO<\/strong> qui est en cause!<br \/>Il y a donc du travail, pour comprendre voire r\u00e9utiliser du logiciel fonctionnant sur mes <b>Raspberry Pi<\/b> d&#8217;anciennes g\u00e9n\u00e9rations !<br \/>De nombreux exemples de code <b>Python <\/b>sur le <b>Web <\/b>contiennent des r\u00e9f\u00e9rences comme\u00a0<b>import RPi.GPIO as GPIO<\/b> qu&#8217;il faudra adapter ou recoder (voir ci-dessous, par exemple avec la librairie <b>gpiozero<\/b>).\u00a0<\/p>\n<p>Un certain nombres de scripts <b>Python <\/b>tir\u00e9s de <strong><a href=\"https:\/\/www.boichat.ch\/wordpress\/2019\/10\/09\/python-flask-raspberry-pi\/\" target=\"_blank\" rel=\"noopener\">mon livre<\/a><\/strong>, dont ce script <b>relay.py<\/b>, se trouvent sur mon site dans <strong><a href=\"https:\/\/www.boichat.ch\/javaraspberry\/codesource\/CodePython\/\" target=\"_blank\" rel=\"noopener\">le fichier CodePython.zip<\/a><\/strong>. <br \/>Ils sont valides pour les versions du <b>Raspberry Pi<\/b> jusqu&#8217;au <b>Pi4<\/b>.<\/p>\n<p>J&#8217;ai aussi \u00e9crit de nombreux articles comme le\u00a0<a href=\"https:\/\/www.boichat.ch\/wordpress\/2019\/10\/09\/python-flask-raspberry-pi\/\" target=\"_blank\" rel=\"noopener\">Python Web Flask et SQLite pour le Raspberry Pi<\/a> et d&#8217;autres disponible ici dans la <strong><a href=\"https:\/\/www.boichat.ch\/wordpress\/category\/raspbpi3\/\" target=\"_blank\" rel=\"noopener\">cat\u00e9gorie Raspberry Pi 3\/4<\/a><\/strong>.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ed4f478 e-flex e-con-boxed e-con e-parent\" data-id=\"ed4f478\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-01533ef elementor-widget elementor-widget-spacer\" data-id=\"01533ef\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c2bce53 e-flex e-con-boxed e-con e-parent\" data-id=\"c2bce53\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2c8c7f6 elementor-widget elementor-widget-spacer\" data-id=\"2c8c7f6\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5844db6 elementor-widget elementor-widget-text-editor\" data-id=\"5844db6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: left;\"><span style=\"font-size: 24px;\"><strong>Documentation: la librairie gpiozero<\/strong><\/span><\/p>\n<p>Ce n&#8217;est pas forc\u00e9ment un bon d\u00e9but, mais tout y est:\u00a0<strong><a href=\"https:\/\/acrobat.adobe.com\/id\/urn:aaid:sc:EU:68cd4c16-c7c5-4144-9cb7-599e2dcbceef?viewer%21megaVerb=group-discover\" target=\"_blank\" rel=\"noopener\">gpiozero 2.0.1 Documentation Release 2.0.1<\/a><\/strong>! C&#8217;est un PDF de 266 pages!<\/p>\n<p>Les habitu\u00e9s comme moi de la librairie\u00a0<b>RPi.GPIO<\/b> pourront consulter ce guide de migration:\u00a0<br \/><strong><a href=\"https:\/\/gpiozero.readthedocs.io\/en\/stable\/migrating_from_rpigpio.html\" target=\"_blank\" rel=\"noopener\">https:\/\/gpiozero.readthedocs.io\/en\/stable\/migrating_from_rpigpio.html<\/a><\/strong><\/p>\n<p>Avant de faire une quelconque installation il fait v\u00e9rifier si elle n&#8217;est pas d\u00e9j\u00e0 install\u00e9e!<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ef97213 elementor-widget elementor-widget-spacer\" data-id=\"ef97213\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7e49e23 e-flex e-con-boxed e-con e-parent\" data-id=\"7e49e23\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8aa5a27 elementor-widget elementor-widget-spacer\" data-id=\"8aa5a27\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-45aabe9 e-flex e-con-boxed e-con e-parent\" data-id=\"45aabe9\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8a602e7 elementor-widget elementor-widget-spacer\" data-id=\"8a602e7\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4cfbfb0 elementor-widget elementor-widget-text-editor\" data-id=\"4cfbfb0\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: left;\"><span style=\"font-size: 24px;\"><strong>Programmer en Python sur le Pi 5 ou sur un PC Windows<\/strong><\/span><\/p>\n<p>Pour d\u00e9buter pourquoi pas <strong><a href=\"https:\/\/devfreebooks.github.io\/python\/\" target=\"_blank\" rel=\"noopener\">cette liste de livres sur le langage Python<\/a><\/strong> que je dois encore v\u00e9rifier.<\/p>\n<p>Pour tous mes <b>Raspberry Pi <\/b>j&#8217;ai toujours d\u00e9velopp\u00e9 mon code <b>Python <\/b>sous <b>PC Windows<\/b>. Il y a \u00e9videmment l&#8217;alternative de travailler sur le <b>Pi 5 <\/b>avec un \u00e9cran et un clavier. Je ne l&#8217;ai jamais fait, pour l&#8217;instant.<\/p>\n<p>Souvent le code <b>Python <\/b>est vraiment minimaliste chez moi, puisque je travaille en <b>Java <\/b>pour le c\u0153ur de mes programmes. Donc une simple console avec <b>vi <\/b>ou <b>nano<\/b>\u00a0suffit, et on ex\u00e9cute directement!<\/p>\n<p>Si on est d\u00e9butant en <b>Python<\/b>, il y aura des soucis, car il faudra comprendre le code, trouver des exemples et les essayer. Sur le <b>PC<\/b> on a pas de <b>GPIO<\/b>, et il faudra se d\u00e9brouiller. Mon outil de travail c&#8217;est <b>Eclipse <\/b>avec <b>Java<\/b>, mais on peut jouer aussi avec <b>Python<\/b>. Je devrai sans doute revisiter mon article<a href=\"https:\/\/boichat.developpez.com\/tutoriels\/python\/apprendre-utiliser-pydev\/\" target=\"_blank\" rel=\"noopener\">\u00a0<b>PyDev, un IDE pour Python, sous Eclipse et pour le Raspberry Pi 3<\/b><\/a> pour ce Pi 5.<\/p>\n<p>Pour de simples v\u00e9rifications, on peut entrer le code directement:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6721df4 elementor-widget elementor-widget-spacer\" data-id=\"6721df4\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bc68ae6 e-flex e-con-boxed e-con e-parent\" data-id=\"bc68ae6\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c4d7334 elementor-widget elementor-widget-spacer\" data-id=\"c4d7334\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b0010d8 e-flex e-con-boxed e-con e-parent\" data-id=\"b0010d8\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f8eac74 elementor-widget elementor-widget-text-editor\" data-id=\"f8eac74\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><strong>pi@PiPiscine:~\/python $ python<\/strong><br \/><strong>Python 3.11.2 (main, Aug 26 2024, 07:20:54) [GCC 12.2.0] on linux<\/strong><br \/><strong>Type &#8220;help&#8221;, &#8220;copyright&#8221;, &#8220;credits&#8221; or &#8220;license&#8221; for more information.<\/strong><br \/><strong>&gt;&gt;&gt; from gpiozero import LED<\/strong><br \/><strong>&gt;&gt;&gt; led = LED(23)<\/strong><br \/><strong>&gt;&gt;&gt; led.on()<\/strong><br \/><strong>&gt;&gt;&gt; led.off()<\/strong><br \/><strong>&gt;&gt;&gt;<\/strong><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7efa358 e-flex e-con-boxed e-con e-parent\" data-id=\"7efa358\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-30db61c elementor-widget elementor-widget-spacer\" data-id=\"30db61c\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4ee9420 elementor-widget elementor-widget-text-editor\" data-id=\"4ee9420\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: left;\"><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">Ici j&#8217;utilise la librairie <strong>gpiozero<\/strong> et j&#8217;entre les 4 instructions l&#8217;une apr\u00e8s l&#8217;autre dans ma fen\u00eatre <strong>PuTTY<\/strong> de <strong>Windows<\/strong>!<\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">&nbsp;<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">Pour de simples v\u00e9rifications, comme l&#8217;existence de la librairie avec <span style=\"background-color: #ffffff; font-family: Arial, sans-serif; font-weight: bolder; color: var( --e-global-color-text ); text-align: var(--text-align);\">from gpiozero import LED<\/span>, on peut entrer le code directement. <br>Nous voyons <strong>LED<\/strong> ici, mais chez moi, c&#8217;est un relais connect\u00e9 au <a href=\"https:\/\/github.com\/Felipegalind0\/RPI5.pinout\" target=\"_blank\" rel=\"noopener\"><strong>GPIO 23<\/strong> (la <strong>broche 16<\/strong>)<\/a>, avec&nbsp;<\/span><span style=\"text-align: var(--text-align);\">l&#8217;alimentation <strong>3.3 Volt<\/strong><\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">, et il clique bien aux enclenchements\/d\u00e9clenchements du relais!<\/span><\/p>\n<p>Dans le document&nbsp;<span style=\"font-weight: bolder;\"><a style=\"transition-property: all;\" href=\"https:\/\/www.boichat.ch\/wpjrsp\/2018\/11\/07\/raspberry-pi-zero-wh\/\" target=\"_blank\" rel=\"noopener\">Raspberry Pi Zero WH<\/a><\/span>&nbsp;j&#8217;explique comment je travaille avec&nbsp;<span style=\"font-weight: bolder;\">WinSCP<\/span>&nbsp;et&nbsp;<span style=\"font-weight: bolder;\">PuTTY<\/span>.&nbsp;<br><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">Ici j&#8217;ai \u00e9dit\u00e9 sur mon PC avec&nbsp;<\/span><span style=\"font-weight: bolder; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; text-align: var(--text-align);\">Notepad<\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">++ le fichier&nbsp;<\/span><span style=\"font-weight: bolder; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; text-align: var(--text-align);\">relayPi5.p<\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">y avant transfert et ex\u00e9cution sur le&nbsp;<\/span><span style=\"font-weight: bolder; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; text-align: var(--text-align);\">Pi 5<\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">.<br>S&#8217;il y a des erreurs, je peux revenir dans&nbsp;<\/span><span style=\"font-weight: bolder; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; text-align: var(--text-align);\">Notepad++<\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">&nbsp;(c&#8217;est tr\u00e8s efficace).&nbsp;<\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\"><br><\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b587219 elementor-widget elementor-widget-spacer\" data-id=\"b587219\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4c3b11a e-flex e-con-boxed e-con e-parent\" data-id=\"4c3b11a\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4a21065 elementor-widget elementor-widget-spacer\" data-id=\"4a21065\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6726edd e-flex e-con-boxed e-con e-parent\" data-id=\"6726edd\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9e71aef elementor-widget elementor-widget-spacer\" data-id=\"9e71aef\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6b26f72 elementor-widget elementor-widget-spacer\" data-id=\"6b26f72\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-75e1ed0 elementor-widget elementor-widget-text-editor\" data-id=\"75e1ed0\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: left;\"><strong><span style=\"font-size: 24px;\">Les broches GPIO du Raspberry Pi 5 avec la librairie <u>gpiozero<\/u><\/span><\/strong><\/p>\n<p><span style=\"font-size: 20px; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">Donc j&#8217;utilise la librairie <\/span><strong style=\"font-size: 20px; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; text-align: var(--text-align);\"><a href=\"https:\/\/gpiozero.readthedocs.io\/en\/latest\/\" target=\"_blank\" rel=\"noopener\">gpiozero<\/a><\/strong><span style=\"font-size: 20px; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">. <br \/>On pourra se balader sur ce site <strong>Web\u00a0<\/strong><\/span><span style=\"font-size: 20px; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">et ses nombreux articles en liens dans la barre de gauche.<\/span><\/p>\n<p>Ici <a href=\"https:\/\/www.hackatronic.com\/wp-content\/uploads\/2024\/03\/Raspberry-Pi-5-Pinout--1210x642.jpg\" target=\"_blank\" rel=\"noopener\">une image bien propre de la d\u00e9finition des broches et de la num\u00e9rotation GPIO du Raspberry Pi 5<\/a>\u00a0(cliquer sur <b>X<\/b> pour le retour). Le RELAY_PIN ci-dessous est bien le GPIO <b>23 <\/b>sur la broche physique\u00a0<b>16<\/b>.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e04c469 e-flex e-con-boxed e-con e-parent\" data-id=\"e04c469\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-179111d elementor-widget elementor-widget-spacer\" data-id=\"179111d\" data-element_type=\"widget\" id=\"a_relay_server\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e23db9e e-flex e-con-boxed e-con e-parent\" data-id=\"e23db9e\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-414ab4d elementor-widget elementor-widget-spacer\" data-id=\"414ab4d\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ccb9726 elementor-widget elementor-widget-text-editor\" data-id=\"ccb9726\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: left;\"><strong><span style=\"font-size: 24px;\">Un<\/span><span style=\"font-size: 24px;\"> joli serveur en Python pour le relais<\/span><\/strong><\/p>\n<p><span style=\"font-size: 20px;\">Je l&#8217;ai nomm\u00e9<strong>\u00a0<\/strong><\/span><span style=\"text-align: var(--text-align); font-size: 20px;\"><strong>gpioRelayServer.py<\/strong>!<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7e78fae e-flex e-con-boxed e-con e-parent\" data-id=\"7e78fae\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-460fc20 elementor-widget elementor-widget-code-block-for-elementor\" data-id=\"460fc20\" data-element_type=\"widget\" data-widget_type=\"code-block-for-elementor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-python'>\nimport os\n\nimport time\nimport gpiozero\n\nprint(&#039;Python GPIO Relay Server&#039;)\n\nRELAY_PIN = 23\n\nrelay = gpiozero.OutputDevice(RELAY_PIN, active_high=False, initial_value=False)\nrelay.on()\ntime.sleep(2)\nrelay.off()\ntime.sleep(1)\nrelay.on()\ntime.sleep(1)\nrelay.off()\n\nwhile True:\n&nbsp; &nbsp; if os.path.isfile(&#039;input.txt&#039;):\n&nbsp; &nbsp; &nbsp; &nbsp; str = open(&#039;input.txt&#039;, &#039;r&#039;).read()\n&nbsp; &nbsp; &nbsp; &nbsp; if (str.startswith(&#039;RELAY ON&#039;)):\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; relay.on()\n&nbsp; &nbsp; &nbsp; &nbsp; else:\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (str.startswith(&#039;RELAY OFF&#039;)):\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;relay.off()\n\n&nbsp;&nbsp;&nbsp; os.remove(&quot;input.txt&quot;)<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d60f7a9 e-flex e-con-boxed e-con e-parent\" data-id=\"d60f7a9\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1211720 elementor-widget elementor-widget-spacer\" data-id=\"1211720\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5e2e3d3 elementor-widget elementor-widget-text-editor\" data-id=\"5e2e3d3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><span style=\"font-size: 20px;\">Cela fonctionne super bien! On lance ce script en arri\u00e8re-plan dans une console <b>PuTTY <\/b>avec la commande <strong>python gpioRelayServer.py &amp;<\/strong>. C&#8217;est une boucle infinie. Le fichier <b>input.txt<\/b> sera effac\u00e9 en cas d&#8217;activation ou de coupure du relais.\u00a0<\/span><\/p>\n<p><span style=\"font-size: 20px;\">Il suffit alors d&#8217;\u00e9crire le texte\u00a0<span style=\"text-align: var(--text-align);\"><strong>RELAY ON<\/strong> ou\u00a0<strong>RELAY OFF<\/strong> dans le fichier <strong>input.txt <\/strong>pour enclencher ou d\u00e9clencher le relais. <br \/>On fera sans doute l&#8217;exercice plus loin en <strong>Java! <br \/><\/strong>Certains diront que c&#8217;est assez exotique (on pourrait utiliser une communication <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Socket\" target=\"_blank\" rel=\"noopener\">socket<\/a> par exemple) mais\u00a0<\/span><\/span><span style=\"font-size: 20px; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">cette interface fichier\u00a0<\/span><span style=\"text-align: var(--text-align); font-size: 20px; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">est tr\u00e8s efficace pour d\u00e9velopper une grosse application comme ma minuterie et\/ou en plus une interface Web.<\/span><\/p>\n<p><span style=\"font-size: 20px;\">Ne pas oublier: sans boucle, le programme <b>Python <\/b>sera stopp\u00e9 et avec lui l&#8217;instance de l&#8217;objet <b>relay <\/b>qui coupera le relais!<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0a07500 e-flex e-con-boxed e-con e-parent\" data-id=\"0a07500\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f2f9966 elementor-widget elementor-widget-spacer\" data-id=\"f2f9966\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2bf52ef e-flex e-con-boxed e-con e-parent\" data-id=\"2bf52ef\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5efcb63 elementor-widget elementor-widget-spacer\" data-id=\"5efcb63\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7be5181 elementor-widget elementor-widget-text-editor\" data-id=\"7be5181\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: left;\"><span style=\"font-size: 24px;\"><strong>Installation de Java et testing <\/strong>(en travail)<\/span><\/p>\n<p>En d\u00e9veloppant un mini Web server \u00e9crit en Java et d\u00e9pos\u00e9 sur ce dernier <b>Pi 5<\/b>, j&#8217;aurai finalis\u00e9 cette partie.<\/p>\n<p>C&#8217;est assez vite fait, <b>\u00e7a fonctionne<\/b>,\u00a0<span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">mais il y aura du travail \u00e0 expliquer la b\u00eate<\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">:<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4ed4900 e-flex e-con-boxed e-con e-parent\" data-id=\"4ed4900\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6c35081 elementor-widget elementor-widget-spacer\" data-id=\"6c35081\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c2e104d elementor-widget elementor-widget-image\" data-id=\"c2e104d\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" loading=\"lazy\" width=\"665\" height=\"288\" src=\"https:\/\/www.boichat.ch\/wordpress\/wp-content\/uploads\/2024\/09\/JavaWeb1.jpg\" class=\"attachment-large size-large wp-image-10142\" alt=\"\" srcset=\"https:\/\/www.boichat.ch\/wordpress\/wp-content\/uploads\/2024\/09\/JavaWeb1.jpg 665w, https:\/\/www.boichat.ch\/wordpress\/wp-content\/uploads\/2024\/09\/JavaWeb1-300x130.jpg 300w\" sizes=\"(max-width: 665px) 100vw, 665px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4407f88 elementor-widget elementor-widget-spacer\" data-id=\"4407f88\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-295f670 e-flex e-con-boxed e-con e-parent\" data-id=\"295f670\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d95fa5e elementor-widget elementor-widget-spacer\" data-id=\"d95fa5e\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1ae75bb elementor-widget elementor-widget-text-editor\" data-id=\"1ae75bb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Cela consiste en:<\/p>\n<ul>\n<li>installer la machine virtuelle <strong>Java<\/strong> sur le <strong>Pi 5<\/strong><\/li>\n<li>expliquer l&#8217;environment <strong>Eclipse<\/strong> pour <strong>Java<\/strong> sur <strong>PC<\/strong><\/li>\n<li>\u00e9crire un classe de test consistant en un <strong>mini serveur Web<\/strong> sur le port <strong>8000<\/strong> et la v\u00e9rifier d&#8217;abbord sur <strong>PC<\/strong><\/li>\n<li>t\u00e9l\u00e9charger les classes <strong>.class<\/strong> sur le <strong>Pi 5<\/strong> avec <strong>WinScp<\/strong> et v\u00e9rifier le r\u00e9sultat ci-dessus!<\/li>\n<\/ul>\n<div>\n<p>Juste un peu de temps \u00e0 pr\u00e9sent pour la description. Patience!<\/p>\n<p><b>Mes notes actuelles \u00e0 documenter ici:<\/b><\/p>\n<div><span style=\"font-size: 14px;\"><strong><span style=\"font-family: 'courier new', courier;\">\u00a0&#8211; sudo apt install default-jdk<\/span><\/strong><\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier; font-size: 14px; font-weight: bolder; color: var( --e-global-color-text ); text-align: var(--text-align);\">\u00a0&#8211;<\/span><span style=\"font-family: 'courier new', courier; font-size: 14px; font-weight: bolder; color: var( --e-global-color-text ); text-align: var(--text-align);\">\u00a0<\/span><span style=\"font-size: 14px;\"><strong><span style=\"font-family: 'courier new', courier;\">sudo update-alternatives &#8211;config java<\/span><\/strong><\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier; font-size: 14px; font-weight: bolder; color: var( --e-global-color-text ); text-align: var(--text-align);\">\u00a0&#8211;<\/span><span style=\"font-family: 'courier new', courier; font-size: 14px; font-weight: bolder; color: var( --e-global-color-text ); text-align: var(--text-align);\">\u00a0<\/span><span style=\"font-size: 14px;\"><strong><span style=\"font-family: 'courier new', courier;\">pour trouver le path: \/usr\/lib\/jvm\/java-17-openjdk-arm64\/bin\/java<\/span><\/strong><\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier; font-size: 14px; font-weight: bolder; color: var( --e-global-color-text ); text-align: var(--text-align);\">\u00a0&#8211;<\/span><span style=\"font-family: 'courier new', courier; font-size: 14px; font-weight: bolder; color: var( --e-global-color-text ); text-align: var(--text-align);\">\u00a0<\/span><span style=\"font-size: 14px;\"><strong><span style=\"font-family: 'courier new', courier;\">JAVA_HOME=&#8221;\/usr\/lib\/jvm\/java-17-openjdk-arm64\/bin\/java&#8221;<\/span><\/strong><\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier; font-size: 14px; font-weight: bolder; color: var( --e-global-color-text ); text-align: var(--text-align);\">\u00a0&#8211;<\/span><span style=\"font-family: 'courier new', courier; font-size: 14px; font-weight: bolder; color: var( --e-global-color-text ); text-align: var(--text-align);\">\u00a0<\/span><span style=\"font-size: 14px;\"><strong><span style=\"font-family: 'courier new', courier;\">dans \/etc\/environment<\/span><\/strong><\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier; font-size: 14px; font-weight: bolder; color: var( --e-global-color-text ); text-align: var(--text-align);\">\u00a0&#8211;<\/span><span style=\"font-family: 'courier new', courier; font-size: 14px; font-weight: bolder; color: var( --e-global-color-text ); text-align: var(--text-align);\">\u00a0<\/span><span style=\"font-size: 14px;\"><strong><span style=\"font-family: 'courier new', courier;\">sudo reboot<\/span><\/strong><\/span><\/div>\n<div>\u00a0<\/div>\n<div>Dans une console PuTTY, pour v\u00e9rifier l&#8217;installation et la version:\u00a0<\/div>\n<div>pi@PiPiscine:~ $ java -version<\/div>\n<div>openjdk version &#8220;17.0.12&#8221; 2024-07-16<\/div>\n<div>OpenJDK Runtime Environment (build 17.0.12+7-Debian-2deb12u1)<\/div>\n<div>OpenJDK 64-Bit Server VM (build 17.0.12+7-Debian-2deb12u1, mixed mode, sharing)<\/div>\n<div>pi@PiPiscine:~ $<\/div>\n<\/div>\n<div>\u00a0<\/div>\n<div>Je devrai aussi expliquer comment configurer mon routeur pour un acc\u00e8s de l&#8217;ext\u00e9rieur!<\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-da26ee2 elementor-widget elementor-widget-spacer\" data-id=\"da26ee2\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1331157 e-flex e-con-boxed e-con e-parent\" data-id=\"1331157\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ce3021b elementor-widget elementor-widget-spacer\" data-id=\"ce3021b\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7661bfa e-flex e-con-boxed e-con e-parent\" data-id=\"7661bfa\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-386b2ff elementor-widget elementor-widget-text-editor\" data-id=\"386b2ff\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: left;\"><span style=\"font-size: 24px;\"><b>Mise en place du Pi4J<\/b><\/span><\/p>\n<p>C&#8217;est la partie la plus d\u00e9licate et la plus int\u00e9ressante pour moi. <br \/>C&#8217;\u00e9tait le c\u0153ur de <a href=\"https:\/\/www.boichat.ch\/wpjrsp\/\" target=\"_blank\" rel=\"noopener\">mon bouquin<\/a>, la biblioth\u00e8que <b>Pi4J <\/b>pour\u00a0<strong>Java<\/strong> pour l&#8217;interface\u00a0<strong>GPIO<\/strong> du <strong>Raspberry Pi<\/strong>! <br \/>On trouvera une introduction dans <strong><a href=\"https:\/\/www.pi4j.com\/\" target=\"_blank\" rel=\"noopener\">Welcome to Pi4J<\/a><\/strong>. avec les diff\u00e9rentes versions.<\/p>\n<p>L&#8217;architecture et les chips du <b>Pi 5 <\/b>demande une nouvelle version 2 de <b>Pi4J <\/b>et une version <b>Java <\/b>sup\u00e9rieure \u00e0 <b>8<\/b>.<br \/>Ici un excellent article:\u00a0<strong><a href=\"https:\/\/foojay.io\/today\/java-on-raspberry-pi-5-with-pi4j\/\" target=\"_blank\" rel=\"noopener\">Java on Raspberry Pi 5 with Pi4J<\/a><\/strong><\/p>\n<p>Je suis un peu dans l&#8217;expectative apr\u00e8s avoir vu quelques exemples de code et j&#8217;ai de la peine \u00e0 mettre en place tout ce bazar (<b>PC<\/b>, <b>Eclipse<\/b>, etc). Je vais sans doute faire pareil que pour les librairies Python <b>RPi.GPIO<\/b> et\u00a0<b>gpiozero<\/b> o\u00f9 j&#8217;installerai les versions <b>Pi4J<\/b> respectivement sur mes syst\u00e8mes de d\u00e9veloppement <b>Pi4<\/b> et <b>Pi5<\/b>.<br \/><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\"><br \/>Donc &#8230; du travail pour moi!<\/span><\/p>\n<p><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\"><span style=\"font-size: 20px;\"><strong>Je commence avec un Raspberry Pi 4 <\/strong><\/span>et l&#8217;info se trouve sur la page\u00a0<\/span><span style=\"text-align: var(--text-align);\"><strong><a href=\"https:\/\/www.pi4j.com\/about\/download\/\" target=\"_blank\" rel=\"noopener\">Pi4J Downloads<\/a><\/strong>\u00a0et l&#8217;on trouvera la commande\u00a0<\/span><span style=\"text-align: var(--text-align);\"><span style=\"font-family: 'courier new', courier;\"><strong>curl -sSL https:\/\/pi4j.com\/install | sudo bash<\/strong><\/span> pour la version 1. Je fais l&#8217;installation sur la racine de mon Pi 4 et je re\u00e7ois pour terminer:<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-60c32b7 e-flex e-con-boxed e-con e-parent\" data-id=\"60c32b7\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-055ee51 elementor-widget elementor-widget-code-block-for-elementor\" data-id=\"055ee51\" data-element_type=\"widget\" data-widget_type=\"code-block-for-elementor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class='theme-okaidia' data-show-toolbar='yes'><code class='language-javascript'>...\r\n====================================================\r\nPi4J INSTALLATION COMPLETE\r\n====================================================\r\n\r\nThe Pi4J JAR files are located at:\r\n\/opt\/pi4j\/lib\r\n\r\nExample Java programs are located at:\r\n\/opt\/pi4j\/examples\r\n\r\nYou can compile the examples using this script:\r\nsudo \/opt\/pi4j\/examples\/build\r\n\r\nPlease see https:\/\/pi4j.com for more information.\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-705924c e-flex e-con-boxed e-con e-parent\" data-id=\"705924c\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4924b8b elementor-widget elementor-widget-text-editor\" data-id=\"4924b8b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Avec&nbsp;<span style=\"font-family: 'courier new', courier;\"><b>sudo \/opt\/pi4j\/examples\/build<\/b><\/span> on pourra compiler les exemples &#8230;. et j&#8217;ai oubli\u00e9 d&#8217;installer <b>Java <\/b>sur ce <b>Raspberry Pi<\/b> tout nouvellement install\u00e9 ou de v\u00e9rifier que c&#8217;\u00e9tait fait! <b>Java 8<\/b> pour la version 1 de <b>Pi4J<\/b>.<\/p>\n<p>Donc (\u00e0 expliquer encore):<\/p>\n<p><span style=\"font-family: 'courier new', courier;\"><b>sudo apt update<br><span style=\"color: var( --e-global-color-text ); text-align: var(--text-align);\">sudo apt install openjdk-8-jdk openjdk-8-jre<\/span><\/b><\/span><\/p>\n<p>pi@Pi4BTest:~ $ sudo \/opt\/pi4j\/examples\/build<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p>&nbsp;BUILDING Pi4J EXAMPLES<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p>[01 of 42] &#8230; compiling : BlinkGpioExample.java<\/p>\n<p>BlinkGpioExample.java:32: error: cannot access GpioController<\/p>\n<p>import com.pi4j.io.gpio.GpioController;<\/p>\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<\/p>\n<p>&nbsp; bad class file: \/opt\/pi4j\/lib\/pi4j-core.jar(com\/pi4j\/io\/gpio\/GpioController.class)<\/p>\n<p>&nbsp; &nbsp; class file has wrong version 55.0, should be 52.0<\/p>\n<p>&nbsp; &nbsp; Please remove or make sure it appears in the correct subdirectory of the classpath.<\/p>\n<div><b>Et cela ne marche pas.<\/b><br><b>Piste?: <a href=\"https:\/\/phoenixnap.com\/kb\/install-java-raspberry-pi\" target=\"_blank\" rel=\"noopener\">https:\/\/phoenixnap.com\/kb\/install-java-raspberry-pi<\/a><br><\/b><br><b>C&#8217;est typique du Raspberry Pi, il faut vraiment \u00eatre un MAKER, un super MAKER : il faut bricoler voire recommencer (quand j&#8217;ai \u00e9crit mon livre j&#8217;ai d\u00fb parfois refaire 5-6 fois les proc\u00e9dure, voire la carte SD pour avoir une description 100% exacte).&nbsp;<br><br><\/b><\/div>\n<p><b>A suivre!<\/b><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-088f3fe e-flex e-con-boxed e-con e-parent\" data-id=\"088f3fe\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-111be9d elementor-widget elementor-widget-spacer\" data-id=\"111be9d\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1c9af76 e-flex e-con-boxed e-con e-parent\" data-id=\"1c9af76\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7141167 elementor-widget elementor-widget-text-editor\" data-id=\"7141167\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: left;\"><span style=\"font-size: 24px;\"><b>Mesure de temp\u00e9rature avec un Dallas&nbsp;<\/b><\/span><span style=\"text-align: var(--text-align); font-size: 24px;\"><b>DS18B20<\/b><\/span><\/p>\n<p><span style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; background-color: #e0e0e0;\">Le&nbsp;<\/span><span style=\"box-sizing: inherit; font-weight: bolder; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; background-color: #e0e0e0;\">Dallas DS18B20<\/span><span style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; background-color: #e0e0e0;\">&nbsp;est un capteur de temp\u00e9rature digital qui utilise le protocole 1-wire. J&#8217;en ai connect\u00e9 un sur <b>la broche 07<\/b> (<b>GPIO 04<\/b>). <br>On n&#8217;utilise pas de librairie <b>GPIO<\/b>&nbsp;et tout se fait au travers du syst\u00e8me d&#8217;exploitation avec un lecture de fichier, par exemple, pour moi:&nbsp;<\/span><span style=\"font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;\"><span style=\"text-align: var(--text-align);\"><strong>\/sys\/bus\/w1\/devices\/28-021318ab83aa\/w1_slave<\/strong>!<br>Il faudra simplement lire ce fichier et d\u00e9coder la temp\u00e9rature, ici, <strong>25.3 degr\u00e9s<\/strong>&nbsp;du <strong>t=<\/strong>:<\/span><\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2910c5e e-flex e-con-boxed e-con e-parent\" data-id=\"2910c5e\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-aebb782 elementor-widget elementor-widget-code-block-for-elementor\" data-id=\"aebb782\" data-element_type=\"widget\" data-widget_type=\"code-block-for-elementor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class='theme-okaidia' data-show-toolbar='yes'><code class='language-shell'>\ncat \/sys\/bus\/w1\/devices\/28-021318ab83aa\/w1_slave\n95 01 4b 46 7f ff 0c 10 65 : crc=65 YES\n95 01 4b 46 7f ff 0c 10 65 t=25312\n <\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-eedd075 e-flex e-con-boxed e-con e-parent\" data-id=\"eedd075\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c778fe9 elementor-widget elementor-widget-text-editor\" data-id=\"c778fe9\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Donc, \u00e0 suivre,\u00a0 &#8230; aussi en travail!<\/p>\n<p>Donner plus de d\u00e9tails (sudo raspi-config (Interface option, I2C, etc, sudo modprobe w1-gpio, sudo modprobe w1-therm, &#8230;) !<br \/>J&#8217;aime bien\u00a0<b>Rui Santos<\/b> (<strong><a href=\"https:\/\/randomnerdtutorials.com\/\" target=\"_blank\" rel=\"noopener\">https:\/\/randomnerdtutorials.com\/<\/a><\/strong>), beaucoup utilis\u00e9 <a href=\"https:\/\/www.boichat.ch\/joomla\/index.php?option=com_content&amp;view=category&amp;id=92&amp;Itemid=503\" target=\"_blank\" rel=\"noopener\">pour mes <b>ESP<\/b><\/a>. Voir donc son <strong><a href=\"https:\/\/randomnerdtutorials.com\/raspberry-pi-ds18b20-python\/\" target=\"_blank\" rel=\"noopener\">Raspberry Pi: Temperature Readings with DS18B20 Sensor (Python)<\/a><\/strong>.\u00a0<\/p>\n<p>Le code de\u00a0<b><a href=\"https:\/\/gist.github.com\/elktros\/03f874be7960e4a766d36c0679cbf7d2\" target=\"_blank\" rel=\"noopener\">Raspberry_DS18B20_Tutorial.py<\/a><\/b> fonctionne correctement, mais il faudra mettre des parenth\u00e8ses pour l&#8217;instruction <b>print <\/b>(question de version de <b>Python<\/b>).<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3a70500 e-flex e-con-boxed e-con e-parent\" data-id=\"3a70500\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-545d30e elementor-widget elementor-widget-spacer\" data-id=\"545d30e\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-956afc4 e-flex e-con-boxed e-con e-parent\" data-id=\"956afc4\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-63b2ad9 elementor-widget elementor-widget-text-editor\" data-id=\"63b2ad9\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: left;\"><span style=\"font-size: 24px;\"><strong>Mesure<\/strong><b> d&#8217;intensit\u00e9 de lumi\u00e8re<\/b><\/span><\/p>\n<p><span style=\"background-color: #e0e0e0;\"><span style=\"font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;\">Ici il nous faut un <b>photosenseur\u00a0<\/b>et une <strong>capacit\u00e9, <\/strong>donc pas besoin de module suppl\u00e9mentaire <b>ADC <\/b>(conversion analoqique \u00e0 digital).<br \/><\/span><br \/><span style=\"font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;\">Le script qui suit fonctionne bien sur un <b>Raspberry Pi 4<\/b> avec\u00a0<\/span><\/span><span style=\"text-align: var(--text-align);\"><span style=\"font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;\">avec <strong>Bullseye 32 bits<\/strong> et la librairie <strong>RPi.GPIO<\/strong><\/span><\/span><span style=\"background-color: #e0e0e0; color: var( --e-global-color-text ); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">. <\/span><\/p>\n<p>C&#8217;est impossible,\u00a0<span style=\"background-color: #e0e0e0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; color: var( --e-global-color-text ); font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">pour l&#8217;instant,<\/span><span style=\"color: var( --e-global-color-text ); font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align); background-color: #e0e0e0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\">\u00a0de faire l&#8217;\u00e9quivalent sur un <strong>Pi 5<\/strong>\u00a0et\u00a0<\/span><strong><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; text-align: var(--text-align);\"><span style=\"font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;\">Raspbian Bookworm<\/span><\/span><\/strong><span style=\"color: var( --e-global-color-text ); font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align); background-color: #e0e0e0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\">\u00a0avec la librairie <\/span><strong style=\"color: var( --e-global-color-text ); text-align: var(--text-align); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\">gpiozero <\/strong>(toujours rien en octobre 2025).<span style=\"color: var( --e-global-color-text ); font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align); background-color: #e0e0e0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\"><br \/><\/span><span style=\"color: var( --e-global-color-text ); font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align); background-color: #e0e0e0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\">On trouvera des <\/span><a style=\"text-align: var(--text-align); background-color: #efefef; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\" href=\"https:\/\/github.com\/gpiozero\/gpiozero\/issues\/1135\" target=\"_blank\" rel=\"noopener\">r\u00e9f\u00e9rences sur le Web<\/a><span style=\"color: var( --e-global-color-text ); font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align); background-color: #e0e0e0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\"> (octobre 2024) mais pas d&#8217;indication sur une correction possible dans l&#8217;<\/span><strong style=\"color: var( --e-global-color-text ); text-align: var(--text-align); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\">OS<\/strong><span style=\"color: var( --e-global-color-text ); font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align); background-color: #e0e0e0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\">.<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5096b6e e-flex e-con-boxed e-con e-parent\" data-id=\"5096b6e\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6ba7c60 elementor-widget elementor-widget-spacer\" data-id=\"6ba7c60\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7e76792 e-flex e-con-boxed e-con e-parent\" data-id=\"7e76792\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8f636bf elementor-widget elementor-widget-code-block-for-elementor\" data-id=\"8f636bf\" data-element_type=\"widget\" data-widget_type=\"code-block-for-elementor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-python'>\n#coding: utf-8\n#Pin 7  GPIO 4   Alim: 3.3V\n\nimport RPi.GPIO as GPIO\nimport time\n\nGPIO.setmode(GPIO.BOARD)\n\n#D&eacute;finition du pin sur la broche 7\npin_to_circuit = 7 # (GPIO 4)\n\ndef rc_time (pin_to_circuit):\n    count = 0\n\n    #Configuration en sortie\n    GPIO.setup(pin_to_circuit, GPIO.OUT)\n    GPIO.output(pin_to_circuit, GPIO.LOW)\n    time.sleep(0.1)  #pause de charge\n\n    #Configuration en entr&eacute;e\n    GPIO.setup(pin_to_circuit, GPIO.IN)\n\n    #Comptage\n    while (GPIO.input(pin_to_circuit) == GPIO.LOW):\n        count += 1\n\n    return count\n\ntry:\n    # Boucle &eacute;ternelle\n    while True:\n        print rc_time(pin_to_circuit)\n        time.sleep(2)\nexcept KeyboardInterrupt:\n    pass\nfinally:\n    GPIO.cleanup()<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f639a58 e-flex e-con-boxed e-con e-parent\" data-id=\"f639a58\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c290798 elementor-widget elementor-widget-text-editor\" data-id=\"c290798\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: left;\"><span style=\"font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;\"><span style=\"background-color: #e0e0e0;\">J&#8217;ai nomm\u00e9 ce script\u00a0<\/span><\/span><span style=\"text-align: var(--text-align);\"><span style=\"font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;\"><strong>light_sensor_verif.py<\/strong>. <br \/>Un des c\u00f4t\u00e9s du capteur de lumi\u00e8re est branch\u00e9 sur l&#8217;alimentation <strong>3.3<\/strong> Volt.<br \/>L&#8217;autre c\u00f4t\u00e9 du capteur va \u00e0 la fois sur la broche <strong>GPIO4<\/strong> (broche physique <strong>07<\/strong>, car on utilise ici le mode <strong>GPIO.BOARD<\/strong>) et la capacit\u00e9\u00a0 (condensateur) <strong>1uF<\/strong> sur son fil <strong>long<\/strong>!\u00a0<br \/>L&#8217;autre c\u00f4t\u00e9 de la capacit\u00e9 (fil <strong>court<\/strong>) va sur la terre <strong>GND <\/strong>(j&#8217;utilise la broche physique <strong>09<\/strong> du m\u00eame c\u00f4t\u00e9 dans le m\u00eame secteur!<br \/>On passera la main en dessus du capteur et une nouvelle valeur viendra chaque 2 secondes dans la fen\u00eatre <strong>Putty<\/strong> pour la commande<strong> python light_sensor_verif.py<\/strong>!<\/span><\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ab0e57a e-flex e-con-boxed e-con e-parent\" data-id=\"ab0e57a\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b6bf11c elementor-widget elementor-widget-spacer\" data-id=\"b6bf11c\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7198863 e-flex e-con-boxed e-con e-parent\" data-id=\"7198863\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5b4e893 elementor-widget elementor-widget-text-editor\" data-id=\"5b4e893\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: left;\"><span style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; background-color: #e0e0e0; color: var( --e-global-color-text ); font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">Donc, encore une fois, si on a besoin absolument de la mesure de lumi\u00e8re pour activer par exemple un relais, il faudra rester avec le <strong>Pi 4<\/strong>.\u00a0<\/span><\/p>\n<p><span style=\"background-color: #e0e0e0;\"><span style=\"font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;\">Si un oiseau ou une main passe sur le capteur pendant la mesure, il y aura un souci. Donc il faudra adapter ce script pour faire une moyenne dans le temps en retirant quelques valeurs extr\u00eames et pourquoi pas d\u00e9poser le r\u00e9sultat dans une fichier lisible par une application ou un serveur Web. C&#8217;est avec ce genre de code qu&#8217;on apprend \u00e0 maitriser la programmation!<\/span><\/span><\/p>\n<p><span style=\"background-color: #e0e0e0;\"><span style=\"font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;\">Voici maintenant une version am\u00e9lior\u00e9e (<\/span><\/span><strong><span style=\"text-align: var(--text-align);\"><span style=\"font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;\">light_sensor_calc.py<\/span><\/span><\/strong><span style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; background-color: #e0e0e0; color: var( --e-global-color-text ); font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">):<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ae51769 e-flex e-con-boxed e-con e-parent\" data-id=\"ae51769\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-11291fc elementor-widget elementor-widget-code-block-for-elementor\" data-id=\"11291fc\" data-element_type=\"widget\" data-widget_type=\"code-block-for-elementor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-python'>\n#coding: utf-8\n#Pin 7  GPIO 4   Alim: 3.3V\n\nimport RPi.GPIO as GPIO\nimport time\n\nGPIO.setmode(GPIO.BOARD)\n\n#D&eacute;finition du pin sur la broche 7\npin_to_circuit = 7 # (GPIO 4)\n\ndef rc_time (pin_to_circuit):\n    count = 0\n\n    #Configuration en sortie\n    GPIO.setup(pin_to_circuit, GPIO.OUT)\n    GPIO.output(pin_to_circuit, GPIO.LOW)\n    time.sleep(0.1)  #pause de charge\n\n    #Configuration en entr&eacute;e\n    GPIO.setup(pin_to_circuit, GPIO.IN)\n\n    #Comptage\n    while (GPIO.input(pin_to_circuit) == GPIO.LOW):\n        count += 1\n\n    return count\n\ntry:\n    # Boucle &eacute;ternelle\n    while True:\n        i = 0\n        themesures = []\n        while i &lt; 5:\n            i = i + 1\n            themesures.append(rc_time(pin_to_circuit))\n            time.sleep(.1)\n\n        themesures.sort()\n        #print(themesures[2])\n\n        f = open(&quot;lightValue.txt&quot;, &quot;w&quot;)\n        f.write(str(themesures[2]))\n        f.write(&quot;\\n&quot;)\n        f.close()\n\nexcept KeyboardInterrupt:\n    pass\nfinally:\n    GPIO.cleanup()\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-834968d e-flex e-con-boxed e-con e-parent\" data-id=\"834968d\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5499134 elementor-widget elementor-widget-text-editor\" data-id=\"5499134\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: left;\"><span style=\"background-color: #e0e0e0;\"><span style=\"font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;\">Le principe est simple: nous lisons 5 valeurs avec un d\u00e9lai de 0.1 secondes, nous d\u00e9posons la valeurs dans une liste, nous les trions et nous piquons celle du milieu en ignorant les extr\u00eames! <br>La vitesse de lecture sera proportionnelle \u00e0 l&#8217;intensit\u00e9: plus c&#8217;est sombre, plus c&#8217;est lent. Pour une r\u00e9action rapide il faudrait adapter le <span style=\"font-size: 16px;\"><strong><span style=\"font-family: 'courier new', courier;\">time.sleep(.1)<\/span><\/strong><\/span>.&nbsp;<\/span><\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"background-color: #e0e0e0;\"><span style=\"font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;\">En \u00e9crivant la valeur dans un fichier, c&#8217;est r\u00e9utilisable, par exemple par un programme <b>Java <\/b>qui pourrait ensuite utiliser le script&nbsp; <b>gpioRelayServer.py<\/b> ci-dessus pour par exemple allumer ou \u00e9teindre un luminaire ou une pompe piscine!<\/span><\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f3b24dc e-flex e-con-boxed e-con e-parent\" data-id=\"f3b24dc\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d952981 elementor-widget elementor-widget-spacer\" data-id=\"d952981\" data-element_type=\"widget\" id=\"a_PIR\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1834a55 e-flex e-con-boxed e-con e-parent\" data-id=\"1834a55\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ccfce64 elementor-widget elementor-widget-text-editor\" data-id=\"ccfce64\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: left;\"><span style=\"font-size: 24px;\"><strong>Un capteur de pr\u00e9sence (PIR)<\/strong><\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">C&#8217;est sans doute un des meilleures composants \u00e9lectroniques pour d\u00e9buter avec le <\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>Raspberry Pi<\/b><\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\"> (voire avec un <\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>ESP32) <\/b>et mettre en place de jolies applications!<\/span><span style=\"text-align: center;\"><span style=\"color: rgba(0, 0, 0, 0); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><span style=\"font-weight: var( --e-global-typography-text-font-weight );\">).<\/span><\/span><br \/><\/span><\/p>\n<div style=\"text-align: left;\">\n<p><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">L&#8217;article\u00a0<\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\"><strong><a href=\"https:\/\/randomnerdtutorials.com\/raspberry-pi-detect-motion-pir-python\/\" target=\"_blank\" rel=\"noopener\">Raspberry Pi: Detect Motion using a PIR Sensor with Python<\/a><\/strong> devrait suffire. On y trouve plein d&#8217;exemples et de d\u00e9tails techniques <a href=\"https:\/\/support.arduino.cc\/hc\/en-us\/articles\/4403050020114-Troubleshooting-PIR-Sensor-and-sensitivity-adjustment\">avec l&#8217;utilisation de la librairie<\/a><\/span><a href=\"https:\/\/support.arduino.cc\/hc\/en-us\/articles\/4403050020114-Troubleshooting-PIR-Sensor-and-sensitivity-adjustment\"><span style=\"text-align: var(--text-align);\">\u00a0<strong>gpiozero<\/strong><\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">!<\/span><\/a>\u00a0<\/p>\n<p>Attention, il faudra calibrer le capteur avec des potentiom\u00e8tres (voir par exemple <strong><a href=\"https:\/\/support.arduino.cc\/hc\/en-us\/articles\/4403050020114-Troubleshooting-PIR-Sensor-and-sensitivity-adjustment\" target=\"_blank\" rel=\"noopener\">Troubleshooting PIR Sensor and sensitivity adjustment<\/a><\/strong>) et jouer avec les deux &#8220;vis&#8221; oranges sur le c\u00f4t\u00e9, sinon le d\u00e9lai de r\u00e9ponse pourrait \u00eatre trop court ou trop long! Pour tous les composants utilis\u00e9s sur les broches <strong>GPIO<\/strong>, lors d&#8217;une recherche Google, on indiquera, en plus du mot cl\u00e9 <b>Raspberry Pi,<\/b> ceux d&#8217;<b>ESP<\/b> ou d&#8217;<b>Arduino <\/b>pour obtenir de meilleures r\u00e9sultats. Pour le &#8220;monde&#8221; <b>ESP <\/b>et <b>Arduino <\/b>le lecteur pourrait lire mon article\u00a0<strong><a href=\"https:\/\/www.boichat.ch\/joomla\/index.php?option=com_content&amp;view=article&amp;id=132:un-tutoriel-sur-l-esp32-un-thermometre-digital&amp;catid=92&amp;Itemid=503\" target=\"_blank\" rel=\"noopener\">Un tutoriel pour d\u00e9butant pour l&#8217;ESP32: un thermom\u00e8tre digital (en travail continuel)<\/a><\/strong>!<\/p>\n<p>Avec\u00a0<a style=\"background-color: #ffffff; transition-property: all;\" href=\"https:\/\/gemini.google.com\/\" target=\"_blank\" rel=\"noopener\">Gemini<\/a>, un <b>chatbot <\/b>de <b>Google<\/b>, et en entrant par exemple &#8220;<span style=\"font-weight: bold;\">Calibrer un PIR pour un Raspberry pi<\/span>&#8220;, nous obtiendrons une foule d&#8217;information et m\u00eame un exemple avec l&#8217;ancienne librairie\u00a0<span style=\"font-weight: bold;\">GPIO<\/span>\u00a0du <b>Pi<\/b>!<\/p>\n<\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d52ed8f e-flex e-con-boxed e-con e-parent\" data-id=\"d52ed8f\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dd6d6f8 elementor-widget elementor-widget-code-block-for-elementor\" data-id=\"dd6d6f8\" data-element_type=\"widget\" data-widget_type=\"code-block-for-elementor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-python'>\nfrom gpiozero import MotionSensor\nfrom gpiozero import LED\n\npir = MotionSensor(14)\nled = LED(26)\n\nwhile True:\n  pir.wait_for_motion()\n  led.on()\n  print(&quot;You moved&quot;)\n  pir.wait_for_no_motion()\n  led.off()\n  print(&quot;No move anymore&quot;)\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1eb67da e-flex e-con-boxed e-con e-parent\" data-id=\"1eb67da\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d9f1ed4 elementor-widget elementor-widget-text-editor\" data-id=\"d9f1ed4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>J&#8217;ai nomm\u00e9 ce script <b>Python\u00a0pir_led.py<\/b> et l&#8217;ai d\u00e9pos\u00e9 dans mon r\u00e9pertoire\u00a0<span style=\"text-align: var(--text-align);\"><strong>\/home\/pi\/python<\/strong>\u00a0<\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">de mon dernier <strong>Pi4<\/strong>. Il utilise la librairie <strong>gpiozero<\/strong>!\u00a0<\/span><\/p>\n<p>Sur <strong><a href=\"https:\/\/pinout.xyz\/\" target=\"_blank\" rel=\"noopener\">The Raspberry Pi GPIO pinout guide<\/a><\/strong> on voit comment j&#8217;ai utilis\u00e9 les broches physiques\u00a0<strong>8 <\/strong>(<strong>GPIO14<\/strong>) et <strong>37\u00a0<\/strong><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; text-align: var(--text-align);\">(<\/span><span style=\"font-weight: bolder; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; text-align: var(--text-align);\">GPIO26<\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; text-align: var(--text-align);\">)\u00a0<\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align);\">aux deux extr\u00eames. Ce sera plus facile lorsqu&#8217;on ajoutera d&#8217;autres composants sans trop se m\u00e9langer les fils! C&#8217;est plus facile de compter 1,2,3, .. dans la direction choisie!<\/span><\/p>\n<p>L&#8217;utilisation d&#8217;une <b>LED <\/b>est pratique: on n&#8217;a pas besoin d&#8217;avoir une fen\u00eatre <b>Putty <\/b>pour identifier que cela marche.\u00a0<\/p>\n<p style=\"text-align: left;\"><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">Son ex\u00e9cution \u00e0 pr\u00e9sent:\u00a0<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-47e97cc e-flex e-con-boxed e-con e-parent\" data-id=\"47e97cc\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-03d2d7e elementor-widget elementor-widget-code-block-for-elementor\" data-id=\"03d2d7e\" data-element_type=\"widget\" data-widget_type=\"code-block-for-elementor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-python'>\npi@Pi4BTest:~\/python $ python pir_led.py\nYou moved\nNo move\nYou moved\nNo move\nYou moved\nNo move\n.....\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ab90eb8 e-flex e-con-boxed e-con e-parent\" data-id=\"ab90eb8\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b324756 elementor-widget elementor-widget-text-editor\" data-id=\"b324756\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: left;\"><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">La led se serra ici allum\u00e9 et \u00e9teint 6 fois.<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">A pr\u00e9sent je vais y ajouter un relais (5\/220Volt). <\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>Attention au montage c\u00f4t\u00e9 220V, ce n&#8217;est pas pour les enfants!<\/b><\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\"> J&#8217;utilise un boitier isol\u00e9 pour cette partie!<br \/>Avec le <\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>PIR <\/b><\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">et la <\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>LED <\/b><\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">de chaque c\u00f4t\u00e9 avec les broches physiques <\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>8<\/b><\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\"> et <\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>37<\/b><\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">, je peux prendre pour le relais la broche <\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>36<\/b><\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\"> (<\/span><b><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\">GPIO<\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\">16<\/span><\/b><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">) \u00e0 l&#8217;ext\u00e9rieur en comptant 1, 2 et 3. On prendra le <\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>5V<\/b><\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\"> restant (broche physique <\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>4<\/b><\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">) et le GND au <\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>34<\/b><\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">. Lors des branchements mon <\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>Pi <\/b><\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">est \u00e9teint (j&#8217;en ai grill\u00e9 un une fois!!)!<br \/>Il y a plein d&#8217;articles sur le Web comme\u00a0<\/span><span style=\"text-align: var(--text-align);\"><strong><a href=\"https:\/\/www.framboise314.fr\/controle-dun-dispositif-basse-tension-via-raspberry-pi-et-un-relais\/\" target=\"_blank\" rel=\"noopener\">Contr\u00f4le d\u2019un dispositif basse tension via Raspberry Pi et un relais<\/a><\/strong>\u00a0et les broches sont bien indiqu\u00e9es sur le relais lui-m\u00eame. On a pas besoin de brancher la haute tension: le relais fera des &#8220;clics&#8221;.<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"text-align: var(--text-align);\">On pourra reprendre le code ci-dessus (<\/span><span style=\"text-align: var(--text-align);\"><a href=\"#a_relay_server\">gpioRelayServer.py<\/a>), sans l&#8217;\u00e9criture du fichier<\/span><span style=\"text-align: var(--text-align); color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">\u00a0et \u00e9tendre le script\u00a0<\/span><span style=\"text-align: var(--text-align); color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: bold;\">pir_led.py<\/span><span style=\"text-align: var(--text-align); color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">\u00a0en\u00a0<\/span><span style=\"text-align: var(--text-align); color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\"><strong>pir_led_relay.py<\/strong> par exemple!<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"text-align: var(--text-align); color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">Mais regardez ce code:<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3c3154e e-flex e-con-boxed e-con e-parent\" data-id=\"3c3154e\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-48aefb8 elementor-widget elementor-widget-code-block-for-elementor\" data-id=\"48aefb8\" data-element_type=\"widget\" data-widget_type=\"code-block-for-elementor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-python'>\nfrom gpiozero import LED\nimport time\n\nled = LED(16)\n\nled.on()\ntime.sleep(2)\nled.off()\ntime.sleep(2)\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9fc8a9b e-flex e-con-boxed e-con e-parent\" data-id=\"9fc8a9b\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d66db9e elementor-widget elementor-widget-text-editor\" data-id=\"d66db9e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: left;\">On est bien sur le<strong> GPIO16<\/strong>, notre relais (pas un <b>LED<\/b>) et cela fonctionne \u00e9videmment. <br \/>La diff\u00e9rence est au niveau du circuit: la <strong>LED<\/strong> a besoin d&#8217;un r\u00e9sistance et est aliment\u00e9e par la broche <strong>GPIO<\/strong>.<br \/>Le relais lui a besoin d&#8217;\u00eatre aliment\u00e9 (<b>5V<\/b> et <b>GND<\/b>) et enclench\u00e9 ou d\u00e9clench\u00e9 par la broche digitale <strong>GPIO<\/strong>. <br \/>Sur un <strong>ESP32<\/strong> ou un <strong>Arduino <\/strong>la broche est analogique et on pourrait d\u00e9finir un niveau de luminescence sur la <strong>LED<\/strong>!<\/p>\n<p style=\"text-align: left;\"><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">Je laisse le lecteur s&#8217;imaginer comment int\u00e9grer cet \u00e9v\u00e8nement de mouvement avec une <\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>LED <\/b><\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">et un relais dans une application <\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>Python <\/b><\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">ou <\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif;\"><b>Java<\/b><\/span><span style=\"text-align: center; color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight );\">. Je d\u00e9poserai sans doute ici quelques id\u00e9es!<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d578c74 e-flex e-con-boxed e-con e-parent\" data-id=\"d578c74\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9440a31 elementor-widget elementor-widget-spacer\" data-id=\"9440a31\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c8d52db e-flex e-con-boxed e-con e-parent\" data-id=\"c8d52db\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b9bb82e elementor-widget elementor-widget-text-editor\" data-id=\"b9bb82e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><span style=\"font-size: 16px;\"><span style=\"color: var( --e-global-color-text ); text-align: var(--text-align);\">Pour toutes, voire n&#8217;importe quelles questions, suggestions ou demandes de code, on peut me contacter avec\u00a0<\/span><em style=\"font-weight: bold; text-align: center;\"><a href=\"mailto:jean-bernard@boichat.ch\" target=\"_blank\" rel=\"noopener\">jean-bernard@boichat.ch<\/a><\/em><\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Raspberry Pi 5 avec Java et Python Une \u00e9tude de mon tout dernier Pi et commenc\u00e9 mi-septembre\u00a02024 \u00a0 En travail : \u00e9tudes des diff\u00e9rences avec&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"om_disable_all_campaigns":false,"ngg_post_thumbnail":0,"footnotes":""},"categories":[6],"tags":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Raspberry Pi 5 avec Java et Python - Jean-Bernard Boichat<\/title>\n<meta name=\"description\" content=\"Le Raspberry Pi 5, son installation, ses broches GPIO, Python, Java, d\u00e9veloppement avec Eclipse, PuTTY, WinSCP, trucs et astuces!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Raspberry Pi 5 avec Java et Python - Jean-Bernard Boichat\" \/>\n<meta property=\"og:description\" content=\"Le Raspberry Pi 5, son installation, ses broches GPIO, Python, Java, d\u00e9veloppement avec Eclipse, PuTTY, WinSCP, trucs et astuces!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/\" \/>\n<meta property=\"og:site_name\" content=\"Jean-Bernard Boichat\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-18T08:18:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-02T07:44:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.boichat.ch\/wordpress\/wp-content\/uploads\/2024\/09\/minuterie.jpg\" \/>\n<meta name=\"author\" content=\"Jean-Bernard Boichat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jean-Bernard Boichat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"21 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/\"},\"author\":{\"name\":\"Jean-Bernard Boichat\",\"@id\":\"https:\/\/www.boichat.ch\/wordpress\/#\/schema\/person\/fe6328cc5b74b8a6e8d841285a928751\"},\"headline\":\"Raspberry Pi 5 avec Java et Python\",\"datePublished\":\"2025-03-18T08:18:17+00:00\",\"dateModified\":\"2025-11-02T07:44:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/\"},\"wordCount\":4375,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.boichat.ch\/wordpress\/#\/schema\/person\/fe6328cc5b74b8a6e8d841285a928751\"},\"articleSection\":[\"Raspberry Pi 3\/4\/5\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/\",\"url\":\"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/\",\"name\":\"Raspberry Pi 5 avec Java et Python - Jean-Bernard Boichat\",\"isPartOf\":{\"@id\":\"https:\/\/www.boichat.ch\/wordpress\/#website\"},\"datePublished\":\"2025-03-18T08:18:17+00:00\",\"dateModified\":\"2025-11-02T07:44:29+00:00\",\"description\":\"Le Raspberry Pi 5, son installation, ses broches GPIO, Python, Java, d\u00e9veloppement avec Eclipse, PuTTY, WinSCP, trucs et astuces!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.boichat.ch\/wordpress\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Raspberry Pi 5 avec Java et Python\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.boichat.ch\/wordpress\/#website\",\"url\":\"https:\/\/www.boichat.ch\/wordpress\/\",\"name\":\"Jean-Bernard Boichat\",\"description\":\"Mon site WordPress\",\"publisher\":{\"@id\":\"https:\/\/www.boichat.ch\/wordpress\/#\/schema\/person\/fe6328cc5b74b8a6e8d841285a928751\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.boichat.ch\/wordpress\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.boichat.ch\/wordpress\/#\/schema\/person\/fe6328cc5b74b8a6e8d841285a928751\",\"name\":\"Jean-Bernard Boichat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.boichat.ch\/wordpress\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/862886ce35a52b9d13595e18ac3c3ea5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/862886ce35a52b9d13595e18ac3c3ea5?s=96&d=mm&r=g\",\"caption\":\"Jean-Bernard Boichat\"},\"logo\":{\"@id\":\"https:\/\/www.boichat.ch\/wordpress\/#\/schema\/person\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Raspberry Pi 5 avec Java et Python - Jean-Bernard Boichat","description":"Le Raspberry Pi 5, son installation, ses broches GPIO, Python, Java, d\u00e9veloppement avec Eclipse, PuTTY, WinSCP, trucs et astuces!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/","og_locale":"fr_FR","og_type":"article","og_title":"Raspberry Pi 5 avec Java et Python - Jean-Bernard Boichat","og_description":"Le Raspberry Pi 5, son installation, ses broches GPIO, Python, Java, d\u00e9veloppement avec Eclipse, PuTTY, WinSCP, trucs et astuces!","og_url":"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/","og_site_name":"Jean-Bernard Boichat","article_published_time":"2025-03-18T08:18:17+00:00","article_modified_time":"2025-11-02T07:44:29+00:00","og_image":[{"url":"https:\/\/www.boichat.ch\/wordpress\/wp-content\/uploads\/2024\/09\/minuterie.jpg"}],"author":"Jean-Bernard Boichat","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Jean-Bernard Boichat","Dur\u00e9e de lecture estim\u00e9e":"21 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/#article","isPartOf":{"@id":"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/"},"author":{"name":"Jean-Bernard Boichat","@id":"https:\/\/www.boichat.ch\/wordpress\/#\/schema\/person\/fe6328cc5b74b8a6e8d841285a928751"},"headline":"Raspberry Pi 5 avec Java et Python","datePublished":"2025-03-18T08:18:17+00:00","dateModified":"2025-11-02T07:44:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/"},"wordCount":4375,"commentCount":0,"publisher":{"@id":"https:\/\/www.boichat.ch\/wordpress\/#\/schema\/person\/fe6328cc5b74b8a6e8d841285a928751"},"articleSection":["Raspberry Pi 3\/4\/5"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/","url":"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/","name":"Raspberry Pi 5 avec Java et Python - Jean-Bernard Boichat","isPartOf":{"@id":"https:\/\/www.boichat.ch\/wordpress\/#website"},"datePublished":"2025-03-18T08:18:17+00:00","dateModified":"2025-11-02T07:44:29+00:00","description":"Le Raspberry Pi 5, son installation, ses broches GPIO, Python, Java, d\u00e9veloppement avec Eclipse, PuTTY, WinSCP, trucs et astuces!","breadcrumb":{"@id":"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.boichat.ch\/wordpress\/2025\/03\/18\/raspberry-pi-5\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.boichat.ch\/wordpress\/"},{"@type":"ListItem","position":2,"name":"Raspberry Pi 5 avec Java et Python"}]},{"@type":"WebSite","@id":"https:\/\/www.boichat.ch\/wordpress\/#website","url":"https:\/\/www.boichat.ch\/wordpress\/","name":"Jean-Bernard Boichat","description":"Mon site WordPress","publisher":{"@id":"https:\/\/www.boichat.ch\/wordpress\/#\/schema\/person\/fe6328cc5b74b8a6e8d841285a928751"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.boichat.ch\/wordpress\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":["Person","Organization"],"@id":"https:\/\/www.boichat.ch\/wordpress\/#\/schema\/person\/fe6328cc5b74b8a6e8d841285a928751","name":"Jean-Bernard Boichat","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.boichat.ch\/wordpress\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/862886ce35a52b9d13595e18ac3c3ea5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/862886ce35a52b9d13595e18ac3c3ea5?s=96&d=mm&r=g","caption":"Jean-Bernard Boichat"},"logo":{"@id":"https:\/\/www.boichat.ch\/wordpress\/#\/schema\/person\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.boichat.ch\/wordpress\/wp-json\/wp\/v2\/posts\/10009"}],"collection":[{"href":"https:\/\/www.boichat.ch\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.boichat.ch\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.boichat.ch\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.boichat.ch\/wordpress\/wp-json\/wp\/v2\/comments?post=10009"}],"version-history":[{"count":0,"href":"https:\/\/www.boichat.ch\/wordpress\/wp-json\/wp\/v2\/posts\/10009\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.boichat.ch\/wordpress\/wp-json\/wp\/v2\/media?parent=10009"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.boichat.ch\/wordpress\/wp-json\/wp\/v2\/categories?post=10009"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.boichat.ch\/wordpress\/wp-json\/wp\/v2\/tags?post=10009"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}