From fa8e917ed061de61e12f8291dac46ed4651be68c Mon Sep 17 00:00:00 2001 From: jfmartel Date: Sat, 17 May 2025 10:34:23 -0400 Subject: [PATCH] =?UTF-8?q?Cr=C3=A9ation=20des=20droplets=20dans=20DO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Clickhouse VM/config.xml | 1805 +++++++++++++++++ Clickhouse VM/users.xml | 121 ++ Doc interne/Notes de développement.docx | Bin 37722 -> 44032 bytes OpenVPN/ka2501.ovpn | 269 +++ Otarcik_CAN/Config/Station.cfg | Bin 701 -> 719 bytes Otarcik_CAN/Logs/SystemLog.txt | 174 ++ Otarcik_CAN/release/Otarcik_CAN.exe | Bin 290816 -> 290816 bytes ...k 2025.rdp => Remote SBC stationKA2501.rdp | Bin 8 files changed, 2369 insertions(+) create mode 100644 Clickhouse VM/config.xml create mode 100644 Clickhouse VM/users.xml create mode 100644 OpenVPN/ka2501.ovpn rename Remote SBC station Otarcik 2025.rdp => Remote SBC stationKA2501.rdp (100%) diff --git a/Clickhouse VM/config.xml b/Clickhouse VM/config.xml new file mode 100644 index 0000000..a4a9489 --- /dev/null +++ b/Clickhouse VM/config.xml @@ -0,0 +1,1805 @@ + + + + + trace + /var/log/clickhouse-server/clickhouse-server.log + /var/log/clickhouse-server/clickhouse-server.err.log + + 10M + 1 + + + + + + + + + + + + + + + + + + + + + https://{bucket}.s3.amazonaws.com + + + https://storage.googleapis.com/{bucket} + + + https://{bucket}.oss.aliyuncs.com + + + + + +
+ Access-Control-Allow-Origin + * +
+
+ Access-Control-Allow-Headers + origin, x-requested-with, x-clickhouse-format, x-clickhouse-user, x-clickhouse-key, Authorization +
+
+ Access-Control-Allow-Methods + POST, GET, OPTIONS +
+
+ Access-Control-Max-Age + 86400 +
+
+ + + + + + 8123 + + + 9000 + + + + + + 9004 + + + 9005 + + + + + + + + + + + + 9009 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.0.0.0 + + + + + + + + + + + + + + + + + + + + 10 + + + + + false + + + /path/to/ssl_cert_file + /path/to/ssl_key_file + + + false + + + /path/to/ssl_ca_cert_file + + + none + + + 0 + + + -1 + -1 + + + false + + + + + + + + + + none + true + true + sslv2,sslv3 + true + + + + RejectCertificateHandler + + + + + true + true + sslv2,sslv3 + true + + + + RejectCertificateHandler + + + + + + + + + 0 + 2 + fair_round_robin + + + 1000 + + + 0 + + + + 10000 + + + + + + true + + + 0.9 + + + 4194304 + + + 0 + + + + + + 8589934592 + + + + + + + + + + + + + + + + + + 106700800 + + + + + + /var/lib/clickhouse/caches/ + + false + + + + /mnt/volume_tor1_01/yultek_db/ + + + + + + /var/lib/clickhouse/tmp/ + + + 1 + 1 + 1 + + + sha256_password + + + 12 + + + + + + + + + /var/lib/clickhouse/user_files/ + + + + + + + + + + + + + users.xml + + + + /var/lib/clickhouse/access/ + + + + + + + + true + + + true + + + true + + + true + + + true + + + false + + + 600 + + + + default + + + SQL_ + + + + + + + + + default + + + + + + + + + true + + + false + + ' | sed -e 's|.*>\(.*\)<.*|\1|') + wget https://github.com/ClickHouse/clickhouse-jdbc-bridge/releases/download/v$PKG_VER/clickhouse-jdbc-bridge_$PKG_VER-1_all.deb + apt install --no-install-recommends -f ./clickhouse-jdbc-bridge_$PKG_VER-1_all.deb + clickhouse-jdbc-bridge & + + * [CentOS/RHEL] + export MVN_URL=https://repo1.maven.org/maven2/com/clickhouse/clickhouse-jdbc-bridge/ + export PKG_VER=$(curl -sL $MVN_URL/maven-metadata.xml | grep '' | sed -e 's|.*>\(.*\)<.*|\1|') + wget https://github.com/ClickHouse/clickhouse-jdbc-bridge/releases/download/v$PKG_VER/clickhouse-jdbc-bridge-$PKG_VER-1.noarch.rpm + yum localinstall -y clickhouse-jdbc-bridge-$PKG_VER-1.noarch.rpm + clickhouse-jdbc-bridge & + + Please refer to https://github.com/ClickHouse/clickhouse-jdbc-bridge#usage for more information. + ]]> + + + + + + + + + + + + + + + + localhost + 9000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3600 + + + + 3600 + + + 60 + + + + + + + + + + + + + system + query_log
+ + toYYYYMM(event_date) + + + + + + + + 7500 + + 1048576 + + 8192 + + 524288 + + false + + + +
+ + + + system + trace_log
+ + toYYYYMM(event_date) + 7500 + 1048576 + 8192 + 524288 + + false + true +
+ + + + system + query_thread_log
+ toYYYYMM(event_date) + 7500 + 1048576 + 8192 + 524288 + false +
+ + + + system + query_views_log
+ toYYYYMM(event_date) + 7500 +
+ + + + system + part_log
+ toYYYYMM(event_date) + 7500 + 1048576 + 8192 + 524288 + false +
+ + + + system + text_log
+ 7500 + 1048576 + 8192 + 524288 + false + trace +
+ + + + system + metric_log
+ 7500 + 1048576 + 8192 + 524288 + 1000 + false +
+ + + + system + latency_log
+ 7500 + 1048576 + 8192 + 524288 + 1000 + false +
+ + + + system + error_log
+ 7500 + 1048576 + 8192 + 524288 + 1000 + false +
+ + + + system + query_metric_log
+ 7500 + 1048576 + 8192 + 524288 + 1000 + false +
+ + + + system + asynchronous_metric_log
+ 7000 + 1048576 + 8192 + 524288 + false +
+ + + + + + engine MergeTree + partition by toYYYYMM(finish_date) + order by (finish_date, finish_time_us) + + system + opentelemetry_span_log
+ 7500 + 1048576 + 8192 + 524288 + false +
+ + + + + system + crash_log
+ + + 1000 + 1024 + 1024 + 512 + true +
+ + + + + + + system + processors_profile_log
+ + toYYYYMM(event_date) + 7500 + 1048576 + 8192 + 524288 + false + event_date + INTERVAL 30 DAY DELETE +
+ + + + system + asynchronous_insert_log
+ + 7500 + 1048576 + 8192 + 524288 + false + event_date + event_date + INTERVAL 3 DAY +
+ + + + system + backup_log
+ toYYYYMM(event_date) + 7500 +
+ + + + system + s3queue_log
+ toYYYYMM(event_date) + 7500 +
+ + + + system + blob_storage_log
+ toYYYYMM(event_date) + 7500 + event_date + INTERVAL 30 DAY +
+ + + + + + + + + + + + + *_dictionary.*ml + + + true + + + true + + + *_function.*ml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /clickhouse/task_queue/ddl + + /clickhouse/task_queue/replicas + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + click_cost + any + + 0 + 3600 + + + 86400 + 60 + + + + max + + 0 + 60 + + + 3600 + 300 + + + 86400 + 3600 + + + + + + /var/lib/clickhouse/format_schemas/ + + + /usr/share/clickhouse/protos/ + + + + + + + + + + false + + false + + + https://6f33034cfe684dd7a3ab9875e57b1c8d@o388870.ingest.sentry.io/5226277 + + false + + + + + + + + + + + + + + + + + + + + + + + + + + backups + + + true + + + + + + + + + + + +
diff --git a/Clickhouse VM/users.xml b/Clickhouse VM/users.xml new file mode 100644 index 0000000..950f20b --- /dev/null +++ b/Clickhouse VM/users.xml @@ -0,0 +1,121 @@ + + + + + + + + + + + + + 1 + + + + + + + + + F4stCharge + + + + ::/0 + + + + default + + + default + + + 1 + + + 1 + + + + + + + + + + + + + + 3600 + + + 0 + 0 + 0 + 0 + 0 + + + + diff --git a/Doc interne/Notes de développement.docx b/Doc interne/Notes de développement.docx index 710eab4f01a5c04aa0d3a320b04f62e14e56dc76..cb6e7aaba4ca50f4c2476d23ae1440a5d3662c59 100644 GIT binary patch delta 36029 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 diff --git a/OpenVPN/ka2501.ovpn b/OpenVPN/ka2501.ovpn new file mode 100644 index 0000000..2b52c1e --- /dev/null +++ b/OpenVPN/ka2501.ovpn @@ -0,0 +1,269 @@ +############################################## +# Sample client-side OpenVPN 2.0 config file # +# for connecting to multi-client server. # +# # +# This configuration can be used by multiple # +# clients, however each client should have # +# its own cert and key files. # +# # +# On Windows, you might want to rename this # +# file so it has a .ovpn extension # +############################################## + +# Specify that we are a client and that we +# will be pulling certain config file directives +# from the server. +client + +# Use the same setting as you are using on +# the server. +# On most systems, the VPN will not function +# unless you partially or fully disable +# the firewall for the TUN/TAP interface. +;dev tap +dev tun + +# Windows needs the TAP-Win32 adapter name +# from the Network Connections panel +# if you have more than one. On XP SP2, +# you may need to disable the firewall +# for the TAP adapter. +;dev-node MyTap + +# Are we connecting to a TCP or +# UDP server? Use the same setting as +# on the server. +;proto tcp +proto udp + +# The hostname/IP and port of the server. +# You can have multiple remote entries +# to load balance between the servers. +remote vpn.yultek.dev 1194 +;remote 138.197.151.172 1194 +;remote my-server-2 1194 + +# Choose a random host from the remote +# list for load-balancing. Otherwise +# try hosts in the order specified. +;remote-random + +# Keep trying indefinitely to resolve the +# host name of the OpenVPN server. Very useful +# on machines which are not permanently connected +# to the internet such as laptops. +resolv-retry infinite + +# Most clients don't need to bind to +# a specific local port number. +nobind + +# Downgrade privileges after initialization (non-Windows only) +;user nobody +;group nobody + +# Try to preserve some state across restarts. +persist-key +persist-tun + +# If you are connecting through an +# HTTP proxy to reach the actual OpenVPN +# server, put the proxy server/IP and +# port number here. See the man page +# if your proxy server requires +# authentication. +;http-proxy-retry # retry on connection failures +;http-proxy [proxy server] [proxy port #] + +# Wireless networks often produce a lot +# of duplicate packets. Set this flag +# to silence duplicate packet warnings. +;mute-replay-warnings + +# SSL/TLS parms. +# See the server config file for more +# description. It's best to use +# a separate .crt/.key file pair +# for each client. A single ca +# file can be used for all clients. +;ca ca.crt +;cert client.crt +;key client.key + +# Verify server certificate by checking that the +# certificate has the correct key usage set. +# This is an important precaution to protect against +# a potential attack discussed here: +# http://openvpn.net/howto.html#mitm +# +# To use this feature, you will need to generate +# your server certificates with the keyUsage set to +# digitalSignature, keyEncipherment +# and the extendedKeyUsage to +# serverAuth +# EasyRSA can do this for you. +remote-cert-tls server + +# If a tls-auth key is used on the server +# then every client must also have the key. +;tls-auth ta.key 1 + +# Select a cryptographic cipher. +# If the cipher option is used on the server +# then you must also specify it here. +# Note that v2.4 client/server will automatically +# negotiate AES-256-GCM in TLS mode. +# See also the data-ciphers option in the manpage +cipher AES-256-GCM +auth SHA256 + +# Enable compression on the VPN link. +# Don't enable this unless it is also +# enabled in the server config file. +#comp-lzo + +# Set log file verbosity. +verb 3 + +# Silence repeating messages +;mute 20 + +key-direction 1 + + +; script-security 2 +; up /etc/openvpn/update-resolv-conf +; down /etc/openvpn/update-resolv-conf + + +; script-security 2 +; up /etc/openvpn/update-systemd-resolved +; down /etc/openvpn/update-systemd-resolved +; down-pre +; dhcp-option DOMAIN-ROUTE . + +-----BEGIN CERTIFICATE----- +MIIDRTCCAi2gAwIBAgIUXe37kz2yqgyL2xXfvaGRzlz7ywYwDQYJKoZIhvcNAQEL +BQAwFDESMBAGA1UEAwwJSkZfc2VydmVyMB4XDTIzMDIyMDIyMDkyMVoXDTMzMDIx +NzIyMDkyMVowFDESMBAGA1UEAwwJSkZfc2VydmVyMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAnLdVAj0W31TtWGxwdBeqsdIHyUdVAEG8bX+CcNZDP3M3 +R/gJOmenjqsqHYBe5gZcky1hkqWaD7l/LNmyzZDZ1lVEWpcAZqxbsUZKiHU30bxq +84L5qtaAOpwTsumidq2hBqoDBMdBmh18e0QEW624mui7ckXTRRG3PA0ccXtXcTYU +ntmhYtQ2oaPauSmfJZIUfZTfVZbB8FkCgu+zJtCx5hq46vIHm8KX0m1zLIeUtGsI +hkly+5v52f3sEMlddyoZZkfjRddETk2co09q3oNaP1LYxN5G+TvZDhpdE+PrDsNT +wO4uU2d9hVIP3T49heLieZ6KVxyp1FsDYzo0CNlIDwIDAQABo4GOMIGLMB0GA1Ud +DgQWBBSKeJDl8FDnjHXkuMCh6OmbshqdMjBPBgNVHSMESDBGgBSKeJDl8FDnjHXk +uMCh6OmbshqdMqEYpBYwFDESMBAGA1UEAwwJSkZfc2VydmVyghRd7fuTPbKqDIvb +Fd+9oZHOXPvLBjAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkqhkiG9w0B +AQsFAAOCAQEARIg2x4Tit/6ZydMlle6ku32t75OMCVQoe7fUkRjNe8pCkZjZXLy9 +QIRwoqW3FRT8+mQjctZk3NsyLStF8Rc/fFvpjGY/hiEQ/RV1K2/IZ9hcswp/LRzQ +ElDwXhe4zlcDT10GjHYYx221SR+ijgicZcaXgb9f3uZKIrPgyb8qB4KCQS8gPtCV +1VmPM5/svVCI93G+xT92XBHa47fgV5GEn7Snah2UgFol5h7/KX/Sa2q0pfBlzqmt +CutfEbYcwSxkoLsEUIW8KMoEAIsO+KIsraS6EXlRdT82Ui+UZWVPZABlzifCl+AV +LzBrLwt2OeoEI1h65EyzzE7gDsjrE3JR/Q== +-----END CERTIFICATE----- + + +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + b1:a6:3d:e9:86:99:a3:9a:13:71:db:4b:3e:64:97:1e + Signature Algorithm: sha512WithRSAEncryption + Issuer: CN=JF_server + Validity + Not Before: May 13 19:49:03 2025 GMT + Not After : Mar 22 19:49:03 2035 GMT + Subject: CN=ka2501 + Subject Public Key Info: + Public Key Algorithm: id-ecPublicKey + Public-Key: (384 bit) + pub: + 04:d0:ce:53:7c:45:90:12:64:5a:74:2b:51:32:0e: + 58:dc:c0:71:82:2d:ba:4a:75:93:b5:57:f1:9a:54: + b5:79:3b:67:01:e3:8a:9f:fa:20:82:fc:74:b0:ba: + de:71:75:8d:d4:a6:cd:59:b9:46:40:bd:08:fc:c4: + e3:53:26:57:7f:11:f1:f8:d8:7e:0a:45:1d:f4:23: + d9:25:9b:7c:ac:63:d4:7a:b0:27:80:cb:20:e5:2f: + e4:fb:21:2f:56:12:4f + ASN1 OID: secp384r1 + NIST CURVE: P-384 + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE + X509v3 Subject Key Identifier: + 52:EC:0F:6C:38:BD:9A:F2:07:76:03:02:5C:A2:5D:E9:45:51:77:D0 + X509v3 Authority Key Identifier: + keyid:8A:78:90:E5:F0:50:E7:8C:75:E4:B8:C0:A1:E8:E9:9B:B2:1A:9D:32 + DirName:/CN=JF_server + serial:5D:ED:FB:93:3D:B2:AA:0C:8B:DB:15:DF:BD:A1:91:CE:5C:FB:CB:06 + X509v3 Extended Key Usage: + TLS Web Client Authentication + X509v3 Key Usage: + Digital Signature + Signature Algorithm: sha512WithRSAEncryption + Signature Value: + 69:06:93:7e:7c:88:68:5b:3a:b9:7c:3c:d2:ae:43:5e:5f:aa: + cf:9b:f9:8e:58:ff:93:3d:5f:07:d4:26:c4:c0:18:a9:46:88: + 1e:8d:75:32:f7:58:ea:e5:b0:39:40:e9:a0:fc:a6:a2:19:20: + e2:dd:88:3a:4c:4c:ba:00:a0:77:da:99:41:0c:49:e1:ef:07: + 4c:69:52:80:9e:e0:bc:44:a8:e8:03:45:91:94:d5:b3:90:66: + 67:09:55:8d:20:cf:8f:df:c0:8e:54:17:db:6a:9d:b3:a3:ce: + b9:38:c5:86:72:46:87:b8:86:c7:ca:36:75:49:01:81:07:da: + 7b:6d:92:89:73:88:c7:51:36:e1:78:65:be:b5:45:51:b8:04: + a7:1c:88:03:ba:48:4f:e3:b9:eb:e2:4c:0a:5f:1c:57:3b:f6: + c7:e9:ba:c7:c3:b0:2c:a7:b2:19:e0:9f:ff:c4:c3:66:03:65: + 44:10:37:48:96:80:4a:95:ea:2e:31:57:64:eb:ad:85:ab:09: + 1d:87:a7:0d:0f:99:69:8d:9e:ee:d8:9a:7a:2d:3d:a1:f9:61: + 90:cc:ba:c4:eb:f8:e5:c8:fc:b0:11:b6:d6:3a:d9:ee:2d:fb: + 0e:98:0a:71:51:89:c3:97:34:35:00:8f:77:0f:91:15:39:52: + 8f:72:4f:7d +-----BEGIN CERTIFICATE----- +MIICozCCAYugAwIBAgIRALGmPemGmaOaE3HbSz5klx4wDQYJKoZIhvcNAQENBQAw +FDESMBAGA1UEAwwJSkZfc2VydmVyMB4XDTI1MDUxMzE5NDkwM1oXDTM1MDMyMjE5 +NDkwM1owETEPMA0GA1UEAwwGa2EyNTAxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE +0M5TfEWQEmRadCtRMg5Y3MBxgi26SnWTtVfxmlS1eTtnAeOKn/oggvx0sLrecXWN +1KbNWblGQL0I/MTjUyZXfxHx+Nh+CkUd9CPZJZt8rGPUerAngMsg5S/k+yEvVhJP +o4GgMIGdMAkGA1UdEwQCMAAwHQYDVR0OBBYEFFLsD2w4vZryB3YDAlyiXelFUXfQ +ME8GA1UdIwRIMEaAFIp4kOXwUOeMdeS4wKHo6ZuyGp0yoRikFjAUMRIwEAYDVQQD +DAlKRl9zZXJ2ZXKCFF3t+5M9sqoMi9sV372hkc5c+8sGMBMGA1UdJQQMMAoGCCsG +AQUFBwMCMAsGA1UdDwQEAwIHgDANBgkqhkiG9w0BAQ0FAAOCAQEAaQaTfnyIaFs6 +uXw80q5DXl+qz5v5jlj/kz1fB9QmxMAYqUaIHo11MvdY6uWwOUDpoPymohkg4t2I +OkxMugCgd9qZQQxJ4e8HTGlSgJ7gvESo6ANFkZTVs5BmZwlVjSDPj9/AjlQX22qd +s6POuTjFhnJGh7iGx8o2dUkBgQfae22SiXOIx1E24XhlvrVFUbgEpxyIA7pIT+O5 +6+JMCl8cVzv2x+m6x8OwLKeyGeCf/8TDZgNlRBA3SJaASpXqLjFXZOuthasJHYen +DQ+ZaY2e7tiaei09oflhkMy6xOv45cj8sBG21jrZ7i37DpgKcVGJw5c0NQCPdw+R +FTlSj3JPfQ== +-----END CERTIFICATE----- + + +-----BEGIN PRIVATE KEY----- +MIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDCyRf14oFnDf92ZVzpH +atELaV1d2kNCpBtUko5EjiAaXQaK/HKuPoGwd5UoKzR+iF6hZANiAATQzlN8RZAS +ZFp0K1EyDljcwHGCLbpKdZO1V/GaVLV5O2cB44qf+iCC/HSwut5xdY3Ups1ZuUZA +vQj8xONTJld/EfH42H4KRR30I9klm3ysY9R6sCeAyyDlL+T7IS9WEk8= +-----END PRIVATE KEY----- + + +# +# 2048 bit OpenVPN static key +# +-----BEGIN OpenVPN Static key V1----- +4c828cbf0e58f927758e9471c1b6f03b +2e77b2c634bad76df0570dd8f47184d6 +3921e25c6e6cbe4af4b64aad89d12425 +a9fca69ae08802b5ed583632c26678b0 +cc28c481c3831d1b2204dc30cd466395 +ccb8cd82cd2259c956b510c9a56e842a +8693c44dca462f0ab7be3856abe9bbe1 +95a6ffd3b0237225b9497c7a0df05ad8 +2f2e0a8bff97c927d2890906d0105947 +fa3430fc779583772382534fb880add6 +8d5592fa4ff384d3e96c560019b5835f +095da9b2fb33dbfbc1ffce9560908271 +ee96e02ccecc9d51b9dda79a77704a1d +4407d7c805e6950854fe232adee02a12 +b09af2d9bfe04868a9e2e942dc64eb81 +9e062ab9f781e52d263195a58db72ebe +-----END OpenVPN Static key V1----- + diff --git a/Otarcik_CAN/Config/Station.cfg b/Otarcik_CAN/Config/Station.cfg index 49a7610254e98a340624976220de05d4ef8e8162..2a3c18abc33f5293c2967382a51382e4cfefd8c3 100644 GIT binary patch delta 71 zcmdnXdY*MdIisWmgCT#4Zhd delta 75 zcmX@lx|elBIpbs#COK;{23LkMhD?S$h9ZVih7^WW24e;T21N!2_GktM1{MY{1~(uL Z1nL4nf``GIA(5dHh_e~uCqH6*3jiOK4XFSC diff --git a/Otarcik_CAN/Logs/SystemLog.txt b/Otarcik_CAN/Logs/SystemLog.txt index d5f0a5e..e50378d 100644 --- a/Otarcik_CAN/Logs/SystemLog.txt +++ b/Otarcik_CAN/Logs/SystemLog.txt @@ -1988,3 +1988,177 @@ Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-08 à 13:37:29 2025-05-08 13:38:34 Client MQTT metrics.yultek.dev déconnecté. 2025-05-08 13:38:34 Passage en mode buffering des messages MQTT pour metrics.yultek.dev 2025-05-08 13:38:34 Client MQTT 192.168.51.32 déconnecté. + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-16 à 12:15:05 +******************************************************************** +2025-05-16 12:15:05 Chargement de la configuration système... +2025-05-16 12:15:05 Configuration système chargée avec succès! +2025-05-16 12:15:05 Initialisation du dispositif [MasterCAN] +2025-05-16 12:15:05 Démarrage d'un module CAN... +2025-05-16 12:15:05 Impossible de trouver le module CAN sur le channel 1 +2025-05-16 12:15:05 Démarrage du Watchdog CAN... +2025-05-16 12:15:05 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-16 12:15:05 Démarrage du logiciel OtarcikCAN +2025-05-16 12:15:05 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-16 12:15:05 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-16 12:15:05 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-16 12:15:05 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-16 12:15:05 LAN Device 192.168.50.1 is now ONLINE on network +2025-05-16 12:15:05 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-16 12:15:05 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-16 12:15:05 Client MQTT 192.168.51.32 connecté. +2025-05-16 12:15:05 Client MQTT metrics.yultek.dev connecté. +2025-05-16 12:15:05 Internet Connecté... +2025-05-16 12:18:35 Client MQTT metrics.yultek.dev déconnecté. +2025-05-16 12:18:35 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-16 12:18:35 Client MQTT 192.168.51.32 déconnecté. +2025-05-16 12:18:35 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-16 12:18:35 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 12:18:35 Sauvegarde de la configuration système... +2025-05-16 12:18:35 Client MQTT 142.93.152.2 connecté. +2025-05-16 12:18:35 Client MQTT metrics.yultek.dev connecté. +2025-05-16 12:18:57 Client MQTT metrics.yultek.dev déconnecté. +2025-05-16 12:18:57 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-16 12:18:57 Client MQTT 142.93.152.2 déconnecté. +2025-05-16 12:18:57 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-16 12:18:57 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 12:18:57 Sauvegarde de la configuration système... +2025-05-16 12:18:57 Client MQTT 142.93.152.2 connecté. +2025-05-16 12:18:57 Client MQTT metrics.yultek.dev connecté. +2025-05-16 12:19:27 Déinitialisation du module PCAN USB ID 81 +2025-05-16 12:19:27 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full +2025-05-16 12:19:27 Client MQTT metrics.yultek.dev déconnecté. +2025-05-16 12:19:27 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-16 12:19:27 Client MQTT 142.93.152.2 déconnecté. + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-16 à 12:38:45 +******************************************************************** +2025-05-16 12:38:45 Chargement de la configuration système... +2025-05-16 12:38:45 Configuration système chargée avec succès! +2025-05-16 12:38:45 Initialisation du dispositif [MasterCAN] +2025-05-16 12:38:45 Démarrage d'un module CAN... +2025-05-16 12:38:45 Impossible de trouver le module CAN sur le channel 1 +2025-05-16 12:38:45 Démarrage du Watchdog CAN... +2025-05-16 12:38:45 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-16 12:38:45 Démarrage du logiciel OtarcikCAN +2025-05-16 12:38:45 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-16 12:38:45 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 12:38:45 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-16 12:38:45 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-16 12:38:45 LAN Device 192.168.50.1 is now ONLINE on network +2025-05-16 12:38:45 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-16 12:38:45 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-16 12:38:45 Client MQTT 142.93.152.2 connecté. +2025-05-16 12:38:45 Client MQTT metrics.yultek.dev connecté. +2025-05-16 12:38:45 Internet Connecté... +2025-05-16 13:32:35 Client MQTT 142.93.152.2 déconnecté. +2025-05-16 13:32:45 Tentative de connexion au serveur MQTT... +2025-05-16 13:32:45 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:32:49 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:32:59 Tentative de connexion au serveur MQTT... +2025-05-16 13:32:59 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:33:03 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:33:13 Tentative de connexion au serveur MQTT... +2025-05-16 13:33:13 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:33:17 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:33:27 Tentative de connexion au serveur MQTT... +2025-05-16 13:33:27 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:33:32 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:33:42 Tentative de connexion au serveur MQTT... +2025-05-16 13:33:42 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:33:46 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:33:56 Tentative de connexion au serveur MQTT... +2025-05-16 13:33:56 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:34:00 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:34:10 Tentative de connexion au serveur MQTT... +2025-05-16 13:34:10 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:34:14 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:34:24 Tentative de connexion au serveur MQTT... +2025-05-16 13:34:24 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:34:29 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:34:39 Tentative de connexion au serveur MQTT... +2025-05-16 13:34:39 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:34:43 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:34:53 Tentative de connexion au serveur MQTT... +2025-05-16 13:34:53 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:34:57 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:35:07 Tentative de connexion au serveur MQTT... +2025-05-16 13:35:07 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:35:11 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:35:21 Tentative de connexion au serveur MQTT... +2025-05-16 13:35:21 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:35:26 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:35:36 Tentative de connexion au serveur MQTT... +2025-05-16 13:35:36 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:35:40 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:35:50 Tentative de connexion au serveur MQTT... +2025-05-16 13:35:50 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:35:52 Client MQTT 142.93.152.2 connecté. +2025-05-16 13:38:07 Client MQTT 142.93.152.2 déconnecté. +2025-05-16 13:38:17 Tentative de connexion au serveur MQTT... +2025-05-16 13:38:17 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:38:21 Client MQTT 142.93.152.2 connecté. +2025-05-16 13:40:31 Client MQTT 142.93.152.2 déconnecté. +2025-05-16 13:40:41 Tentative de connexion au serveur MQTT... +2025-05-16 13:40:41 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:40:45 Client MQTT 142.93.152.2 connecté. +2025-05-16 13:40:45 Client MQTT 142.93.152.2 déconnecté. +2025-05-16 13:40:55 Tentative de connexion au serveur MQTT... +2025-05-16 13:40:55 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:40:59 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:41:09 Tentative de connexion au serveur MQTT... +2025-05-16 13:41:09 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:41:13 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:41:23 Tentative de connexion au serveur MQTT... +2025-05-16 13:41:23 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:41:28 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:41:38 Tentative de connexion au serveur MQTT... +2025-05-16 13:41:38 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:41:42 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:41:52 Tentative de connexion au serveur MQTT... +2025-05-16 13:41:52 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:41:56 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:42:06 Tentative de connexion au serveur MQTT... +2025-05-16 13:42:06 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:42:10 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:42:20 Tentative de connexion au serveur MQTT... +2025-05-16 13:42:20 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:42:25 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:42:35 Tentative de connexion au serveur MQTT... +2025-05-16 13:42:35 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:42:39 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:42:49 Tentative de connexion au serveur MQTT... +2025-05-16 13:42:49 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:42:53 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:43:03 Tentative de connexion au serveur MQTT... +2025-05-16 13:43:03 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:43:07 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:43:17 Tentative de connexion au serveur MQTT... +2025-05-16 13:43:17 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:43:22 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:43:32 Tentative de connexion au serveur MQTT... +2025-05-16 13:43:32 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:43:36 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:43:46 Tentative de connexion au serveur MQTT... +2025-05-16 13:43:46 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:43:50 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:44:00 Tentative de connexion au serveur MQTT... +2025-05-16 13:44:00 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:44:04 Client MQTT 142.93.152.2 déconnecté pendant une reconnexion. +2025-05-16 13:44:14 Tentative de connexion au serveur MQTT... +2025-05-16 13:44:14 Client MQTT 142.93.152.2 en cours de connexion... +2025-05-16 13:44:14 Client MQTT 142.93.152.2 connecté. +2025-05-16 14:59:50 Client MQTT metrics.yultek.dev déconnecté. +2025-05-16 14:59:50 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-16 15:00:00 Tentative de connexion au serveur MQTT... +2025-05-16 15:00:00 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-16 15:00:00 Client MQTT metrics.yultek.dev connecté. +2025-05-16 16:43:08 Déinitialisation du module PCAN USB ID 81 +2025-05-16 16:43:08 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full +2025-05-16 16:43:08 Client MQTT metrics.yultek.dev déconnecté. +2025-05-16 16:43:08 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-16 16:43:08 Client MQTT 142.93.152.2 déconnecté. diff --git a/Otarcik_CAN/release/Otarcik_CAN.exe b/Otarcik_CAN/release/Otarcik_CAN.exe index 54831e5cc090474355556d416d3a4c012efd3198..10ed7ed4c1cb37f436cf08c4fa281f767cbc99d4 100644 GIT binary patch delta 34 qcmZp8AlUFga6$)jYl`~BZeON1yBlw{-ePRM#ngI>dFw3}wR`{;n-9hS delta 34 qcmZp8AlUFga6$+3pT%MmyM390emCA~y~Wsii>dV%^VVA|YWV;l2M`ee diff --git a/Remote SBC station Otarcik 2025.rdp b/Remote SBC stationKA2501.rdp similarity index 100% rename from Remote SBC station Otarcik 2025.rdp rename to Remote SBC stationKA2501.rdp