commit 0b9419c6d22fda39da9b07c54f2eece01b311651 Author: ske087 Date: Fri Feb 28 09:03:50 2025 +0200 final project diff --git a/Files/reposytory/FreeSimpleGUI-5.0.0-py3-none-any.whl b/Files/reposytory/FreeSimpleGUI-5.0.0-py3-none-any.whl new file mode 100755 index 0000000..1d8d809 Binary files /dev/null and b/Files/reposytory/FreeSimpleGUI-5.0.0-py3-none-any.whl differ diff --git a/Files/reposytory/Harting/HA_MWG_new_cert.crt b/Files/reposytory/Harting/HA_MWG_new_cert.crt new file mode 100755 index 0000000..b19507d --- /dev/null +++ b/Files/reposytory/Harting/HA_MWG_new_cert.crt @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDqjCCApKgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBiDEpMCcGA1UECgwgSEFS +VElORyBJVCBTZXJ2aWNlcyBHbWJIICBDby4gS0cxDjAMBgNVBAsMBUlULUlTMRIw +EAYDVQQHDAlFc3BlbGthbXAxDDAKBgNVBAgMA05SVzELMAkGA1UEBhMCREUxHDAa +BgNVBAMME0hBUlRJTkcgV2ViIEdhdGV3YXkwHhcNMTYxMjIxMTU0NzA0WhcNMzYx +MjIxMTU0NzA0WjCBiDEpMCcGA1UECgwgSEFSVElORyBJVCBTZXJ2aWNlcyBHbWJI +ICBDby4gS0cxDjAMBgNVBAsMBUlULUlTMRIwEAYDVQQHDAlFc3BlbGthbXAxDDAK +BgNVBAgMA05SVzELMAkGA1UEBhMCREUxHDAaBgNVBAMME0hBUlRJTkcgV2ViIEdh +dGV3YXkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCm6bFPeLYge36x +WAsif9qMKEyJtrgAhtAbRWgmMWZW3s2TUMkL9Ovi5M9jc+W0V5aGCS8ueul5o9z2 +acTV9FT5DDBRXGEEMITpzGh8iRPZsFrNStk8L9oEXzjj87OE+n/gvnCe7KALzsUR +UQ+FDKLGQjMzHNTwUtadRZwm+MAP02l0izTQF7ny3zpRdco8faLvSVITkX9a6N5E +N6HfftOeoQ9xMolwielanaEbcoUKJlmV7cmAw0BjezE8CT5J0MEcaGqw6ek3pCk5 +Glt7jk+JE4X3UdUB9M60P+6pgZEmpbeoRXQqIKqrS8vC0cn0RiBPcyeoBXy0sqvK +Aun+2m+DAgMBAAGjHTAbMAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgEGMA0GCSqG +SIb3DQEBCwUAA4IBAQBarWNg89Li73TnwQly0Pn6n+/xa4P9wfDjueotoBqFY1BH +CWNPxQxgZoDoNrbj0HXbRPGs0KAXp0KJGES/SkgFwtByH1e2eCM3BWr9FfLJvU+e +AuGPHtqBHMxXxFEWpk2PMVconP1G3wlfU36Gd/Ujnac0wDqjkkYrVJzSNjhWJ73X +4TOLKLDyP01Q0I1mbKT6LNPmG/kBt0zWa513tt+PaU1fCejzFM1FBng2KPhmKoJn +1fNZHJVUpVf0vo9Mf3QztMvpVuZ9uicK/B5qHIrfvCB/XD8hDmRfrvZF0cQMSp0D +3JYs2emjeYBaH0phQtDfRJ8OUMe15DRBa7dy75hP +-----END CERTIFICATE----- diff --git a/Files/reposytory/Harting/HartingIssuingCA1.crt b/Files/reposytory/Harting/HartingIssuingCA1.crt new file mode 100755 index 0000000..1dfb372 --- /dev/null +++ b/Files/reposytory/Harting/HartingIssuingCA1.crt @@ -0,0 +1,40 @@ +-----BEGIN CERTIFICATE----- +MIIHBzCCBO+gAwIBAgITQwAAAAkJewLoz5nxpgADAAAACTANBgkqhkiG9w0BAQsF +ADBKMRUwEwYKCZImiZPyLGQBGRYFSW50cmExFzAVBgoJkiaJk/IsZAEZFgdIQVJU +SU5HMRgwFgYDVQQDEw9IQVJUSU5HIFJvb3QgQ0EwHhcNMTYwMTIyMTI1MjAxWhcN +MjQwMTIyMTMwMjAxWjBOMRUwEwYKCZImiZPyLGQBGRYFaW50cmExFzAVBgoJkiaJ +k/IsZAEZFgdoYXJ0aW5nMRwwGgYDVQQDExNIQVJUSU5HIElzc3VpbmcgQ0ExMIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAutoC7Q/AmRR+I/s7YRsotka7 +kgCfSkRINNeIut+0gv4GchmztbuLraIz7RpQbBW4pRPWJT4J5fVzBN6HSuGv6VBB +H72MHD3cTAbPpCeAvMHQVYCt+nfM/5w4WnOfYpjSIcV3rf6d/cOWKESpQs81F3xz +TNbITWP3SiCeRuxdL4U+1LvE1vj2O2mqG5kkXR51XWzgC4oOh2aR9y1TY48AmAva +WOGBbAKz8QAV8dnW7kq+r9UmRxRisSVsLbWasiTfwndYacBQQK3Iw8YyJK0DbMqS +rBbY5kkRoF48t4JuR3T7VGlGqhKlDg9AxxOw1HkNtBB3sQw05tUZhPtOxtyORQID +AQABo4IC4DCCAtwwEgYJKwYBBAGCNxUBBAUCAwMAAzAjBgkrBgEEAYI3FQIEFgQU +bxiNOHg8qzcCUYJasvRJYn+CpnUwHQYDVR0OBBYEFNUJktkZLIVxRG2f4lr9qFWs +7SM5MBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNV +HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFGetmY4Lmx9ZU/ng6WF5pRSGvFyJMIIB +CwYDVR0fBIIBAjCB/zCB/KCB+aCB9oYyaHR0cDovL3d3dy5oYXJ0aW5nLmNvbS9w +a2kvSEFSVElORyUyMFJvb3QlMjBDQS5jcmyGgb9sZGFwOi8vL0NOPUhBUlRJTkcl +MjBSb290JTIwQ0EsQ049Y2FoYXJ0aW5nMSxDTj1DRFAsQ049UHVibGljJTIwS2V5 +JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1oYXJ0 +aW5nLERDPWludHJhP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFzZT9vYmpl +Y3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCARcGCCsGAQUFBwEBBIIBCTCC +AQUwTAYIKwYBBQUHMAKGQGh0dHA6Ly93d3cuaGFydGluZy5jb20vcGtpL2NhaGFy +dGluZzFfSEFSVElORyUyMFJvb3QlMjBDQSgzKS5jcnQwgbQGCCsGAQUFBzAChoGn +bGRhcDovLy9DTj1IQVJUSU5HJTIwUm9vdCUyMENBLENOPUFJQSxDTj1QdWJsaWMl +MjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD +PWhhcnRpbmcsREM9aW50cmE/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNz +PWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAGGWPYKM +Kzh7KKiNgMKbPJH25JV201GDMOUEwmxW1umfbgrAtbHWfpCfGzbk6A8ekK/9A6yk +fCj35WvJyB1L6lGbaAOJjC4loI9XQsbQokGJ+8SsUiVFABx63idXKVqBrbtpnj0L +XY8RQikTbvvXZNHBmMlo6dZ6FDn+xHHKSTuISf88UTJE/X6beAiMe4m3gT4loiN1 +u9L987TvW6FBbstRFGjWaXX7dQA1JzyQaoM4QJNGU2ZCTdF+8oOYy7abwqHr66f+ +bHkTd0qXMA50T5hbQmgRc5usgHUR4RtcTFu636YDeS0fi/x/lwe1UygTcEBSQA5U +TpJwjE3lX7aupdgF+g9hNBoFCI0HGnhzZDv4k1ugZYK533NleeKThmSWPmssxExb +siuly872stkotB/9sCEb5jbT2QnjPCIyxhGeFmHnDpPXrYlhcfgqpgA81NDFJ2Bz +McPf2qP+/uiPjbqbX6CG1cTF6QGuGdbSkLaH5cj2Pn9i9Mqzkb7qSB09wNiSI4B/ +/GzGKnal+1vIC78Y42FOU+b9WBegDLuNuWliQSZRcRGCj/CcegUwuGzOWf0Mc2SG +I1A5UI4Q8arg1RAXggqSOjYNAtdgl6s8wRpwzv55BHAkxvCe2/0r7p62zSfsvM5k +OIhrHDBIkA5bND00QUuVNf6pMb4sjN0d4cna +-----END CERTIFICATE----- diff --git a/Files/reposytory/Harting/HartingRootCA.crt b/Files/reposytory/Harting/HartingRootCA.crt new file mode 100755 index 0000000..1ea4508 --- /dev/null +++ b/Files/reposytory/Harting/HartingRootCA.crt @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIFljCCA36gAwIBAgIQWDrwWap0fIVAtVmbM/HtJzANBgkqhkiG9w0BAQsFADBK +MRUwEwYKCZImiZPyLGQBGRYFSW50cmExFzAVBgoJkiaJk/IsZAEZFgdIQVJUSU5H +MRgwFgYDVQQDEw9IQVJUSU5HIFJvb3QgQ0EwIBcNMDUwMzMwMDk0NjI0WhgPMjA2 +MjEyMTIxMjE5MTBaMEoxFTATBgoJkiaJk/IsZAEZFgVJbnRyYTEXMBUGCgmSJomT +8ixkARkWB0hBUlRJTkcxGDAWBgNVBAMTD0hBUlRJTkcgUm9vdCBDQTCCAiIwDQYJ +KoZIhvcNAQEBBQADggIPADCCAgoCggIBANd3pkQAWf4/WV3220uv4O4utXMmBeUf +V90oVJMf07GQUaScfc+vUzgK80fzcDjmA4Hde2Ag+f8Dj/Q+ZLAukIVms6qmfOUC +p5dIkMca5ept5WRoOTu+opxylbC1cfEvesbPV7x82QTnIfzQGNTppH6SlRttPk2M +aYaKjOCFhvmnQa6IHqYOTHyk8RrLnBdXe378SEseNn9bJmySnW9agLWwL2L4d1Lz +DuXAC6EVAxkkTJKoQYu0WQaKLh7cdzDEuI4k8PiFatQUFRiQT6tbc6d7D1vE7+DT +SjU8YizU3m9Bs7kkHsSQ85EPQ1nZ6aQz9VC41Yjh3lxst3LscWj0unvur8rqeQow +UOVwFKERB+BB1jSCcHV136Ij0CzLRXSIYcMFAsHTLHscc5g6nrYfDPRU/RlhuSkV +9mpeKkv8XYa0N3yCVy3Fr0NSXNehaONs26v1tMheojsvOFDC93MCN3NuYHcPQRt7 +MsLf1tuKTPUiagmCJLRbMaUCF5Prq2YI9kvE9crt3DvW75RFN2yO52Cjn4aLMacv +T+tmjbSQWzMZVOHTlEREsLcniOo4gGH1D/ijrJl1t/a8WiTxpv/Ub0S56NP1uZ1s +nukaQ5w/WeZk2mAe76pDUltGuZVk0opYsyVdbj30XlzSzNJOgAJ9UabkFjwwyIDx +AMHdwPrrPLzNAgMBAAGjdjB0MAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/ +MB0GA1UdDgQWBBRnrZmOC5sfWVP54OlheaUUhrxciTAQBgkrBgEEAYI3FQEEAwIB +AzAjBgkrBgEEAYI3FQIEFgQU5EC6gNFM7jw9fXMRJa1eANrFWSYwDQYJKoZIhvcN +AQELBQADggIBAAFMdOlGwtolH9fqtPy6AvkmSVeQ1S5bcDYCfXFTX0MyctDZSAeq +qsvVoYsxh34eePMzYpTRjCFJ9fFwe3zFO34eDkInxbdLUTMxBhc1wf8Q57UTYB3v +rKnB0DWIfrvVV989iVU1Cb/WzixcWf5tQayifEf2mFQvPhAPATu5IxXhyVPGkuoO +3c1JRZvfxKXEq8lzwZz20yUMaWpu+uM8mFHQ1XKMz3DvKmvJDdvRuvjU5VfyED6W +a5s0Qv9vtpekb05Bw5f6V6HJabi/Pws3tImZdQi7XRsDvQSjOvGnsyp73xsfzkj4 +JCsvXuf8M6k7rznPsE3iUm5rBLbTlb1WfTScs4PDIAxQK9o8QglQ/eD07VnHsgg9 +fBPWXu7NFrT+y2QDbvDE/Mjq03l0KiAATY1IsD2kE7upKAyKiS/jF+dDyBEMqj6T +5yRVbyoI6vS4wINx21I7XsC3EzfaUs13QgGAIIgJKVYrGJwEq9ARBpqmKpyKAJwt +0UkTqGZjBYTOW8/hUNpJd07M4087PGVEUNbPBp6yrddpuVllGR3n8p296KcR6m+d +cSkKAdreXI0Cpb+KmJpOuQj1rOTRxYAnYEE4zR2nd2JptjDLcxOLgMP0naZ6g8qS +LarqnBFK6cVlpeNNg+A7Ns96PBSJoYlBd4EYqfD20he1mZVnCrmjOFZh +-----END CERTIFICATE----- diff --git a/Files/reposytory/LinuxPOS-Driver/CUPS driver guide V128.pdf b/Files/reposytory/LinuxPOS-Driver/CUPS driver guide V128.pdf new file mode 100755 index 0000000..a8bb9a3 Binary files /dev/null and b/Files/reposytory/LinuxPOS-Driver/CUPS driver guide V128.pdf differ diff --git a/Files/reposytory/LinuxPOS-Driver/Readme_POS-CUPS.txt b/Files/reposytory/LinuxPOS-Driver/Readme_POS-CUPS.txt new file mode 100755 index 0000000..30bd8c9 --- /dev/null +++ b/Files/reposytory/LinuxPOS-Driver/Readme_POS-CUPS.txt @@ -0,0 +1,21 @@ +Linux CUPS drivers for POS printer + +The following CUPS drivers are included here. + +ctzpos-cups_1.x.x-x_i386.deb - Debian (32 bit) +ctzpos-cups_1.x.x-x_amd64.deb - Debian (64 bit) +ctzpos-cups_1.x.x-x_armhf.deb - Raspberry Pi OS (32bit) +ctzpos-cups_1.x.x-x_arm64.deb - Raspberry Pi OS (64bit) + +ctzpos-cups-1.x.x-x.i586.rpm - Red Hat (32bit) +ctzpos-cups-1.x.x-x.x86_64.rpm - Red Hat (64bit) + +ctzpos-cups-1.x.x-x.src.rpm - CUPS driver source code in rpm format + +"deb" file is for Debian and it can be used on Ubuntu etc. +"rpm" file is for Red Hat and it can be used on CentOS, Fedora etc. + +Source code is inlucded to use CUPS driver on other Linux distribution. +Basic explanation for driver compile and driver installation is on following site. +http://www.citizen-systems.co.jp/en/printer/download/driver-cups-source + diff --git a/Files/reposytory/LinuxPOS-Driver/ctzpos-cups-1.2.8-0.i586.rpm b/Files/reposytory/LinuxPOS-Driver/ctzpos-cups-1.2.8-0.i586.rpm new file mode 100755 index 0000000..83ebbd4 Binary files /dev/null and b/Files/reposytory/LinuxPOS-Driver/ctzpos-cups-1.2.8-0.i586.rpm differ diff --git a/Files/reposytory/LinuxPOS-Driver/ctzpos-cups-1.2.8-0.src.rpm b/Files/reposytory/LinuxPOS-Driver/ctzpos-cups-1.2.8-0.src.rpm new file mode 100755 index 0000000..19f93a6 Binary files /dev/null and b/Files/reposytory/LinuxPOS-Driver/ctzpos-cups-1.2.8-0.src.rpm differ diff --git a/Files/reposytory/LinuxPOS-Driver/ctzpos-cups-1.2.8-0.x86_64.rpm b/Files/reposytory/LinuxPOS-Driver/ctzpos-cups-1.2.8-0.x86_64.rpm new file mode 100755 index 0000000..eff63b1 Binary files /dev/null and b/Files/reposytory/LinuxPOS-Driver/ctzpos-cups-1.2.8-0.x86_64.rpm differ diff --git a/Files/reposytory/LinuxPOS-Driver/ctzpos-cups_1.2.8-0_amd64.deb b/Files/reposytory/LinuxPOS-Driver/ctzpos-cups_1.2.8-0_amd64.deb new file mode 100755 index 0000000..f68a316 Binary files /dev/null and b/Files/reposytory/LinuxPOS-Driver/ctzpos-cups_1.2.8-0_amd64.deb differ diff --git a/Files/reposytory/LinuxPOS-Driver/ctzpos-cups_1.2.8-0_arm64.deb b/Files/reposytory/LinuxPOS-Driver/ctzpos-cups_1.2.8-0_arm64.deb new file mode 100755 index 0000000..eb161b6 Binary files /dev/null and b/Files/reposytory/LinuxPOS-Driver/ctzpos-cups_1.2.8-0_arm64.deb differ diff --git a/Files/reposytory/LinuxPOS-Driver/ctzpos-cups_1.2.8-0_i386.deb b/Files/reposytory/LinuxPOS-Driver/ctzpos-cups_1.2.8-0_i386.deb new file mode 100755 index 0000000..bda8601 Binary files /dev/null and b/Files/reposytory/LinuxPOS-Driver/ctzpos-cups_1.2.8-0_i386.deb differ diff --git a/Files/reposytory/LinuxPOS-Driver/ctzpos.deb b/Files/reposytory/LinuxPOS-Driver/ctzpos.deb new file mode 100755 index 0000000..29506e2 Binary files /dev/null and b/Files/reposytory/LinuxPOS-Driver/ctzpos.deb differ diff --git a/Files/reposytory/PyAutoGUI-0.9.54-py3-none-any.whl b/Files/reposytory/PyAutoGUI-0.9.54-py3-none-any.whl new file mode 100755 index 0000000..f887f85 Binary files /dev/null and b/Files/reposytory/PyAutoGUI-0.9.54-py3-none-any.whl differ diff --git a/Files/reposytory/PySocks-1.7.1-py3-none-any.whl b/Files/reposytory/PySocks-1.7.1-py3-none-any.whl new file mode 100644 index 0000000..ac66f59 Binary files /dev/null and b/Files/reposytory/PySocks-1.7.1-py3-none-any.whl differ diff --git a/Files/reposytory/WebPrintClient/wcpp.deb b/Files/reposytory/WebPrintClient/wcpp.deb new file mode 100755 index 0000000..79b78ca Binary files /dev/null and b/Files/reposytory/WebPrintClient/wcpp.deb differ diff --git a/Files/reposytory/attrs-25.1.0-py3-none-any.whl b/Files/reposytory/attrs-25.1.0-py3-none-any.whl new file mode 100644 index 0000000..64aa913 Binary files /dev/null and b/Files/reposytory/attrs-25.1.0-py3-none-any.whl differ diff --git a/Files/reposytory/certifi-2025.1.31-py3-none-any.whl b/Files/reposytory/certifi-2025.1.31-py3-none-any.whl new file mode 100644 index 0000000..7e488e8 Binary files /dev/null and b/Files/reposytory/certifi-2025.1.31-py3-none-any.whl differ diff --git a/Files/reposytory/charset_normalizer-3.4.1-py3-none-any.whl b/Files/reposytory/charset_normalizer-3.4.1-py3-none-any.whl new file mode 100644 index 0000000..9faf0eb Binary files /dev/null and b/Files/reposytory/charset_normalizer-3.4.1-py3-none-any.whl differ diff --git a/Files/reposytory/evdev-1.7.1-cp311-cp311-linux_armv7l.whl b/Files/reposytory/evdev-1.7.1-cp311-cp311-linux_armv7l.whl new file mode 100755 index 0000000..342c221 Binary files /dev/null and b/Files/reposytory/evdev-1.7.1-cp311-cp311-linux_armv7l.whl differ diff --git a/Files/reposytory/func_timeout-4.3.5-py3-none-any.whl b/Files/reposytory/func_timeout-4.3.5-py3-none-any.whl new file mode 100755 index 0000000..2aa25cd Binary files /dev/null and b/Files/reposytory/func_timeout-4.3.5-py3-none-any.whl differ diff --git a/Files/reposytory/h11-0.14.0-py3-none-any.whl b/Files/reposytory/h11-0.14.0-py3-none-any.whl new file mode 100644 index 0000000..6ac1ef3 Binary files /dev/null and b/Files/reposytory/h11-0.14.0-py3-none-any.whl differ diff --git a/Files/reposytory/idna-3.10-py3-none-any.whl b/Files/reposytory/idna-3.10-py3-none-any.whl new file mode 100644 index 0000000..52759bd Binary files /dev/null and b/Files/reposytory/idna-3.10-py3-none-any.whl differ diff --git a/Files/reposytory/outcome-1.3.0.post0-py2.py3-none-any.whl b/Files/reposytory/outcome-1.3.0.post0-py2.py3-none-any.whl new file mode 100644 index 0000000..bf2277f Binary files /dev/null and b/Files/reposytory/outcome-1.3.0.post0-py2.py3-none-any.whl differ diff --git a/Files/reposytory/packaging-24.2-py3-none-any.whl b/Files/reposytory/packaging-24.2-py3-none-any.whl new file mode 100644 index 0000000..5d67c58 Binary files /dev/null and b/Files/reposytory/packaging-24.2-py3-none-any.whl differ diff --git a/Files/reposytory/pynput-1.7.6-py2.py3-none-any.whl b/Files/reposytory/pynput-1.7.6-py2.py3-none-any.whl new file mode 100755 index 0000000..1375d49 Binary files /dev/null and b/Files/reposytory/pynput-1.7.6-py2.py3-none-any.whl differ diff --git a/Files/reposytory/pyserial-3.5-py2.py3-none-any.whl b/Files/reposytory/pyserial-3.5-py2.py3-none-any.whl new file mode 100755 index 0000000..7751288 Binary files /dev/null and b/Files/reposytory/pyserial-3.5-py2.py3-none-any.whl differ diff --git a/Files/reposytory/python3_xlib-0.15-py3-none-any.whl b/Files/reposytory/python3_xlib-0.15-py3-none-any.whl new file mode 100755 index 0000000..46d3e99 Binary files /dev/null and b/Files/reposytory/python3_xlib-0.15-py3-none-any.whl differ diff --git a/Files/reposytory/python_dotenv-1.0.1-py3-none-any.whl b/Files/reposytory/python_dotenv-1.0.1-py3-none-any.whl new file mode 100644 index 0000000..170a0e8 Binary files /dev/null and b/Files/reposytory/python_dotenv-1.0.1-py3-none-any.whl differ diff --git a/Files/reposytory/python_xlib-0.31-py2.py3-none-any.whl b/Files/reposytory/python_xlib-0.31-py2.py3-none-any.whl new file mode 100755 index 0000000..40d82cc Binary files /dev/null and b/Files/reposytory/python_xlib-0.31-py2.py3-none-any.whl differ diff --git a/Files/reposytory/rdm6300-0.1.1-py3-none-any.whl b/Files/reposytory/rdm6300-0.1.1-py3-none-any.whl new file mode 100755 index 0000000..4aebddf Binary files /dev/null and b/Files/reposytory/rdm6300-0.1.1-py3-none-any.whl differ diff --git a/Files/reposytory/requests-2.32.3-py3-none-any.whl b/Files/reposytory/requests-2.32.3-py3-none-any.whl new file mode 100644 index 0000000..0888cee Binary files /dev/null and b/Files/reposytory/requests-2.32.3-py3-none-any.whl differ diff --git a/Files/reposytory/selenium-4.29.0-cp311-cp311-linux_armv7l.whl b/Files/reposytory/selenium-4.29.0-cp311-cp311-linux_armv7l.whl new file mode 100644 index 0000000..45b2cb6 Binary files /dev/null and b/Files/reposytory/selenium-4.29.0-cp311-cp311-linux_armv7l.whl differ diff --git a/Files/reposytory/six-1.16.0-py2.py3-none-any.whl b/Files/reposytory/six-1.16.0-py2.py3-none-any.whl new file mode 100755 index 0000000..fd94265 Binary files /dev/null and b/Files/reposytory/six-1.16.0-py2.py3-none-any.whl differ diff --git a/Files/reposytory/sniffio-1.3.1-py3-none-any.whl b/Files/reposytory/sniffio-1.3.1-py3-none-any.whl new file mode 100644 index 0000000..48f37d4 Binary files /dev/null and b/Files/reposytory/sniffio-1.3.1-py3-none-any.whl differ diff --git a/Files/reposytory/sortedcontainers-2.4.0-py2.py3-none-any.whl b/Files/reposytory/sortedcontainers-2.4.0-py2.py3-none-any.whl new file mode 100644 index 0000000..61f63d3 Binary files /dev/null and b/Files/reposytory/sortedcontainers-2.4.0-py2.py3-none-any.whl differ diff --git a/Files/reposytory/trio-0.29.0-py3-none-any.whl b/Files/reposytory/trio-0.29.0-py3-none-any.whl new file mode 100644 index 0000000..7efa9b4 Binary files /dev/null and b/Files/reposytory/trio-0.29.0-py3-none-any.whl differ diff --git a/Files/reposytory/trio_websocket-0.12.1-py3-none-any.whl b/Files/reposytory/trio_websocket-0.12.1-py3-none-any.whl new file mode 100644 index 0000000..2d3dfb9 Binary files /dev/null and b/Files/reposytory/trio_websocket-0.12.1-py3-none-any.whl differ diff --git a/Files/reposytory/typing_extensions-4.11.0-py3-none-any.whl b/Files/reposytory/typing_extensions-4.11.0-py3-none-any.whl new file mode 100755 index 0000000..fc1635c Binary files /dev/null and b/Files/reposytory/typing_extensions-4.11.0-py3-none-any.whl differ diff --git a/Files/reposytory/typing_extensions-4.12.2-py3-none-any.whl b/Files/reposytory/typing_extensions-4.12.2-py3-none-any.whl new file mode 100644 index 0000000..f6cc799 Binary files /dev/null and b/Files/reposytory/typing_extensions-4.12.2-py3-none-any.whl differ diff --git a/Files/reposytory/urllib3-2.3.0-py3-none-any.whl b/Files/reposytory/urllib3-2.3.0-py3-none-any.whl new file mode 100644 index 0000000..e78504f Binary files /dev/null and b/Files/reposytory/urllib3-2.3.0-py3-none-any.whl differ diff --git a/Files/reposytory/webdriver_manager-4.0.2-py2.py3-none-any.whl b/Files/reposytory/webdriver_manager-4.0.2-py2.py3-none-any.whl new file mode 100644 index 0000000..0430e4a Binary files /dev/null and b/Files/reposytory/webdriver_manager-4.0.2-py2.py3-none-any.whl differ diff --git a/Files/reposytory/websocket_client-1.8.0-py3-none-any.whl b/Files/reposytory/websocket_client-1.8.0-py3-none-any.whl new file mode 100644 index 0000000..6026aa3 Binary files /dev/null and b/Files/reposytory/websocket_client-1.8.0-py3-none-any.whl differ diff --git a/Files/reposytory/wsproto-1.2.0-py3-none-any.whl b/Files/reposytory/wsproto-1.2.0-py3-none-any.whl new file mode 100644 index 0000000..e1580e8 Binary files /dev/null and b/Files/reposytory/wsproto-1.2.0-py3-none-any.whl differ diff --git a/app.py b/app.py new file mode 100644 index 0000000..8993037 --- /dev/null +++ b/app.py @@ -0,0 +1,154 @@ +import rdm6300 +import os, time +import logging +from gpiozero import OutputDevice +from multiprocessing import Process +import requests +import subprocess +import urllib3 +import threading +import urllib.parse +urllib3.disable_warnings() + +# Configure logging +logging.basicConfig(filename='./data/log.txt', level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') + +def config(): + import config + +def post_backup_data(): + logging.info("Reading backup data from tag.txt...") + try: + with open("./data/tag.txt", "r") as file: + lines = file.readlines() + + remaining_lines = lines[:] + + for line in lines: + line = line.strip() + if line: + logging.info(f"Posting backup data: {line}") + try: + response = requests.post(line, verify=False, timeout=3) + logging.info("Request sent, awaiting response...") + response.raise_for_status() # Raise an error for bad status codes + logging.info("Data posted successfully: %s", response.text) + remaining_lines.remove(line + "\n") + except requests.exceptions.Timeout: + logging.warning("Request timed out.") + break + except requests.exceptions.RequestException as e: + logging.error("An error occurred: %s", e) + break + + with open("./data/tag.txt", "w") as file: + file.writelines(remaining_lines) + logging.info("Backup data updated.") + + except FileNotFoundError: + logging.warning("No backup file found.") + except Exception as e: + logging.error("An error occurred while reading the backup file: %s", e) + +def check_internet_connection(): + hostname = "10.76.140.17" # "https://google.com" + cmd_block_wifi = 'sudo rfkill block wifi' + cmd_unblock_wifi = 'sudo rfkill unblock wifi' + logging.info('Internet connection check loaded') + + def manage_wifi_connection(): + if var1 == 0: + logging.info("Internet is up! Waiting 45 minutes.") + post_backup_data() + time.sleep(2700) + else: + os.system(cmd_block_wifi) + logging.info('System is rebooting WiFi, please wait until it finishes the job 20 minutes') + time.sleep(1200) # 20 minutes + os.system(cmd_unblock_wifi) + + while True: + response = os.system("ping -c 1 " + hostname) + if response == 0: + var1 = 0 + manage_wifi_connection() + + else: + var1 = 1 + manage_wifi_connection() + +# Start the internet connection check in a separate process +internet_check_process = Process(target=check_internet_connection) +internet_check_process.start() +url = "10.76.140.17/iweb_v2/index.php/traceability/production" # pentru cazul in care raspberiul nu are sistem de prezenta +# Launch Chromium with the specified URLs +subprocess.Popen(["chromium", "--test-type", "--noerrors", "--kiosk", "--start-fullscreen", "--unsafely-treat-insecure-origin-as-secure=http://10.76.140.17", url], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, stdin=subprocess.DEVNULL, start_new_session=True) + +info = "0" + +def post_info(info): + logging.info("Starting to post data...") + info1 = info.strip() # Remove any leading/trailing whitespace, including newlines + try: + response = requests.post(info1, verify=False, timeout=3) + logging.info("Request sent, awaiting response...") + response.raise_for_status() # Raise an error for bad status codes + logging.info("Data posted successfully: %s", response.text) + except requests.exceptions.Timeout: + logging.warning("Request timed out. Saving data to backup file.") + with open("./data/tag.txt", "a") as file: # Open in append mode + file.write(info) + logging.info("Value %s was saved to tag.txt", info) + except requests.exceptions.RequestException as e: + logging.error("An error occurred: %s", e) + with open("./data/tag.txt", "a") as file: # Open in append mode + file.write(info) + logging.info("Value %s was saved to tag.txt", info) + +def post_info_thread(info): + thread = threading.Thread(target=post_info, args=(info,)) + thread.start() + +led1 = OutputDevice(23) +led2 = OutputDevice(24) +name = "idmasa" +logging.info(f"Variabila Id Masa A fost initializata", name) +f = open("./data/idmasa.txt", "r") # deschid fisierul +name = f.readline().strip() # citesc toate liniile +f.close() # inchid fisierul +logging.info(name) + +class Reader(rdm6300.BaseReader): + global info + def card_inserted(self, card): + if card.value == 12886709: + logging.info("Inserting Config Card") + return + # config() + afisare = time.strftime("%Y-%m-%d&%H:%M:%S") + date = 'https://dataswsibiusb01.sibiusb.harting.intra/RO_Quality_PRD/api/record/' + name + '/' + str(card.value) + "/1/" + afisare + "\n" + info = date + logging.info(info) + post_info_thread(info) + led1.on() + logging.info(f"card inserted {card}") + + def card_removed(self, card): + if card.value == 12886709: + logging.info("Removing Config card") + return + # config() + afisare=time.strftime("%Y-%m-%d&%H:%M:%S") + date='https://dataswsibiusb01.sibiusb.harting.intra/RO_Quality_PRD/api/record/'+name+'/'+str(card.value)+"/0/"+afisare+"\n" + info = date + logging.info(info) + post_info_thread(info) + led1.off() + logging.info("Card removed") + + +try: + r = Reader('/dev/ttyS0') +except: + r = Reader('/dev/ttyAMA0') +r.start() diff --git a/cert.sh b/cert.sh new file mode 100644 index 0000000..eafede4 --- /dev/null +++ b/cert.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# Instalare certificate +echo -e "\e[1;32m Copiem si instalam certificatele Harting \e[0m" +sudo mkdir /usr/local/share/ca-certificates/Harting +sudo cp -R /home/pi/Desktop/Prezenta/Files/reposytory/Harting/ /usr/local/share/ca-certificates/Harting/ + +sudo update-ca-certificates +sleep 3 +echo -e "\e[1;32m Instalam Libnss3-tool ca sa actualizam certificatele in Browser \e[0m" +sudo apt install libnss3-tools +echo -e "\e[1;32m Libnss3-tools este instalat \e[0m" +echo -e "\e[1;32m Cream baza de date pentru certutil \e[0m" +#sudo mkdir -p $HOME/.pki/nssdb +#sudo certutil -d $HOME/.pki/nssdb -N --empty-password +echo -e "\e[1;32m Baza de date a fost creata \e[0m" +echo -e "\e[1;32m Actualizam Certificate \e[0m" +certutil -d sql:$HOME/.pki/nssdb -A -t "CT,C,C" -n HA_MWG_new_cert -i /etc/ssl/certs/HA_MWG_new_cert.pem +echo "cert 1 ok" +sleep 3 +certutil -d sql:$HOME/.pki/nssdb -A -t "CT,C,C" -n HartingIssuingCA1.pem -i /etc/ssl/certs/HartingIssuingCA1.pem +echo "cert 2 Ok" +sleep 3 +certutil -d sql:$HOME/.pki/nssdb -A -t "CT,C,C" -n HartingRootCA.pem -i /etc/ssl/certs/HartingRootCA.pem +echo "cert 3 ok" +echo -e "\e[1;32m Certificatele au fost instalate \e[0m" +sleep 3 +certutil -d sql:$HOME/.pki/nssdb -L +sleep 3 \ No newline at end of file diff --git a/config.py b/config.py new file mode 100755 index 0000000..ac3de50 --- /dev/null +++ b/config.py @@ -0,0 +1,219 @@ +# config py este gandit pentru a verifica configurarile raspberiului +# verifica hostname-ul si il afiseaza +# verifica ce nume are masa si o afiseaza +# verifica daca masa este configurata cu sistem de prezenta operator +# verifica daca imprimanta este instalata corespunzator + +import os, time, socket, cups, subprocess +import FreeSimpleGUI as psg +import FreeSimpleGUI as sg +from multiprocessing import Process + + + +# import socket +host = socket.gethostname() # luam numele de host +def set_printer(): # importam codul python pentru printer + print("Cheking printer") + # acest segment acceseaza fisierul local idmas.txt si verifica ce informatii sunt acolo + # in mod normal acolo salvam numele mesei care trebuie sa corespunda cu numele imprimantei + f = open("./data/idmasa.txt","r") # deschid fisierul in care am salvat numele printerului + test = f.readlines() # citesc toate liniile + f.close() + # in cazul in care avem fisier corupt il resetam la original + try: + idmasa = test[0] + + except IndexError: + idmasa = "0" + print(idmasa) + # citim lista de printere disponibila + conn = cups.Connection () + printers = conn.getPrinters () + printer_stat=0 + for printer in printers: + print (printer, printers[printer]["device-uri"]) + if printer == idmasa: + printer_stat = 1 + + + if printer_stat == 1: + print("Printer is Ok") + else: + print("Printer is not ok") + p_Name = idmasa + print("Installing the new printer") + time.sleep(2) + cmd = "sudo /usr/sbin/lpadmin -p "+idmasa+" -E -v usb://CITIZEN/CT-S310II?serial=00000000 -m CTS310II.ppd" + os.popen(cmd) + time.sleep(2) + print("Printer Was Installed") + conn = cups.Connection() + printers = conn.getPrinters() + for printer in printers: + print(printer, printers[printer]["device-uri"]) + time.sleep(1) + print("Printerwas seted to "+idmasa+"") + print("Test printer App Closed") +# partea acesata se ocupa de verificarea existentei celor doua fisiere pentru a nu avea erori +# verificam daca exista fisierul care identifica masa +path = './data/idmasa.txt' +isFile = os.path.isfile(path) #verifica existenta fisierului prin bolean Tru/false + +if not isFile: +# print(path)# nu se face nimic pentru ca exista fisierul +#else: + fp = open('./data/idmasa.txt', 'w') # cream fisier + fp.write('no_config') # scriem in fisier prima line pentru a avea un punct de pornire + fp.close() # inchidem fisierul +# print("created file") +# verificam fisierul de prezenta pe baza acestuia stim daca locul de munca este configurat cu card de prezenta sau nu +path1 = './data/idmasa.txt' #verificare existenta al doilea fisier +isFile = os.path.isfile(path1)# verifica existenta fisierului +#print(path) + + +#urmeaza sa citim fisierele pentru a crea cateva variabile +# prima variabila este idmasa +f = open("./data/idmasa.txt","r") # deschid fisierul +name = f.readlines() # citesc toate liniile +f.close() # inchid fisierul +try: + idmasa = name[0]# se verifica daca exista informatie in text + +except IndexError: + idmasa = "Initial"# daca nu exista informatie in text setam variabila + + + +#incepem sa definim primele functii din configurare +def notokfunction(): # este functie pentru butonul cancel din formular + + + msg1 = "Id masa a fost actualizat la: "+ idmasa +"" ## pregatim mesajul pentru fereastra pop up + + msg2 = "Slotul Pentru cartela este configurat by default" # pregatim mesajul pentru fereastra pop up + layout = [[sg.Text(msg1)], [sg.Text(msg2)], [sg.Button("Ok")]] + window = sg.Window("Configurari", layout) + while True: + event, values = window.read() + + if event == "Ok" or event == sg.WIN_CLOSED: + + break + + window.close() +#am inchis functia notok + +#functia pentru butonul ok din formular +def okfunction(): + if idmasa == config1: # variabila config 1 este preluata din formular + msg1 = "Masa este setat corect: "+ idmasa +"" # se printeaza mesaj ca nu se actualizeaza id de masa + # print(msg1) + else: + f = open("./data/idmasa.txt","w") # deschidem fisierul config in mod scriere + L = config1 + f.write(L) # actualizam linia cu noua valuare din config + f.close() # inchidem fisierul + msg1 = "Id masa a fost actualizat la: "+ config1 +"" # pregatim mesajul pentru fereastra pop up + +# + + # definim fereastra pentru ok asemena cu functia notok + layout = [[sg.Text(msg1)], [sg.Output(size=(40, 15))], [sg.Button("Ok")]] + + window = sg.Window("Configurari", layout) + while True: + event, values = window.read() + # End program if user closes window or + # presses the OK button + if event == "Ok" or event == sg.WIN_CLOSED: + + break + if nook == 1: + notokfunction() + time.sleep(2) + #asteptam 10 secunde si pornim functia de setare printer + set_printer() + #verificam daca hostul corespunde cu ce este in formular + time.sleep(2) + if host == host_conf: + print("Host name ok") + else: + print("Host name not ok") + time.sleep(2) + print("Update Hostname" ) + cmd = "sudo hostnamectl set-hostname "+host_conf+"" # comanda sa schimbam hostnameul + os.popen(cmd) + print("Os hostname updated") + time.sleep(2) + print("System will reboot in 5 seconds") + time.sleep(1) + print("System will reboot in 4 seconds") + time.sleep(1) + print("System will reboot in 3 seconds") + time.sleep(1) + print("System will reboot in 2 seconds") + time.sleep(1) + print("System will reboot in 1 seconds") + time.sleep(3) + + + + window.close() +# incepem initializarea feresteri ptrincipale gui + +sg.theme('dark grey 9') #alegem tema dark grey +psg.set_options(font=('Arial Bold', 16)) # setam fontul +#setarile de layout +layout = [ + [sg.Text('Host_Name', size=(20,1)),sg.InputText(default_text= ""+host+"" , enable_events=False)], + [sg.Text('Loc De Munca', size=(20,1)),sg.InputText(default_text=""+idmasa+"", enable_events=False)], + + [sg.Button('Ok'), sg.Button('Cancel')] +] +# setam window +window = psg.Window('Form', layout, size=(800,190),finalize=True) +# citim si configuram widgetul pentru butoanele 1 si 0 din randul + +while True: + nook = 0 # cream o variabila care sa ne spuna daca a fost setao butonul ok sau nu + event, values = window.read() # citim valorile intr-o lista numita values + host_conf= values[0] # atribuim primul item din lista variabilei Host config + # aceasta variabila o vom folosi pentru a scrie sa nu noul hostname + print(host_conf) + if event == sg.WIN_CLOSED or event == 'Cancel': + nook = 1 # daca se da cancel setam variabila nook la 1 + break + config1 = values[1] # atribuim lui config 1 valuarea din campul Loc de munca care a fost scris cu Id masa + + + # pornim functi care scrie valorile config in fisiere ok function + okfunction() +# si inchidem formularul + + # semnalam ca s-a terminat afisarea formularului + break + + +#inchidem formularul +window.close() +# daca variabila nook este 1 +time.sleep(2) +os.system("sudo reboot now") + + + + + + + + + + + + + + + + diff --git a/data/idmasa.txt b/data/idmasa.txt new file mode 100644 index 0000000..6304b11 --- /dev/null +++ b/data/idmasa.txt @@ -0,0 +1 @@ +not_config \ No newline at end of file diff --git a/data/log.txt b/data/log.txt new file mode 100644 index 0000000..e69de29 diff --git a/data/tag.txt b/data/tag.txt new file mode 100644 index 0000000..e69de29 diff --git a/libraries.sh b/libraries.sh new file mode 100644 index 0000000..8f02d17 --- /dev/null +++ b/libraries.sh @@ -0,0 +1,14 @@ +#!/bin/bash +#install python libraries +echo -e "\e[1;32m Incepem Instalarea Librariilor Python \e[0m" +pip3 install /home/pi/Desktop/Prezenta/Files/reposytory/six-1.16.0-py2.py3-none-any.whl -f ./ --no-index --no-deps --break-system-packages +pip3 install /home/pi/Desktop/Prezenta/Files/reposytory/PyAutoGUI-0.9.54-py3-none-any.whl -f ./ --no-index --no-deps --break-system-packages +pip3 install /home/pi/Desktop/Prezenta/Files/reposytory/pynput-1.7.6-py2.py3-none-any.whl -f ./ --no-index --no-deps --break-system-packages +pip3 install /home/pi/Desktop/Prezenta/Files/reposytory/pyserial-3.5-py2.py3-none-any.whl -f ./ --no-index --no-deps --break-system-packages --no-warn-script-location +pip3 install /home/pi/Desktop/Prezenta/Files/reposytory/python_xlib-0.31-py2.py3-none-any.whl -f ./ --no-index --no-deps --break-system-packages +pip3 install /home/pi/Desktop/Prezenta/Files/reposytory/python3_xlib-0.15-py3-none-any.whl -f ./ --no-index --no-deps --break-system-packages +pip3 install /home/pi/Desktop/Prezenta/Files/reposytory/rdm6300-0.1.1-py3-none-any.whl -f ./ --no-index --no-deps --break-system-packages +pip3 install /home/pi/Desktop/Prezenta/Files/reposytory/typing_extensions-4.11.0-py3-none-any.whl -f ./ --no-index --no-deps --break-system-packages +pip3 install /home/pi/Desktop/Prezenta/Files/reposytory/FreeSimpleGUI-5.0.0-py3-none-any.whl -f ./ --no-index --no-deps --break-system-packages +pip3 install /home/pi/Desktop/Prezenta/Files/reposytory/func_timeout-4.3.5-py3-none-any.whl -f ./ --no-index --no-deps --break-system-packages +echo -e "\e[1;32m Librariile au fost instalate cu succes \e[0m" \ No newline at end of file