Ceci est une ancienne révision du document !


Lumière

lumiere.phot
/*
    Utilisation d'un relais pour déclencher une lampe de chevet reliée au secteur
    Quimper, Dour Ru, 11 oct. 2018, pierre <at> lesporteslogiques.net
    particle photon + photon firmware 0.7.0
    Code sous licence CC BY-SA 4.0 : https://creativecommons.org/licenses/by-sa/4.0/deed.fr
 
    Le relais peut être déclenché par le bouton du circuit ou par une commande web
 
*/
 
int broche_led_interne = D7;
int broche_relais = D4;
int broche_bouton = D0;
 
boolean lumiere_on = false;
 
void setup() {
  pinMode(broche_led_interne, OUTPUT);
  pinMode(broche_relais, OUTPUT);
  pinMode(broche_bouton, INPUT);
  Particle.function("lumiere", controleLumiere);
}
 
void loop() {
  if (digitalRead(broche_bouton) == HIGH) {
    lumiere_on = !lumiere_on;
    if (lumiere_on) controleLumiere("on");
    else controleLumiere("off");
    delay(1000);
  }
}
 
int controleLumiere(String commande) {
  if (commande.equalsIgnoreCase("on")) {
    digitalWrite(broche_led_interne, HIGH);
    digitalWrite(broche_relais, HIGH);
    return 1;
  }
  else if (commande.equalsIgnoreCase("off")) {
    digitalWrite(broche_led_interne, LOW);
    digitalWrite(broche_relais, LOW);
    return 0;
  }
  return -1;
}
lumiere.html
  1. <!DOCTYPE html>
  2. <!--
  3. Controle de relais à distance
  4. Quimper, Dour Ru, 11 oct. 2018, pierre <at> lesporteslogiques.net
  5. Code sous licence CC BY-SA 4.0 : https://creativecommons.org/licenses/by-sa/4.0/deed.fr
  6. -->
  7. <html>
  8. <head>
  9.  
  10. <meta charset="utf-8">
  11. <script src="https://code.jquery.com/jquery-3.1.1.min.js" type="text/javascript" charset="utf-8"></script>
  12.  
  13. <style type="text/css">
  14. div {
  15. width: 100px;
  16. height: 100px;
  17. background-color: white;
  18. position: absolute;
  19. top:0;
  20. bottom: 0;
  21. left: 0;
  22. right: 0;
  23. margin: auto;
  24. }
  25. input[type=button] {
  26. color: white;
  27. font-size: 1.5em;
  28. width: 100px;
  29. height: 100px;
  30. }
  31. .on { background:green; }
  32. .off { background:red; }
  33. </style>
  34.  
  35. <script>
  36.  
  37. // remplacer les * ci-dessous par le jeton d'authentification
  38. var accessToken = "****************************************";
  39. // remplacer les * ci-dessous par l'identifiant unique du photon
  40. var deviceID = "************************";
  41. var url = "https://api.particle.io/v1/devices/" + deviceID + "/lumiere";
  42.  
  43. function basculerLumiere(item){
  44.  
  45. function definirLumiere(message){
  46. $.post(url, {params: message, access_token: accessToken}, callback, "json");
  47. }
  48.  
  49. function callback(data){
  50. if (data.return_value == 1) {
  51. item.className = "off";
  52. item.value = "off";
  53. document.body.style.backgroundColor = "#FFFFFF";
  54. }
  55. else if (data.return_value == 0) {
  56. item.className = "on";
  57. item.value = "on";
  58. document.body.style.backgroundColor = "#000000";
  59. }
  60. else if (data.return_value == -1) {
  61. alert("Impossible de se connecter au Photon");
  62. }
  63. }
  64.  
  65. if(item.className == "on") {
  66. definirLumiere("on");
  67. } else {
  68. definirLumiere("off");
  69. }
  70. }
  71. </script>
  72. </head>
  73.  
  74. <body>
  75. <div>
  76. <input type="button" id="bouton" class="off" onClick="basculerLumiere(this)" value="off"/>
  77. </div>
  78. </body>
  79.  
  80. </html>
  • atelier/objet_connecte/lumiere.1539989256.txt.gz
  • Dernière modification: 2018/10/20 00:47
  • par emoc