Maison intelligente à partir d'un vieux smartphone ou d'anti-modèles de domotique

Bonjour chers lecteurs! Une autre histoire sur la façon dont le gestionnaire du lien central, en soufflant la poussière des glandes périmées sur l'étagère, fait cela, ce qui fait que les professionnels de toutes les bandes ont mal aux yeux. ¡Mais ça marche, amigo!



J'avoue, cette fois, je voulais tout faire correctement. A pris le Raspbery Pi de l'étagère. Le gâteau est le même que j'ai déjà utilisé dans mon robot de tonte: un lien vers un article et un lien vers un autre article . Il a pris des moustiques, tout aurait dû fonctionner sur mqtt, mais vous ne fuiriez nulle part de vous-même. Sous la coupe, une mer de râteaux, de vélos, de mauvaises soudures, un enfer pour un perfectionniste.

image

Tout a commencé avec le désir de compléter mon projet Noorik , que j'ai mis sur ma porte. En bref - c'est une solution de bricolage pour le bloc GSM ouvrant la porte.
Pour ouvrir le portail, il suffit de fermer certains contacts sur la carte.

image

Arduino remplacé par esp8266 et fait une interface web avec un bouton ouvert. Cela s'est avéré intéressant, mais je voulais une interface unique pour ouvrir les portails coulissants, les portes de garage sectionnelles et les portails.

Quand j'ai commencé à peindre toute ma liste de souhaits, il s'est avéré que j'avais besoin de la même chose:

  1. système de contrôle de chaudière
  2. système de sécurité
  3. interface mobile avec les caméras de surveillance
  4. données de température dans la maison et dans la rue

Backend


Malinka a bien fonctionné, mais la prochaine fois qu'il a été allumé, il a juste cessé de s'allumer. Le voyant d'alimentation s'allume d'abord, puis s'éteint en douceur en 3 à 5 secondes, l'élément (polyfuse T075) près de la prise de courant est très chaud. Et ici, les mains ont déjà démangé d'appliquer mqtt, blackger, pour inviter des courtisanes et d'autres délices.



Ce n'est pas grave, le bénéfice de son sort attendait un autre patient. Orange pi zéro au studio. Combien je n'ai pas souffert de ce miracle de la pensée chinoise - insuffler la vie à un si petit gâteau était une affaire au-delà de mes forces. J'ai téléchargé le firmware sur les sites officiels et à gauche, j'ai acheté le firmware de mes mains et échangé contre de la crypto-monnaie. Je pense que je viens de tomber sur un échantillon défectueux.



J'ai réalisé que le destin lui-même me poussait dans les bras de la construction à vélo, et pour cacher ma joie, j'ai plongé dans cette activité avec ma tête.



