|
2 | 2 |
|
3 | 3 | [](https://github.com/nirsimetri/onvif-python?tab=MIT-1-ov-file) |
4 | 4 | [](https://deepwiki.com/nirsimetri/onvif-python) |
5 | | -[](https://github.com/nirsimetri/onvif-python/releases) |
| 5 | +[](https://github.com/nirsimetri/onvif-python/releases) |
6 | 6 | <br> |
7 | | -[](https://pypi.org/project/onvif-python/) |
| 7 | +[](https://pypi.org/project/onvif-python/) |
8 | 8 | [](https://clickpy.clickhouse.com/dashboard/onvif-python) |
9 | 9 |
|
10 | 10 | **Proyek ini menyediakan pustaka Python yang komprehensif dan ramah pengembang untuk bekerja dengan perangkat yang sesuai dengan ONVIF.** Pustaka ini dirancang agar andal, mudah diintegrasikan, dan cukup fleksibel untuk mendukung berbagai profil dan layanan ONVIF. |
@@ -120,6 +120,73 @@ Jelajahi penggunaan lanjutan dan operasi spesifik layanan di folder [`examples/` |
120 | 120 | > [!IMPORTANT] |
121 | 121 | > Jika Anda baru mengenal ONVIF dan ingin mempelajari lebih lanjut, kami sangat menyarankan untuk mengikuti kursus online gratis resmi yang disediakan oleh ONVIF di [Kursus Pengantar ONVIF](https://www.onvif.org/about/introduction-to-onvif-course). Harap dicatat bahwa kami tidak didukung atau disponsori oleh ONVIF, lihat [Pemberitahuan Hukum](#legal-notice) untuk detailnya. |
122 | 122 |
|
| 123 | +## ONVIF CLI |
| 124 | + |
| 125 | +> [!NOTE] |
| 126 | +> CLI secara otomatis terinstal saat Anda menginstal paket `onvif-python`, lihat [Instalasi](#instalasi). Fitur ini telah tersedia sejak onvif-python versi [0.1.0](https://github.com/nirsimetri/onvif-python/releases/tag/v0.1.1) |
| 127 | +
|
| 128 | +Pustaka ini menyertakan antarmuka baris perintah (CLI) yang kuat untuk berinteraksi dengan perangkat ONVIF langsung dari terminal Anda. CLI ini mendukung eksekusi perintah langsung dan mode shell interaktif, menyediakan cara yang fleksibel dan efisien untuk mengelola dan men-debug perangkat ONVIF. |
| 129 | + |
| 130 | +### Fitur |
| 131 | + |
| 132 | +- **Shell Interaktif:** Shell yang ramah pengguna dengan pelengkapan tab, riwayat perintah, dan output berwarna. |
| 133 | +- **Eksekusi Perintah Langsung:** Jalankan perintah ONVIF langsung dari terminal untuk skrip dan otomatisasi. |
| 134 | +- **Penemuan Otomatis:** Secara otomatis mendeteksi layanan yang tersedia di perangkat. |
| 135 | +- **Manajemen Koneksi:** Mendukung HTTP/HTTPS, timeout kustom, dan verifikasi SSL. |
| 136 | +- **Manajemen Data:** Simpan hasil dari perintah dan gunakan sebagai parameter dalam perintah berikutnya. |
| 137 | +- **Lintas Platform:** Bekerja di Windows, macOS, dan Linux. |
| 138 | + |
| 139 | +### Penggunaan |
| 140 | + |
| 141 | +**1. Mode Interaktif** |
| 142 | + |
| 143 | +Shell interaktif direkomendasikan untuk eksplorasi dan debugging. Ini menyediakan cara intuitif untuk menavigasi layanan, memanggil metode, dan melihat hasil. |
| 144 | + |
| 145 | +Untuk memulai shell interaktif, berikan detail koneksi: |
| 146 | + |
| 147 | +```bash |
| 148 | +onvif --host 192.168.1.17 --port 8000 --username admin --password admin123 -i |
| 149 | +``` |
| 150 | + |
| 151 | +Jika Anda tidak menyertakan nama pengguna atau kata sandi, Anda akan diminta untuk memasukkannya secara aman. |
| 152 | + |
| 153 | +**Perintah Shell Interaktif:** |
| 154 | +| Perintah | Deskripsi | |
| 155 | +|---|---| |
| 156 | +| `help` | Tampilkan informasi bantuan | |
| 157 | +| `ls` | Daftar layanan atau metode yang tersedia dalam konteks saat ini | |
| 158 | +| `cd <service>` | Masuk ke mode layanan (mis., `cd devicemgmt`) | |
| 159 | +| `up` | Kembali ke konteks root | |
| 160 | +| `pwd` | Tampilkan konteks layanan saat ini | |
| 161 | +| `desc <method>` | Tampilkan dokumentasi untuk sebuah metode | |
| 162 | +| `store <name>` | Simpan hasil terakhir dengan nama variabel | |
| 163 | +| `show <name>` | Tampilkan variabel yang disimpan | |
| 164 | +| `exit` / `quit` | Keluar dari shell | |
| 165 | + |
| 166 | +Anda dapat melihat semua perintah yang tersedia di shell interaktif dengan mencobanya langsung. |
| 167 | + |
| 168 | +**2. Eksekusi Perintah Langsung** |
| 169 | + |
| 170 | +Anda juga dapat mengeksekusi satu perintah ONVIF secara langsung. Ini berguna untuk skrip atau pengecekan cepat. |
| 171 | + |
| 172 | +**Sintaks:** |
| 173 | +```bash |
| 174 | +onvif <service> <method> [parameters...] -H <host> -P <port> -u <user> -p <pass> |
| 175 | +``` |
| 176 | + |
| 177 | +**Contoh:** |
| 178 | +```bash |
| 179 | +# Dapatkan kapabilitas perangkat |
| 180 | +onvif devicemgmt GetCapabilities Category=All -H 192.168.1.17 -P 8000 -u admin -p admin123 |
| 181 | + |
| 182 | +# Gerakkan kamera PTZ |
| 183 | +onvif ptz ContinuousMove ProfileToken=Profile_1 Velocity='{"PanTilt": {"x": 0.1}}' -H 192.168.1.17 -P 8000 -u admin -p admin123 |
| 184 | +``` |
| 185 | + |
| 186 | +### Parameter CLI |
| 187 | + |
| 188 | +Semua parameter `ONVIFClient` (seperti `--timeout`, `--https`, `--cache`, dll.) tersedia sebagai argumen baris perintah. Gunakan `onvif --help` untuk melihat semua opsi yang tersedia. |
| 189 | + |
123 | 190 | ## Parameter ONVIFClient |
124 | 191 |
|
125 | 192 | Kelas `ONVIFClient` menyediakan berbagai opsi konfigurasi untuk menyesuaikan perilaku koneksi, strategi caching, pengaturan keamanan, dan kemampuan debugging. Berikut adalah deskripsi detail dari semua parameter yang tersedia: |
@@ -551,8 +618,8 @@ Beberapa layanan ONVIF memiliki banyak binding dalam WSDL yang sama. Biasanya me |
551 | 618 | ## Peningkatan Mendatang (Pantau dan beri bintang ⭐ repo ini) |
552 | 619 |
|
553 | 620 | - [x] ~~Menambahkan mode debugging dengan raw XML pada permintaan dan respons SOAP.~~ ([c258162](https://github.com/nirsimetri/onvif-python/commit/c258162)) |
554 | | -- [x] ~~Menambahkan fungsionalitas agar `ONVIFClient` dapat menerima layanan `wsdl_dir` kustom.~~ ([65f2570](https://github.com/nirsimetri/onvif-python/commit/65f257092e4c9daa23dd0d00825ed38a45d23b70)) |
555 | | -- [ ] Menambahkan program `ONVIF CLI` untuk berinteraksi langsung dengan perangkat ONVIF melalui terminal. |
| 621 | +- [x] ~~Menambahkan fungsionalitas agar `ONVIFClient` dapat menerima layanan `wsdl_dir` kustom.~~ ([65f2570](https://github.com/nirsimetri/onvif-python/commit/65f2570)) |
| 622 | +- [x] ~~Menambahkan program `ONVIF CLI` untuk berinteraksi langsung dengan perangkat ONVIF melalui terminal.~~ ([645be01](https://github.com/nirsimetri/onvif-python/commit/645be01)) |
556 | 623 | - [ ] Menambahkan dukungan asynchronous (async/await) untuk operasi ONVIF non-blocking dan komunikasi perangkat secara bersamaan. |
557 | 624 | - [ ] Mengimplementasikan model data terstruktur untuk Skema ONVIF menggunakan [xsdata](https://github.com/tefra/xsdata). |
558 | 625 | - [ ] Mengintegrasikan [xmltodict](https://github.com/martinblech/xmltodict) untuk parsing dan konversi XML yang lebih sederhana. |
|
0 commit comments