Pembuat FloorPlan untuk pendamping ESPresense
Proyek ini dibuat untuk memudahkan pembuatan denah lantai untuk ESPresenseIPS (https://github.com/ESPresense/ad-espresense-ips) atau ESPresense-companion (https://github.com/ESPresense/ESPresense-companion) dengan memiliki gui. Ini menawarkan snap ke ruangan untuk memudahkan penyelarasan, memberi Anda ukuran di setiap sisi kursor saat berada di dinding. Aplikasi ini dikembangkan dalam HTML/JS/CSS, tanpa perpustakaan (tetapi fontnya luar biasa di cdn), Kekuatan kanvas!
Demo & pembuat denah lantai online
Anda sekarang dapat mencoba aplikasinya di : https://espresense.com/Floorplan-Creator/
Anda akan dapat menggambar rencana Anda, menguji aplikasi dan menghasilkan ekspor. Integrasi Mqtt seharusnya berfungsi tetapi dengan instance mqtt publik di https. (ssl mqtt sekarang diterapkan)
Cara menggunakan
- Unduh proyeknya
- buka "index.html" dengan browser
- mulai menggambar setiap ruangan
- tambahkan perangkat esp32 di dalam setiap ruangan
- klik tombol "ekspor ke yaml".
- salin kode yang dihasilkan ke file app.js ESPresenseIPS
- Opsional :
- setelah konfigurasi disalin dan AppDaemon dimulai ulang
- buka panel konfigurasi MQTT (⚙) dan masukkan konfigurasi Anda
- perangkat akan muncul di denah lantai secara real time
- perangkat juga akan muncul dalam daftar di panel konfigurasi mqtt
- nikmati penyesuaian segalanya untuk menjadikannya sempurna
Perubahan
03-12-2023
- Output yaml yang dimodifikasi agar kompatibel dengan https://github.com/ESPresense/ESPresense-companion
05-04-2022
- Perhitungan tetap untuk sebagian besar ruangan atas dan kiri (dalam beberapa kasus di mana sebagian besar ruangan atas dan kiri bukan ruangan yang sama) - Terima kasih @Shuttleu
21-03-2022
- Pemilih unit ditambahkan, saat memilih kaki, nilai akan dikonversi ke meter sebelum Yaml diekspor.
- Anda dapat mengaktifkan unit pada rencana yang sudah dibuat
- Aplikasi yang digunakan untuk menyimpan unit di penyimpanan lokal, sekarang menjadi variabel.
- Jika Anda memperbarui, Anda akan melihat satuan pada elemen denah dan kanan sebagai mm dan mft (karena satuan "m" lama ada di label dan saya menambahkan satuan variabel baru)
- Hanya bug UI, akan berfungsi seperti yang diharapkan
- Anda dapat menghapus "m" secara manual dari label ruangan di penyimpanan lokal jika itu mengganggu Anda.
03-05-2022
- Jadikan MQTT mengizinkan koneksi anonim - Terima kasih @DTTerastar
- Tangkap pengecualian pemutusan MQTT untuk mencegah kerusakan eksekusi javascript - Terima kasih @DTTerastar
- SSL diimplementasikan di klien MQTT - Terima kasih @DTTerastar
- SSL dapat dikonfigurasi dari panel pengaturan
- Sembunyikan/Tampilkan perangkat di denah lantai melalui panel Pengaturan MQTT
- Ubah warna perangkat pada denah lantai melalui panel Pengaturan MQTT
28-02-2022
- Menu alat baru di sebelah kiri
- Label baru beralih untuk menyembunyikan/menampilkan label rencana (judul ruangan dan meusres)
- Struktur file baru (proyek tidak seharusnya berkembang sebanyak ini)
- Perbaiki lekukan pada ekspor yaml
- Tambahkan nama ke perangkat esp32. Nama tersebut diekspor ke yaml
27-02-2022
- Tampilkan indikator panah di atas, kiri, bawah, dan kanan kanvas jika denah lantai berada di luar layar untuk menunjukkan di sisi mana kanvas berada
26-02-2022
- Panel kontrol MQTT sekarang menampilkan perangkat yang terhubung (dan perangkat yang dikenal meskipun tidak terhubung lagi)
- Klien MQTT untuk melacak perangkat
- Halaman pengaturan MQTT untuk memasukkan konfigurasi
- tampilkan perangkat di denah lantai secara realtime
26-02-2022
- Tampilkan tombol jangkauan perangkat ESP32
- Cakupan ESP32 ditampilkan sebagai lingkaran di sekitar perangkat
- Jarak cakupan dapat disesuaikan
- Warna lingkaran dapat disesuaikan
- Lingkaran cakupan dapat terlihat saat menempatkan perangkat untuk membantu memposisikannya dengan benar
- Sekarang Anda bahkan dapat membuat karya seni dengan aplikasi ini.
25-02-2022
- Tema Gelap
- Perbaiki koordinat denah lantai yaml (dalam cm membutuhkan m)
- Ikon dan perubahan kecil pada UI
- Tambahkan ESP32 ke Ruangan
- Edit nilai ESP32 Z dan lihat kode yamlnya
- yaml ekspor sekarang mengekspor posisi esp32 juga
24-02-2022
- Gulir/Roda Mouse untuk memindahkan denah lantai di kanvas
Apa yang direncanakan.
[ ] UI/UX yang lebih baik.
[✓] Gulir/Roda pada kanvas untuk memindahkan denah lantai.
[ ] Memperbesar kanvas.
[ ] Geser ke atas kanvas.
[✓] Kemampuan untuk menambahkan esp32 di ruangan dan memposisikannya dengan presisi.
[✓] Ekspor posisi esp32 dari ruangan ke format yaml ESPresenseIPS.
[✓] Tampilkan setiap radius sinyal bluetooth esp32 di rencana untuk memastikan Anda memiliki setidaknya 3 sinyal di setiap ruangan. (akan membantu menentukan di mana tempat terbaik untuk meletakkannya ;)).
[✓] Klien MQTT untuk menampilkan perangkat di denah lantai secara langsung.
[ ] Memungkinkan perubahan presisi saat menyeret/membuat ruangan.
[✓] SSL untuk MQTT (untuk dapat meng-host aplikasi di folder www asisten rumah pada instance https)
[✓] Bilah alat kiri
[ ] Toolbar kiri dengan pengubah nilai untuk memungkinkan pengguna menyesuaikan ambang batas jepretan dan presisi dan banyak lagi
[✓] Perbaiki lekukan di Yaml
[ ] Pemfaktoran ulang kode, tambahkan komentar.
Teknis
Ruangan berbentuk U/L :
- Buat beberapa ruangan untuk mencapai bentuk yang diinginkan
- Beri nama semuanya dengan nama yang sama
- ESPresenseIPS harus mengirimkan nama yang sama ke asisten rumah jika pengguna berada di salah satu ruangan tersebut.
Posisi dihitung sebagai berikut:
- temukan ruangan dengan nilai x terkecil (sisi kiri layar)
- temukan ruangan dengan nilai y terkecil (bagian atas layar)
- menghasilkan offset dengan 2 nilai tersebut (yang berarti "terkecilX, terkecilY" sekarang menjadi posisi "0,0"
- setiap posisi yang disimpan dari ruang undian kemudian dihitung ulang dengan offset ini
Menggulir :
- Gulungan itu menggerakkan denah lantai di kanvas
- posisi gulir diperbarui langsung di penyimpanan (daripada mengimbangi di mana pun dalam kode)
- koordinat awal setiap ruangan AKAN berubah jika Anda gulir
- Hal ini tidak berpengaruh pada nilai akhir ekspor karena cara penghitungannya sebelum diekspor.
Perangkat ESP32 :
- Perangkat hanya mengekspor nilai x, y, z
- Perangkat memiliki nama ruangannya saat diekspor ke yaml
- nilai z diatur ke 0 secara default dan dapat diubah saat membuka modal perangkat (kotak hijau di bawah nama ruangan di menu kanan)
- cakupan dan nilai warna hanya untuk tujuan tampilan (tidak diekspor)
Pemulihan / YAML ke JSON / Penyimpanan lokal yang dihapus.... Ups! (jika Anda sudah mengekspor kode yaml sebelumnya):
- di aplikasi, klik tombol pemulihan.
- baca Alertnya, klik ok
- membaca teks di atas modal
- tempelkan kode yaml Anda ke area yaml (kiri).
- di sebelah kanan Anda akan melihat objek json yang sesuai.
- klik "simpan" dan muat ulang, Anda akan melihat denah lantai Anda lagi.
- Fitur ini bersifat eksperimental, proses konversi dikodekan dengan buruk dan mungkin hanya berfungsi untuk sintaksis tertentu (lihat kode denah lantai di bawah untuk contoh kode proses konversi)
- Konversi TIDAK menghitung ulang posisi label untuk ruangan sehingga Anda akan memiliki label di kiri atas dan beberapa label tidak ditentukan di menu kanan. tetapi ini dapat menghemat waktu Anda dan Anda masih dapat mengerjakannya dan mengekspor yaml yang diperbarui tanpa masalah
- Ini adalah jaring pengaman bonus, jika berhasil, berbahagialah, jika berhasil, mulailah menggambar. Saya mungkin tidak akan memperbarui "fitur" ini
Cobalah untuk memiliki ruangan: ... lalu denah ruangan: ... , untuk denah ruangan, buatlah y1, x1, y2, x2 dalam urutan itu. ruangan: nama harus sesuai dengan denah ruangan: nama (karena aplikasi perlu meletakkan perangkat di dalam ruangan dan perhitungan dilakukan dengan nama tersebut)
rooms:
kitchen: [0.035, 2.285, 0]
bedroom: [3.68, 11.045, 1.2]
livingroom: [3.59, 5.805, 1.2]
second_bedroom: [7.275, 5.559928991794586, 0]
office: [10.48, 2.715, 0]
roomplans:
- name: kitchen
y1: 0
x1: 0
y2: 4.29
x2: 3.59
- name: bathroom
y1: 4.29
x1: 0
y2: 6.72
x2: 2.36
- name: toilet
y1: 6.72
x1: 0
y2: 7.98
x2: 2.36
- name: second_bedroom
y1: 7.98
x1: 0
y2: 12.06
x2: 3.68
- name: bedroom
y1: 7.98
x1: 3.68
y2: 12.06
x2: 7.6
- name: entrance
y1: 4.29
x1: 2.36
y2: 7.98
x2: 3.59
- name: entrance
y1: 6.2
x1: 3.59
y2: 7.98
x2: 7.6
- name: livingroom
y1: 1.37
x1: 3.59
y2: 6.2
x2: 7.6
- name: office
y1: 0
x1: 7.6
y2: 4.92
x2: 10.53
Sedikit sekilas (Kedaluwarsa tetapi saat ini saya tidak dapat mengambil yang baru - Periksa demo untuk melihat desain dan fitur baru)