ESP12f.ino 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339
  1. /* Comment this out to disable prints and save space */
  2. //#define BLYNK_PRINT Serial
  3. #include <SPI.h>
  4. #include <ESP8266WiFi.h>
  5. #include <BlynkSimpleEsp8266.h>
  6. #include <WidgetRTC.h>
  7. #include <TimeLib.h>
  8. #include "ESP12f.h"
  9. #define VALUE_BLANC 0x60
  10. #define VALUE_CHAUD 0x61
  11. #define VALUE_BLEU 0x62
  12. #define VALUE_ROUGE 0x63
  13. #define VALUE_UV 0x64
  14. #define VALUE_VERT 0x65
  15. #define STOP 0x70
  16. #define RETABLIR 0x80
  17. #define SYNCRTC 0x90
  18. #define DEMMARAGE_BLANC 0x01
  19. #define DEMMARAGE_CHAUD 0x02
  20. #define DEMMARAGE_BLEU 0x03
  21. #define DEMMARAGE_ROUGE 0x04
  22. #define DEMMARAGE_UV 0x05
  23. #define DEMMARAGE_VERT 0x06
  24. #define ARRET_BLANC 0x08
  25. #define ARRET_CHAUD 0x09
  26. #define ARRET_BLEU 0x0A
  27. #define ARRET_ROUGE 0X0B
  28. #define ARRET_UV 0x0C
  29. #define ARRET_VERT 0x0D
  30. #define MAX_BLANC 0x11
  31. #define MAX_CHAUD 0x12
  32. #define MAX_BLEU 0x13
  33. #define MAX_ROUGE 0x14
  34. #define MAX_UV 0x15
  35. #define MAX_VERT 0x16
  36. #define PENTE_BLANC 0x18
  37. #define PENTE_CHAUD 0x19
  38. #define PENTE_BLEU 0x1A
  39. #define PENTE_ROUGE 0X0B
  40. #define PENTE_UV 0x1C
  41. #define PENTE_VERT 0x1D
  42. /* Global Variable */
  43. // Token identification
  44. char auth[] = "";
  45. // Your WiFi credentials.
  46. char ssid[] = "Livebox-7C2C";
  47. char pass[] = "566C61F61F9C925C9F3D7D79E6";
  48. WidgetRTC rtc;
  49. /* Fonction */
  50. void setup(){
  51. // Debug console
  52. Serial.begin(9600);
  53. Blynk.begin(auth, ssid, pass);
  54. timer.setInterval(600000L, requestTime);//On appel la fonction de mise a jour de la RTC toute les 10 min
  55. }
  56. void requestTime() {
  57. Blynk.sendInternal("rtc", "sync");//Appel a la mise a jour de time
  58. }
  59. void loop(){
  60. Blynk.run();
  61. timer.run();
  62. }
  63. BLYNK_WRITE(InternalPinRTC) {
  64. long t = param.asLong();//renvoi le temps unix
  65. }
  66. BLYNK_WRITE(InternalPinRTC) {
  67. unsigned long t = param.asLong();
  68. uint8_t mes[8];
  69. mes[0]=SYNCRTC;
  70. mes[1]= year(t);
  71. mes[2]=month(t);
  72. mes[3]=day(t);
  73. mes[4]=weekday(t);
  74. mes[5]=hour(t);
  75. mes[6]=minute(t);
  76. mes[7]=second(t);
  77. SPI_send(val,8);
  78. }
  79. BLYNK_WRITE(V0){ //Slider Blanc
  80. uint8_t val[2]:
  81. val[0] = VALUE_BLANC;
  82. val[1] = param.asInt();
  83. SPI_send(val,2);
  84. }
  85. BLYNK_WRITE(V1){ //Slider Chaud
  86. uint8_t val[2]:
  87. val[0] = VALUE_CHAUD;
  88. val[1] = param.asInt();
  89. SPI_send(val,2);
  90. }
  91. BLYNK_WRITE(V2){ //Slider Bleu
  92. uint8_t val[2]:
  93. val[0] = VALUE_BLEU;
  94. val[1] = param.asInt();
  95. SPI_send(val,2);
  96. }
  97. BLYNK_WRITE(V3){ //Slider Rouge
  98. uint8_t val[2]:
  99. val[0] = VALUE_ROUGE;
  100. val[1] = param.asInt();
  101. SPI_send(val,2);
  102. }
  103. BLYNK_WRITE(V4){ //Slider UV
  104. uint8_t val[2]:
  105. val[0] = VALUE_UV;
  106. val[1] = param.asInt();
  107. SPI_send(val,2);
  108. }
  109. BLYNK_WRITE(V5){ //Slider Vert
  110. uint8_t val[2]:
  111. val[0] = VALUE_VERT;
  112. val[1] = param.asInt();
  113. SPI_send(val,2);
  114. }
  115. BLYNK_WRITE(V6){ //Bouton STOP
  116. uint8_t val[1]:
  117. val[0] = STOP;
  118. SPI_send(val,1);
  119. }
  120. BLYNK_WRITE(V7){ //BOUTON RETABLIR
  121. uint8_t val[1]:
  122. val[0] = RETABLIR;
  123. SPI_send(val,1);
  124. }
  125. BLYNK_WRITE(V8){ //MAX blanc
  126. uint8_t val[2];
  127. val[0]= MAX_BLANC;
  128. val[1]= param.asInt();
  129. SPI_send(val,2);
  130. }
  131. BLYNK_WRITE(V12){ //MAX chaud
  132. uint8_t val[2];
  133. val[0]= MAX_CHAUD;
  134. val[1]= param.asInt();
  135. SPI_send(val,2);
  136. }
  137. BLYNK_WRITE(V16){ //MAX bleu
  138. uint8_t val[2];
  139. val[0]= MAX_BLEU;
  140. val[1]= param.asInt();
  141. SPI_send(val,2);
  142. }
  143. BLYNK_WRITE(V20){ //MAX rouge
  144. uint8_t val[2];
  145. val[0]= MAX_ROUGE;
  146. val[1]= param.asInt();
  147. SPI_send(val,2);
  148. }
  149. BLYNK_WRITE(V24){ //MAX UV
  150. uint8_t val[2];
  151. val[0]= MAX_UV;
  152. val[1]= param.asInt();
  153. SPI_send(val,2);
  154. }
  155. BLYNK_WRITE(V28){ //MAX Vert
  156. uint8_t val[2];
  157. val[0]= MAX_VERT;
  158. val[1]= param.asInt();
  159. SPI_send(val,2);
  160. }
  161. BLYNK_WRITE(V9){ //PENTE blanc
  162. uint8_t val[2];
  163. val[0]= PENTE_BLANC;
  164. val[1]= param.asInt();
  165. SPI_send(val,2);
  166. }
  167. BLYNK_WRITE(V13){ //PENTE chaud
  168. uint8_t val[2];
  169. val[0]= PENTE_CHAUD;
  170. val[1]= param.asInt();
  171. SPI_send(val,2);
  172. }
  173. BLYNK_WRITE(V17){ //PENTE bleu
  174. uint8_t val[2];
  175. val[0]= PENTE_BLEU;
  176. val[1]= param.asInt();
  177. SPI_send(val,2);
  178. }
  179. BLYNK_WRITE(V21){ //PENTE rouge
  180. uint8_t val[2];
  181. val[0]= PENTE_ROUGE;
  182. val[1]= param.asInt();
  183. SPI_send(val,2);
  184. }
  185. BLYNK_WRITE(V25){ //PENTE UV
  186. uint8_t val[2];
  187. val[0]= PENTE_UV;
  188. val[1]= param.asInt();
  189. SPI_send(val,2);
  190. }
  191. BLYNK_WRITE(V29){ //PENTE Vert
  192. uint8_t val[2];
  193. val[0]= PENTE_VERT;
  194. val[1]= param.asInt();
  195. SPI_send(val,2);
  196. }
  197. BLYNK_WRITE(V10){ //DEMARAGE blanc
  198. long h = param[0].asLong();
  199. uint8_t val[3];
  200. val[0]= DEMMARAGE_BLANC;
  201. val[1]= h/3600;
  202. val[2]= (h-(val[1]*3600))/60;
  203. SPI_send(val,3);
  204. }
  205. BLYNK_WRITE(V14){ //DEMARAGE chaud
  206. long h = param[0].asLong();
  207. uint8_t val[3];
  208. val[0]= DEMMARAGE_CHAUD;
  209. val[1]= h/3600;
  210. val[2]= (h-(val[1]*3600))/60;
  211. SPI_send(val,3);
  212. }
  213. BLYNK_WRITE(V18){ //DEMARAGE bleu
  214. long h = param[0].asLong();
  215. uint8_t val[3];
  216. val[0]= DEMMARAGE_BLEU;
  217. val[1]= h/3600;
  218. val[2]= (h-(val[1]*3600))/60;
  219. SPI_send(val,3);
  220. }
  221. BLYNK_WRITE(V22){ //DEMARAGE rouge
  222. long h = param[0].asLong();
  223. uint8_t val[3];
  224. val[0]= DEMMARAGE_ROUGE;
  225. val[1]= h/3600;
  226. val[2]= (h-(val[1]*3600))/60;
  227. SPI_send(val,3);
  228. }
  229. BLYNK_WRITE(V26){ //DEMARAGE UV
  230. long h = param[0].asLong();
  231. uint8_t val[3];
  232. val[0]= DEMMARAGE_UV;
  233. val[1]= h/3600;
  234. val[2]= (h-(val[1]*3600))/60;
  235. SPI_send(val,3);
  236. }
  237. BLYNK_WRITE(V30){ //DEMARAGE Vert
  238. long h = param[0].asLong();
  239. uint8_t val[3];
  240. val[0]= DEMMARAGE_VERT;
  241. val[1]= h/3600;
  242. val[2]= (h-(val[1]*3600))/60;
  243. SPI_send(val,3);
  244. }
  245. BLYNK_WRITE(V11){ //ARRET blanc
  246. long h = param[0].asLong();
  247. uint8_t val[3];
  248. val[0]= ARRET_BLANC;
  249. val[1]= h/3600;
  250. val[2]= (h-(val[1]*3600))/60;
  251. SPI_send(val,3);
  252. }
  253. BLYNK_WRITE(V13){ //ARRET chaud
  254. long h = param[0].asLong();
  255. uint8_t val[3];
  256. val[0]= ARRET_CHAUD;
  257. val[1]= h/3600;
  258. val[2]= (h-(val[1]*3600))/60;
  259. SPI_send(val,3);
  260. }
  261. BLYNK_WRITE(V19){ //ARRET bleu
  262. long h = param[0].asLong();
  263. uint8_t val[3];
  264. val[0]= ARRET_BLEU;
  265. val[1]= h/3600;
  266. val[2]= (h-(val[1]*3600))/60;
  267. SPI_send(val,3);
  268. }
  269. BLYNK_WRITE(V23){ //ARRET rouge
  270. long h = param[0].asLong();
  271. uint8_t val[3];
  272. val[0]= ARRET_ROUGE;
  273. val[1]= h/3600;
  274. val[2]= (h-(val[1]*3600))/60;
  275. SPI_send(val,3);
  276. }
  277. BLYNK_WRITE(V27){ //ARRET UV
  278. long h = param[0].asLong();
  279. uint8_t val[3];
  280. val[0]= ARRET_UV;
  281. val[1]= h/3600;
  282. val[2]= (h-(val[1]*3600))/60;
  283. SPI_send(val,3);
  284. }
  285. BLYNK_WRITE(V31){ //ARRET Vert
  286. long h = param[0].asLong();
  287. uint8_t val[3];
  288. val[0]= ARRET_VERT;
  289. val[1]= h/3600;
  290. val[2]= (h-(val[1]*3600))/60;
  291. SPI_send(val,3);
  292. }