From e52c4cedf0a57d0dc5813ecc9c15302d8e86771b Mon Sep 17 00:00:00 2001 From: Christian Zufferey Date: Tue, 9 Apr 2019 14:01:54 +0200 Subject: [PATCH] =?UTF-8?q?Avanc=C3=A9=20sur=20le=20projet=20Timetable=20d?= =?UTF-8?q?'Alexandre.=20Cela=20ne=20fonctionne=20pas=20encore=20;-(?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dossier sans titre/Vertical Resistor.fzpz | Bin 0 -> 4833 bytes .../part.resistor-vertical.fzp | 85 ++++++++++++++++++ ...readboard.resistor-vertical_breadboard.svg | 21 +++++ .../svg.icon.resistor-vertical_icon.svg | 22 +++++ .../svg.pcb.axial_stand0_2_100mil_pcb.svg | 18 ++++ ....schematic.resistor-vertical_schematic.svg | 21 +++++ Timetable/JLEB/README.md | 12 +++ Timetable/JLEB/jflash_2rgb.lua | 10 +-- Timetable/JLEB/time_table.lua | 80 +++++++++++++++++ Timetable/JLEB/web_cli.lua | 9 +- Timetable/JLEB/wifi_cli_conf.lua | 5 +- 11 files changed, 274 insertions(+), 9 deletions(-) create mode 100644 Fritzing/dossier sans titre/Vertical Resistor.fzpz create mode 100644 Fritzing/dossier sans titre/part.resistor-vertical.fzp create mode 100644 Fritzing/dossier sans titre/svg.breadboard.resistor-vertical_breadboard.svg create mode 100644 Fritzing/dossier sans titre/svg.icon.resistor-vertical_icon.svg create mode 100644 Fritzing/dossier sans titre/svg.pcb.axial_stand0_2_100mil_pcb.svg create mode 100644 Fritzing/dossier sans titre/svg.schematic.resistor-vertical_schematic.svg create mode 100644 Timetable/JLEB/time_table.lua diff --git a/Fritzing/dossier sans titre/Vertical Resistor.fzpz b/Fritzing/dossier sans titre/Vertical Resistor.fzpz new file mode 100644 index 0000000000000000000000000000000000000000..e6738065515551eb2ebb7004818397b99c8172a2 GIT binary patch literal 4833 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 MbNv&UiGM!*3qmW&Q2+n{ literal 0 HcmV?d00001 diff --git a/Fritzing/dossier sans titre/part.resistor-vertical.fzp b/Fritzing/dossier sans titre/part.resistor-vertical.fzp new file mode 100644 index 0000000..200cb88 --- /dev/null +++ b/Fritzing/dossier sans titre/part.resistor-vertical.fzp @@ -0,0 +1,85 @@ + + + 4 + Vertical Resistor + + 2009-09-08 + Stephen Lilley + + Resistor + basic resistor + fritzing core + + + Resistor + 100 mil (stand-up right) + THT + Vertical + + 220 + ±5% + vertical + + discreteParts.resistor.220 + A generic resistor (0.25W) + R{instanceTitle} {net connector0} {net connector1} {resistance} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pin0 + + +

+ + +

+ + +

+

+ + + + + Pin 1 + + +

+ + +

+ + +

+

