﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tag TSL2561 - Constellation</title>
	<atom:link href="https://developer.myconstellation.io/tag/tsl2561/feed/" rel="self" type="application/rss+xml" />
	<link>https://developer.myconstellation.io/tag/tsl2561/</link>
	<description>Votre plateforme d&#039;interconnexion</description>
	<lastBuildDate>Thu, 19 Apr 2018 05:08:42 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.0.11</generator>

<image>
	<url>https://developer.myconstellation.io/wp-content/uploads/2016/02/256x256-e1457476015859.png</url>
	<title>Tag TSL2561 - Constellation</title>
	<link>https://developer.myconstellation.io/tag/tsl2561/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Créer un capteur de luminosité dans une prise 220v avec un ESP8266</title>
		<link>https://developer.myconstellation.io/tutorials/creer-un-capteur-de-luminosite-dans-une-prise-220v/</link>
					<comments>https://developer.myconstellation.io/tutorials/creer-un-capteur-de-luminosite-dans-une-prise-220v/#respond</comments>
		
		<dc:creator><![CDATA[Sebastien Warin]]></dc:creator>
		<pubDate>Sat, 13 May 2017 13:35:14 +0000</pubDate>
				<category><![CDATA[Tutoriels]]></category>
		<category><![CDATA[Lux]]></category>
		<category><![CDATA[TSL2561]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[ESP8266]]></category>
		<guid isPermaLink="false">https://developer.myconstellation.io/?p=4819</guid>

					<description><![CDATA[<p>Ce tutoriel est sur le principe identique à celui-ci : Créer un capteur de température, humidité et luminosité connecté sauf que nous allons utiliser un ESP-01 beaucoup plus petit et moins cher qu&#8217;un D1 Mini Pro. Nous assemblerons l&#8217;ESP8266 et le capteur de</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/tutorials/creer-un-capteur-de-luminosite-dans-une-prise-220v/">Créer un capteur de luminosité dans une prise 220v avec un ESP8266</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Ce tutoriel est sur le principe identique à celui-ci : <a href="/tutorials/creer-un-capteur-de-temperature-humidite-et-luminosite-connecte/">Créer un capteur de température, humidité et luminosité connecté</a> sauf que nous allons utiliser un ESP-01 beaucoup plus petit et moins cher qu&rsquo;un D1 Mini Pro.</p>
<p>Nous assemblerons l&rsquo;ESP8266 et le capteur de luminosité TSL2561 dans une prise 220v avec un convertisseur 220v -&gt; 3v3.</p>
<h3>Prérequis</h3>
<ul>
<li>Un serveur Constellation</li>
<li>Un ESP8266 comme l&rsquo;ESP-01 (entre 1,5€ et 2€)</li>
<li>Un capteur de luminosité TSL2561 (environ 2€)</li>
<li>Un convertisseur 220v -&gt; 3v3 (environ 2€)</li>
<li>Un boitier/prise 220v (entre 5 et 15 €)</li>
</ul>
<h3>Le montage</h3>
<p>Le capteur TSL2561 se connecte en I²C, il suffit donc de l&rsquo;alimenter en 3v3 et de connecter les deux GPIO de l&rsquo;ESP-01 (GPIO-0 et GPIO-2) aux pins SCL et SDA du capteur.</p>
<p>Le schéma de connexion est donc le suivant :</p>
<p style="text-align: center;"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/Fig-1.png"><img class="colorbox-4819"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Lux Sensor" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/Fig-1_thumb.png" alt="Lux Sensor" width="450" height="285" border="0" /></a></p>
<p>Sur le bornier 220v de notre prise nous allons souder deux fils (la phase et le neutre) vers l&rsquo;entrée convertisseur 220v AC. En sortie du convertisseur, on a une tension de 3v3 DC que nous connecterons à l&rsquo;ESP-01 ainsi qu&rsquo;au TSL2561.</p>
<p>N&rsquo;oubliez pas également de relier le port « CH_PD » de l&rsquo;ESP-01 au 3v3 pour activer le Wifi.</p>
<p>Pour plus d’information, je vous invite <a href="https://sebastien.warin.fr/2016/07/12/4138-decouverte-des-esp8266-le-microcontroleur-connecte-par-wifi-pour-2-au-potentiel-phenomenal-avec-constellation/" target="_blank" rel="noopener noreferrer">à lire cet article</a>.</p>
<p style="text-align: center;"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-84.png"><img class="colorbox-4819"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Lux Sensor" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-84.png" alt="Lux Sensor" width="454" height="403" border="0" /></a></p>
<p>Disposez les différents composants dans le boitier en prenant soin d&rsquo;isoler les parties 220v (avec de la colle thermofusibles ou du ruban isolant).</p>
<h3>Le code</h3>
<p>L&rsquo;ESP-01 ne dispose pas comme le D1 Mini Pro vu dans<a href="/tutorials/creer-un-capteur-de-temperature-humidite-et-luminosite-connecte/"> ce tutoriel</a> d&rsquo;une interface USB intégrée. Il vous faudra donc une interface USB/FTDI pour le programmer. Pour plus d’information, je vous invite <a href="https://sebastien.warin.fr/2016/07/12/4138-decouverte-des-esp8266-le-microcontroleur-connecte-par-wifi-pour-2-au-potentiel-phenomenal-avec-constellation/" target="_blank" rel="noopener noreferrer">à lire cet article</a>.</p>
<p>A l&rsquo;inverse du <a href="/tutorials/creer-un-capteur-de-temperature-humidite-et-luminosite-connecte/">tutoriel précédent</a>, ce code utilise la libraire <a href="https://github.com/adafruit/TSL2561-Arduino-Library" data-pjax="#js-repo-pjax-container">TSL2561-Arduino-Library</a> et non la « Unifed Sensor Library » afin de nous permettre de récupérer le Broadband et l&rsquo;IR en plus des Lux.</p>
<p>Il faudra donc installer la libraire « <em>TSL2561-Arduino-Library</em> » depuis le Gestionnaire de bibliothèque. De plus on utilise ici « ArduinoThread » pour ordonner les mesures à intervalle régulier. Vous devrez également installer cette librairie.</p>
<p><strong>Attention</strong> : si tout cela est nouveau pour vous, je vous recommande <a href="https://developer.myconstellation.io/getting-started/connecter-un-arduino-ou-un-esp8266-constellation/">de suivre ce guide d’introduction à l’API Constellation pour Arduino/ESP8266</a>.</p>
<p>Le code complet est :</p>
<p></p><pre class="crayon-plain-tag">#include &lt;ESP8266WiFi.h&gt;
const char* ssid     = "MON SSID";
const char* password = "lacléeWifi!!!!";

#include &lt;Constellation.h&gt;
Constellation&lt;WiFiClient&gt; constellation("IP ou DNS du serveur Constellation", 8088, "ESP-LightSensorSalon", "LightSensor", "123456789");

#include &lt;Wire.h&gt;
#include &lt;TSL2561.h&gt;
TSL2561 tsl(TSL2561_ADDR_FLOAT); 

#include &lt;Thread.h&gt;
Thread thrPushLux = Thread();

void pushLuxOnConstellation() {  
  uint32_t lum = tsl.getFullLuminosity();
  uint16_t ir, full;
  ir = lum &gt;&gt; 16;
  full = lum &amp; 0xFFFF;
  uint32_t lux = tsl.calculateLux(full, ir);
  
  constellation.pushStateObject("Lux", stringFormat("{ 'Lux':%d, 'Broadband':%d, 'IR':%d }", lux, full, ir), "LightSensor.Lux", 300);
}

void setup(void) {
  Serial.begin(115200);  delay(10);

  if (tsl.begin()) {
    Serial.println("Found sensor");
  } else {
    Serial.println("No sensor?");
    while (1);
  }
  
  // You can change the gain on the fly, to adapt to brighter/dimmer light situations
  //tsl.setGain(TSL2561_GAIN_0X);         // set no gain (for bright situtations)
  tsl.setGain(TSL2561_GAIN_16X);      // set 16x gain (for dim situations)  
  // Changing the integration time gives you a longer time over which to sense light
  // longer timelines are slower, but are good in very low light situtations!
  //tsl.setTiming(TSL2561_INTEGRATIONTIME_13MS);  // shortest integration time (bright light)
  //tsl.setTiming(TSL2561_INTEGRATIONTIME_101MS);  // medium integration time (medium light)
  tsl.setTiming(TSL2561_INTEGRATIONTIME_402MS);  // longest integration time (dim light)

  // Set Wifi mode
  if (WiFi.getMode() != WIFI_STA) {
    WiFi.mode(WIFI_STA);
    delay(10);
  }
  
  // Connect to Wifi  
  Serial.print("Connecting to ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("WiFi connected. IP: ");
  Serial.println(WiFi.localIP());
  Serial.println(constellation.getSentinelName());
  
  JsonObject&amp; settings = constellation.getSettings();
  int interval = 10000; //ms
  if(settings.containsKey("Interval")) {
    interval = settings["Interval"].as&lt;int&gt;();
  }

  thrPushLux.onRun(pushLuxOnConstellation);
  thrPushLux.setInterval(interval);

  constellation.addStateObjectType("LightSensor.Lux", TypeDescriptor().setDescription("Lux data informations").addProperty("Broadband", "System.Int32").addProperty("IR", "System.Int32").addProperty("Lux", "System.Int32"));
  constellation.declarePackageDescriptor();
  
  constellation.writeInfo("ESP LightSensor '%s' is started (Push interval: %d sec)", constellation.getSentinelName(), interval);  
}

void loop(void) {
  if(thrPushLux.shouldRun()){
    thrPushLux.run();
  }
}</pre><p></p>
<p>Pour démarrer vous devez dans Constellation déclarer une sentinelle associée à une clé d’accès et un package virtuel. Ici notre ESP8266 est représenté par la sentinelle nommée “ESP-LightSensorSalon” et le package virtuel se nomme “LightSensor”.</p>
<p>Ensuite il faut définir le nom de notre réseau Wifi (SSID) ainsi que sa clé d’accès puis nous configurerons le client Constellation en spécifiant l’identité de notre package virtuel, sa clé d’accès et l’adresse/port de notre serveur Constellation.</p>
<p>Dans la méthode « <em>setup()</em>« , on initialise le capteur TSL puis on se connecte au Wifi et enfin on déclare l&rsquo;intervalle de temps entre chaque mesure, par défaut de 10 secondes qu&rsquo;on peut modifier en ajoutant un setting « Interval » sur notre package virtuel.</p>
<p>On configure ensuite un « thread » qui exécutera à l&rsquo;intervalle de temps spécifié la méthode « <em>pushLuxOnConstellation</em>« . Pour finir on déclare la description du StateObject par la méthode « <em>constellation.addStateObjectType</em> » et on affiche un log. Dans la <em>loop()</em>, on déclenche le thread.</p>
<p>La méthode « <em>pushLuxOnConstellation</em> » récupère les données du capteur et publie le StateObject « Lux » avec les trois propriétés :</p>
<p></p><pre class="crayon-plain-tag">constellation.pushStateObject("Lux", stringFormat("{ 'Lux':%d, 'Broadband':%d, 'IR':%d }", lux, full, ir), "LightSensor.Lux", 300);</pre><p></p>
<p>Une fois le programme téléversé, votre prise publiera le StateObject à l&rsquo;intervalle régulier la luminosité ambiante.</p>
<h3>Exploiter le capteur</h3>
<p>Comme vous le savez, une fois les données mesurées publiées dans un StateObject n&rsquo;importe quel système connecté dans Constellation peut récupérer ou s&rsquo;abonner en temps réel au StateObject.</p>
<p>On peut donc écrire des pages Web, des scripts, des packages .NET ou Python, Arduino, etc… qui exploiteront ces mesures en temps réel.</p>
<p>Je vous renvoie sur <a href="/tutorials/un-capteur-de-luminosite-exterieur-pilote-par-raspberry/#Exploitez_les_donnees">cette page</a> ou<a href="/tutorials/creer-un-capteur-de-temperature-humidite-et-luminosite-connecte/#Etape_3_Une_page_Web_pour_afficher_votre_capteur_en_temps_reel"> cette autre page</a> pour avoir quelques idées.</p>
<p>Pour ma part ce capteur installé dans le salon est affiché en temps réel sur <a href="https://sebastien.warin.fr/2015/07/15/3033-s-panel-une-interface-domotique-et-iot-multi-plateforme-avec-cordova-angularjs-et-constellation-ou-comment-crer-son-dashboard-domotique-mural/">un dashboard Web</a>,  stocké dans ElasticSearch et Cacti et exploité dans un package .NET nommé « MyBrain » car cette information sur la luminosité ambiante sert dans beaucoup de scénario : gestion des éclairages ou des volets.</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/tutorials/creer-un-capteur-de-luminosite-dans-une-prise-220v/">Créer un capteur de luminosité dans une prise 220v avec un ESP8266</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://developer.myconstellation.io/tutorials/creer-un-capteur-de-luminosite-dans-une-prise-220v/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Mise en cache de page à l’aide de Disk: Enhanced 

Served from: developer.myconstellation.io @ 2026-01-23 02:54:10 by W3 Total Cache
-->