Cloche de Arduino autonome web activé

inspiré par ce post, j’ai voulu créer une cloche Arduino alimenté qui était complètement autonome.

Avec un peu PHP et (si vous le souhaitez) certains jQuery sur n’importe quel site Web, vous pouvez faire cette cloche chaque fois qu’une action spécifique est effectuée.

Cette pile de l’Arduino est wifi ; une fois qu’elle est configurée, vous pouvez simplement l’alimenter de l’alimentation DC 9v.  Ça marche aussi lorsqu’il est alimenté par le connecteur USB à l’aide d’un chargeur USB standard ; Je l’ai testé avec un chargeur de Amazon, conçu pour le Kindle qui fonctionne très bien.

J’ai utilisé :

Un Ardunio Uno d’eBay, environ £18
Un bouclier de WiFly par Sparkfun, d’eBay, environ £23 (qui n’était pas cher, ils sont normalement plus que ça).  Si vous en achetez un, Notez que vous aurez besoin de souder certaines broches d’en-tête sur la planche.
A Conseil d’administration (c’est la feuille de plastique tout est fixé à) du projet de brillante Oomlaut
Certains fils de raccordement
Une longueur de câble cat5, sur la position du servo et la cloche une bonne distance de la Commission de contrôle
Un servo standard de Acoms d’eBay (environ £5)
Un bloc d’alimentation 9v de Maplin (£10)
Une petite cloche en laiton (à partir de mes beaux-parents, sans frais!)

C’était évidemment possible d’un bouclier ethernet ou ethernet compatible Arduino ; l’esquisse serait dans ce cas un peu différente.

La cloche est reliée à l’asservissement à l’aide d’un trombone ; Cela signifie que nous n’avons pas de déplacer le servo arm beaucoup.  La flexibilité de la trombone provoque la cloche sonne bien.  Cela signifie aussi que la cloche peut accrocher correctement, qu’elle doit dans ce cas.

À l’heure actuelle, l’esquisse n’est pas parfait.  La pile prend quelques re-démarrage parfois ; Il n’est pas toujours répondre aux requêtes.

Voici l’esquisse.  Notez que mon installation ne requiert pas le paramètre d’informations d’adresse IP ; J’ai programmé mon routeur d’attribuer toujours la même adresse IP par DHCP.

croquis de serveur Web
basé sur le code de Zoomkat des forums Arduino

#include « WiFly.h »
#include « Servo.h »
#include « SPI.h »

Servo myservo ;  Créez l’objet servo pour contrôler un servo
Serveur server(80) ; port du serveur
Dim readString ; créer la classe readString

//////////////////////

void setup() {}

pinMode (sortie 2) ; NIP sélectionné au contrôle
myservo.Attach(2) ;  le code pin de la servocommande
myservo.Write(0) ;   définir la position initiale servo si vous le souhaitez

activer l’impression de données série
Serial.Begin(9600) ;
Serial.println("Started") ;

SpiSerial.begin() ;

sortir du mode CMD si pas déjà fait
SpiSerial.println("") ;
SpiSerial.println("exit") ;
Serial.println (« mode CMD est sorti ») ;
Delay(1000) ;

mettre en mode CMD
SpiSerial.print("$$$") ;
Serial.println ("mode dans CMD") ;
Delay(1000) ;

Allumez le DHCP
SpiSerial.println ("set ip dhcp 1") ;
Serial.println ("Set DHCP") ;
Delay(1000) ;

Définissez le niveau d’autorisation
SpiSerial.println ("set w 1") ;
Serial.println ("autorisation Set level") ;
Delay(1000) ;

jeu de mot de passe
SpiSerial.println (« clé wlan set [Entrez votre clé WLAN ici, aucun supports] ") ;
Serial.println ("clé WLAN Set") ;
Delay(1000) ;

localport Set
SpiSerial.println ("J’ai mis l 80") ;
Serial.println ("Set port") ;
Delay(1000) ;

désactiver * Bonjour * message par défaut sur connect
SpiSerial.println ("set comm distant 0") ;
Serial.println ("Set comm distant 0") ;
Delay(1000) ;

rejoindre le réseau wifi
SpiSerial.println ("join [Entrez votre SSID ici, aucun supports]") ;
Serial.println (« rejoindre le réseau") ;
Delay(2000) ;

Sortez du mode CMD
SpiSerial.println("exit") ;
Serial.println ("SpiSerial en douceur") ;
Delay(3000) ;

Serial.println ("serveur de départ") ;
Server.Begin() ;

}

void loop() {}
Créer une connexion de client
Client client = server.available() ;
Si {(client)
Serial.println ("Client connecté") ;
tandis que (client.connected()) {}
Si (client.available()) {}
char c = client.read() ;
lire la requête HTTP char par char
Si {(readString.length() < 100)
stocker les caractères de la chaîne

readString += c ;
}
Si la requête HTTP est terminée
Si (c == « \n ») {}
Serial.println ("requête HTTP terminé") ;
Serial.Print ("readString =") ;
Serial.println(ReadString) ; imprimer à serial monitor pour le débogage

maintenant sortie HTML données d’en-têtes
client.println ("HTTP/1.1 200 OK") ; Envoyer cette page nouveau
client.println ("Content-Type : text/html") ;
client.println() ;
client.println("") ;
client.println("") ;
client.println("") ;
client.println("") ;
client.println("") ;
client.println("OK") ;
client.println("") ;
client.println("") ;

Delay(1) ;
client de s’arrêter
client.Stop() ;
Serial.println ("client Stopped") ;

broche de commande arduino

if(ReadString.IndexOf("w") > 0) //checks pour w
{
Serial.println ("o trouvé") ;
myservo.Write(40) ;
Delay(200) ;
myservo.Write(0) ;
Delay(1000) ;
myservo.Write(40) ;
Delay(200) ;
myservo.Write(0) ;
}

if(ReadString.IndexOf("b") > 0) //checks pour b
{
Serial.println ("b trouvé") ;
myservo.Write(40) ;
Delay(200) ;
myservo.Write(0) ;
}

chaîne de compensation pour la prochaine lecture
readString = "" ;
Serial.println ("Cleared readString") ;

} / / fin si la requête HTTP est terminée
} / / fin si client disponible
} / / fin si le client s’est connecté
} / / fin si client
} / / fin de boucle

J’utilise broche 2 pour la servocommande ; vous pouvez utiliser n’importe quel code pin mais veillez à ne pas utiliser des broches qui sont utilisés pour autre chose sur le WiFly, Ethernet ou tout autre blindage, que vous pourriez utiliser.

Testez la configuration en connectant le câble USB à votre machine (sans que le servo connecté, à moins que vous ne savez pas il l’habitude de souffler le USB fusible dans votre machine - il fonctionne OK pour moi mais pas tous les ordinateurs ont la capacité d’un serveur de puissance) et lancez le moniteur série pour vérifier votre pile se connecte au réseau sans fil et enregistre les connexions clientes.

Dans l’affirmative, connectez-le à une alimentation électrique et vous connecter au serveur.

Vous pouvez déclencher la cloche en entrant l’adresse IP dans un navigateur comme ceci (où xx.xx.xx.xx est remplacé par l’adresse IP de la pile) :

http://XX.xx.xx.XX/?b
(sonne à la fois)

ou

http://XX.xx.xx.xx/?w
(sonne la cloche deux fois)

Si vous entrez l’adresse sans rien après l’adresse IP, la pile ne sera pas sonner la cloche.

Pour définir la cloche sonne lorsque des pages spécifiques sont accessibles sur un site Web, vous avez besoin de certaines compétences PHP et jQuery.  Voici ce que j’ai fait :

1) transmis le port 80 sur mon routeur pour l’IP privé de la pile de l’Arduino sur mon réseau interne

2) a créé un fichier php appelé ding.php

$ch=curl_init() ;
curl_setopt ($ch, CURLOPT_URL, "http: / / [mon adresse IP WAN] /? w') ;
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,5) ;
ob_start() ;
curl_exec ($ch) ;
ob_end_clean() ;
curl_close($ch) ;
? >

3) appelé ce fichier à l’aide de jQuery dans la page que je suis suivi :

$.get("ding.php") ;

(Vous devrez ajouter jQuery sur votre page trop).

Faire de cette façon signifie que personne détecte votre adresse IP WAN.  Pas si important mais encore, certaines personnes aiment à garder leur calme !

Ma configuration est accessible à l’adresse suivante.  Si vous cliquez dessus, vous allez sonner une petite cloche en laiton dans mon arbre de Noël !  La page ne s’affiche pas n’importe quoi, mais la sonnerie retentira.  Jetez un oeil à la vidéo pour voir ce qui se passe quand vous le faites.

http://Ding.net84.net/Ding.php

Vidéo :

Articles Liés

Construire un Web activé serrure en utilisant les API Rest et Raspberry PI

Construire un Web activé serrure en utilisant les API Rest et Raspberry PI

Dans ce instructable, nous construirons une serrure électronique web activé à partir de zéro en utilisant les API RESTFUL, nœud JS et Raspberry PI pour fournir le service web consommé par l'application mobile ou n'importe quel client de repos.L'Archi
Voiture de Arduino autonome avec capteur de proximité infrarouge