+ + + + + diff --git a/Fritzing/dossier sans titre/svg.breadboard.resistor-vertical_breadboard.svg b/Fritzing/dossier sans titre/svg.breadboard.resistor-vertical_breadboard.svg new file mode 100644 index 0000000..86ac18d --- /dev/null +++ b/Fritzing/dossier sans titre/svg.breadboard.resistor-vertical_breadboard.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + diff --git a/Fritzing/dossier sans titre/svg.icon.resistor-vertical_icon.svg b/Fritzing/dossier sans titre/svg.icon.resistor-vertical_icon.svg new file mode 100644 index 0000000..db38e6c --- /dev/null +++ b/Fritzing/dossier sans titre/svg.icon.resistor-vertical_icon.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/Fritzing/dossier sans titre/svg.pcb.axial_stand0_2_100mil_pcb.svg b/Fritzing/dossier sans titre/svg.pcb.axial_stand0_2_100mil_pcb.svg new file mode 100644 index 0000000..53981e5 --- /dev/null +++ b/Fritzing/dossier sans titre/svg.pcb.axial_stand0_2_100mil_pcb.svg @@ -0,0 +1,18 @@ + + + Fritzing footprint SVG + + + + + + + + + + + + + + + diff --git a/Fritzing/dossier sans titre/svg.schematic.resistor-vertical_schematic.svg b/Fritzing/dossier sans titre/svg.schematic.resistor-vertical_schematic.svg new file mode 100644 index 0000000..fa905da --- /dev/null +++ b/Fritzing/dossier sans titre/svg.schematic.resistor-vertical_schematic.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + +2 + + +1 + + \ No newline at end of file diff --git a/Timetable/JLEB/README.md b/Timetable/JLEB/README.md index 88dad5d..1f1b0b1 100644 --- a/Timetable/JLEB/README.md +++ b/Timetable/JLEB/README.md @@ -1 +1,13 @@ # Affiche l'horaire du train Cheseaux à Lausanne sur un ruban de LED's RGB + +zf190408.2100 +## ATTENTION, cela ne fonctionne pas encore ! + +## Ce n'est pas encore automatique, il faut lancer à la main boot.lua et timetable.Lausanne + +## Il y a un problème d'arrondi dans le calcul du nombre de 3 minutes, il ne faut pas arrondir 2mn31 à 3 minutes !
+Si c'est < 3 minutes il faut décompte moins un pour les clignotements car même pour 10 secondes on va rater le train ! + +## Il y a un très gros problème de raisonnement, car quand on se trouve entre -1 et 3 minutes du prochain train, l'horaire du train, que l'on va chercher sur Internet, ne va changer qu'une minute après le départ du train. Il faut donc prendre le prochain train indiqué et non le train actuel quand on se trouve à < 3 minutes du départ ! + +## A cause du problème de raisonnement, cela boucle en continu quand on se trouve entre -1 et 3 minutes du départ du train ! diff --git a/Timetable/JLEB/jflash_2rgb.lua b/Timetable/JLEB/jflash_2rgb.lua index 175f8f7..bd86235 100644 --- a/Timetable/JLEB/jflash_2rgb.lua +++ b/Timetable/JLEB/jflash_2rgb.lua @@ -2,7 +2,7 @@ -- tout sur la couleur: https://www.w3schools.com/colors/default.asp -- roue des couleurs: https://iro.js.org/?ref=oldsite -print("\n jflash_2rgb.lua jv190227.1628 \n") +print("\n jflash_2rgb.lua jv190408.1815 \n") dofile("jled_rgb.lua") @@ -19,7 +19,7 @@ ztmr_Flash_LED1 = tmr.create() ztmr_Flash_LED2 = tmr.create() function flash_LED1 () if nbfois1 >= xfois1 then - print(nbfois1) + print("nbfois1: "..nbfois1) nbfois1 = 0 jled_rgb(zLED1,R1,G1,B1,0) tmr.alarm(ztmr_Flash_LED1, zTm_Pause, tmr.ALARM_SINGLE, flash_LED1) @@ -39,7 +39,7 @@ end function flash_LED2 () if nbfois2 >= xfois2 then - print(nbfois2) + print("nbfois2: "..nbfois2) nbfois2 = 0 jled_rgb(zLED2,R2,G2,B2,0) tmr.alarm(ztmr_Flash_LED2, zTm_Pause, tmr.ALARM_SINGLE, flash_LED2) @@ -57,9 +57,9 @@ function flash_LED2 () end end -xfois1 =5 +xfois1 = 5 flash_LED1 () -xfois2 =2 +xfois2 = 2 flash_LED2 () diff --git a/Timetable/JLEB/time_table.lua b/Timetable/JLEB/time_table.lua new file mode 100644 index 0000000..74a5bf1 --- /dev/null +++ b/Timetable/JLEB/time_table.lua @@ -0,0 +1,80 @@ +-- Rafraichissement du diff time et du web_cli +print("\n time_table.lua aj190408.1924 \n") + +function get_timetable() +-- http.get("http://192.168.4.1/?line1="..zlength.."m", nil, function(code, data) + print("get_timetable: ") + http.get("http://transport.opendata.ch/v1/connections?from=Cheseaux&to=Lausanne-Flon&fields[]=connections/from/departure", nil, function(code, data) + if (code < 0) then + print("HTTP request failed") + else + print(code, data) + jp= 50 h1=string.sub (data,jp,jp+7) + jp= 100 h2=string.sub (data,jp,jp+7) + jp= 150 h3=string.sub (data,jp,jp+7) + jp= 200 h4=string.sub (data,jp,jp+7) + print(h1,h2,h3,h4) + refresh_display() + end + end) +end + +function refresh_display() + print("coucou 1") + -- tm = rtctime.epoch2cal(rtctime.get() + 3600) -- heure d'été + tm = rtctime.epoch2cal(rtctime.get() + 7200) -- heure d'hiver + + h0 = string.format("%02d:%02d:%02d", tm["hour"], tm["min"], tm["sec"]) + print("Il est "..h0) + print("h2, h3",h2,h3) + d1=zround((diff_time(h2, h0)/180),0) + d2=zround((diff_time(h3, h0)/180),0) + print(d1,d2) + xfois1 = d2 xfois2 =d1 + if d1==0 then + print("coucou 2") + get_timetable() + print("coucou 3") +-- refresh_display() + print("coucou 4") + end +end + + +function start_refresh_display() + tm = rtctime.epoch2cal(rtctime.get() + 7200) + h0 = string.format("%02d:%02d:%02d", tm["hour"], tm["min"], tm["sec"]) + print("Il est "..h0) + tm = time2sec(h0) + print("tm: ",tm) + if tm >= 71000 then + ztmr_start_refresh_display:unregister() + get_timetable() +-- refresh_display() + end + +end + + + +zTm_start_refresh_display = 1*1000 +ztmr_start_refresh_display = tmr.create() +tmr.alarm(ztmr_start_refresh_display, zTm_start_refresh_display, tmr.ALARM_AUTO, start_refresh_display) + + +zTm_refresh_display = 10*1000 +ztmr_refresh_display = tmr.create() + + +--get_timetable() +--refresh_display() + +--tmr.alarm(ztmr_refresh_display, zTm_refresh_display, tmr.ALARM_AUTO, refresh_display) + +--[[ +get_timetable() +refresh_display() + +]] + + diff --git a/Timetable/JLEB/web_cli.lua b/Timetable/JLEB/web_cli.lua index dc1cd6d..36034c9 100644 --- a/Timetable/JLEB/web_cli.lua +++ b/Timetable/JLEB/web_cli.lua @@ -1,5 +1,5 @@ -- Petit script pour envoyer quelque chose sur un serveur WEB -print("\n web_cli.lua zf190227.1838 \n") +print("\n web_cli.lua zf190408.1823 \n") function disp_send() @@ -15,8 +15,11 @@ function disp_send() jp= 150 h3=string.sub (data,jp,jp+7) jp= 200 h4=string.sub (data,jp,jp+7) print(h1,h2,h3,h4) - tm = rtctime.epoch2cal(rtctime.get() + 3600) +-- tm = rtctime.epoch2cal(rtctime.get() + 3600) -- heure d'été + tm = rtctime.epoch2cal(rtctime.get() + 7200) -- heure d'hiver + h0 = string.format("%02d:%02d:%02d", tm["hour"], tm["min"], tm["sec"]) + print("Il est "..h0) d1=zround((diff_time(h2, h0)/180),0) d2=zround((diff_time(h3, h0)/180),0) print(d1,d2) @@ -34,4 +37,4 @@ h0 = string.format("%02d:%02d:%02d", tm["hour"], tm["min"], tm["sec"]) print(h0) -]] \ No newline at end of file +]] diff --git a/Timetable/JLEB/wifi_cli_conf.lua b/Timetable/JLEB/wifi_cli_conf.lua index 05d052a..ea86a69 100644 --- a/Timetable/JLEB/wifi_cli_conf.lua +++ b/Timetable/JLEB/wifi_cli_conf.lua @@ -1,9 +1,12 @@ -- Petit script pour configurer le client WIFI du NodeMCU -print("\n wifi_cli_conf.lua zf190227.1723 \n") +print("\n wifi_cli_conf.lua zf190408.1953 \n") --credentials par défaut --cli_ssid="3g-s7" +cli_ssid="AlexIphone" +cli_pwd="q1w2abcdfH&" + cli_ssid="3g-s7" cli_pwd="12234567"