{"id":1402,"date":"2019-02-10T16:21:20","date_gmt":"2019-02-10T15:21:20","guid":{"rendered":"http:\/\/domotics.fr\/?p=1402"},"modified":"2023-11-19T11:54:35","modified_gmt":"2023-11-19T10:54:35","slug":"esp8266-presentation","status":"publish","type":"post","link":"https:\/\/domotics.fr\/index.php\/2019\/02\/10\/esp8266-presentation\/","title":{"rendered":"ESP8266 &#8211; Pr\u00e9sentation &#8211;"},"content":{"rendered":"<p>L\u2019<b>ESP8266\u00a0<\/b>est un\u00a0circuit int\u00e9gr\u00e9\u00a0\u00e0\u00a0microcontr\u00f4leur\u00a0avec connexion\u00a0Wi-Fi\u00a0d\u00e9velopp\u00e9 par le fabricant chinois Espressif. Il va nous servir de passerelle pour nos \u00e9quipements \u00e0 piloter.<\/p>\n<p>L&rsquo;ESP8266 poss\u00e8de autant de versions que de clones, personnellement j&rsquo;utilise des <a href=\"https:\/\/wiki.wemos.cc\/products:d1:d1_mini\">WEMOS D1<\/a>\u00a0mini, qui me paraissent d&rsquo;un bon rapport qualit\u00e9 prix.<\/p>\n\n\n<iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"\/\/ws-eu.amazon-adsystem.com\/widgets\/q?ServiceVersion=20070822&#038;OneJS=1&#038;Operation=GetAdHtml&#038;MarketPlace=FR&#038;source=ss&#038;ref=as_ss_li_til&#038;ad_type=product_link&#038;tracking_id=domotics06-21&#038;language=fr_FR&#038;marketplace=amazon&#038;region=FR&#038;placement=B01N9RXGHY&#038;asins=B01N9RXGHY&#038;linkId=966ec3087f232c785aa90f228751b19b&#038;show_border=true&#038;link_opens_in_new_window=true\"><\/iframe>\n<iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"\/\/ws-eu.amazon-adsystem.com\/widgets\/q?ServiceVersion=20070822&#038;OneJS=1&#038;Operation=GetAdHtml&#038;MarketPlace=FR&#038;source=ss&#038;ref=as_ss_li_til&#038;ad_type=product_link&#038;tracking_id=domotics06-21&#038;language=fr_FR&#038;marketplace=amazon&#038;region=FR&#038;placement=B0754N794H&#038;asins=B0754N794H&#038;linkId=62d8ef13cd58ab91706a9658f5b26770&#038;show_border=true&#038;link_opens_in_new_window=true\"><\/iframe>\n<iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"\/\/ws-eu.amazon-adsystem.com\/widgets\/q?ServiceVersion=20070822&#038;OneJS=1&#038;Operation=GetAdHtml&#038;MarketPlace=FR&#038;source=ss&#038;ref=as_ss_li_til&#038;ad_type=product_link&#038;tracking_id=domotics06-21&#038;language=fr_FR&#038;marketplace=amazon&#038;region=FR&#038;placement=B0754W6Z2F&#038;asins=B0754W6Z2F&#038;linkId=43fc89a87e7aac40f935e0f1cd63b936&#038;show_border=true&#038;link_opens_in_new_window=true\"><\/iframe>\n\n\n\n<p>L\u2019ESP8266 d\u2019<a href=\"https:\/\/www.espressif.com\/\">Espressif Systems<\/a>\u00a0n\u2019est autre qu\u2019un microcontr\u00f4leur \u00e0 c\u0153ur Tensilica Xtensa LX106 (processeur RISC 32 bits) compl\u00e9t\u00e9 de fonctionnalit\u00e9s Wifi associ\u00e9es \u00e0 une m\u00e9moire flash contenant le firmware.<\/p>\n\n\n\n<p>En gros, c&rsquo;est une carte Arduino connect\u00e9 en WIFI, mais je la trouve plus facile de prise en main pour un n\u00e9ophyte. Elle poss\u00e8de les m\u00eames type de sortie qu&rsquo;un raspberry PI, mais en cas de p\u00e9pin, \u00e7a vous co\u00fbtera beaucoup moins cher.<\/p>\n\n\n\n<p><strong>Quelques chiffres:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>32-bit&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Reduced_instruction_set_computer\">RISC<\/a>&nbsp;CPU: Tensilica Xtensa LX106, 80&nbsp;<abbr title=\"m\u00e9gahertz\">MHz<\/abbr>&nbsp;;<\/li><li>64 Kio de RAM instruction, 96 Kio de RAM data&nbsp;;<\/li><li>QSPI flash externe &#8211; 512 Kio \u00e0 4 Mio (supporte jusqu&rsquo;\u00e0 16&nbsp;Mio)&nbsp;;<\/li><li><a href=\"https:\/\/fr.wikipedia.org\/wiki\/IEEE_802.11\">IEEE 802.11<\/a>&nbsp;b\/g\/n&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Wi-Fi\">Wi-Fi<\/a>&nbsp;;\n<ul><li><a href=\"https:\/\/fr.wikipedia.org\/wiki\/Duplexeur\">TR switch<\/a>&nbsp;int\u00e9gr\u00e9,&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Balun\">balun<\/a>,&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Amplificateur_faible_bruit\">LNA<\/a>, amplificateur de puissance et&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Adaptation_d%27imp%C3%A9dances\">matching network<\/a>&nbsp;;<\/li><li>Authentification par&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Wired_Equivalent_Privacy\">WEP<\/a>&nbsp;ou&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Wi-Fi_Protected_Access\">WPA\/WPA2<\/a>&nbsp;ou bien r\u00e9seau ouvert&nbsp;;<\/li><\/ul>\n<\/li><li>16 broches&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/General_Purpose_Input\/Output\">GPIO<\/a>&nbsp;;<\/li><li>Interfaces&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Serial_Peripheral_Interface\">SPI<\/a>,&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/I2C\">I\u00b2C<\/a>&nbsp;;<\/li><li>Interface&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/I2S\">I\u00b2S<\/a>&nbsp;avec&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/DMA\">DMA<\/a>&nbsp;(partageant les broches avec les GPIO)&nbsp;;<\/li><li><a href=\"https:\/\/fr.wikipedia.org\/wiki\/UART\">UART<\/a>&nbsp;sur des broches d\u00e9di\u00e9es, plus un UART d\u00e9di\u00e9 aux transmission pouvant \u00eatre g\u00e9r\u00e9 par GPIO2&nbsp;;<\/li><li>1 10-bit&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Convertisseur_analogique-num%C3%A9rique\">ADC<\/a><\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/domotics.fr\/wp-content\/uploads\/2019\/02\/presentation-for-iot-workshop-at-sinhagad-university-feb-4-2016-22-11-638.jpg\" alt=\"\"\/><\/figure>\n\n\n\n<p>Les modules \u00e0 base d\u2019ESP8266&nbsp; sont con\u00e7u pour une utilisation via l\u2019interface s\u00e9rie et fournissent une connectivit\u00e9 Wifi en prenant en charge les protocoles r\u00e9seaux TCP\/IP, mais aussi des fonctionnalit\u00e9s de plus haut niveau comme HTTP.<\/p>\n\n\n\n<p>On peut donc, depuis une carte Arduino, simplement envoyer des requ\u00eates HTTP et obtenir les r\u00e9ponses. Autrement dit, on sp\u00e9cifie des URL et on re\u00e7oit le contenu des pages.<\/p>\n\n\n\n<p>Mais l\u2019ESP8266 est un microcontr\u00f4leur, exactement comme l\u2019Atmel AVR ATmega328p d\u2019une carte Arduino Uno ou le AT91SAM3X8E (ARM Cortex-M3) d\u2019une Arduino Due. C\u2019est un composant programmable pouvant recevoir un code \u00e0 ex\u00e9cuter, d\u00e8s lors qu\u2019on dispose du compilateur et des outils de programmation adapt\u00e9s. <\/p>\n\n\n\n<p>L\u2019ESP8266 peut se programmer de plusieurs fa\u00e7ons&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Avec des scripts&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Lua\">Lua<\/a>, interpr\u00e9t\u00e9s ou compil\u00e9s, avec le firmware NodeMCU<sup><a href=\"https:\/\/fr.wikipedia.org\/wiki\/ESP8266#cite_note-2\">2<\/a><\/sup>&nbsp;;<\/li><li>En&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/C%2B%2B\">C++<\/a>, avec l\u2019<a href=\"https:\/\/fr.wikipedia.org\/wiki\/IDE\">IDE<\/a>&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Arduino\">Arduino<\/a><sup><a href=\"https:\/\/fr.wikipedia.org\/wiki\/ESP8266#cite_note-3\">3<\/a><\/sup>&nbsp;;<\/li><li>En&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/JavaScript\">JavaScript<\/a>, avec le firmware Espruino<sup><a href=\"https:\/\/fr.wikipedia.org\/wiki\/ESP8266#cite_note-4\">4<\/a><\/sup>&nbsp;;<\/li><li>En&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/MicroPython\">MicroPython<\/a>, avec le firmware MicroPython<sup><a href=\"https:\/\/fr.wikipedia.org\/wiki\/ESP8266#cite_note-5\">5<\/a><\/sup>&nbsp;ou CircuitPython<sup><a href=\"https:\/\/fr.wikipedia.org\/wiki\/ESP8266#cite_note-6\">6<\/a><\/sup>&nbsp;;<\/li><li>En&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/C_(langage)\">C<\/a>, avec le SDK d\u2019Espressif&nbsp;;<\/li><li>En C, avec le SDK&nbsp;esp-open-sdk<sup><a href=\"https:\/\/fr.wikipedia.org\/wiki\/ESP8266#cite_note-7\">7<\/a><\/sup>&nbsp;bas\u00e9 sur la cha\u00eene de compilation&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/GCC\">GCC<\/a>&nbsp;;<\/li><li>En&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Go_(langage)\">Go<\/a>, avec le&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Framework\">framework<\/a>&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/w\/index.php?title=Gobot&amp;action=edit&amp;redlink=1\">Gobot<\/a><sup><a href=\"https:\/\/fr.wikipedia.org\/wiki\/ESP8266#cite_note-8\">8<\/a><\/sup>.<\/li><\/ul>\n\n\n\n<p>Mais quelques d\u00e9veloppeurs ont eu une bien meilleure id\u00e9e. Si le c\u0153ur de l\u2019ESP8266 n\u2019est qu\u2019un microcontr\u00f4leur (\u00e0 80 Mhz tout de m\u00eame) qui ne fait qu\u2019ex\u00e9cuter un programme, pourquoi ne pas lui faire ex\u00e9cuter un code compil\u00e9 !\u00a0 Et c\u2019est ainsi qu\u2019a vu le jour <a href=\"https:\/\/www.letscontrolit.com\/\">ESP EASY<\/a>.<\/p>\n\n\n\n<p>Vous l&rsquo;aurez compris, ce composant sait faire \u00e0 peu pr\u00eat tout, sauf le caf\u00e9. Le projet ESP-EASY promet une utilisation simple de ce composant, sans mettre les doigts dans du code, et c&rsquo;est ce que nous allons tester ici, tr\u00e8s vite je l&rsquo;esp\u00e8re&#8230;.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"853\" src=\"https:\/\/domotics.fr\/wp-content\/uploads\/2019\/02\/nodemcudevkit_v1-0_io-1024x853.jpg\" alt=\"\" class=\"wp-image-1407\" srcset=\"https:\/\/domotics.fr\/wp-content\/uploads\/2019\/02\/nodemcudevkit_v1-0_io-1024x853.jpg 1024w, https:\/\/domotics.fr\/wp-content\/uploads\/2019\/02\/nodemcudevkit_v1-0_io-300x250.jpg 300w, https:\/\/domotics.fr\/wp-content\/uploads\/2019\/02\/nodemcudevkit_v1-0_io-768x640.jpg 768w, https:\/\/domotics.fr\/wp-content\/uploads\/2019\/02\/nodemcudevkit_v1-0_io-1536x1280.jpg 1536w, https:\/\/domotics.fr\/wp-content\/uploads\/2019\/02\/nodemcudevkit_v1-0_io-1568x1306.jpg 1568w, https:\/\/domotics.fr\/wp-content\/uploads\/2019\/02\/nodemcudevkit_v1-0_io.jpg 1606w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>L\u2019ESP8266\u00a0est un\u00a0circuit int\u00e9gr\u00e9\u00a0\u00e0\u00a0microcontr\u00f4leur\u00a0avec connexion\u00a0Wi-Fi\u00a0d\u00e9velopp\u00e9 par le fabricant chinois Espressif. Il va nous servir de passerelle pour nos \u00e9quipements \u00e0 piloter. L&rsquo;ESP8266 poss\u00e8de autant de versions que de clones, personnellement j&rsquo;utilise des WEMOS D1\u00a0mini, qui me paraissent d&rsquo;un bon rapport qualit\u00e9 prix. L\u2019ESP8266 d\u2019Espressif Systems\u00a0n\u2019est autre qu\u2019un microcontr\u00f4leur \u00e0 c\u0153ur Tensilica Xtensa LX106 (processeur RISC 32 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[89,201],"class_list":["post-1402","post","type-post","status-publish","format-standard","hentry","category-non-classe","tag-esp8266","tag-wemos","entry"],"_links":{"self":[{"href":"https:\/\/domotics.fr\/index.php\/wp-json\/wp\/v2\/posts\/1402","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/domotics.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/domotics.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/domotics.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/domotics.fr\/index.php\/wp-json\/wp\/v2\/comments?post=1402"}],"version-history":[{"count":1,"href":"https:\/\/domotics.fr\/index.php\/wp-json\/wp\/v2\/posts\/1402\/revisions"}],"predecessor-version":[{"id":2420,"href":"https:\/\/domotics.fr\/index.php\/wp-json\/wp\/v2\/posts\/1402\/revisions\/2420"}],"wp:attachment":[{"href":"https:\/\/domotics.fr\/index.php\/wp-json\/wp\/v2\/media?parent=1402"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/domotics.fr\/index.php\/wp-json\/wp\/v2\/categories?post=1402"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/domotics.fr\/index.php\/wp-json\/wp\/v2\/tags?post=1402"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}