wifi RN-XV RN171

Forum dédié aux produits Sparkfun

wifi RN-XV RN171

Message non lude chabot380 » Lun 10 Nov 2014 17:05

Bonjour
Je vous ai acheté un module Référence : RFL-00006
J'ai bien suivi le tuto que vous avez fait.
J'ai programmé le module avec un FTDI avec une association auto avec mon réseau.
J'ai bien mis la librairie indiquée avec l'IDE arduino 1.0.
Ainsi que : Serial.begin(9600);
WiFly.setUart(&Serial);
WiFly.begin();

Mais le programme s'arrete sur le WiFly.begin();
Donc je suis coincé là ! Pourquoi ?
Peut-on avoir le get everything du module pour voir si j'ai fait une erreur à ce niveau.

Je vous remercie d'avance
Chabot380
chabot380
 
Messages: 1
Inscription: Lun 10 Nov 2014 16:38

Re: wifi RN-XV RN171

Message non lude pletenneur » Jeu 16 Avr 2015 16:54

Bonjour la comunauté

Avec les modules RN-XV 171 de Sparkfun les bibliothèques suivantes sont boguées:
- WiFi_Shield-master.
- WiFly-Shield.
J'ai mal galéré pour trouver que ces deux bibliothèques étaient boguées.
Je pense que ça vient du FIRMWARE des RN-XV 171 qui ont évolué (version du module 4.41).

Par contre la bibliothèque WiFlyHQ-master fonctionne à merveille :D
https://github.com/harlequin-tech/WiFlyHQ
Reprendre le tuto de Snootlab de mise en route avec cette bibliothèque : http://snootlab.com/attachment.php?id_attachment=97

Relire la DOCUMENTATION des modules RN-XV 171.
http://ww1.microchip.com/downloads/en/DeviceDoc/50002230A.pdf
Au prix des modules, je les trouve puissants et merveilleux. Ils sont parfaits pour l'IOT (Internet Of Things).

Configuration utilisée:
- un module Module WiFi RN-XV http://snootlab.com/composants/256-module-wifi-rnxv-pour-arduino-sma-fr.html.
- un shield Arduino Wireless Shield Proto http://snootlab.com/arduino/178-wireless-shield-proto.html
- une carte Arduino Mega 2560 Rev 3 http://snootlab.com/arduino/164-arduino-mega-2560-r3.html

Exemple de codes:

Code: Tout sélectionner
#include <WiFlyHQ.h>


WiFly wifly;

char buf[64];

void setup()
{
    Serial.begin(9600);
    if (!wifly.begin(&Serial, NULL))
    {
        Serial.println("Failed to start wifly");
        terminal();
    }
    else
    {
      Serial.println("Starting");
      Serial.print("Free memory: ");
      Serial.println(wifly.getFreeMemory(),DEC);
     
      wifly.setSSID("Your SSID");
      wifly.setPassphrase("your PASSWORD");
   
      if (wifly.join())
      {
        Serial.println("\n\rJoined wifi network\n\r");

        Serial.print("MAC: ");
        Serial.println(wifly.getMAC(buf, sizeof(buf)));
        Serial.print("IP: ");
        Serial.println(wifly.getIP(buf, sizeof(buf)));
        Serial.print("Netmask: ");
        Serial.println(wifly.getNetmask(buf, sizeof(buf)));
        Serial.print("Gateway: ");
        Serial.println(wifly.getGateway(buf, sizeof(buf)));
        Serial.print("RSSI: ");
        Serial.println(wifly.getRSSI());
      }
      else
      {
        Serial.println("Failed to join wifi network");
      }
    }
}

void loop()
{
  terminal();
}


void terminal()
{
    while (1)
    {
       if (wifly.available() > 0)
       {
          Serial.write(wifly.read());
       } 
       if (Serial.available())
       { // Outgoing data
          wifly.write(Serial.read());
       }
   }
}


