Pages: [1]   Go Down
Author Topic: Alarme par wifi  (Read 1428 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Edison Member
*
Karma: 17
Posts: 1938
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour tout le monde,
depuis 2 jours, je me suis penché sur un projet afin de chasser les corbeaux de mes parcs à canards.
jusque là, ca pouvait encore aller, mais depuis peu, ils s'attaquent aux oeufs directement et depuis avant hier, j'ai des naissances, donc je joue plus du tout.
il y a bien la solution radicale du calibre 12, mais bon et j'ai pas de cage à pie sous la main.

donc j'ai ressortis un petit Wishield de mes tiroirs (merci encore pour ce petit cadeau  smiley-lol Benvenuto et Artouste)
on a pas mal galéré tous pour faire certaines choses avec ce shield.

le cahier des charges :
autonome
accès à l'interface depuis n'importe quel pc, gsm, tablette
faire du bruit

pour ceux qui me connaissent, je bosse dans le wifi (hotspot) et les luminaires solaires.
donc je suis partit sur la base d'une tête de lampadaire solaire rechargeant une batterie pour l'autonomie.
une borne wifi b/g/n faisant hotspot public d'un coté avec un réseau privé supplémentaire, le tou sur le toit de la maison, il y en a toujours au moins 2-3 en test  smiley-grin
une sirène 12v avec relais 5v

le but est tout simple, actionner la sirène dès que je vois via une cam ip ces salp#####s de becs droits dans les parcs.
je vous donne le code en dessous, les photos, ca sera quand j'aurai un peu de temps.

je vais rajouter l'option pour allumer le lampadaire par la même occasion smiley-wink

PS : ca peut servir a faire peur à des amis aussi héhéhéhé quand ils passent à coté de la voiture

Quote
//infobarquee.fr
#include <WiServer.h>

// Wireless configuration parameters ----------------------------------------
unsigned char local_ip[]    = {192,168,2,200};   // IP address of WiShield
unsigned char gateway_ip[]  = {192,168,2,2};   // router or gateway IP address
unsigned char subnet_mask[] = {255,255,255,0}; // subnet mask for the local network
char ssid[]                 = {"mort_aux_corbacs"};   // max 32 bytes
unsigned char security_type = 3;               // 0 - open; 1 - WEP; 2 - WPA; 3 - WPA2

// WPA/WPA2 passphrase
const prog_char security_passphrase[] PROGMEM = {"pas_touche_aux_oeufs"};   // max 64 characters

// WEP 128-bit keys
prog_uchar wep_keys[] PROGMEM = {
   0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,   // Key 0
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   // Key 1
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   // Key 2
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // Key 3
};

// setup the wireless mode; infrastructure - connect to AP; adhoc - connect to another WiFi device
#define WIRELESS_MODE_INFRA   1
#define WIRELESS_MODE_ADHOC   2
unsigned char wireless_mode = WIRELESS_MODE_INFRA;
unsigned char ssid_len;
unsigned char security_passphrase_len;
// End of wireless configuration parameters ----------------------------------------

String readString = String(30); //string for fetching data from address
boolean LED = false; //LED status flag
int ledPin = 4;  // LED pin
// This is our page serving function that generates web pages
boolean sendMyPage(char* URL) {
 
    // Check if the requested URL matches "/"
    if (strcmp(URL, "/") > -1) {
        // Use WiServer's print and println functions to write out the page content
        WiServer.print("<html>");
        WiServer.print("<h1>LED control</h1>");
         if (LED == true) {
        WiServer.print("<form method=get name=LED  ><select name=L > <option value=0 > eteindre </option>  <option value=1 > allumer </option> </select> <INPUT type=submit value=Envoyer> </form>");
         } else {
         WiServer.print("<form method=get name=LED  ><select name=L ><option value=1 > allumer </option> <option value=0 > eteindre </option>  </select> <INPUT type=submit value=Envoyer> </form>");
           }
       WiServer.print("<br />");

          //printing LED status
          WiServer.print("<font size='5'>LED status: ");
          if (strcmp(URL, "/?L=1") > -1)
          {
            LED = true;
            WiServer.print("<font color='red' size='5'>ON");
            digitalWrite(ledPin, HIGH);
          } else {
            LED = false;
            WiServer.print("<font color='green' size='5'>OFF");
           digitalWrite(ledPin, LOW);
          }             
        WiServer.print("</html>");
       
        // URL was recognized
        return true;
    }
    // URL not found
    return false;
}


void setup() {
  // Initialize WiServer and have it use the sendMyPage function to serve pages
  WiServer.init(sendMyPage);
 
  // Enable Serial output and ask WiServer to generate log messages (optional)
  Serial.begin(57600);
  WiServer.enableVerboseMode(true);
  pinMode(ledPin,OUTPUT);
  //digitalWrite(ledPin, HIGH);
}

void loop(){

  // Run WiServer
  WiServer.server_task();
 
  delay(10);
}
Logged

Offline Offline
Faraday Member
**
Karma: 33
Posts: 4978
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour tout le monde,
depuis 2 jours, je me suis penché sur un projet afin de chasser les corbeaux de mes parcs à canards.
jusque là, ca pouvait encore aller, mais depuis peu, ils s'attaquent aux oeufs directement et depuis avant hier, j'ai des naissances, donc je joue plus du tout.
il y a bien la solution radicale du calibre 12, mais bon et j'ai pas de cage à pie sous la main.

donc j'ai ressortis un petit Wishield de mes tiroirs (merci encore pour ce petit cadeau  smiley-lol Benvenuto et Artouste)
on a pas mal galéré tous pour faire certaines choses avec ce shield.

le cahier des charges :
autonome
accès à l'interface depuis n'importe quel pc, gsm, tablette
faire du bruit

pour ceux qui me connaissent, je bosse dans le wifi (hotspot) et les luminaires solaires.
donc je suis partit sur la base d'une tête de lampadaire solaire rechargeant une batterie pour l'autonomie.
une borne wifi b/g/n faisant hotspot public d'un coté avec un réseau privé supplémentaire, le tou sur le toit de la maison, il y en a toujours au moins 2-3 en test  smiley-grin
une sirène 12v avec relais 5v

le but est tout simple, actionner la sirène dès que je vois via une cam ip ces salp#####s de becs droits dans les parcs.


bonsoir
tant qu'à faire du bruit pourquoi pas plutôt diffuser des cris de faucon et/ou de détresse corbeaux ?  smiley-mr-green
un petit lecteur mp3 à peanuts, une bande son en boucle avec differents cris pour eviter l'accoutumance, un peti ampli et HP etanche
et tu alimente juste l'ampli quant tu a besoin (à la place de la sirene) , ce n'est pas très différent de ce qui est utilisé sur certaines zones aeroportuaires.

en (re)parlant du wishield ou du blackwidow, c'etait un peu galere, mais finalement bien sympa,  sauf un truc : je n'ai jamais pu obtenir une communication  en ADHOC
« Last Edit: May 27, 2013, 01:24:57 pm by Artouste » Logged

Offline Offline
Edison Member
*
Karma: 17
Posts: 1938
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

bonne remarque Artouste pour les cris de détresse.
je suis pas certain que mes canards aimeraient ce genre de bande son, ni les canetons ou oisons, un peu stressant pour eux.
mais par la suite, je vais modifier le code pour faire une alarme anti intrusion a rupture de fil.

pas essayé le ADHOC du capitaine smiley
Logged

Pages: [1]   Go Up
Jump to: