wolfhece 2.0.3__py3-none-any.whl → 2.0.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. wolfhece/PyDraw.py +1 -1
  2. wolfhece/PyGui.py +1 -1
  3. wolfhece/RatingCurve_xml.py +1 -1
  4. wolfhece/cli.py +57 -0
  5. wolfhece/fonts/arial.ttf +0 -0
  6. wolfhece/fonts/helvetica.ttf +0 -0
  7. wolfhece/fonts/sanserif.ttf +0 -0
  8. wolfhece/libs/GL/gl.h +1044 -0
  9. wolfhece/libs/GL/glaux.h +272 -0
  10. wolfhece/libs/GL/glcorearb.h +3597 -0
  11. wolfhece/libs/GL/glext.h +11771 -0
  12. wolfhece/libs/GL/glu.h +255 -0
  13. wolfhece/libs/GL/glxext.h +926 -0
  14. wolfhece/libs/GL/wglext.h +840 -0
  15. wolfhece/libs/WolfOGL.c +28187 -0
  16. wolfhece/locales/{en-GB/LC_MESSAGES/base.po → base.pot} +19 -11
  17. wolfhece/models/HECE_169.pptx +0 -0
  18. wolfhece/models/blue.pal +9 -0
  19. wolfhece/models/diff16.pal +65 -0
  20. wolfhece/models/diff3.pal +13 -0
  21. wolfhece/models/red.pal +9 -0
  22. wolfhece/models/shields.pal +33 -0
  23. wolfhece/models/shields_cst.pal +21 -0
  24. wolfhece/models/waterdepths.pal +33 -0
  25. wolfhece/ui/wolf_multiselection_collapsiblepane.py +346 -0
  26. {wolfhece-2.0.3.dist-info → wolfhece-2.0.4.dist-info}/METADATA +9 -10
  27. {wolfhece-2.0.3.dist-info → wolfhece-2.0.4.dist-info}/RECORD +32 -33
  28. wolfhece-2.0.4.dist-info/entry_points.txt +8 -0
  29. wolfhece/apps/WolfPython.png +0 -0
  30. wolfhece/bernoulli/MQTT/CurlPython.py +0 -50
  31. wolfhece/bernoulli/MQTT/Example_MQTT_Epanet_Ana.py +0 -67
  32. wolfhece/bernoulli/MQTT/Local_File.py +0 -139
  33. wolfhece/bernoulli/MQTT/Local_Test_Thingsboard.py +0 -94
  34. wolfhece/bernoulli/MQTT/NewTestThings.py +0 -90
  35. wolfhece/bernoulli/MQTT/Reader_Thingsboard.py +0 -40
  36. wolfhece/bernoulli/MQTT/Thingsboard.py +0 -76
  37. wolfhece/bernoulli/Pyth_bern.cp37-win_amd64.pyd +0 -0
  38. wolfhece/bernoulli/exit3.png +0 -0
  39. wolfhece/bernoulli/exit7.png +0 -0
  40. wolfhece/bernoulli/exit8.png +0 -0
  41. wolfhece/bernoulli/fib8.cp37-win_amd64.pyd +0 -0
  42. wolfhece/lazviewer/libs/qt_plugins/platforms/qwindows.dll +0 -0
  43. wolfhece/libs/compile_wcython.py +0 -25
  44. wolfhece/locales/en/LC_MESSAGES/base.mo +0 -0
  45. wolfhece/locales/en/LC_MESSAGES/base.po +0 -53
  46. wolfhece/locales/en-GB/LC_MESSAGES/base.mo +0 -0
  47. wolfhece/locales/fr/LC_MESSAGES/base.mo +0 -0
  48. wolfhece/locales/fr/LC_MESSAGES/base.po +0 -62
  49. wolfhece/locales/fr-FR/LC_MESSAGES/base.mo +0 -0
  50. wolfhece/locales/fr-FR/LC_MESSAGES/base.po +0 -62
  51. wolfhece-2.0.3.dist-info/LICENCE +0 -19
  52. /wolfhece/{bernoulli/MQTT → fonts}/__init__.py +0 -0
  53. /wolfhece/{libs → ui}/__init__.py +0 -0
  54. {wolfhece-2.0.3.dist-info → wolfhece-2.0.4.dist-info}/WHEEL +0 -0
  55. {wolfhece-2.0.3.dist-info → wolfhece-2.0.4.dist-info}/top_level.txt +0 -0
@@ -5,8 +5,8 @@ wolfhece/Lidar2002.py,sha256=XnnfV8M3MkAlLq9flF2xQQqW--qiF8iRfI0SMUBVXKU,5793
5
5
  wolfhece/ManageParams.py,sha256=Wgt5Zh7QBtyiwTAltPHunSLqt4XuVuRH76GTUrXabS4,219
6
6
  wolfhece/PyConfig.py,sha256=kas6TqHT64g-Cn4-5QqsYHbumwfZtBQ9lo7BUl1C1Ts,7547
7
7
  wolfhece/PyCrosssections.py,sha256=782aCKe0ZGMhm6dK-6w_Kr0Eyud5GBQJb-9Y06ytDNo,111142
8
- wolfhece/PyDraw.py,sha256=pyrdoAxpjl1OcjbR-anMBz-6XlOziMVCsUe8gobW7uU,289224
9
- wolfhece/PyGui.py,sha256=1BmqoVpGK7rHm335pcvIsC6YdT0HSEx31VPDm9t3c8s,52065
8
+ wolfhece/PyDraw.py,sha256=XElArpTuPWMuCy9J7aSYeMNrxLVb9jrDS1US-Oo21HE,289229
9
+ wolfhece/PyGui.py,sha256=DtP2JNhHeopSHSFreKoM7UC5WEjovQpHgRGRkVtnR2w,52070
10
10
  wolfhece/PyGuiHydrology.py,sha256=t7EqOMyA1mkVg_aATMaduR-aqs04V-uRCifyHVmPqRs,7133
11
11
  wolfhece/PyHydrographs.py,sha256=2BqsvZSb8WuH22SYxU_BcakfA43yV_qA0ujWQE4uwQo,3407
12
12
  wolfhece/PyPalette.py,sha256=3xMUZLLLZ16EyBKZnLxgq695mYhfJKpFShq7V2SQvf8,21544
@@ -18,11 +18,12 @@ wolfhece/PyVertexvectors.py,sha256=0gh24TG24pwvNFttjBrjfNU-JSiGTEEqaaGYHL3H6Es,1
18
18
  wolfhece/PyWMS.py,sha256=t6jVZpTxTNSLJxABk8A79cEMWTKoRM_S_SXRipsHLzw,4493
19
19
  wolfhece/RatingCurve.py,sha256=Psw4OknvqVXOjIomJxCW4hGd_q2HZ4DmcwV-wJXehds,21420
20
20
  wolfhece/RatingCurveData.py,sha256=5UvnIm89BwqjnEbLCcY3CA8WoFd_xHJbooNy62fX5iY,57660
21
- wolfhece/RatingCurve_xml.py,sha256=ke8r75_qFIwmahF9jwqVZ7j6hvpHWEIn_FtYeI0R4iw,24464
21
+ wolfhece/RatingCurve_xml.py,sha256=iP6hanwG6EzddcWF2zvsuU9JLfrPtq7-AOFwcz2HO8k,24469
22
22
  wolfhece/ReadDataDCENN.py,sha256=4OMDBgkZ_v7OWmVhyQ-reab7MPxGhFEDY2qS8yThhdM,1240
23
23
  wolfhece/Results2DGPU.py,sha256=knrIFMOl9rh2ZYiEKiKqNirde3psTTxcl_XVBhHkJsM,15985
24
24
  wolfhece/__init__.py,sha256=FRDE8PiJAWxX9PMXsShRMZ8YADAY4WIgKMRh52rmhiw,23
25
25
  wolfhece/_add_path.py,sha256=GDwPnzHuGRXGriDNcu1SQ6HetFDGIApeAQZEzYArGvI,605
26
+ wolfhece/cli.py,sha256=wAR9DvLK_pzeCDN3m-jh1eyVvgjLHFPd2lVaRRo078A,1468
26
27
  wolfhece/color_constants.py,sha256=Snc5RX11Ydi756EkBp_83C7DiAQ_Z1aHD9jFIBsosAU,37121
27
28
  wolfhece/debug.py,sha256=Q6uXHer1fxrVf0UYWUmYmxNt1QRppEHyAEeCO1syhDw,122
28
29
  wolfhece/drawing_obj.py,sha256=rHMGdiihIv68WZnWFNdgiA51QhSm8EX-pykdyTSOdoo,3136
@@ -53,7 +54,6 @@ wolfhece/wolfresults_2D.py,sha256=b4iCXAaAcSXhY3QMegTx0T833DeVM2CQNIE_I5uFKAE,13
53
54
  wolfhece/xyz_file.py,sha256=aQOcTHkHRhXHxL_WxTHwzygp6e47San7SHSpxKQU0dw,5457
54
55
  wolfhece/apps/ManageParams.py,sha256=its7JhceQiwzQVl95wA51GZs1zjtbpUNvbqvdvDTeyM,316
55
56
  wolfhece/apps/Optimisation_hydro.py,sha256=25H5PVN_Gh3mkDQ6BWbJjBqsGCNdGapZOqKECcOGJIQ,398
56
- wolfhece/apps/WolfPython.png,sha256=K3dcbeZUiJCFNwOAAlGMaRGLJ56yM8WD2I_0bk0xT1g,104622
57
57
  wolfhece/apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
58
  wolfhece/apps/curvedigitizer.py,sha256=MwHlcZLrgUtXEndKhxT3ZvJSBTkhp_dsizGpwoxuLOk,4944
59
59
  wolfhece/apps/isocurrent.py,sha256=AG29IGdH-MStdg25QbBrMSW_AHOQDEVGLRslOaxWnHM,3868
@@ -65,28 +65,19 @@ wolfhece/apps/wolfcompare2Darrays.py,sha256=xkhjSFB6ZCeN5Ou0ILsXZa3oBOvwaBADOaOC
65
65
  wolfhece/apps/wolfhydro.py,sha256=XO4x_ieXv_VqOwRkF11greH68FTc8rx4IfFkRGBYiJE,402
66
66
  wolfhece/bernoulli/ModelJockgrim.py,sha256=VBxU1Y9w7MdT3puTWPq-cGM_frp-bdwHKiHcqbeDZJs,9547
67
67
  wolfhece/bernoulli/NetworkOpenGL.py,sha256=_FnOMQ9uKTNcAi5vBBXGXWxQ0hoWpt8ayOAuY54zJLI,290413
68
- wolfhece/bernoulli/Pyth_bern.cp37-win_amd64.pyd,sha256=bXxxAI2aUYUl5Vayk95TO8M10SxcdDOzmPTr8O-yZ5Q,26624
69
68
  wolfhece/bernoulli/ReadNeupotzData.py,sha256=da0dDIVcLb44j4lP4IveueTl3KBQW8XJd83h8n_hObk,9455
70
69
  wolfhece/bernoulli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
- wolfhece/bernoulli/exit3.png,sha256=xADWxmvse9sUCrwnwygfVT5QZJF2p5NlVji4-DITe1Y,968
72
- wolfhece/bernoulli/exit7.png,sha256=1-rEqKEz883xiTEcdL1TgYccGjMBrnoJPxr_y74qnOE,605
73
- wolfhece/bernoulli/exit8.png,sha256=xG3M_QkgrPHrrBBtbUZFO726CxD3gspCDJqcLT3hJMc,616
74
- wolfhece/bernoulli/fib8.cp37-win_amd64.pyd,sha256=_XjzLACcLyLbeAzAymXFhBgbzAWUPnICjjirBYxRXvg,26112
75
70
  wolfhece/bernoulli/opti_results_interactive_plot.py,sha256=gWUF6iJYNp_aEXcAfGBQn4CcZPsRbiQN0HbPZDj68v8,6357
76
- wolfhece/bernoulli/MQTT/CurlPython.py,sha256=lcjXPvfQH1ZZQcJ1fG4y1w73jILQaLFdah1Iz4KB53A,1624
77
- wolfhece/bernoulli/MQTT/Example_MQTT_Epanet_Ana.py,sha256=XIGk7xraLpejq4UQfjJtgMc2EQZnoblCtL1LjvCWCus,4421
78
- wolfhece/bernoulli/MQTT/Local_File.py,sha256=e35iRDeM85yE7ik_1kykhD7MLWIziSHCk3nV4U3onSo,5367
79
- wolfhece/bernoulli/MQTT/Local_Test_Thingsboard.py,sha256=CmvusCElynCWbjcr3NQ9x5aHakWLDujNUR2hNKXmpss,2994
80
- wolfhece/bernoulli/MQTT/NewTestThings.py,sha256=0vRh-NcM-rDzr-3hXaUD4GNsJZQ_HLgH7KSFIcVAQTY,2826
81
- wolfhece/bernoulli/MQTT/Reader_Thingsboard.py,sha256=PiOpXnKDLi55UDwZl4-r5F_3QLOij5IgGvaEjubo1SE,1350
82
- wolfhece/bernoulli/MQTT/Thingsboard.py,sha256=2ZgnI_l7Rwalzara-WJQWbtSK_WeCZlS98yuIM4O874,2246
83
- wolfhece/bernoulli/MQTT/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
71
  wolfhece/eva/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