Un autre code avec une commande relais. (10 relais branchés sur un des ports de l'arduino MEGA 2560).
J'utilise une application avec mon Iphone NETIO http://netio.davideickhoff.de/fr/.
Cette application permet de développer des applications pour téléphone mobile (Android ou iOS) à vitesse grand V :D
IOS (10,99€) Compatible Iphone et Ipad: https://itunes.apple.com/fr/app/netio/id464924297?mt=8
ANDROID (4,99€): https://play.google.com/store/apps/deta ... o&hl=fr_FR
Le cout de l'application peut paraitre chère, mais ce n'est pas cher au regard des possibilités et des développements possibles.


Code: Tout sélectionner
#include <WiFlyHQ.h>
WiFly wifly;
char buf[64];

//----- iPhone Remote -------
#define BUFSIZ 64


int relay1 = 53;
int relay2 = 51;
int relay3 = 49;
int relay4 = 47;
int relay5 = 45;
int relay6 = 43;
int relay7 = 41;
int relay8 = 39;
int relay9 = 37;
int relay10 = 35;


void setup()
{
    pinMode(relay1, OUTPUT);
    pinMode(relay2, OUTPUT);
    pinMode(relay3, OUTPUT);
    pinMode(relay4, OUTPUT);
    pinMode(relay5, OUTPUT);
    pinMode(relay6, OUTPUT);
    pinMode(relay7, OUTPUT);
    pinMode(relay8, OUTPUT);
    pinMode(relay9, OUTPUT);
    pinMode(relay10, OUTPUT);
       
    digitalWrite(relay1, HIGH);
    digitalWrite(relay2, HIGH);
    digitalWrite(relay3, HIGH);
    digitalWrite(relay4, HIGH);
    digitalWrite(relay5, HIGH);
    digitalWrite(relay6, HIGH);
    digitalWrite(relay7, HIGH);
    digitalWrite(relay8, HIGH);
    digitalWrite(relay9, HIGH);
    digitalWrite(relay10, HIGH);
   
    Serial.begin(9600);
    if (!wifly.begin(&Serial, NULL))
    {
        Serial.println("Failed to start wifly");
        terminal();
    }
    else
    {
      Serial.println("Starting");
      Serial.print("Free memory: ");
      Serial.println(wifly.getFreeMemory(),DEC);
     
      wifly.setSSID("Your SSID");
      wifly.setPassphrase("Your PASSWORD");
   
      if (wifly.join())
      {
        Serial.println("\n\rJoined wifi network\n\r");

        Serial.print("MAC: ");
        Serial.println(wifly.getMAC(buf, sizeof(buf)));
        Serial.print("IP: ");
        Serial.println(wifly.getIP(buf, sizeof(buf)));
        Serial.print("Netmask: ");
        Serial.println(wifly.getNetmask(buf, sizeof(buf)));
        Serial.print("Gateway: ");
        Serial.println(wifly.getGateway(buf, sizeof(buf)));
        Serial.print("RSSI: ");
        Serial.println(wifly.getRSSI());
      }
      else
      {
        Serial.println("Failed to join wifi network");
      }
    }
}

void loop()
{
  // terminal();
  iPhoneInterface();
}


void terminal()
{
    while (1)
    {
       if (wifly.available() > 0)
       {
          Serial.write(wifly.read());
       } 
       if (Serial.available())
       { // Outgoing data
          wifly.write(Serial.read());
       }
   }
}

void iPhoneInterface()
{
    int index = 0;
    char Remote[BUFSIZ];
   
             
            if (wifly.available()>0) wifly.gets(Remote,BUFSIZ);
            else Remote[0]='\0';         
            // Serial.println(Remote); 
           
           
            //############relay 1#############
            if ( strstr(Remote, "r1on"))
            {              // Zero 1 button sent a "sends" command
                  digitalWrite(relay1, LOW);                               // zero label 1
                  wifly.println ("OK");
            }
            if ( strstr(Remote, "r1off"))
            {              // Zero 1 button sent a "sends" command
                  digitalWrite(relay1, HIGH);                               // zero label 1
                  wifly.println ("OK");
            }
            //#################################
           
            //############relay 2#############
            if ( strstr(Remote, "r2on"))
            {              // Zero 1 button sent a "sends" command
                  digitalWrite(relay2, LOW);                               // zero label 1
                  wifly.println ("OK");
            }
            if ( strstr(Remote, "r2off"))
            {              // Zero 1 button sent a "sends" command
                  digitalWrite(relay2, HIGH);                               // zero label 1
                  wifly.println ("OK");
            }
            //#################################

            //############relay 3#############
            if ( strstr(Remote, "r3on"))
            {              //   Zero 1 button sent a "sends" command
                  digitalWrite(relay3, LOW);                               // zero label 1
                  wifly.println ("OK");
            }
            if ( strstr(Remote, "r3off"))
            {              // Zero 1 button sent a "sends" command
                  digitalWrite(relay3, HIGH);                               // zero label 1
                  wifly.println ("OK");
            }
            //#################################
           
            //############relay 4#############
            if ( strstr(Remote, "r4on"))
            {              // Zero 1 button sent a "sends" command
                  digitalWrite(relay4, LOW);                               // zero label 1
                  wifly.println ("OK");
            }
            if ( strstr(Remote, "r4off"))
            {              // Zero 1 button sent a "sends" command
                  digitalWrite(relay4, HIGH);                               // zero label 1
                  wifly.println ("OK");
            }
            //#################################
           
            //############relay 5#############
            if ( strstr(Remote, "r5on"))
            {              // Zero 1 button sent a "sends" command
                  digitalWrite(relay5, LOW);                               // zero label 1
                  wifly.println ("OK");
            }
            if ( strstr(Remote, "r5off"))
            {              // Zero 1 button sent a "sends" command
                  digitalWrite(relay5, HIGH);                               // zero label 1
                  wifly.println ("OK");
            }
            //#################################

            //############relay 6#############
            if ( strstr(Remote, "r6on"))
            {              // Zero 1 button sent a "sends" command
                  digitalWrite(relay6, LOW);                               // zero label 1
                  wifly.println ("OK");
            }
            if ( strstr(Remote, "r6off"))
            {              // Zero 1 button sent a "sends" command
                  digitalWrite(relay6, HIGH);                               // zero label 1
                  wifly.println ("OK");
            }
            //#################################
           
            //############relay 7#############
            if ( strstr(Remote, "r7on"))
            {              // Zero 1 button sent a "sends" command
                  digitalWrite(relay7, LOW);                               // zero label 1
                  wifly.println ("OK");
            }
            if ( strstr(Remote, "r7off"))
            {              // Zero 1 button sent a "sends" command
                  digitalWrite(relay7, HIGH);                               // zero label 1
                  wifly.println ("OK");
            }
            //#################################

            //############relay 8#############
            if ( strstr(Remote, "r8on"))
            {              // Zero 1 button sent a "sends" command
                  digitalWrite(relay8, LOW);                               // zero label 1
                  wifly.println ("OK");
            }
            if ( strstr(Remote, "r8off"))
            {              // Zero 1 button sent a "sends" command
                  digitalWrite(relay8, HIGH);                               // zero label 1
                  wifly.println ("OK");
            }
            //#################################
           
            //############relay 9#############
            if ( strstr(Remote, "r9on"))
            {              // Zero 1 button sent a "sends" command
                  digitalWrite(relay9, LOW);                               // zero label 1
                  wifly.println ("OK");
            }
            if ( strstr(Remote, "r9off"))
            {              // Zero 1 button sent a "sends" command
                  digitalWrite(relay9, HIGH);                               // zero label 1
                  wifly.println ("OK");
            }
            //#################################
           
              //############relay 10#############
            if ( strstr(Remote, "r10on"))
            {              // Zero 1 button sent a "sends" command
                  digitalWrite(relay10, LOW);                               // zero label 1
                  wifly.println ("OK");
            }
            if ( strstr(Remote, "r10off"))
            {              // Zero 1 button sent a "sends" command
                  digitalWrite(relay10, HIGH);                               // zero label 1
                  wifly.println ("OK");
            }
            //#################################
           
            //############ All ON #############
            if ( strstr(Remote, "all_on"))
            {             
                  digitalWrite(relay1, LOW);
                  digitalWrite(relay2, LOW);
                  digitalWrite(relay3, LOW);
                  digitalWrite(relay4, LOW);
                  digitalWrite(relay5, LOW);
                  digitalWrite(relay6, LOW);
                  digitalWrite(relay7, LOW);
                  digitalWrite(relay8, LOW);
                  digitalWrite(relay9, LOW);
                  digitalWrite(relay10, LOW);                             
                  wifly.println ("OK");
            }
            //#################################
           
            //############ All OFF ############
            if ( strstr(Remote, "all_off"))
            {           
                  digitalWrite(relay1, HIGH);
                  digitalWrite(relay2, HIGH);
                  digitalWrite(relay3, HIGH);
                  digitalWrite(relay4, HIGH);
                  digitalWrite(relay5, HIGH);
                  digitalWrite(relay6, HIGH);
                  digitalWrite(relay7, HIGH);
                  digitalWrite(relay8, HIGH);
                  digitalWrite(relay9, HIGH);
                  digitalWrite(relay10, HIGH);                       
                  wifly.println ("OK");
            }
            //#################################
   
}
pletenneur
 
Messages: 2
Inscription: Jeu 16 Avr 2015 16:29


Retourner vers Sparkfun

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité