Étape 4: Code
Le code pour ce projet s’étale sur quelques points. Comme décrit dans l’Introduction, ce projet utilise un bouclier wifi pour interroger un serveur web pour obtenir des commandes.
Tout d’abord, il y a une page web sur un serveur de web Hébergement web standard pour capturer les commandes avec une forme simple (cf. code de formulaire). Que formulaire appelle un script PHP qui envoie les commandes à une base de données MySQL. Le code d’envoi et le schéma de la DB sont attachés.
Donc, comme des commandes d’utilisateurs de soumettre, la table DB recueille tous.
Ensuite, une page web PHP à l’adresse cachée lit la prochaine commande depuis la base de données, supprime de la DB et le retourne au navigateur web. Le code pour qui est attaché - le script suivant get. Vous pouvez exécuter ceci avec un navigateur web pour les tests, mais normalement, cette page est appelée par l’Arduino pour obtenir la prochaine commande. La page suivante de get retourne un zéro si aucune commande n’est en attente.
Ainsi, la forme, le script de soumission, la DB et le script suivant get sont toutes exécutées sur un hôte web et peuvent être testés de manière indépendante. Une fois que c’est le travail, le code de l’Arduino peut être construit.
Le code de Arduino utilise l’exemple de code Client de répéter que c’est la base. Avec chaque connexion, le script suivant get est appelé, les couleurs analysés et l’ensemble des LEDs. Ayant quelques secondes avec chaque boucle apparaît comme une période d’interrogation raisonnable, mais qui peut être ajustée à vos besoins.
Cette approche peut être adaptée pour tous les enfants des projets web mobile connecté - Profitez !
Notes :
Le bouclier Wifi a besoin d’une mise à jour pour fonctionner avec l’environnement de dev Arduino 1,05. Sans la mise à jour, le script fonctionne pour la plupart, mais il ne se connecte pas au serveur web. Alors, j’ai utilisé l’environnement de 1.04 dev. J’ai n’a tenté de mettre à jour le firmware, mais eu quelques problèmes sur ma machine windows 8.1. Je vais essayer de port ce projet au bouclier CC3000 à un moment donné.
Si vous utilisez un point d’accès comme un smartphone, ensuite le SSID et le mot de passe pour le réseau Wifi peuvent être codée en dur dans votre programme. Si vous souhaitez utiliser un réseau local, c’est un peu plus compliqué puisque vous aurez à éditer et recompiler le code de l’Arduino. Certains boucliers Wifi comme ceux qui utilisent une puce CC3000 ont une app qui vous permettre de configurer la puce wifi avec un smartphone externe à votre code d’Arduino. Je n’implémentait pas que pour ce projet, mais il n’y a code d’échantillon avec les bibliothèques pour les boucliers.
En plus de l’approche du scrutin, vous pouvez également implémenter Dynamic DNS sur l’Arduino et ont les commandes de push serveur à votre projet. Pour ce projet, cette approche n’était pas nécessaire, mais elle permettrait aussi à l’ensemble du projet à exécuter sur l’Arduino seul, qui serait assez cool.