72
  wolfhece/eva/bootstrap.py,sha256=xHbIAZzFuaKLwiRpgvsLi5OZYqwaxYACqsAU-FnB6Pc,605
86
73
  wolfhece/eva/hydrogramme_mono.py,sha256=uZFIgJJ-JogMFzt7D7OnyVaHvgxCQJPZz9W9FgnuthA,8138
87
74
  wolfhece/eva/joint_models.py,sha256=KTal-jVJmeEWXPQ5mKyT032q186Drz3IFdc60daz-t0,5565
88
75
  wolfhece/eva/mixture_models.py,sha256=WRzGxE2rQ-RkQUskL6IlSeUqEWlAeezJrNhkr0QpeOI,15923
89
76
  wolfhece/eva/pyseries.py,sha256=7lboJE3ZGKVmMwBXQow9jTYfneTtsDwXeAPCe4y62QE,118129
77
+ wolfhece/fonts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
+ wolfhece/fonts/arial.ttf,sha256=uwYWwXEZKaG6axcVPiDDM0MXLgf40xAQmMwR8BSShSY,37496
79
+ wolfhece/fonts/helvetica.ttf,sha256=X4Zd3zdUmuRGMLE6UB-BMIbirpdK3Ia5czfNnuSx5P8,317968
80
+ wolfhece/fonts/sanserif.ttf,sha256=Nvv5eMgTl5-bWgV37B7E1-vZpAZPNJwjtJSzMNDrl9A,42696
90
81
  wolfhece/ftp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
82
  wolfhece/ftp/downloader.py,sha256=39KKk_3s8FbMyyONZddfuQ1gzACeXi3kWbkzUAc2Yog,5270
92
83
  wolfhece/hydrology/Catchment.py,sha256=QGNvVfaKR14VCCLTo2AMCfUhxuVDipeB9dsdwQs6Z7g,120541
@@ -141,7 +132,6 @@ wolfhece/lazviewer/libs/qwindows.dll,sha256=8eFbJEtDxxQKFq6pLfGvGKCcxYu152XEAvn_
141
132
  wolfhece/lazviewer/libs/tbb.dll,sha256=HnW3LKBZHrnbeItnMY2rVJln8XduJ014CMq-PfkPjEk,323016
142
133
  wolfhece/lazviewer/libs/tbbmalloc.dll,sha256=jFI6RvB88vkF0S8Q-YVjxdvIdIzfxOMkjOHrppG4QYs,208624
143
134
  wolfhece/lazviewer/libs/vcomp120.dll,sha256=rnENZnDZIvu_Cty-x0P-deVyzyHPdXn69fNHpgbDfLs,137376
144
- wolfhece/lazviewer/libs/qt_plugins/platforms/qwindows.dll,sha256=8eFbJEtDxxQKFq6pLfGvGKCcxYu152XEAvn_ncloLLU,1111040
145
135
  wolfhece/lazviewer/points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
146
136
  wolfhece/lazviewer/points/expr.py,sha256=wGXQXW0lkN5RqXGeBrwzZjH4kKNF00tQOutQnb2GDIc,14697
147
137
  wolfhece/lazviewer/points/points.py,sha256=9qzCZvHMDL7ZdMc2P0UvljGHcB-L9_BlyR6MLMUsY84,9016
@@ -157,12 +147,11 @@ wolfhece/lazviewer/viewer/viewer.exe,sha256=pF5nwE8vMWlEzkk-SOekae9zpOsPhTWhZbqa
157
147
  wolfhece/lazviewer/viewer/viewer.py,sha256=8_MQCaQOS0Z_oRPiGoRy1lq-aCirReX3hWEBjQID0ig,24665
158
148
  wolfhece/libs/MSVCP140.dll,sha256=2GrBWBI6JFuSdZLIDMAg_qKcjErdwURGbEYloAypx3o,565640
159
149
  wolfhece/libs/WolfDll.dll,sha256=s-Fwboq8EethHHmipZZjdniEQtyqZv6vS-bQRKNTVgs,132915712
150
+ wolfhece/libs/WolfOGL.c,sha256=j8uzY7fxF7piki5Z7dvTFCeacbpeC0s24gBZ9oQ1NMo,1057055
160
151
  wolfhece/libs/WolfOGL.pyx,sha256=kc1uxbO2wQx0Qoe7BVQnqTJgUWYx_Vtf1wzXMxzf8bI,65911
161
- wolfhece/libs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
162
152
  wolfhece/libs/api-ms-win-crt-heap-l1-1-0.dll,sha256=r0euvgZa8vBFoZ8g7H5Upuc8DD6aUQimMJWnIyt1OBo,19720
163
153
  wolfhece/libs/api-ms-win-crt-math-l1-1-0.dll,sha256=ol0GVN6wzqGu8Ym6IXTQ8TvfUvCY06nsNtFeS_swxJk,27912
164
154
  wolfhece/libs/api-ms-win-crt-runtime-l1-1-0.dll,sha256=NxpEq5FhSowm0Vm-uHKntD9WnLX6yK2pms6Y8mSjtQM,23304
165
- wolfhece/libs/compile_wcython.py,sha256=L6bLAVgeiHvz9_8-FEhCXrmDGZxPYOfQ5Ud3n6v7it0,708
166
155
  wolfhece/libs/glu32.dll,sha256=gLubeeL9b_RDYTQ2JL0iHzpRMg8uapKCOEpZ15k1SUQ,164352
167
156
  wolfhece/libs/hdf5.dll,sha256=quTNP4GZtVNJ6Ptx__ltuGTN0gQ96rvkGL5yBLuUcF4,3129856
168
157
  wolfhece/libs/hdf5_hl.dll,sha256=alZLhLXbReBtwbwsariWWRPAlrwzrePr-Mbdgiy922Y,112128
@@ -189,17 +178,17 @@ wolfhece/libs/wolfogl.cp39-win_amd64.pyd,sha256=GHc23eCz9gEOiUUoodZPPUjZbWE2U7WT
189
178
  wolfhece/libs/wolfpy.cp310-win_amd64.pyd,sha256=6omqEaxmQll-Gg24e90wVomAB9rO_tyyOES2FewXn58,36457472
190
179
  wolfhece/libs/wolfpy.cp39-win_amd64.pyd,sha256=gZ2RGK1Hz0N0x140ufhMzDrQqVs0WKXxgE8sMv2tG9E,36359168
191
180
  wolfhece/libs/zlib1.dll,sha256=E9a0e62VgmG1A8ohZzhVCmmfGtbyXxXu4aFeADTNJ30,77824
181
+ wolfhece/libs/GL/gl.h,sha256=IhsS_fOLa8GW9MpiLZebe9QYRy6uIB_qK_uQMWMOoeg,46345
182
+ wolfhece/libs/GL/glaux.h,sha256=I3vxXdrzVH05TmjEeAOgKn3egbPt34WMjbeKq5LaBvE,7130
183
+ wolfhece/libs/GL/glcorearb.h,sha256=wfbeOYhbDpIowerrO50sOT2ZKRy5TIhiw6CbNw77m8c,243226
184
+ wolfhece/libs/GL/glext.h,sha256=d1WQSbc0WUb_CUqSsqXv92kFcWkYyOoZyQoYV41R5Ok,791334
185
+ wolfhece/libs/GL/glu.h,sha256=vnnMbXslQgCP__wXOUhln9xO3_IBgdk8VPXTLK6Un1Y,10565
186
+ wolfhece/libs/GL/glxext.h,sha256=jnfGukPrzy_kgR0PakWcNDqpicdkKfA48-Y-CHSQPCE,48113
187
+ wolfhece/libs/GL/wglext.h,sha256=x0o9xe6SUhC97ZucqIWTWdwu6UfBZGbCoCHOurXDPBU,44095
192
188
  wolfhece/links/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
193
189
  wolfhece/links/link.py,sha256=CoHcZK2wWKzO8QFqtdzw5-Z6_PhxvJ6JqlA3HsHHuf0,445
194
190
  wolfhece/locales/base.po,sha256=meU93yWX-AlU13FlIYnuXNnYsxVB9k4O_QoBQ_h2W1I,1026
195
- wolfhece/locales/en/LC_MESSAGES/base.mo,sha256=A7tsm_AnBf43uCm0BZp3SrxC75VRfOcrnFPR3ZFyfE0,402
196
- wolfhece/locales/en/LC_MESSAGES/base.po,sha256=sguSgBKV7BakYC7wzPu1t4NbTRoMIqTXEL2Z2BoOjMw,1035
197
- wolfhece/locales/en-GB/LC_MESSAGES/base.mo,sha256=A7tsm_AnBf43uCm0BZp3SrxC75VRfOcrnFPR3ZFyfE0,402
198
- wolfhece/locales/en-GB/LC_MESSAGES/base.po,sha256=sguSgBKV7BakYC7wzPu1t4NbTRoMIqTXEL2Z2BoOjMw,1035
199
- wolfhece/locales/fr/LC_MESSAGES/base.mo,sha256=CSuAHmf_feOUBKredb8LPJgMhdeaITcjdgHzrmRmQts,863
200
- wolfhece/locales/fr/LC_MESSAGES/base.po,sha256=AKsqUIuQl2fJZ4S4n1s0CEEVN_LU6yfaFPSy3v8bBOU,1291
201
- wolfhece/locales/fr-FR/LC_MESSAGES/base.mo,sha256=CSuAHmf_feOUBKredb8LPJgMhdeaITcjdgHzrmRmQts,863
202
- wolfhece/locales/fr-FR/LC_MESSAGES/base.po,sha256=AKsqUIuQl2fJZ4S4n1s0CEEVN_LU6yfaFPSy3v8bBOU,1291
191
+ wolfhece/locales/base.pot,sha256=laQ4oYGvdH5IaFtgx6TVjnr28_JX9bdSBZFcGndjuGk,1116
203
192
  wolfhece/mar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
204
193
  wolfhece/mar/commontools.py,sha256=mJsNsN8aAUr6xINzbcw1W42XgAdJNb67CFJGEAK6sO0,6303
205
194
  wolfhece/mar/interface_MAR_WOLF.py,sha256=MWeXaHLDT4Eo9jZOAvz013lmpgGYT1v9VUYGAgBgSRU,21454
@@ -209,6 +198,14 @@ wolfhece/mesh2d/cell_tracker.py,sha256=AR-Bty-QnrY1ni8Lwak2kU2UWMAJSBCF2ugl2Ypfs
209
198
  wolfhece/mesh2d/config_manager.py,sha256=0zVoSD4DNsm_180d8ulDLy8EGFBhTUVApBvRpY730Zk,15284
210
199
  wolfhece/mesh2d/cst_2D_boundary_conditions.py,sha256=hBRS37vvyNw2A5hEVyde8F4EdRLebLz3I_em5px395I,2350
211
200
  wolfhece/mesh2d/wolf2dprev.py,sha256=l_Fo56gsD0U6c8EjOfh-K1NcqYxWMovUYHbu0cF-4OQ,132671
201
+ wolfhece/models/HECE_169.pptx,sha256=OWJtsWz504A-REFaaxw8lwStHyQU2l7KEeiE7IZvtbk,3396930
202
+ wolfhece/models/blue.pal,sha256=NnjJnjnYVdQkG54RyPXvo4Tl9ytB0cN7zpiHtj1N6bw,33
203
+ wolfhece/models/diff16.pal,sha256=Pkp9kQ1GvmAKz3lgwohsw8eQySjVVKHbjhoWw-gZ6Nc,303
204
+ wolfhece/models/diff3.pal,sha256=qk-yGgJr_FHdW7p7i93GFsH9ClT0dl5nqa9G1lLh7Z0,50
205
+ wolfhece/models/red.pal,sha256=W6oeIjDCoGCsJDZPH2K4jfyfPmCMlH9rfRi4PTs-n28,33
206
+ wolfhece/models/shields.pal,sha256=TwPhfaly2j3ZRM5ahlz7xH19NArZlalxYNy1L_UnJoA,166
207
+ wolfhece/models/shields_cst.pal,sha256=zUGFI6HiL0bsHeOzcWNih3F9cxXKXLLZYA5rtqRbzcs,90
208
+ wolfhece/models/waterdepths.pal,sha256=8rcQfuZOeLKzYv5sARPkhpvZYc1OToj3ZukcbuRUgIY,136
212
209
  wolfhece/pythonfortran/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
