ESP12f.ino 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346
  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. hour(t); // the hour now (0-23)
  67. minute(t); // the minute now (0-59)
  68. second(t); // the second now (0-59)
  69. day(t); // the day now (1-31)
  70. weekday(t); // day of the week (1-7), Sunday is day 1
  71. month(t); // the month now (1-12)
  72. BLYNK_WRITE(InternalPinRTC) {
  73. unsigned long t = param.asLong();
  74. uint8_t mes[8];
  75. mes[0]=SYNCRTC;
  76. mes[1]= year(t);
  77. mes[2]=month(t);
  78. mes[3]=day(t);
  79. mes[4]=weekday(t);
  80. mes[5]=hour(t);
  81. mes[6]=minute(t);
  82. mes[7]=second(t);
  83. SPI_send(val,8);
  84. }
  85. BLYNK_WRITE(V0){ //Slider Blanc
  86. uint8_t val[2]:
  87. val[0] = VALUE_BLANC;
  88. val[1] = param.asInt();
  89. SPI_send(val,2);
  90. }
  91. BLYNK_WRITE(V1){ //Slider Chaud
  92. uint8_t val[2]:
  93. val[0] = VALUE_CHAUD;
  94. val[1] = param.asInt();
  95. SPI_send(val,2);
  96. }
  97. BLYNK_WRITE(V2){ //Slider Bleu
  98. uint8_t val[2]:
  99. val[0] = VALUE_BLEU;
  100. val[1] = param.asInt();
  101. SPI_send(val,2);
  102. }
  103. BLYNK_WRITE(V3){ //Slider Rouge
  104. uint8_t val[2]:
  105. val[0] = VALUE_ROUGE;
  106. val[1] = param.asInt();
  107. SPI_send(val,2);
  108. }
  109. BLYNK_WRITE(V4){ //Slider UV
  110. uint8_t val[2]:
  111. val[0] = VALUE_UV;
  112. val[1] = param.asInt();
  113. SPI_send(val,2);
  114. }
  115. BLYNK_WRITE(V5){ //Slider Vert
  116. uint8_t val[2]:
  117. val[0] = VALUE_VERT;
  118. val[1] = param.asInt();
  119. SPI_send(val,2);
  120. }
  121. BLYNK_WRITE(V6){ //Bouton STOP
  122. uint8_t val[1]:
  123. val[0] = STOP;
  124. SPI_send(val,1);
  125. }
  126. BLYNK_WRITE(V7){ //BOUTON RETABLIR
  127. uint8_t val[1]:
  128. val[0] = RETABLIR;
  129. SPI_send(val,1);
  130. }
  131. BLYNK_WRITE(V8){ //MAX blanc
  132. uint8_t val[2];
  133. val[0]= MAX_BLANC;
  134. val[1]= param.asInt();
  135. SPI_send(val,2);
  136. }
  137. BLYNK_WRITE(V12){ //MAX chaud
  138. uint8_t val[2];
  139. val[0]= MAX_CHAUD;
  140. val[1]= param.asInt();
  141. SPI_send(val,2);
  142. }
  143. BLYNK_WRITE(V16){ //MAX bleu
  144. uint8_t val[2];
  145. val[0]= MAX_BLEU;
  146. val[1]= param.asInt();
  147. SPI_send(val,2);
  148. }
  149. BLYNK_WRITE(V20){ //MAX rouge
  150. uint8_t val[2];
  151. val[0]= MAX_ROUGE;
  152. val[1]= param.asInt();
  153. SPI_send(val,2);
  154. }
  155. BLYNK_WRITE(V24){ //MAX UV
  156. uint8_t val[2];
  157. val[0]= MAX_UV;
  158. val[1]= param.asInt();
  159. SPI_send(val,2);
  160. }
  161. BLYNK_WRITE(V28){ //MAX Vert
  162. uint8_t val[2];
  163. val[0]= MAX_VERT;
  164. val[1]= param.asInt();
  165. SPI_send(val,2);
  166. }
  167. BLYNK_WRITE(V9){ //PENTE blanc
  168. uint8_t val[2];
  169. val[0]= PENTE_BLANC;
  170. val[1]= param.asInt();
  171. SPI_send(val,2);
  172. }
  173. BLYNK_WRITE(V13){ //PENTE chaud
  174. uint8_t val[2];
  175. val[0]= PENTE_CHAUD;
  176. val[1]= param.asInt();
  177. SPI_send(val,2);
  178. }
  179. BLYNK_WRITE(V17){ //PENTE bleu
  180. uint8_t val[2];
  181. val[0]= PENTE_BLEU;
  182. val[1]= param.asInt();
  183. SPI_send(val,2);
  184. }
  185. BLYNK_WRITE(V21){ //PENTE rouge
  186. uint8_t val[2];
  187. val[0]= PENTE_ROUGE;
  188. val[1]= param.asInt();
  189. SPI_send(val,2);
  190. }
  191. BLYNK_WRITE(V25){ //PENTE UV
  192. uint8_t val[2];
  193. val[0]= PENTE_UV;
  194. val[1]= param.asInt();
  195. SPI_send(val,2);
  196. }
  197. BLYNK_WRITE(V29){ //PENTE Vert
  198. uint8_t val[2];
  199. val[0]= PENTE_VERT;
  200. val[1]= param.asInt();
  201. SPI_send(val,2);
  202. }
  203. BLYNK_WRITE(V10){ //DEMARAGE blanc
  204. long h = param[0].asLong();
  205. uint8_t val[3];
  206. val[0]= DEMMARAGE_BLANC;
  207. val[1]= h/3600;
  208. val[2]= (h-(val[1]*3600))/60;
  209. SPI_send(val,3);
  210. }
  211. BLYNK_WRITE(V14){ //DEMARAGE chaud
  212. long h = param[0].asLong();
  213. uint8_t val[3];
  214. val[0]= DEMMARAGE_CHAUD;
  215. val[1]= h/3600;
  216. val[2]= (h-(val[1]*3600))/60;
  217. SPI_send(val,3);
  218. }
  219. BLYNK_WRITE(V18){ //DEMARAGE bleu
  220. long h = param[0].asLong();
  221. uint8_t val[3];
  222. val[0]= DEMMARAGE_BLEU;
  223. val[1]= h/3600;
  224. val[2]= (h-(val[1]*3600))/60;
  225. SPI_send(val,3);
  226. }
  227. BLYNK_WRITE(V22){ //DEMARAGE rouge
  228. long h = param[0].asLong();
  229. uint8_t val[3];
  230. val[0]= DEMMARAGE_ROUGE;
  231. val[1]= h/3600;
  232. val[2]= (h-(val[1]*3600))/60;
  233. SPI_send(val,3);
  234. }
  235. BLYNK_WRITE(V26){ //DEMARAGE UV
  236. long h = param[0].asLong();
  237. uint8_t val[3];
  238. val[0]= DEMMARAGE_UV;
  239. val[1]= h/3600;
  240. val[2]= (h-(val[1]*3600))/60;
  241. SPI_send(val,3);
  242. }
  243. BLYNK_WRITE(V30){ //DEMARAGE Vert
  244. long h = param[0].asLong();
  245. uint8_t val[3];
  246. val[0]= DEMMARAGE_VERT;
  247. val[1]= h/3600;
  248. val[2]= (h-(val[1]*3600))/60;
  249. SPI_send(val,3);
  250. }
  251. BLYNK_WRITE(V11){ //ARRET blanc
  252. long h = param[0].asLong();
  253. uint8_t val[3];
  254. val[0]= ARRET_BLANC;
  255. val[1]= h/3600;
  256. val[2]= (h-(val[1]*3600))/60;
  257. SPI_send(val,3);
  258. }
  259. BLYNK_WRITE(V13){ //ARRET chaud
  260. long h = param[0].asLong();
  261. uint8_t val[3];
  262. val[0]= ARRET_CHAUD;
  263. val[1]= h/3600;
  264. val[2]= (h-(val[1]*3600))/60;
  265. SPI_send(val,3);
  266. }
  267. BLYNK_WRITE(V19){ //ARRET bleu
  268. long h = param[0].asLong();
  269. uint8_t val[3];
  270. val[0]= ARRET_BLEU;
  271. val[1]= h/3600;
  272. val[2]= (h-(val[1]*3600))/60;
  273. SPI_send(val,3);
  274. }
  275. BLYNK_WRITE(V23){ //ARRET rouge
  276. long h = param[0].asLong();
  277. uint8_t val[3];
  278. val[0]= ARRET_ROUGE;
  279. val[1]= h/3600;
  280. val[2]= (h-(val[1]*3600))/60;
  281. SPI_send(val,3);
  282. }
  283. BLYNK_WRITE(V27){ //ARRET UV
  284. long h = param[0].asLong();
  285. uint8_t val[3];
  286. val[0]= ARRET_UV;
  287. val[1]= h/3600;
  288. val[2]= (h-(val[1]*3600))/60;
  289. SPI_send(val,3);
  290. }
  291. BLYNK_WRITE(V31){ //ARRET Vert
  292. long h = param[0].asLong();
  293. uint8_t val[3];
  294. val[0]= ARRET_VERT;
  295. val[1]= h/3600;
  296. val[2]= (h-(val[1]*3600))/60;
  297. SPI_send(val,3);
  298. }