Web-Enabled maison Thermostat (et domotique Hub) (6 / 10 étapes)

Étape 6: Programmation du Thermostat

Je programme mes thermostats (dans le sens de charger le code dans le thermostat) à l’aide de l’IDE Arduino et un programmateur ISP, voilà donc ce que je vais discuter ici.

Le dépôt GitHub devrait inclure un dossier appelé Thermostat_v1 qui contient l’esquisse de l’arduino pour le thermostat lui-même. Copier ce répertoire dans un endroit où vous voulez garder. Il y a aussi quatre répertoires appelés Utouch2, qui contient une bibliothèque pour l’écran tactile, OneWire, qui est une bibliothèque pour le capteur de température et Adafruit_GFX et Adafruit_ILI9341, qui sont des bibliothèques pour l’écran LCD. Tous les quatre d'entre eux doivent être copiés dans un dossier pour vos bibliothèques Arduino – sur les machines windows, ce qui devraient être \Documents\Arduino\libraries. Un spécial Merci à tous les gens qui a écrit ces bibliothèques (Jim Studt - OneWire ; Adafruit - Adafruit_GFX et Adafruit_ILI93414, Henning Karlsen - Utouch et Mark Pendrith qui a modifié la bibliothèque Utouch (UTouch2) afin que l’écran tactile pourrait partager des goupilles SPI avec l’écran LCD).

Ensuite, avant de programmer le thermostat avec l’IDE Arduino, l’IDE doit avoir les fichiers nécessaires pour reconnaître le microcontrôleur 1284P. Ceux-ci peuvent être trouvés ici. Remarque Il s’agit pour la version 1.6.3 de l’IDE – il y a des autres branches pour les versions antérieures. Cette page contient également des instructions sur l’installation.

Maintenant, lorsque vous ouvrez l’IDE Arduino et allez dans outils/Conseil vous devriez voir « Bobduino et Bob Skinny » comme l’une des options. Sélectionnez cette option, puis sous outils/Prorammer sélectionnez AVR ISP mkII (ou quel que soit le programmateur que vous utilisez).

Maintenant, ouvrez l’esquisse du Thermostat et envisager de changer ce qui suit en fonction de vos goûts :

Fonctionnalités -Assurez-vous que le thermostat fonctionne comme vous le souhaitez pour fonctionner et qu’il est programmé d’une manière qui convient à votre système de ventilation !

#define COMM_PIN 4321 – cela devrait être remplacé par quelque PIN de 4 chiffres que vous avez choisi d’utiliser comme la communication RFX PIN. Elle doit correspondre à des pages web et les serveurs de python.

#define TOUCH_TIMEOUT 10000UL – c’est le délai d’attente pour écran tactile d’entrée (dans les millis) après les modifications non enregistrées seront ignorées.

#define TURN_OFF_INTERVAL 60000UL – c’est l’intervalle d’inactivité touchscreen, après quoi la LED s’éteint (à millis)

#define LOG_PORT 1700 – port pour le serveur de logs

#define MASTER_PORT 1800 – port pour le serveur de contrôle de

S’assurer que ces ports sont les mêmes que les ports sur lesquels vos serveurs de python sont en cours d’exécution.

Juste en dessous de celles-ci sont des options qui déterminent la quantité d’informations vous voulez rédigé pour enregistrer des fichiers et que vous souhaitiez le thermostat pour imprimer une mise à jour de série toutes les 5 secondes (ce qui peut être affichée en utilisant PuTTy pour vous connecter sur le port pour le thermostat). Généralement, DBGCHAT doit être défini sur 0, sauf si vous en avez besoin pour des fins de débogage.

#define WDT 0 - enable (1) ou désactiver (0) le minuteur de chien montre (pourrait être préférable de désactiver pour le débogage, mais le mieux pour lui permettre, lors de l’exécution)

#define FAHRENHEIT 1 – changement à 0 si vous souhaitez que la température soit en degrés celsius

Il y a aussi un grand nombre de variables à partir de la ligne 159 qui contrôlent quand le chauffage auxiliaire allume et éteint automatiquement en raison de l’incapacité apparente de la pompe à chaleur principale à suivre. Ces valeurs, ainsi que la fonction aux_heat_cntrl(), contrôler le chauffage auxiliaire et méritent une attention particulière.