213
210
  wolfhece/pythonfortran/example_makendarray.py,sha256=v6ROG14yMyDdaUD2rETa_jd3zodP78KMHMdUtkUlpGs,2499
214
211
  wolfhece/pythonfortran/example_numpy_memory.py,sha256=mNU7Xu5o4AokAaj8tNAdgBF5fql7V9uSm0bqmTEaKuQ,3281
@@ -227,8 +224,10 @@ wolfhece/sounds/son12.wav,sha256=iZJYSrKkE4HLXJwWzszVR07w_3d-WLO8npFlUcxQlrc,126
227
224
  wolfhece/sounds/son6.wav,sha256=v7CFE-PlGvVcRC3oAaWBBGngutCDS_MUiCIhNHkpv2Y,7884
228
225
  wolfhece/sounds/sonsw1.wav,sha256=HhuGeZ3iIyJdDALmM-jvGZDkKw3IZ3JXCuQZkN3Zjtc,212550
229
226
  wolfhece/sounds/sonsw2.wav,sha256=pFLVt6By0_EPQNt_3KfEZ9a1uSuYTgQSX1I_Zurv9Rc,110636
230
- wolfhece-2.0.3.dist-info/LICENCE,sha256=Hvl88ScXDZyyaWwCOxphSUotRFsNjnFWJC9wXZc9qn4,1072
231
- wolfhece-2.0.3.dist-info/METADATA,sha256=Kh2rqHIW-Ex_e1Hf_e6mD5s2Li8hne-sOzv3O9jLTwY,1825
232
- wolfhece-2.0.3.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
233
- wolfhece-2.0.3.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
234
- wolfhece-2.0.3.dist-info/RECORD,,
227
+ wolfhece/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
228
+ wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=yOrpTWhjGIAw0_ANjTUX7ouzSRL7cp-cncUUp42tbj0,14860
229
+ wolfhece-2.0.4.dist-info/METADATA,sha256=q003hZEdgT4x2faeszcJ10CEpXVFdBMD43IY7lMkMfk,1959
230
+ wolfhece-2.0.4.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
231
+ wolfhece-2.0.4.dist-info/entry_points.txt,sha256=IHhq-i2W9QpyXFHKe2Ld8j1R4hW5DmYqrZsuSsXkdEE,245
232
+ wolfhece-2.0.4.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
233
+ wolfhece-2.0.4.dist-info/RECORD,,
@@ -0,0 +1,8 @@
1
+ [gui_scripts]
2
+ wolf = wolfhece.cli:wolf
3
+ wolf2d = wolfhece.cli:wolf2d
4
+ wolfcompare = wolfhece.cli:compare
5
+ wolfdigitizer = wolfhece.cli:digitizer
6
+ wolfhydro = wolfhece.cli:hydro
7
+ wolfoptimhydro = wolfhece.cli:optihydro
8
+ wolfparam = wolfhece.cli:params
Binary file
@@ -1,50 +0,0 @@
1
- import requests
2
- from datetime import datetime
3
-
4
- #insert the following information
5
- username = "t.pirard@uliege.be"
6
- password = "111122"
7
- DeviceToken = "nyosxGylFDO8JaTXOz1c"
8
- DeviceToken = "guCnZNPPCPP6oA9NeE2Q"
9
- DeviceToken = "698e65a0-21c0-11ec-a052-af580412d5c6"
10
-
11
- #function for getting the token for the curl-command
12
- def getCurlToken():
13
- url = 'http://iot4h2o.mv.uni-kl.de:8080/api/auth/login'
14
- headers = {'Content-Type': 'application/json', 'Accept': 'application/json'}
15
- loginJSON = {'username': username, 'password': password}
16
- tokenAuthResp = requests.post(url, headers=headers, json=loginJSON).json()
17
- token = tokenAuthResp['token']
18
- return token
19
-
20
- #function for getting telemetry data
21
- def GetTelemetryData(CurlToken):
22
- url = 'http://iot4h2o.mv.uni-kl.de:8080/api/plugins/telemetry/DEVICE/'+DeviceToken+'/values/timeseries'
23
- headers = {'Content-Type': 'application/json', 'X-Authorization': 'Bearer '+CurlToken}
24
- telemetryDataResp = requests.get(url, headers=headers).json()
25
- #telemetryDataResp = requests.get(url).json()
26
- return telemetryDataResp
27
-
28
-
29
-
30
-
31
- #call funktion
32
- telemetryData=GetTelemetryData(getCurlToken())
33
-
34
- #exampels for getting the values out of the json-message
35
- print(telemetryData)
36
-
37
- #store every key of the dictionary
38
- keys = list(telemetryData.keys())
39
- print("The first key is: " + keys[0])
40
-
41
- #print first key of the dictionary
42
- data = telemetryData[str(keys[0])][0]
43
-
44
- #get value and time stamp
45
- print("The value is : " + data['value'])
46
- time = int(data['ts'])
47
- print("The timestamp is: " + str(datetime.fromtimestamp(time/1000)))
48
-
49
-
50
-
@@ -1,67 +0,0 @@
1
- #For this code we interact with 2 devices in thingsboard. The first device has the name "TestDevice_StartEpanet". In the Dashboard, it is connected to the RPC-button "Start_Epanet". We must subscribe to RPC of this device for getting informaiton about it, e.g. if the button was pushed.
2
- #The second device has the name "TestDevice_MQTT_Epanet", it is the virtual preassure measuring device that is shown in the maps. This device should receive the calculated preassure from Epanet, i.e. we have to publish massages containing the preassure value for this device.
3
-
4
- import paho.mqtt.client as mqtt
5
- import json
6
-
7
- #information needed to subscribe to a device in thingsboard
8
- token = "dNlU6Jt0Kjbe1n3B8EnD" # token of the device that sould be subscribed (in our case "TestDevice_StartEpanet")
9
- token = "z003FlJLj68wJUHie5LA"
10
- broker="iot4h2o.mv.uni-kl.de" # host name
11
- port=1883 # port
12
- topic = "v1/devices/me/response" # topic
13
- value=1
14
-
15
-
16
- # crate mqtt client
17
- client = mqtt.Client()
18
- client2 = mqtt.Client()
19
-
20
- # create function for subscribing
21
- def on_connect(client, userdata, flags, rc) :
22
- if (rc==0) :
23
- print("connected OK Returned code = ", rc) # mesaage if successfully connected to device
24
- client.subscribe('v1/devices/me/telemetry/+')
25
- client.subscribe('v1/devices/me/rpc/request/+') # subscribe to RPC commands
26
-
27
- else :
28
- print("Bad connection Returned code = ", rc) # message if device could not be connected
29
-
30
- # create function for message reception
31
- def on_message(client, userdata, msg) :
32
- global value
33
- global client2
34
- data = json.loads(msg.payload) # messages from Thingsboard are in json format and need to be unpacked
35
- parameter = json.loads(data["params"])
36
- if str(parameter) == "True": # if RPC-button "Start Epanet" is pushed, the parameter of the received json file is true
37
- #os.system("runepanet Rede_LENHS_original.inp Rede_LENHS_original.rpt") # starts Epanet from the command line, an initial and report file of Epanet are needed
38
-
39
- #value = [float(str(s))for s in linecache.getline("Rede_LENHS_original.rpt", 3599).split()][3] # get the preassure value of a device form the updated report file
40
- value = value+1
41
-
42
- clientDevice = mqtt.Client() # create a new mqqt client
43
- clientDevice.username_pw_set('z003FlJLj68wJUHie5LA') # select token (in our case from "TestDevice_MQTT_Epanet")
44
- clientDevice.loop_start() # start client loop
45
- clientDevice.connect(broker) # connect to broker, its the same host as for the subscribed device
46
- Ret=clientDevice.publish('v1/devices/me/telemetry', json.dumps({"preassure_Epanet": value}),2) # send telemetry to device (in our case to "Test_Device_MQTT_Epanet")
47
- client2.loop(1)
48
- value=value+1
49
-
50
- client.username_pw_set(token) # set token of device ("TestDevice_StartEpanet")
51
- client.connect(broker , port, 60) # connect to device ("TestDevice_StartEpanet")
52
- client.on_connect = on_connect # subscribe to device ("TestDevice_StartEpanet")
53
- client.on_message = on_message # recive massage ("TestDevice_StartEpanet")
54
-
55
- client2.username_pw_set('z003FlJLj68wJUHie5LA') # set token of device ("TestDevice_StartEpanet")
56
- client2.loop_start()
57
- client2.connect(broker) # connect to device ("TestDevice_StartEpanet")
58
- #client2.on_connect = on_connect # subscribe to device ("TestDevice_StartEpanet")
59
- client2.on_message = on_message # recive massage ("TestDevice_StartEpanet")
60
- client2.subscribe('v1/devices/me/telemetry/request/+')
61
-
62
- client.loop_forever() # start client loop
63
-
64
- client.loop_stop() # stop client loop
65
- client.disconnect() # diconnect client
66
-
67
-
@@ -1,139 +0,0 @@
1
- from tb_device_mqtt import TBDeviceMqttClient, TBPublishInfo
2
- from time import sleep
3
- import logging
4
- import os
5
- import sys
6
- import paho.mqtt.client as mqtt
7
- import json
8
- import time
9
- import random
10
- import requests
11
- import time
12
- from datetime import datetime
13
- from datetime import date
14
- # Importing models and REST client class from Community Edition version
15
- from tb_rest_client.rest_client_ce import *
16
- from tb_rest_client.rest import ApiException
17
- #insert the following information
18
- username = "t.pirard@uliege.be"
19
- password = "111122"
20
- port=1883
21
- DeviceToken = "guCnZNPPCPP6oA9NeE2Q"
22
- topic = "v1/devices/me/telemetry"
23
- headers = {'Content-Type': 'application/json', 'Accept': 'application/json'}
24
- url = 'http://iot4h2o.mv.uni-kl.de:8080/api/auth/login'
25
- url = 'http://iot4h2o.mv.uni-kl.de:8080'
26
- broker = 'iot4h2o.mv.uni-kl.de'
27
- #logging.basicConfig(level=logging.DEBUG)
28
-
29
- def callback(client, result):
30
- print(client, result)
31
- Test=1
32
- def on_publish(client, userdata, result):
33
- # log.debug("Data published to ThingsBoard!")
34
- client.request_attributes(["sensorModel", "attribute_2"], callback=on_attributes_change)
35
- v=1
36
- pass
37
- def on_attributes_change(client, result, exception):
38
- client.stop()
39
- sleep(3)
40
- if exception is not None:
41
- print("Exception: " + str(exception))
42
- else:
43
- print(result)
44
-
45
- #insert the following information
46
- username = "t.pirard@uliege.be"
47
- username = "t.pirard@zwgs.de"
48
- password = "111122"
49
- #Example network
50
- #DeviceID = "698e65a0-21c0-11ec-a052-af580412d5c6"
51
- DeviceToken = "guCnZNPPCPP6oA9NeE2Q"
52
- EntryExample = ["temperature","humidity"]
53
-
54
- #Definition of different usefull device token and usefull entries
55
- #Production unit
56
-
57
- DeviceKuhardt = "5124b960-7da1-11eb-81e7-7bf4b1b85926" #Wasserwerk Kuhardt : MengeL1 + MengeL2 +MengeLeimersheim
58
- TokenKuhardt = "uRdOU74bNrwob2wJt6aR"
59
- EntryKuhardt =['MengeL1','MengeL2','MengeLeimersheim']
60
- DeviceJockgrim = "47a69c00-7da1-11eb-81e7-7bf4b1b85926" #Wasserwerk Jockgrim : Menge + Druck
61
- TokenJockgrim = "VaHJOZvERK3iebpkilwT"
62
- EntryJockgrim = ['Menge','Druck']
63
-
64
- #Water towers : Wasserturm
65
- NameTowers=['Hatz',"Rulz","Wor"]
66
- DevicesWT=["39805350-7da1-11eb-81e7-7bf4b1b85926","308325c0-7da1-11eb-81e7-7bf4b1b85926","260db010-7da1-11eb-81e7-7bf4b1b85926"]
67
- TokensWT=["n9IqRbv633DvwV8j6Zqb","8s7KqLd4jzIeGbblEauO","aKhhW6x92cFFEXybMFfa"]
68
- EntryWT = ['Ablauf','Menge','Niveau']
69
-
70
- #Booster system
71
- DeviceKnittel = "5d4e7e30-f423-11eb-88d0-df9159a9b3d4" #Druckerhoehungsanlage - DEA Knittelsheim
72
- TokenKnittel = "XoQ3yRVkWCmsDRqIyhuE"
73
- #Vector for devices
74
- DevicesID=[DeviceKuhardt,DeviceJockgrim,DevicesWT[0],DevicesWT[1],DevicesWT[2],DeviceKnittel]
75
- #Vector for token
76
- TokensID=[TokenKuhardt,TokenJockgrim,TokensWT[0],TokensWT[1],TokensWT[2],TokenKnittel]
77
-
78
- #function for getting the token for the curl-command
79
- def getCurlToken():
80
- url = 'http://iot4h2o.mv.uni-kl.de:8080/api/auth/login'
81
- headers = {'Content-Type': 'application/json', 'Accept': 'application/json'}
82
- loginJSON = {'username': username, 'password': password}
83
- tokenAuthResp = requests.post(url, headers=headers, json=loginJSON).json()
84
- token = tokenAuthResp['token']
85
- return token
86
-
87
- #function for getting telemetry data
88
- def GetTelemetryData(CurlToken,DeviceToken):
89
- url = 'http://iot4h2o.mv.uni-kl.de:8080/api/plugins/telemetry/DEVICE/'+DeviceToken+'/values/timeseries'
90
- headers = {'Content-Type': 'application/json', 'X-Authorization': 'Bearer '+CurlToken}
91
- telemetryDataResp = requests.get(url, headers=headers).json()
92
- #telemetryDataResp = requests.get(url).json()
93
- return telemetryDataResp
94
-
95
- #Function to read the data in the file corresponding to the new_day
96
-
97
- Basic_Directory='E:\\Network_Thomas\\Jockgrim_Data\\Data_'
98
-
99
- #client = TBDeviceMqttClient(broker, TokensID[0])
100
- #client.connect()
101
-
102
- INTERVAL=2
103
- cpt=1
104
- next_reading = time()
105
- PreviousDate = date.fromtimestamp(next_reading)
106
- PreviousTimeStamp = time()
107
- Filename=Basic_Directory+str(PreviousDate.year)+'_'+str(PreviousDate.month)+'_'+str(PreviousDate.day)+'.bin'
108
- f = open(Filename, 'w')
109
- LocalDevice=DeviceID
110
- while cpt<5:
111
- Temperature=str(random.randint(0, 10))
112
- humidity=str(random.randint(0, 10))
113
- attributes = {"sensorModel": Temperature}
114
- telemetry = {"temperature": Temperature, "humidity": humidity}
115
- # Sending humidity and temperature data to ThingsBoard
116
- #client.send_telemetry(telemetry,1)
117
- cpt+=1
118
- next_reading += INTERVAL
119
- sleep_time = next_reading-time()
120
- telemetryData=GetTelemetryData(getCurlToken(),LocalDevice)
121
- keys = list(telemetryData.keys())
122
- TimeUsed=float(telemetryData[str(keys[0])][0]['ts']/1000)
123
- Temp_Data=telemetryData[EntryExample[1]][0]['value']
124
- if(PreviousTimeStamp!=TimeUsed):
125
- CurrentDate=date.fromtimestamp(TimeUsed)
126
- if(PreviousDate.day!=CurrentDate.day):
127
- #The previous file with the previous day is closed and the new file with the current day is opened
128
- Filename=Basic_Directory+str(CurrentDate.year)+'_'+str(CurrentDate.month)+'_'+str(CurrentDate.day)+'.bin'
129
- f.close()
130
- f = open(Filename, 'w')
131
- f.write(Temp_Data)
132
- f.write('\n')
133
- PreviousTimeStamp=TimeUsed
134
- #print(value)
135
- if sleep_time > 0:
136
- sleep(sleep_time)
137
- client.disconnect()
138
- f.close()
139
- Test=1
@@ -1,94 +0,0 @@
1
- from tb_device_mqtt import TBDeviceMqttClient, TBPublishInfo
2
- from time import sleep
3
- import logging
4
- import os
5
- import sys
6
- import paho.mqtt.client as mqtt
7
- import json
8
- import time
9
- #import wolfpy
10
- # Importing models and REST client class from Community Edition version
11
- from tb_rest_client.rest_client_ce import *
12
- from tb_rest_client.rest import ApiException
13
- #insert the following information
14
- username = "t.pirard@uliege.be"
15
- password = "111122"
16
- port=1883
17
- DeviceToken = "guCnZNPPCPP6oA9NeE2Q"
18
- topic = "v1/devices/me/telemetry"
19
- headers = {'Content-Type': 'application/json', 'Accept': 'application/json'}
20
- url = 'http://iot4h2o.mv.uni-kl.de:8080/api/auth/login'
21
- url = 'http://iot4h2o.mv.uni-kl.de:8080'
22
- url = 'iot4h2o.mv.uni-kl.de'
23
-
24
- THINGSBOARD_HOST = 'demo.thingsboard.io'
25
- ACCESS_TOKEN = 'DHT22_DEMO_TOKEN'
26
- THINGSBOARD_HOST=url
27
- ACCESS_TOKEN=DeviceToken
28
- def on_publish(client,userdata,result): #create function for callback
29
- print("data published to thingsboard \n")
30
- pass
31
- # The callback for when the client receives a CONNACK response from the server.
32
- def on_connect(client, userdata, flags, rc) :
33
- if (rc==0) :
34
- print("connected OK Returned code = ", rc)
35
- else :
36
- print("Bad connection Returned code = ", rc)
37
-
38
- def on_message(client, userdata, msg) :
39
- sleep(1)
40
- print (msg.topic + " " + str(msg.payload))
41
-
42
- #Procédure générale
43
- client2 = mqtt.Client()
44
- client2.on_connect = on_connect
45
- client2.on_message = on_message
46
-
47
- client2.username_pw_set(DeviceToken)
48
- client2.connect(url , port, 40)
49
- client2.subscribe(topic)
50
- sleep(2)
51
- # Data capture and upload interval in seconds. Less interval will eventually hang the DHT22.
52
- INTERVAL=1
53
-
54
- sensor_data = {'temperature': 0, 'humidity': 0}
55
- humidity=0
56
- temperature=1
57
- next_reading = time()
58
-
59
- #Client qui crée l'information
60
- client = mqtt.Client()
61
- #On indique qu'on publie de nouvelles données
62
- client.on_publish = on_publish
63
- # Set access token
64
- client.username_pw_set(ACCESS_TOKEN)
65
- #client2.username_pw_set(ACCESS_TOKEN)
66
- # Connect to ThingsBoard using default MQTT port and 60 seconds keepalive interval
67
- client.connect(THINGSBOARD_HOST, port, 20)
68
- #client2.connect(THINGSBOARD_HOST, 1883, 10)
69
-
70
- #client2.loop_start()
71
-
72
- try:
73
- while temperature<21:
74
- #humidity,temperature = dht.read_retry(dht.DHT22, 4)
75
- humidity = humidity + 3
76
- temperature = temperature + 1
77
- #print(u"Temperature: {:g}\u00b0C, Humidity: {:g}%".format(temperature, humidity))
78
- sensor_data['temperature'] = temperature
79
- sensor_data['humidity'] = humidity
80
-
81
- # Sending humidity and temperature data to ThingsBoard
82
- client.publish(topic, json.dumps(sensor_data), 1)
83
-
84
- next_reading += INTERVAL
85
- sleep_time = next_reading-time()
86
- if sleep_time > 0:
87
- sleep(sleep_time)
88
- except KeyboardInterrupt:
89
- pass
90
- client.disconnect()
91
- client2.disconnect()
92
- client.loop_stop()
93
- client2.loop_stop()
94
-
@@ -1,90 +0,0 @@
1
- from tb_device_mqtt import TBDeviceMqttClient, TBPublishInfo
2
- from time import sleep
3
- import logging
4
- import os
5
- import sys
6
- import paho.mqtt.client as mqtt
7
- import json
8
- import time
9
- import random
10
- # Importing models and REST client class from Community Edition version
11
- from tb_rest_client.rest_client_ce import *
12
- from tb_rest_client.rest import ApiException
13
- #insert the following information
14
- username = "t.pirard@uliege.be"
15
- password = "111122"
16
- port=1883
17
- DeviceToken = "guCnZNPPCPP6oA9NeE2Q"
18
- topic = "v1/devices/me/attributes"
19
- topic2 = "v1/devices/me/attributes/+"
20
- topic3 = "v1/devices/me/attributes/1"
21
- headers = {'Content-Type': 'application/json', 'Accept': 'application/json'}
22
- url = 'http://iot4h2o.mv.uni-kl.de:8080/api/auth/login'
23
- url = 'http://iot4h2o.mv.uni-kl.de:8080'
24
- THINGSBOARD_HOST = 'iot4h2o.mv.uni-kl.de'
25
-
26
- # The callback for when the client receives a CONNACK response from the server.
27
- def on_connect(client, userdata, flags, rc) :
28
- if (rc==0) :
29
- print("connected OK Returned code = ", rc)
30
- else :
31
- print("Bad connection Returned code = ", rc)
32
-
33
- def on_message(client, userdata, msg) :
34
- sleep(1)
35
- print (msg.topic + " " + str(msg.payload))
36
-
37
- def on_attributes_change(result, exception):
38
- sleep(1)
39
- if exception is not None:
40
- print("Exception: " + str(exception))
41
- else:
42
- print(result)
43
- #Procédure générale
44
- #Client HTTP qui récupère la valeur des attributs
45
- with RestClientCE(base_url=url) as rest_client:
46
- try:
47
- # Auth with credentials
48
- rest_client.login(username=username, password=password)
49
-
50
- #Client qui crée l'information
51
- client = mqtt.Client()
52
- client.on_message = on_message
53
- client.on_subscribe=on_subscribe
54
- client.username_pw_set(DeviceToken)
55
- client.connect(THINGSBOARD_HOST, port, 20)
56
- client.loop_start()
57
- client.subscribe(topic2)
58
- sleep(2)
59
- # Data capture and upload interval in seconds. Less interval will eventually hang the DHT22.
60
- INTERVAL=1
61
- sensor_data = {'Temperature': 0, 'Humidity': 0}
62
- Humidity=0
63
- Temperature=1
64
- next_reading = time()
65
-
66
- #On indique qu'on publie de nouvelles données
67
-
68
- cpt=1
69
- try:
70
- while cpt<21:
71
- Temperature=random.randint(0, 10)
72
- Humidity=random.randint(0, 20)
73
- sensor_data['Temperature'] = Temperature
74
- sensor_data['Humidity'] = Humidity
75
-
76
- # Sending humidity and temperature data to ThingsBoard
77
- client.publish(topic, json.dumps(sensor_data), 1)
78
- client.publish(topic3, json.dumps(sensor_data), 1)
79
- cpt+=1
80
- next_reading += INTERVAL
81
- sleep_time = next_reading-time()
82
- if sleep_time > 0:
83
- sleep(sleep_time)
84
- except KeyboardInterrupt:
85
- pass
86
- client.disconnect()
87
- #client3.disconnect()
88
- #client2.disconnect()
89
- client.loop_stop()
90
- #client2.loop_stop()
@@ -1,40 +0,0 @@
1
- from tb_device_mqtt import TBDeviceMqttClient, TBPublishInfo
2
- from time import sleep
3
- import random
4
- import paho.mqtt.client as paho
5
- import json
6
- import logging
7
- telemetry = {"temperature": 41.9, "enabled": False, "currentFirmwareVersion": "v1.2.2"}
8
- broker="iot4h2o.mv.uni-kl.de"
9
- topic = "v1/devices/me/telemetry"
10
- token = "guCnZNPPCPP6oA9NeE2Q"
11
- port=1883
12
- client = TBDeviceMqttClient(broker, token)
13
- # Connect to ThingsBoard
14
- def callback(client, result):
15
- print(client, result)
16
-
17
- logging.basicConfig(level=logging.DEBUG)
18
- client.connect()
19
- # Sending telemetry without checking the delivery status
20
- #client.send_telemetry(telemetry)
21
- # Sending telemetry and checking the delivery status (QoS = 1 by default)
22
- Value1=str(random.randint(0, 10))
23
- Value2=str(random.randint(0, 10))
24
- attributes = {"Temperature": Value1, "Humidity": Value2}
25
- #sub_id_2 = client.subscribe_to_all_attributes(callback)
26
- client.send_attributes(attributes)
27
- sleep(2)
28
- Value1=str(random.randint(0, 10))
29
- Value2=str(random.randint(0, 10))
30
- attributes = {"Temperature": Value1, "Humidity": Value2}
31
- client.send_attributes(attributes)
32
- Value1=str(random.randint(0, 10))
33
- Value2=str(random.randint(0, 10))
34
- sleep(2)
35
- attributes = {"Temperature": Value1, "Humidity": Value2}
36
- client.send_attributes(attributes)
37
-
38
- # Disconnect from ThingsBoard
39
- client.disconnect()
40
- test=1