Voiture de Arduino autonome avec capteur de proximité infrarouge

Ce Instructable montre comment modifier une voiture RC preloved donc il peut être contrôlé par un Arduino. Puis l'Instructable va vous montrer comment faire le RC à exécuter qu'un code simple figure 8 a partir de là l'Instructable vous montrera comme
Contrôle Radio voiture Arduino via Web écran

Contrôle Radio voiture Arduino via Web écran

Il s'agit de mon premier prototypage Arduino. Je voudrais créer un objet en mouvement qui peut être commandé par radio. La voiture se compose de Tamiya Kits et XBee.La page web pour le contrôle de la voiture est écrit avec Node.js et Socket.IO.Étape
Réservoir d’Arduino autonome (A.A.T)

Réservoir d’Arduino autonome (A.A.T)

Hey tout le monde, c'est mon tout premier robot. Je suis un étudiant de première année âgé de 15 an. J'ai été intéressé par robots depuis la 6e année et été en train de construire un depuis lors. J'ai décidé de l'appeler A.A.T parce que c'est un rése
Web activé étude paresseux contrôleur de feux

Web activé étude paresseux contrôleur de feux

Ce Instructable est une écriture de mon premier projet jamais d'Arduino.Comme c'est généralement le cas avec les ingénieurs de l'amateur, j'ai pensé longuement et sérieusement à venir avec un projet qui a été non seulement cool, mais a une certaine v
Station météo sans fil Arduino & serveur Web

Station météo sans fil Arduino & serveur Web

objectifRemplacer mon PC (qui est à 24-7 depuis 6 ans) et le logiciel station météo avec un Arduino-faible consommation d'énergie, moins d'entretien et encombrement physique.  Fonctionnalité minimale PC nécessitant une duplication :• Enregistrement d
PIGate, ouvreur de porte/portail web activé garage

PIGate, ouvreur de porte/portail web activé garage

Construction d'une motorisation de portail distant à l'aide d'un expressjs et un Pi de framboiseIntroductionIl y a quelque chose de très satisfaisant tout en cliquant sur une interface web ou de frapper un bouton sur une application et de voir certai
Arduino Sound réactive LED pyramide

Arduino Sound réactive LED pyramide

Illuminer votre point chaud préféré avec notre pyramide de LED réactives Sound. Faire votre endroit préféré pour détendre la zone réactive pour tous vos amis et votre famille. Avec une grande variété de couleurs, ces lumières ajoutera une nouvelle sa
Voiture Arduino autonome

Voiture Arduino autonome

mes questions pour le faire à apprendre jeunesse concours:)Ce que tu l'as fait ?Dans le but de ce projet était de prendre des équipements électroniques couramment disponibles et de créer un véhicule bon marché, maîtrise de soi. En termes plus simples
Salle de surveillance système basé utilisant Arduino site Web

Salle de surveillance système basé utilisant Arduino site Web

Dans le cadre du projet d'Ecole, mes coéquipiers et moi étions assignés au projet de détection de l'activité humaine par l'utilisation de capteurs de PIR(Passive Infrared) et ce n'est pas tout l'information doit être transmise à un client distant, bo
Arduino Ethernet Web Server (piraté)

Arduino Ethernet Web Server (piraté)

Obtenir des ressources pour le projetArduino Uno REV 3Seeed Ethernet Shield V1Câble Ethernet CAT-5WiFi Modem (préférence Motorola Surfboard)Étape 1: Connectez Seeed Ethernet Shield pour Arduino PINSConnexion Ethernet ShieldObtenir le bouclier Seeed E
4-20mA Arduino plataforma web

4-20mA Arduino plataforma web

En el siguiente manuel entregaremos los pasos a seguir para visualizar sensores con salida de corriente a la plataforma web de MCI.Como tarjeta principal usaremos la CaiCai que es Arduino Uno compatible con la capacidad de conectar sensores con salid
Web activé porte de Garage (framboise Pi)

Web activé porte de Garage (framboise Pi)

Objectif de créer un site web basé porte de garage qui doit rénover pour la plupart des ouvre-portes. Testé avec vers des années 1990 Chamberlain ouvre-porte de 1/2 hp. Une fois participé à votre porte de garage peut être ouvert à partir de votre tél
Comment faire une télécommande sentient web-marionnette de piratage de Twitter, Google, Skype, Arduino et traitement !

Comment faire une télécommande sentient web-marionnette de piratage de Twitter, Google, Skype, Arduino et traitement !

Comment pour manipuler un objet physique sur le web en utilisant les services web communs et leurs données accessibles simplement nourrit, avec certains ajouté ouvrir des choses source de décoder et de manipuler ces données et en fin de compte utilis