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
https://github.com/harlequin-tech/WiFlyHQReprendre le tuto de Snootlab de mise en route avec cette bibliothèque :
http://snootlab.com/attachment.php?id_attachment=97Relire la
DOCUMENTATION des modules
RN-XV 171.
http://ww1.microchip.com/downloads/en/DeviceDoc/50002230A.pdfAu 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.htmlExemple 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
IOS (10,99€) Compatible Iphone et Ipad:
https://itunes.apple.com/fr/app/netio/id464924297?mt=8ANDROID (4,99€):
https://play.google.com/store/apps/deta ... o&hl=fr_FRLe 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");
}
//#################################
}