<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://www.momh.fr/spip.php?page=backend.xslt" ?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>momh</title>
	<link>https://momh.fr/</link>
	<description>My Own Memory Hole se veut une sorte de &#171;&#160;vitrine&#160;&#187; de mon parcours et de mon exp&#233;rience mais aussi de mes centres d'int&#233;r&#234;t et constitue donc en quelque sorte ma m&#233;moire en ligne, m&#233;moire virtuelle d&#233;localis&#233;e mais ordonn&#233;e et index&#233;e&#8230;</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://www.momh.fr/spip.php?id_mot=13&amp;page=backend" rel="self" type="application/rss+xml" />




<item xml:lang="fr">
		<title>WeeWX, MQTT et skin Belchertown</title>
		<link>https://www.momh.fr/weewx-mqtt-et-skin-belchertown</link>
		<guid isPermaLink="true">https://www.momh.fr/weewx-mqtt-et-skin-belchertown</guid>
		<dc:date>2020-12-20T15:14:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>Linux</dc:subject>
		<dc:subject>Raspberry Pi</dc:subject>
		<dc:subject>WeeWX</dc:subject>

		<description>
&lt;p&gt;Le skin Belchertown pour WeeWX propos&#233; par Pat O'Brien est extr&#234;mement complet (et complexe, du moins pour moi) et est particuli&#232;rement int&#233;ressant pour ses graphiques dynamiques en JavaScript. &lt;br class='autobr' /&gt; Installation et configuration de base &lt;br class='autobr' /&gt;
Son installation n'est pas particuli&#232;rement difficile puisqu'il suffit de suivre les instructions fournies&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;; ainsi, &#224; ce jour&#160;: bash wget https://github.com/poblabs/weewx-belchertown/releases/download/weewx-belchertown-1.2/weewx-belchertown-release-1.2.tar.gz&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/linux" rel="tag"&gt;Linux&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/raspberry-pi" rel="tag"&gt;Raspberry Pi&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/weewx" rel="tag"&gt;WeeWX&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Le &lt;a href=&#034;https://github.com/poblabs/weewx-belchertown&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;skin Belchertown&lt;/a&gt; pour WeeWX propos&#233; par Pat O'Brien est extr&#234;mement complet (et complexe, du moins pour moi) et est particuli&#232;rement int&#233;ressant pour ses graphiques dynamiques en JavaScript.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Installation et configuration de base&lt;/h2&gt;
&lt;p&gt;Son installation n'est pas particuli&#232;rement difficile puisqu'il suffit de suivre les instructions fournies&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;; ainsi, &#224; ce jour&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;wget https://github.com/poblabs/weewx-belchertown/releases/download/weewx-belchertown-1.2/weewx-belchertown-release-1.2.tar.gz sudo wee_extension --install weewx-belchertown-release-1.2.tar.gz &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ensuite, il convient de passer &#224; sa configuration en ayant pris soin, afin de b&#233;n&#233;ficier de certaines options dont le module de pr&#233;visions &#224; sept jours, de &lt;a href=&#034;https://github.com/poblabs/weewx-belchertown#requirements&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;remplir certaines conditions&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;La configuration de base est la suivante&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo nano /etc/weewx/weewx.conf &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;[StdReport] ... [[Belchertown]] skin = Belchertown HTML_ROOT = /var/www/html/weewx/ &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;&lt;span class=&#034;caps&#034;&gt;MQTT&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Nous allons surtout nous int&#233;resser &#224; la mise en place du rafra&#238;chissement automatique des graphiques et de l'affichage des donn&#233;es permises par ce skin gr&#226;ce au protocole &lt;span class=&#034;caps&#034;&gt;MQTT&lt;/span&gt; (Message Queuing Telemetry Transport). Il convient d'abord d'installer et de configurer un &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;serveur&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187;, un &lt;i&gt;broker&lt;/i&gt;, en l'occurrence &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mosquitto&lt;/code&gt; tel que nous l'avons vu dans &lt;a href='https://www.momh.fr/mosquitto-un-broker-mqtt' class=&#034;spip_in&#034;&gt;un pr&#233;c&#233;dent article&lt;/a&gt; &#224; partir du post de Pat O'Brien &lt;a href=&#034;https://obrienlabs.net/how-to-setup-your-own-mqtt-broker/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;sur son blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Bien s&#251;r, dans mon cas, WeeWX ne r&#233;cup&#233;rant des donn&#233;es de la station m&#233;t&#233;o que toutes les cinq voire dix minutes, l'utilisation du plugin weewx-mqtt ne se justifie pas forc&#233;ment...&lt;/p&gt;
&lt;p&gt;Une fois le &lt;i&gt;broker&lt;/i&gt; Mosquitto install&#233; et configur&#233;, il faut installer le plugin &lt;a href=&#034;https://github.com/matthewwall/weewx-mqtt&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;weewx-mqtt&lt;/a&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo pip3 install paho-mqtt wget -O weewx-mqtt.zip https://github.com/matthewwall/weewx-mqtt/archive/master.zip wee_extension --install weewx-mqtt.zip &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On modifie ensuite sa configuration qui d&#233;pend de la section [Restful] dans le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/weewx/weewx.conf&lt;/code&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;[Restful] ... [[MQTT]] server_url = mqtt://USER:PASSWORD@SERVER:PORT/ topic = weewx unit_system = METRIC binding = archive, loop aggregation = aggregate [[[tls]]] tls_version = tlsv12 ca_certs = /etc/ssl/certs/ca-certificates.crt &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On en profite pour &#233;diter la configuration du skin Belchertown de la sorte&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;[StdReport] ... [[Belchertown]] skin = Belchertown HTML_ROOT = /var/www/html/weewx/ mqtt_websockets_enabled = 1 mqtt_websockets_host = &#034;SERVER&#034; mqtt_websockets_port = 9001 mqtt_websockets_ssl = 1 mqtt_websockets_topic = &#034;weather/loop&#034; disconnect_live_website_visitor = 1800000 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il ne nous reste plus qu'&#224; relancer weewx&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo service restart weewx &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On peut v&#233;rifier le bon fonctionnement du plugin weewx-mqtt en lan&#231;ant la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mosquitto_sub&lt;/code&gt; pour suivre le topic &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;weewx/loop&lt;/code&gt; ou en &#233;pluchant &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/var/log/syslog&lt;/code&gt; &#224; la recherche d'une ligne de ce type&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;tail -f /var/log/syslog | grep weewx [snip] Mar 1 06:48:23 raspberrypi weewx[3998] INFO weewx.restx: MQTT: Published record 2021-03-01 06:45:00 CET (1614588300) [snip] &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Auto-h&#233;bergement, DynHost OVH et certificat Let's Encrypt sous Raspbian</title>
		<link>https://www.momh.fr/auto-hebergement-dynhost-ovh-et-certificat-let-s-encrypt-sous-raspbian</link>
		<guid isPermaLink="true">https://www.momh.fr/auto-hebergement-dynhost-ovh-et-certificat-let-s-encrypt-sous-raspbian</guid>
		<dc:date>2020-12-06T09:28:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>Linux</dc:subject>
		<dc:subject>WeeWX</dc:subject>
		<dc:subject>auto-h&#233;bergement</dc:subject>
		<dc:subject>Raspberry Pi</dc:subject>

		<description>
&lt;p&gt;Ayant &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;associ&#233;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; ma station m&#233;t&#233;o Netatmo &#224; mon Raspberry Pi gr&#226;ce &#224; WeeWX (lire ce post), je souhaite d&#233;sormais rendre accessible sur Internet le site web ainsi g&#233;n&#233;r&#233;. Je consid&#232;re ainsi que vous avez d&#233;j&#224; un serveur Apache fonctionnel et configur&#233; (m&#234;me si nous aborderons la cr&#233;ation d'un VirtualHost par la suite). &lt;br class='autobr' /&gt; DynHost et mise &#224; jour de l'&lt;span class=&#034;caps&#034;&gt;IP&lt;/span&gt; &lt;br class='autobr' /&gt;
&#201;tant chez &lt;span class=&#034;caps&#034;&gt;OVH&lt;/span&gt;, je profite de leur service DynHOST qui &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;permet de faire pointer un sous-domaine vers une adresse &lt;span class=&#034;caps&#034;&gt;IP&lt;/span&gt; dynamique qui sera&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/linux" rel="tag"&gt;Linux&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/weewx" rel="tag"&gt;WeeWX&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/auto-hebergement" rel="tag"&gt;auto-h&#233;bergement&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/raspberry-pi" rel="tag"&gt;Raspberry Pi&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Ayant &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;associ&#233;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; ma station m&#233;t&#233;o Netatmo &#224; mon Raspberry Pi gr&#226;ce &#224; WeeWX (&lt;a href='https://www.momh.fr/station-meteo-netatmo-weewx-bis' class=&#034;spip_in&#034;&gt;lire ce post&lt;/a&gt;), je souhaite d&#233;sormais rendre accessible sur Internet le site web ainsi g&#233;n&#233;r&#233;. Je consid&#232;re ainsi que vous avez d&#233;j&#224; un serveur Apache fonctionnel et configur&#233; (m&#234;me si nous aborderons la cr&#233;ation d'un VirtualHost par la suite).&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;DynHost et mise &#224; jour de l'&lt;span class=&#034;caps&#034;&gt;IP&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&#201;tant chez &lt;span class=&#034;caps&#034;&gt;OVH&lt;/span&gt;, je profite de leur service DynHOST qui &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&lt;i&gt;permet de faire pointer un sous-domaine vers une adresse &lt;span class=&#034;caps&#034;&gt;IP&lt;/span&gt; dynamique qui sera mise &#224; jour dans votre zone &lt;span class=&#034;caps&#034;&gt;DNS&lt;/span&gt; &#224; chaque changement de celle-ci.&lt;/i&gt;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187;.&lt;/p&gt;
&lt;p&gt;On cr&#233;e notre DynHost puis on en g&#232;re les acc&#232;s, en cr&#233;ant un nouvel identifiant. Puis, sur notre Raspberry Pi, on installe &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ddclient&lt;/code&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo apt install ddclient &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Lors de l'installation, des &#233;crans successifs vont nous permettre de le configurer&#160;:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;i&gt;Fournisseur de service de &lt;span class=&#034;caps&#034;&gt;DNS&lt;/span&gt; dynamique&#160;:&lt;/i&gt; Autre&lt;/li&gt;&lt;li&gt; &lt;i&gt;Protocole de mise &#224; jour du &lt;span class=&#034;caps&#034;&gt;DNS&lt;/span&gt; dynamique&#160;:&lt;/i&gt; dyndns2&lt;/li&gt;&lt;li&gt; &lt;i&gt;Serveur de &lt;span class=&#034;caps&#034;&gt;DNS&lt;/span&gt; dynamique&#160;:&lt;/i&gt; &lt;a href=&#034;http://www.ovh.com&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;www.ovh.com&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;i&gt;Mandataire &lt;span class=&#034;caps&#034;&gt;HTTP&lt;/span&gt;&#160;:&lt;/i&gt; n&#233;ant&lt;/li&gt;&lt;li&gt; &lt;i&gt;Identifiant&#160;:&lt;/i&gt; l'identifiant saisi pr&#233;c&#233;demment (comprenant le nom de domaine en pr&#233;fixe)&lt;/li&gt;&lt;li&gt; &lt;i&gt;Mot de passe&#160;:&lt;/i&gt; le mot de passe correspondant&lt;/li&gt;&lt;li&gt; &lt;i&gt;M&#233;thode de d&#233;couverte d'adresse &lt;span class=&#034;caps&#034;&gt;IP&lt;/span&gt;&#160;:&lt;/i&gt; Service de d&#233;couverte d'&lt;span class=&#034;caps&#034;&gt;IP&lt;/span&gt; bas&#233;e sur le web&lt;/li&gt;&lt;li&gt; &lt;i&gt;H&#244;tes &#224; mettre &#224; jour&#160;:&lt;/i&gt; le DynHost cr&#233;&#233; pr&#233;c&#233;demment&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;La configuration peut se faire sinon &#224; la main, en &#233;ditant le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/ddclient.conf&lt;/code&gt; qui doit ressembler &#224; cela&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;protocol=dyndns2 use=web, web=checkip.dyndns.com server=www.ovh.com login=DOMAINE-USER password='PASSWORD' DYNHOST &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il vous faut ensuite &#233;diter le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/default/ddclient&lt;/code&gt; et veiller &#224; bien avoir&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;run_daemon=&#034;true&#034; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et enfin, on red&#233;marre ddclient&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo service ddclient restart &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Redirection des ports&lt;/h2&gt;
&lt;p&gt;Ensuite, il faut se rendre dans l'interface de gestion de votre Box Internet et configurer, dans la section &lt;span class=&#034;caps&#034;&gt;NAT&lt;/span&gt;, la redirection des port 80 et 443 vers ceux de votre Raspberry Pi (pour en conna&#238;tre l'&lt;span class=&#034;caps&#034;&gt;IP&lt;/span&gt; sur votre r&#233;seau local, utilisez la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;hostname -I&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;D&#233;sormais, en saisissant l'&lt;span class=&#034;caps&#034;&gt;URL&lt;/span&gt; de votre DynHost, vous devriez acc&#233;der &#224; la m&#234;me page que lorsque vous acc&#233;dez &#224; l'adresse localhost.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Mise en place du &lt;span class=&#034;caps&#034;&gt;HTTPS&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Pour ce faire, nous allons g&#233;n&#233;rer un certificat Let's Encrypt pour notre DynHost.&lt;/p&gt;
&lt;p&gt;On commence par copier, dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/apache2/sites-available/&lt;/code&gt;, le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;000-default.conf&lt;/code&gt; vers &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;DYNHOST.conf&lt;/code&gt;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;; par exemple&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/meteo.momh.fr.conf &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;puis par le configurer pour pointer vers notre r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/var/www/html/weewx&lt;/code&gt; ou autre r&#233;pertoire en fonction du ou des skin(s) que vous utilisez. Par exemple, minimalement&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;apacheconf&#034; class='spip_code spip_code_block language-apacheconf' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;VirtualHost *:80&gt; ServerName meteo.momh.fr ServerAdmin webmaster@localhost DocumentRoot /var/www/html/weewx ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined &lt;/VirtualHost&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour g&#233;n&#233;rer le certificat, nous allons utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;certbot&lt;/code&gt;, qu'il convient d'installer&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo apt install certbot python3-certbot-apache &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;puis d'activer le module ssl d'Apache&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo a2enmode ssl sudo systemctl restart apache2 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On peut alors g&#233;n&#233;rer notre certificat avec la commande suivante&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo certbot --apache -d DynHOST &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il vous est propos&#233; de rediriger l'&#233;ventuel traffic &lt;span class=&#034;caps&#034;&gt;HTTP&lt;/span&gt; vers &lt;span class=&#034;caps&#034;&gt;HTTPS&lt;/span&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Un certificat est alors g&#233;n&#233;r&#233; et un nouvel h&#244;te virtuel est configur&#233; dans Apache, &#224; l'emplacement &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/apache2/sites-available/DYNHOST-le-ssl.conf&lt;/code&gt;. Si vous avez choisi l'option 2, le VirtualHost pr&#233;sent&#233; ci-dessus se voit modifi&#233; avec les lignes suivantes&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;apacheconf&#034; class='spip_code spip_code_block language-apacheconf' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;RewriteEngine on RewriteCond %{SERVER_NAME} =DYNHOST RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour voir que tout fonctionne, on peut utiliser l'outil de test propos&#233; par &lt;a href=&#034;https://www.ssllabs.com/ssltest/analyze.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;ssllabs.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Station m&#233;t&#233;o Netatmo &amp; WeeWX [bis]</title>
		<link>https://www.momh.fr/station-meteo-netatmo-weewx-bis</link>
		<guid isPermaLink="true">https://www.momh.fr/station-meteo-netatmo-weewx-bis</guid>
		<dc:date>2020-11-05T09:13:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>Linux</dc:subject>
		<dc:subject>Raspberry Pi</dc:subject>
		<dc:subject>WeeWX</dc:subject>

		<description>
&lt;p&gt;Suite &#224; mon premier post sur le sujet (auquel il convient de se reporter pour la configuration et l'utilisation d'une base de donn&#233;e MySQL), je me suis attel&#233; plus longuement &#224; la compatibilit&#233; du plugin weewx-netatmo de Matthew Wall avec les versions 4 de WeeWX sous Python 3. &lt;br class='autobr' /&gt; Installation &lt;br class='autobr' /&gt;
De ce fait, on n'a plus besoin d'installer une ancienne version de WeeWX et l'on peut se reporter sur la version disponible dans les d&#233;p&#244;ts&#160;: bash wget -qO - https://weewx.com/keys.html | sudo apt-key&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/linux" rel="tag"&gt;Linux&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/raspberry-pi" rel="tag"&gt;Raspberry Pi&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/weewx" rel="tag"&gt;WeeWX&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Suite &#224; &lt;a href='https://www.momh.fr/station-meteo-netatmo-weewx' class=&#034;spip_in&#034;&gt;mon premier post sur le sujet&lt;/a&gt; (auquel il convient de se reporter pour la configuration et l'utilisation d'une base de donn&#233;e MySQL), je me suis attel&#233; plus longuement &#224; la compatibilit&#233; du &lt;a href=&#034;https://github.com/matthewwall/weewx-netatmo&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;plugin weewx-netatmo de Matthew Wall&lt;/a&gt; avec les versions 4 de &lt;a href=&#034;https://www.weewx.com&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;WeeWX&lt;/a&gt; sous Python 3.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Installation&lt;/h2&gt;
&lt;p&gt;De ce fait, on n'a plus besoin d'installer une ancienne version de WeeWX et l'on peut se reporter sur la version disponible dans les d&#233;p&#244;ts&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;wget -qO - https://weewx.com/keys.html | sudo apt-key add - wget -qO - https://weewx.com/apt/weewx-python3.list | sudo tee /etc/apt/sources.list.d/weewx.list sudo apt update sudo apt install weewx &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;D&#233;sormais, la configuration et autres skins ne se trouvent plus dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/home/weewx&lt;/code&gt; mais dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/weewx&lt;/code&gt;. L'installation du plugin weewx-netatmo peut se faire depuis mon fork du plugin&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;wget -O weewx-netatmo.zip https://github.com/bricebou/weewx-netatmo/archive/master.zip sudo wee_extension --install weewx-netatmo.zip sudo wee_config --reconfigure &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On ouvre ensuite le fichier de configuration &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/weewx/weewx.conf&lt;/code&gt; pour v&#233;rifier que nos identifiants Netatmo soient bien pris en compte. Ensuite, on red&#233;marre WeeWX&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo service weewx restart &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Modifications apport&#233;es&lt;/h2&gt;
&lt;p&gt;Pour ce faire, on utilise l'outil &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;2to3&lt;/code&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo pip3 install 2to3 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;puis on lance la commande&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;2to3 -w netatmo.py &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Une erreur subsistait mais le probl&#232;me avait d&#233;j&#224; &#233;t&#233; r&#233;solu par &lt;a href=&#034;https://github.com/matthewwall/weewx-netatmo/issues/15#issuecomment-628994957&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;kwalker05&lt;/a&gt;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;; il suffit, &#224; la ligne 521, de remplacer&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;python&#034; class='spip_code spip_code_block language-python' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;params = urlencode(params) &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;par&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;python&#034; class='spip_code spip_code_block language-python' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;params = urlencode(params).encode(&#034;utf-8&#034;) &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Station m&#233;t&#233;o Netatmo &amp; WeeWX</title>
		<link>https://www.momh.fr/station-meteo-netatmo-weewx</link>
		<guid isPermaLink="true">https://www.momh.fr/station-meteo-netatmo-weewx</guid>
		<dc:date>2020-09-03T08:19:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>Linux</dc:subject>
		<dc:subject>Raspberry Pi</dc:subject>
		<dc:subject>WeeWX</dc:subject>

		<description>
