Différences entre versions de « FEATHER-ESP8266-NodeMCU-Lua »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 30 : Ligne 30 :
 
== Hello World ==
 
== Hello World ==
  
Ok we can now turn on an LED. There is a red LED on each board, connected to '''GPIO #0'''
+
Nous pouvons maintenant allumer une LED. Il y a une LED rouge sur chaque carte, elle est connectée sur le broche '''GPIO #0'''
  
{{ambox|text=NodeMCU's pinouts are not the same as the Arduino/gcc pinouts. We print the Arduino pinouts on the board so watch out!}}
+
{{ambox|text=La numérotation des broches de NodeMCU n'est pas identique à celle utilisée pour Arduino/gcc. Adafruit à imprimé la numérotation Arduino sur les cartes... faites attention!}}
  
{{ambox|text=The Lua documentation for the ESP8266 has GPIO #4 and #5 swapped so if #4/#5 aren't working for you, try swapping!}}
+
{{ambox|text=La documentation Lua pour l'ESP8266 a inversé les GPIO #4 et #5 swapped. Si les brcohes #4/#5 ne fonctionnent pas comme attendu, essayez de les inverser!}}
  
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
| align="center" | Pin Notes
+
| align="center" | Note concernant<br />la broche
| align="center" | PCB/Arduino
+
| align="center" | Carte/Arduino
 
| align="center" | NodeMCU/Lua
 
| align="center" | NodeMCU/Lua
 
|- style="font-size: 90%"
 
|- style="font-size: 90%"
Ligne 91 : Ligne 91 :
 
|}
 
|}
  
So to set the pin #0 LED on and off (which would be pin #3 in Lua) first make it an output:
+
Par conséquent, pour allumer ou éteindre la LED sur la broche #0 (qui sera la broche #3 dans Lua), nous allons configurer la broche en sortie:
  
 
  <nowiki>gpio.mode(3, gpio.OUTPUT)</nowiki>
 
  <nowiki>gpio.mode(3, gpio.OUTPUT)</nowiki>
  
Turn the LED on with:
+
Allumer la LED avec:
  
 
  <nowiki>gpio.write(3, gpio.LOW)</nowiki>
 
  <nowiki>gpio.write(3, gpio.LOW)</nowiki>
  
Et eteindre la LED:
+
Et éteindre la LED:
  
 
  <nowiki>gpio.write(3, gpio.HIGH)</nowiki>
 
  <nowiki>gpio.write(3, gpio.HIGH)</nowiki>
  
You can make this a little more automated by running:
+
Nous pouvons automatiser un peu les choses en utilisant le code suivant:
  
 
  <nowiki>while 1 do
 
  <nowiki>while 1 do
 
   gpio.write(3, gpio.HIGH)
 
   gpio.write(3, gpio.HIGH)
   tmr.delay(1000000)  -- wait 1,000,000 us = 1 second
+
   tmr.delay(1000000)  -- attendre 1.000.000 µs = 1 seconde
 
   gpio.write(3, gpio.LOW)
 
   gpio.write(3, gpio.LOW)
   tmr.delay(1000000)  -- wait 1,000,000 us = 1 second
+
   tmr.delay(1000000)  -- attendre 1.000.000 µs = 1 seconde
 
end</nowiki>
 
end</nowiki>
  
 +
Ce qui fait clignoter LED en continu.
  
The LED will now be blinking on and off.
+
{{underline|Note:}}
  
Note that since its in a loop, its not possible to get it to stop via the interpretter. To stop it, click the '''Reset''' button again!
+
Etant donné que c'est une boucle infinie, il n'est pas possible de l'arrêter via l'interpréteur. Pressez une nouvelle fois le bouton '''Reset''' pour arrêter la boucle!
  
 
== Scanner le réseau WiFi et connexion ==
 
== Scanner le réseau WiFi et connexion ==

Version du 5 mai 2016 à 15:12


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Préambule

Chaque carte Feather HUZZAH ESP8266 est livré préprogrammé avec l'interpréteur Lua de NodeMCU. Au moment de la traduction de ce tuto, c'est la version NodeMCU 0.9.5 build 20150318 powered by Lua 5.1.4 qui est distribué mais vous pourriez avoir une version plus récente.

L'interpréteur Lua s'exécute sur l'ESP8266 et vous pouvez saisir des commandes et lire le résultat via le port série. Pour pouvoir télécharger du code sur l'ESP8266 et utiliser la console série, connectez un câble micro-USB sur le Feather HUZZAH et sur le port USB de votre ordinateur. Installez le pilote USB CP2104 pour voir apparaître le port USB/Série (et qu'il soit correctement accessible)

N'oubliez pas de visiter esp8266.com pour vous tenir au courant des dernières nouvelles/logiciel/etc sur l'ESP8266!

Ouvrir une console série

Ouvrez ensuite un logiciel "console/terminal série" sur votre ordinateur. Vous pouvez utiliser un logiciel tel que CoolTerm (Mac) ou Putty (Windows) ou screen (linux). Le programme Teraterm semble ne pas apprécier le flux de donnée initial débité à 74400bps produit par l'ESP8266 (vous pouvez l'essayer mais vous aurez probablement besoin de réinitialiser votre programme console).

Connectez vous sur le port COM/série utilisé par votre câble, fixez le débit à 9600 Baud

Assurez-vous d'avoir désactivé la gestion matériel du contrôle de flux (cherchez les termes handshake ou flow control).

FEATHER-ESP8266-NodeMCU-Lua-00.png
Crédit: AdaFruit Industries www.adafruit.com

Une fois le logiciel terminal connecté sur l'ESP8266, cliquez sur le bouton Reset de la carte Feather et vous verrez apparaître le message de bienvenue:

FEATHER-ESP8266-NodeMCU-Lua-01.png
Crédit: AdaFruit Industries www.adafruit.com

Si vous ne voyez pas apparaître ce message, vérifiez d'abord si les LEDs rouge/bleue clignotent lorsque vous pressez le bouton Reset. Si les LEDs ne clignotent pas, assurez-vous d'avoir bien sélectionné le débit de 9600 bauds dans votre logiciel terminal.

Hello World

Nous pouvons maintenant allumer une LED. Il y a une LED rouge sur chaque carte, elle est connectée sur le broche GPIO #0

Note concernant
la broche
Carte/Arduino NodeMCU/Lua
Pas de pullup! 0 3
2 4
3 9
4 1
5 2
9 11
10 12
12 6
13 7
14 5
15 8
16 0

Par conséquent, pour allumer ou éteindre la LED sur la broche #0 (qui sera la broche #3 dans Lua), nous allons configurer la broche en sortie:

gpio.mode(3, gpio.OUTPUT)

Allumer la LED avec:

gpio.write(3, gpio.LOW)

Et éteindre la LED:

gpio.write(3, gpio.HIGH)

Nous pouvons automatiser un peu les choses en utilisant le code suivant:

while 1 do
  gpio.write(3, gpio.HIGH)
  tmr.delay(1000000)   -- attendre 1.000.000 µs = 1 seconde
  gpio.write(3, gpio.LOW)
  tmr.delay(1000000)   -- attendre 1.000.000 µs = 1 seconde
end

Ce qui fait clignoter LED en continu.

Note:

Etant donné que c'est une boucle infinie, il n'est pas possible de l'arrêter via l'interpréteur. Pressez une nouvelle fois le bouton Reset pour arrêter la boucle!

Scanner le réseau WiFi et connexion

We'll continue with a quick demo of scanning for WiFi and connecting.

Once you're back at the Lua prompt, set the ESP8266 into WiFi Client mode with

wifi.setmode(wifi.STATION)

Then you can run the scanner and have it print out the available AP's

-- print ap list
function listap(t)
      for k,v in pairs(t) do
        print(k.." : "..v)
      end
end
wifi.sta.getap(listap)

or for more detail...

-- print ap list
function listap(t)
      for ssid,v in pairs(t) do
        authmode, rssi, bssid, channel = string.match(v, "(%d),(-?%d+),(%x%x:%x%x:%x%x:%x%x:%x%x:%x%x),(%d+)")
        print(ssid,authmode,rssi,bssid,channel)
      end
end
      
wifi.sta.getap(listap)

We can connect to the access point with wifi.sta.config and wifi.sta.connect - it will take a second or two to complete the connection, you can query the module to ask the status with wifi.sta.status() - when you get a 5 it means the connection is completed and DHCP successful

wifi.sta.config("accesspointname","yourpassword")
wifi.sta.connect()
tmr.delay(1000000)   -- wait 1,000,000 us = 1 second
print(wifi.sta.status())
print(wifi.sta.getip())

Exemple WebClient

Once you're got the IP address you can connect to adafruit, for example, and read a webpage and print it out:

sk=net.createConnection(net.TCP, 0)
sk:on("receive", function(sck, c) print(c) end )
sk:connect(80,"207.58.139.247")
sk:send("GET /testwifi/index.html HTTP/1.1\r\nHost: www.adafruit.com\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n")

You can also have the module do DNS for you, just give it the hostname instead of IP address:

sk=net.createConnection(net.TCP, 0)
sk:on("receive", function(sck, c) print(c) end )
sk:connect(80,"www.adafruit.com")
sk:send("GET /testwifi/index.html HTTP/1.1\r\nHost: www.adafruit.com\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n")

This is just a light overview of testing out your HUZZAH ESP breakout! For much more, check out NodeMCU's tutorial page https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_en for the details on what functions are available to you, as well as http://www.lua.org to learn more about the Lua scripting language


Source: Adafruit Feather ESP8266 créé par LadyAda pour AdaFruit Industries. Crédit [www.adafruit.com AdaFruit Industries]

Traduit par Meurisse D. pour MCHobby.be

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.