Raspberry Pi 2 domotique : ESP8266, Nodemcu et Lua (9)

Suite des aventures domotiques de notre Raspberry Pi 2, avec l’arrivée récente d’une platine de développement Nodemcu :

nodemcu

 

Disons le de suite, pour le moment avec OS/X c’est un peu galère, j’ai du valider une machine virtuelle sous Winchose 7 pour venir installer les différents logiciels de programmation. Je jongle donc entre deux OS et un langage de programmation : le LUA

Un détail : je ne suis pas un programmeur, j’apprends au fur et à mesure, et le LUA, comme le C++ sont pour moi aussi évocateurs que le vénusien du nord, c’est dire. Seulement voilà, en une journée et demie, j’ai réussi à m’amuser un peu, par exemple avec un script tout bête permettant de venir se connecter à un AP WiFi et à identifier une trame envoyée sur le port UDP 5000.

J’ai donc installé LuaLoader pour un confort maximum. Ce petit logiciel va pouvoir :

[checklist]

  • gérer le port RS232
  • mettre à jour le firmware
  • uploader des scripts
  • exécuter des scripts
  • effacer la mémoire (reformater)
  • lister le contenu de la mémoire (les différents fichiers, etc.)
  • activer le WiFi (AP, client, cryptage, etc.) si votre script ne le fait pas

[/checklist]

C’est le couteau suisse de la programmation Lua sur l’ESP8266 en fait, j’adore.

Retour à notre script donc, avec trois étapes :

  • connexion au réseau WiFi (remplacez reseau_wifi et password par vos valeurs)
  • écoute du port UDP 5000
  • détection des trames reçues sur ce port UDP 5000

Et voici le script :

wifi.sta.config("reseau_wifi","password")
wifi.sta.connect()
tmr.delay(1000000)   -- wait 1,000,000 us = 1 second
print(wifi.sta.status())
print(wifi.sta.getip())
port=5000
srv=net.createServer(net.UDP)
srv:on("receive", function(srv, pl)
   print("Command Received")
   print(pl)
   if pl=="EXTON\n" then print("EXTERIEUR ON")  end
   if pl=="EXTOFF\n" then print("EXTERIEUR OFF")  end
   end)
srv:listen(port)

Je l’ai sauvegardé sous le nom test.ula, original je sais… et je le lance avec une ligne de commande toute simple :

dofile(« test.lua »)

Le résultat s’affiche  alors en direct sur votre LuaLoader lorsque des trames UDP sont reçues sur le port 5000 :

esp8266_lua

Pour envoyer vos trames, sous OS/X entrez : nc -u 192.168.1.195 5000 puis frappez vos commandes + entrée. D’autres possibilités existent bien entendu suivant vos environnements de travail : Winchose, Android, Ubuntu, etc. Je vous laisse chercher sur Google les détails pour émettre vos trames.

Donc, avec notre bête script, lorsque nous envoyons EXTON s’affiche EXTERIEUR ON. Si je transmets EXTOFF, j’obtiens un EXTERIEUR OFF. Simple non ?

A vous maintenant de gérer selon vos besoin, de venir activer les ports GPiO, etc. Ah oui, pensez à bien ajouter le « \n » après la chaine à identifier : c’est le retour à la ligne qui est transmis avec chaque trame. Pour que le script démarre à la mise sous tension, inscrivez le simplement dans init.lua au lieu de test.lua.

Et voilà, à vous de jouer ! 😉

 

Publications similaires

  • Raspberry Pi 2 domotique : mise en boîte (3)

    La mise en boîte du Raspberry domotique a débuté, et voici déjà une courte vidéo Vine pour vous présenter le bébé : Sur le haut, une nappe de 6 câbles (+ une masse) se destine à détecter des ouvertures de fenêtres, portes, etc. Sur le bas, une LED rouge, éteinte, témoignera de l’activation de l’alarme, et un port GPiO inutilisé (26) est mis en réserve, des fois que… Le Raspberry est collé à des plots plastiques, eux-même collés au fond…

  • |

    Et voici Karotz

    Vous avez aimé Nabaztag ? Vous allez adorer Karotz, le nouveau gadget communicant et réactif de la société Mindscape, à base de processeur 400Mhz ARM avec 64 Mo de RAM et 256 Mo de disque dur. Il peut etre alimenté par câble USB ou avec des piles. Contrairement à son prédécesseur, Karotz possède une webcam au niveau de son nombril : caméra vidéo, reconnaissance faciale, les utilisations sont potentiellement intéressantes. Le micro se trouve sur la tête, les oreilles sont mobiles…

  • Sat2way : promotions d’hiver

    Du 13 décembre 2013 au 15 février 2014, Sat2way propose ses promotions d’hiver : 50 % de remise pendant 3 mois sur les abonnements Too L et Too XL 120 € TTC pris en charge par Sat2Way sur une installation effectuée par un partenaire agrée Sat2Way  Ces 2 offres sont cumulables et peuvent s’ajouter aux aides mises en place par les différentes collectivités locales ou régionales.  Pour en savoir plus, appelez Sat2way 0 805 690 690 (numéro vert) ou consultez www.sat2way.fr

  • Webcampak Cloud en longue finale…

    La Longue Finale, un terme aéronautique pour désigner un appareil qui commence sa descente dans l’axe de la piste loin avant la trajectoire habituellement utilisée : vous prenez le temps de vous aligner, de commencer une descente douce, apercevant la piste au loin (encore plus spectaculaire en vol de nuit), puis arrivez à destination après en avoir pris plein les mirettes 😉 Webcampak Cloud est donc en longue finale chez Infracom, disposant d’une catégorie dédiée sur notre boutique en ligne. Il…

  • Raspberry Pi : Debian Jessie sous OS/X

    Avez-vous chargé le tout dernier Debian Jessie adapté à votre Raspberry Pi ? Si vous êtes sous OS/X, vous avez sans doute obtenu un fichier étrange en décompressant le ZIP, tout sauf le fichier .IMG espéré. La solution ? Passez par le terminal d’OS/X, rendez-vous dans le répertoire où se trouve votre zip et lancez cette commande : ditto -x -k 2015-09-24-raspbian-jessie.zip . N’oubliez pas le . (POINT) à la fin surtout 😉 Et hop, miracle sublime, voici venir le…

  • mFi : présentation

    Allons-y pour une série de billets sur mFi, la gamme domotique proposée par Ubiquiti, et intéressons-nous de plus près au capteur de température, délicieusement prénommé mFi-THS par le constructeur américain. Installons le logiciel mFi sur notre iMac, relions mFi-THS au contrôleur mPort de base : et laissons mFi découvrir le matériel… en quelques minutes, le contrôleur a été adopté, mis à jour, et sa sonde de température également : simple, pratique, on n’a vraiment rien à faire, c’est de l’Ubiquiti, un…