Sous l’onglet Rfx_config.h, vous devrez changer #define BOARD_ID 110 le nombre de nœud de chaque thermostat avant de programmer ce thermostat. Par exemple, si vous programmez un tat de thermostat, que vous voulez être nœud 127, cela devrait être #define BOARD_ID 127. Ci-dessous, id_chaîne est un nom que le système RFX utilisera pour ce nœud, mais il n’a pas besoin de lier à toute autre partie du système. J’ai trouvé plus facile juste avoir des lignes ici pour tous mes thermostats et puis commentez ceux que je ne suis pas programmation à ce moment.

Sous l’onglet écran tactile, #define TEMP_MOVE 10 raconte le thermostat combien de dixièmes de degré pour changer la température de consigne chaque fois qu’une flèche est poussée vers le haut ou vers le bas (mais si vous allez avec une valeur autre que de multiples de 10, vous aurez probablement envie de modifier l’affichage de la température réglée pour afficher les valeurs décimales).

Une fois que tout cela est fait raccorder l’ISP à votre thermostat (attention à l’orientation), choisissez/Upload d’un fichier à l’aide de programmeur et programmer le thermostat.

Maintenant, vous pouvez jouer avec lui et testez-le soigneusement pour s’assurer qu’il se comporte comme prévu. Aussi, essayez d’utiliser le site Web de modifier le programme de température et de modifier les paramètres pour voir si que tout semble fonctionner comme prévu.

Création d’un programme de température avec la page web

Maintenant il est temps de définir le programme de température sur le thermostat, et il est extrêmement facile. En haut de la page, sélectionnez le thermostat que vous voulez programme et si ce programme est pour le chauffage ou le refroidissement. Ignorer les boutons envoyer et récupérer pour l’instant – vous soumettre lorsque vous avez terminé avec le programme et récupérer tire dans le programme actuel, mais il n’y a aucun programme existant encore.

Puis, dans la zone plus petite avec les temps et Temp vedettes, entrez l’heure quand doit commencer à une période et la température pour cette période. Par exemple, si vous vouliez le thermostat pour chauffer la maison jusqu'à 70 degrés à 06:00 et laissez si cool propre à 60 degrés à 21:00, vous devez entrer deux rangées dans cette boîte :

06:00 70

21:00 60

(Désolé, je n’ai pas implémenté ici la notation am/pm). Ensuite, cochez les cases ci-dessous pour les jours que vous souhaitez utiliser cette annexe (ou utilisez les cases d’option pour sélectionner plusieurs jours à la fois comme Lun-Ven), puis cliquez sur mise à jour. Votre emploi du temps doit apparaître dans la plus grande boîte vers le bas ci-dessous. Bien sûr, vous pouvez aussi simplement entrer chaque jour manuellement dans la zone inférieure si vous le souhaitez.

Lorsque l’annexe regarde la façon dont vous le souhaitez, cliquez sur le bouton Soumettre. Maintenant, si vous revenez à cette page et cliquez sur récupérer (pour le même Thermostat et même chauffage ou refroidissement réglage), il doit remplir l’annexe, ainsi vous pouvez facilement voir exactement comment vous avez tous les jours programmés.

Articles Liés

Smart TV Homer Web-enabled à distance

Smart TV Homer Web-enabled à distance

Smart d'Homère, une marionnette distant compatible Web TVHomer intelligent est une marionnette de Web-enabled qui transforme le téléviseur lorsque Simpsons est activé. Comme Homer est trop paresseux pour naviguer sur le Web lui-même, un script dans l
OpenSprinkler : Contrôleur de vanne Open source Web-enabled arroseur

OpenSprinkler : Contrôleur de vanne Open source Web-enabled arroseur

vue d'ensembleJe suis fier de vous présenter OpenSprinkler : un contrôleur de vanne arrosage open source, programmable, compatible web. Il peut être utilisé pour planifier et de travailler avec vannes d'arrosage standard 24VAC trouves couramment dans
Web-enabled cardiofréquencemètre Polar