&lt;p&gt;Dans le cadre de la &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;digitalisation&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; de La Sculpture&#160;: les Pluies de Patrick Dubrac, nous cherchons &#224; aller au-del&#224; de ce que nous avons mis en place avec Le Calendrier des pluies, mis &#224; jour mensuellement &#224; partir des donn&#233;es m&#233;t&#233;orologiques quotidiennes. D'o&#249; l'id&#233;e de d&#233;velopper un prototype associant une station m&#233;t&#233;o Netatmo &#224; un Raspberry Pi sur lequel serait install&#233; WeeWX, un petit programme en Python qui permet d'interagir avec de multiples mod&#232;les de stations m&#233;t&#233;o, de publier&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/linux" rel="tag"&gt;Linux&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/raspberry-pi" rel="tag"&gt;Raspberry Pi&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/weewx" rel="tag"&gt;WeeWX&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Dans le cadre de &lt;a href=&#034;https://lespluies.fr&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;la &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;digitalisation&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; de &lt;i&gt;La Sculpture&#160;: les Pluies&lt;/i&gt;&lt;/a&gt; de &lt;a href=&#034;https://patrickdubrac.fr&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Patrick Dubrac&lt;/a&gt;, nous cherchons &#224; aller au-del&#224; de ce que nous avons mis en place avec &lt;a href=&#034;https://patrickdubrac.fr/-Le-calendrier-des-pluies-&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Le Calendrier des pluies&lt;/a&gt;, mis &#224; jour mensuellement &#224; partir des donn&#233;es m&#233;t&#233;orologiques quotidiennes. D'o&#249; l'id&#233;e de d&#233;velopper un prototype associant &lt;a href=&#034;https://www.netatmo.com/fr-fr/weather/weatherstation&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;une station m&#233;t&#233;o Netatmo&lt;/a&gt; &#224; un Raspberry Pi sur lequel serait install&#233; &lt;a href=&#034;http://weewx.com/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;WeeWX&lt;/a&gt;, un petit programme en Python qui permet d'interagir avec de multiples mod&#232;les de stations m&#233;t&#233;o, de publier les donn&#233;es sur de multiples sites, de conserver les donn&#233;es dans des bases de donn&#233;es...&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Cependant, le pilote pour les stations Netatmo (&lt;a href=&#034;https://github.com/matthewwall/weewx-netatmo&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;https://github.com/matthewwall/weewx-netatmo&lt;/a&gt;) n'est pas compatible avec la version 4 de WeeWX...&lt;/p&gt;
&lt;p&gt;[&lt;span class=&#034;caps&#034;&gt;EDIT&lt;/span&gt;&#160;: depuis, je suis parvenu &#224; rendre compatible le plugin avec les versions 4 de WeeWX tel que pr&#233;sent&#233; &lt;a href='https://www.momh.fr/station-meteo-netatmo-weewx-bis' class=&#034;spip_in&#034;&gt;dans cet article&lt;/a&gt;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;; certains &#233;l&#233;ments de cet article sont toujours valables, tels ceux consacr&#233;s &#224; la base de donn&#233;es.]&lt;/p&gt;
&lt;p&gt;On bascule donc sur la derni&#232;re des versions 3 de WeeWX disponibles, la 3.9.2&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;wget http://weewx.com/downloads/released_versions/weewx-3.9.2.tar.gz &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On installe les d&#233;pendances n&#233;cessaires&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo apt install python-configobj python-pil python-serial python-usb python-pip python-cheetah python-ephem mariadb-client python-mysqldb &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Puis on lance l'installation&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;tar xvfz weewx-3.9.2.tar.gz cd weewx-3.9.2 python2 setup.py build sudo python setup.py install &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;L'ensemble des ex&#233;cutables se trouve dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/home/weewx/bin/&lt;/code&gt;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;; le fichier de configuration est &#224; l'emplacement &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/home/weewx/weewx.conf&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;On installe ensuite le pilote weewx-netatmo (&lt;a href=&#034;https://github.com/matthewwall/weewx-netatmo&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;https://github.com/matthewwall/weewx-netatmo&lt;/a&gt;)&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;wget -O weewx-netatmo.zip https://github.com/matthewwall/weewx-netatmo/archive/master.zip sudo /home/weewx/bin/wee_extension --install weewx-netatmo.zip sudo /home/weewx/bin/wee_config --reconfigure &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On &#233;dite ensuite le fichier de configuration &#224; la main&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo nano /home/weewx/weewx.conf &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On s'assure que nos identifiants Netatmo sont bien pris en compte et on bascule, dans la sous-section &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[[wx_binding]]&lt;/code&gt; de la section &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[DataBindings]&lt;/code&gt; sur une base de donn&#233;es MySQL&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;database = archive_mysql &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On cr&#233;e une base de donn&#233;es avec les m&#234;mes identifiants que ceux que nous avons indiqu&#233;s dans la sous-section &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[[archive_mysql]]&lt;/code&gt; de la secion &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[Databases]&lt;/code&gt;, par d&#233;faut&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; # MySQL [[archive_mysql]] database_name = weewx database_type = MySQL &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo mysql -u root -p &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;sql&#034; class='spip_code spip_code_block language-sql' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;MariaDB [(none)]&gt; CREATE DATABASE weewx; MariaDB [(none)]&gt; CREATE USER 'weewx'@localhost IDENTIFIED BY 'weewx'; MariaDB [(none)]&gt; GRANT ALL PRIVILEGES ON weewx.* TO 'weewx'@localhost; MariaDB [(none)]&gt; FLUSH PRIVILEGES; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Enfin, on fait en sorte que WeeWX soit lanc&#233; au d&#233;marrage comme un service&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;cd /home/weewx sudo cp util/init.d/weewx.debian /etc/init.d/weewx sudo chmod +x /etc/init.d/weewx sudo update-rc.d weewx defaults 98 sudo /etc/init.d/weewx start &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