Tout d'abord, j'ai décidé d'utiliser un smartphone comme unité centrale (courtier, serveur). Vous savez, ces vieilles choses ne disparaissent pas. Je l'ai utilisé, ma femme, ma fille, puis j'ai contrôlé mon robot avec une souffleuse à neige à partir de ce smartphone, j'ai essayé de le noyer dans la rivière (je n'ai jamais atteint la rivière Moscou, mais cette pipe a fait un bruissement dans mon Pakhra natal). Et elle est là - une nouvelle vie pour le Samsung Galaxy S3.

Installé le serveur Web Palapa et le serveur FTP sur le smartphone. L'idée est simple dans une base de données MySQL avec seulement trois tables: valeurs, journaux, règles.

  • Dans le tableau des valeurs, paires clé / valeur.
  • Le tableau des journaux montre l'historique des changements de valeurs.
  • Dans le tableau des règles, les règles de modification de certaines cellules en fonction de la valeur dans d'autres.

Toute cette ferme sert un script php, qui écrit ou sort des données de la base de données par une requête http, et sert également des règles planifiées.
Je ne comprends même pas quel devrait être le niveau de programmation pour qu'une personne veuille le voir, mais je suis prêt à vous montrer le code - écrivez sur le LAN.

Frontend




Ne me lancez pas de pierres, je m'avoue. J'ai utilisé Bootstrap. Oui, coupable.
La pensée initiale était de tout conclure via Phonegap et d'obtenir une application complète. Je dirai plus, je l'ai fait, mais au final, la version en ligne s'est avérée plus efficace. Moi et ma femme au téléphone venons de créer un raccourci sur le bureau pour ouvrir la page souhaitée sur l'IP interne.

Chaque élément répond à un événement de clic + l'état d'ajax est vérifié par des requêtes au serveur et modifié si nécessaire. C'est très pratique, car vous voyez toutes les modifications entrées en vigueur par la règle ou apportées par un autre utilisateur.
En fait, le code à la demande sans problèmes.

ESP-8266




J'ai essayé différents modules et pur ESP-8266. En conséquence, le module LOLIN V3 s'est avéré être l'option la plus pratique.



Alimentation utilisant des alimentations à découpage.



Les modules de porte nécessitaient un relais et j'avais peur que les relais de contact ne se déclenchent. En conséquence, les transistors et les contacts fonctionnent. Le problème est qu'un grand nombre de modules, même sans étiquetage à ce sujet, sont peu déclenchés.



Lorsque le module est allumé, une ouverture à court terme se produit, ce qui entraîne une ouverture involontaire lors de la mise sous tension. Il est résolu en tirant à zéro et en déclarant l'état avant de déclarer le type de sortie.

digitalWrite(rele, 1); digitalWrite(rele2, 1); pinMode(rele, OUTPUT); pinMode(rele2, OUTPUT); 

Par conséquent, le module de l'assemblage de garage ressemble à ceci. Le capteur PIR pour détecter les mouvements est doucement grignoté dans la peau native.



Dans la chaufferie, ma chaudière est très simple et il n'est pas question d'une automatisation complexe.



De plus, chaque circuit dessert une pompe distincte.



En série avec les machines, les relais de commande des pompes et de la chaudière ont été allumés.



Pousse doucement toute l'économie dans le bouclier.



Firmware


J'ai décidé d'utiliser l'Arduino IDE pour le firmware afin de ne pas jouer avec nodemcu et lua. Sur Internet et sur GT en particulier, une énorme quantité d'informations pour les débutants.
De l'intéressant, il me semble, la fonction de connexion au wifi. Le fait est que dans ma maison il y a 4 réseaux wifi et peuvent être ajoutés. Afin de ne pas définir de manière rigide le nom du réseau, nous analysons d'abord les réseaux disponibles.

Code SetupWiFi ()
 void setupWiFi() { WiFi.mode(WIFI_STA); WiFi.disconnect(); delay(100); while(WiFi.status() != WL_CONNECTED) { int n = WiFi.scanNetworks(); Serial.println("scan done"); if (n == 0) Serial.println("no networks found"); else { Serial.print(n); Serial.println(" networks found"); for (int i = 0; i < n; ++i) { Serial.println(""); Serial.print(i + 1); Serial.print(": "); Serial.print(WiFi.SSID(i)); Serial.print(" ("); Serial.print(WiFi.RSSI(i)); Serial.print(")"); Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE)?" ":"*"); j=0; ssid=WiFi.SSID(i); Serial.print("Connecting"); ssid.toCharArray(charBuf, 50); WiFi.begin(charBuf,WIFI_PASS); while(WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); j++; if(j>20){ break; } } if((WiFi.status() == WL_CONNECTED)){ break; } } } } Serial.println("Connected"); Serial.println(WiFi.localIP()); } 


Lorsque le mode automatique de la chaufferie est activé, la température extérieure et la température du liquide de refroidissement sont vérifiées selon le programme.

  • À des températures inférieures à 14 * C, le plancher chaud du premier étage est allumé.
  • À des températures inférieures à 4 * C, tous les circuits sont allumés.

La température du liquide de refroidissement est choisie selon le tableau en fonction de la section des tuyaux et de la température extérieure. Lorsque la température ambiante souhaitée est atteinte, la chaudière s'arrête. A tous appliqué une certaine hystérésis pour lisser les valeurs de transition.

Le système de sécurité fonctionne encore plus facilement. Il y a une règle dans le tableau selon laquelle, lorsque le système de sécurité est activé, si un mouvement est détecté sur l'un des capteurs PIR, un SMS est envoyé via l'API de l'un des services.

Plans


  • Création d'une version en ligne sur un serveur distant et synchronisation des modifications pour la possibilité de contrôle à distance.
  • Afficher les données des balises GSM / GPS dans la voiture;
  • Ouvrir les portes lorsque nos voitures apparaissent dans une certaine zone;
  • Connexion au système de télécommande;

Vote par photo. Quel projet faire ensuite?


Terminer l'imprimante 3D Delta sur les broches de construction


Stabilisateur pour appareil photo reflex


Merci de votre attention. Avec vous était SlavaGik.

Source: https://habr.com/ru/post/fr405557/


All Articles