Web-enabled cardiofréquencemètre Polar

Utilisez un Polar cardiofréquencemètre, un Conseil de matériel bon marché connecté via USB et un peu de logiciel pour mettre votre fréquence cardiaque sur le Web. Les données actives est servi dès votre ordinateur et accessibles via le relais de Yale
WEB-ENABLED BACKYARD artillerie

WEB-ENABLED BACKYARD artillerie

Salut tout le monde ! Cette instructable est en fait l'aboutissement de nombreux autres projets de mine, mais ils ont tous été utilisés ensemble pour faire quelque chose de vraiment cool ! Fondamentalement, c'est un Canon qui vous pouvez de contrôler
Web Enabled contrôle piscine - framboise Pi

Web Enabled contrôle piscine - framboise Pi

L'année dernière j'ai eu une piscine construite. C'était excitant quand le constructeur piscine m'a montré que l'industrie de la piscine avait déménagé dans l'ère de la technologie et offre maintenant le contrôle des applications sur internet. Étant
Faites-vous anonyme sur le web !

Faites-vous anonyme sur le web !

« Comment puis-je voyager et communiquer sur Internet sans être suivis ou espionnés par n'importe qui? »Ce tutoriel va expliquer comment vous êtes arrivé à cela !Il y a une multitude de raisons de vouloir la vie privée pour les communications sur Int
Web contrôlé Arduino LED

Web contrôlé Arduino LED

Cette instructable vous montre comment construire un Web-enabled tri-color LED basées sur un Arduino et le bouclier WIZnet Ethernet, à partir de n'importe quel navigateur Web .Parce que la LED est exposée via un service web RESTful simple en cours d'
Cadre de photo numérique USB + WEB

Cadre de photo numérique USB + WEB

ces instructions décrira en détail les étapes nécessaires à la préparation des éléments du logiciel d'un cadre de photo numérique fait maison. J'espère pouvoir mettre des instructions sur les modifications physiques plus tard.Cadre photo numérique su
Mettre en place votre propre serveur Web !

Mettre en place votre propre serveur Web !

Vous avez toujours voulu avoir un endroit où vous pouvez garder vos fichiers et y accéder de n'importe où vous obtenez une connexion Internet ? Vous avez voulu dire avoir votre bibliothèque de musique disponible dans le cas où vous avez voulu donner
Sans fil Noël minuterie avec Raspberry Pi et Python

Sans fil Noël minuterie avec Raspberry Pi et Python

mise à jour 14/01/2014 : Merci à tous ceux qui ont voté pour ce projet dans le concours de Hacking Hardware ! Impatient de ma plume machine à nouveau.Mise à jour 31/12/2013: à la recherche d'une version plus avancée de ce projet ? Découvrez ma nouvel
Le Raspberry Pi-Arduino-SignalR Home Automation moyeu

Le Raspberry Pi-Arduino-SignalR Home Automation moyeu

Suite à un couple de mon prélude IBLEs publié ici et ici, ce projet prend la première étape vers la création d'une version de base d'un Home Automation Hub fonctionnelle.J'ai utilisé différentes technologies dans le but de comprendre comment je peux
Scripter votre RaspberryPi

Scripter votre RaspberryPi

JavaScript est un langage de programmation grand qui fonctionne partout. JavaScript s'exécute principalement sur votre navigateur web ; Cependant, personnes trouvent des grandes utilisations pour la langue dans d'autres endroits. Python est le langag
Bouton de pizza

Bouton de pizza

Étudiant en deuxième année collège hommes, New Yorkais, techies tard dans la nuit et les vraiment paresseux : Bienvenue à votre fantaisie. Présentation de la mise à niveau ultime dans la technologie gastronomique, le bouton de la Pizza. Pas besoin de
Accueil 9000 - la sonnette ultime

Accueil 9000 - la sonnette ultime

je viens d'acheter une maison à Las Vegas et, étant un bricoleur de longue date (et instructable maker / partageur), j'ai décidé qu'avant de passer, et tant que j'ai l'occasion de briser ouvrir les murs et exécuter n'importe quel fil je voulais, je l