From ceffb41989fb01cb53e1a884fdf22ab2e641186c Mon Sep 17 00:00:00 2001 From: pvvx Date: Sat, 27 Jan 2024 21:26:47 +0300 Subject: [PATCH] update PHY62x2BTHome.html --- bthome_phy6222/web/PHY62x2BTHome.html | 619 +++++++++++++++++++++++-- bthome_phy6222/web/phy6222.html | 621 -------------------------- bthome_phy6222/web/readme.txt | 40 -- bthome_phy6222/web/styles.css | 300 ------------- bthome_phy6222/web/test.bin | Bin 276 -> 0 bytes bthome_phy6222/web/test2.bin | Bin 20308 -> 0 bytes 6 files changed, 572 insertions(+), 1008 deletions(-) delete mode 100644 bthome_phy6222/web/phy6222.html delete mode 100644 bthome_phy6222/web/readme.txt delete mode 100644 bthome_phy6222/web/styles.css delete mode 100644 bthome_phy6222/web/test.bin delete mode 100644 bthome_phy6222/web/test2.bin diff --git a/bthome_phy6222/web/PHY62x2BTHome.html b/bthome_phy6222/web/PHY62x2BTHome.html index 106aecd..0701407 100644 --- a/bthome_phy6222/web/PHY62x2BTHome.html +++ b/bthome_phy6222/web/PHY62x2BTHome.html @@ -1,7 +1,308 @@ - -PHY62x2-BTHome v0.1 + +PHY62x2-BTHome v0.2 @@ -839,12 +1280,96 @@ window.onload = (event) => {

+
+
+
+ Параметры связи
+ + + + + + + + + + + + +
ФлагTx PowerConn. Latency
+Интервалы + + + + + + + + + + + + + +
РекламаИзмеренияУсреднениеУровень батареи
+ + +
+ + + + + + + + + + + + + + + + + + + +
Параметры сенсора:ТемператураВлажность
?
Поправочные коэффициенты
Коррекция смещения
+
+ + + + +
+

Файл прошивки: diff --git a/bthome_phy6222/web/phy6222.html b/bthome_phy6222/web/phy6222.html deleted file mode 100644 index 5f508b4..0000000 --- a/bthome_phy6222/web/phy6222.html +++ /dev/null @@ -1,621 +0,0 @@ - - - -PHY62x2-BTHome тестовая версия - - - -

PHY62x2-BTHome

-
- -
- -


- - - -

-
- - - -
- -
-

Файл прошивки: - - - -

-


- -
- -
-

- - -

-

- -
- Чтение и запись памяти:
- Адрес (hex): - - Данные (hex): -
- -
-
-
-
-
- \ No newline at end of file diff --git a/bthome_phy6222/web/readme.txt b/bthome_phy6222/web/readme.txt deleted file mode 100644 index 33b0a46..0000000 --- a/bthome_phy6222/web/readme.txt +++ /dev/null @@ -1,40 +0,0 @@ -01ff 50485936 593601000000200100111001000020 -01ff 01000000 50485936 593601000000200100111001000020 -01ff 20010011 50485936 0100 -01ff 20010011 50485936 0010 -01ff 20010011 50485936 1200 - - ffffffff010000002000011110010000 -0000504859360100000020000111100100004388 - - DFU -OTA send: 00ff -OTA read: ver: 01, err: 0, dbg: 0, start: 0, offs: 0x11010020, idx: 0x0010, total: 0x0011, crc: 0xC012FD5E -OTA send: 01ff20000111504859361200 -OTA read: ver: 01, err: 0, dbg: 0, start: 1, offs: 0x11010020, idx: 0xFFFF, total: 0x0012, crc: 0xC012FD5E -OTA send: 0000504859360100000020000111100100004388 -OTA read: ver: 01, err: 0, dbg: 0, start: 1, offs: 0x11010020, idx: 0x0000, total: 0x0012, crc: 0x557AB31D -OTA send: 010020010000f00000002000011100000000440b -OTA read: ver: 01, err: 0, dbg: 0, start: 1, offs: 0x11010020, idx: 0x0001, total: 0x0012, crc: 0xD52EEB28 -OTA send: 020000000000000000000000000000000000d05c -OTA read: ver: 01, err: 0, dbg: 0, start: 1, offs: 0x11010020, idx: 0x0002, total: 0x0012, crc: 0x04517BB9 -OTA send: 03000000000000000000000000000000000081a0 -OTA read: ver: 01, err: 0, dbg: 0, start: 1, offs: 0x11010020, idx: 0x0003, total: 0x0012, crc: 0xD28B9AE6 -OTA send: 04000000000000000000000000000000000030d5 -OTA read: ver: 01, err: 0, dbg: 0, start: 1, offs: 0x11010020, idx: 0x0004, total: 0x0012, crc: 0x5E306857 -OTA send: 0500000000000000000000000000000000006129 -OTA read: ver: 01, err: 0, dbg: 0, start: 1, offs: 0x11010020, idx: 0x0005, total: 0x0012, crc: 0xE0ADC600 -OTA send: 060000000000000000000000000000000000916d -OTA read: ver: 01, err: 0, dbg: 0, start: 1, offs: 0x11010020, idx: 0x0006, total: 0x0012, crc: 0xF1F2471C - -29:29: -29:31: Connecting to: BTH01-31BDBC -29:31: OTA: FF010100200001111100120050485936E5394CC0 -29:31: DevCfg: 000000001F501D000206B400 -29:31: . -29:33: : -29:33: PHY6 OTA ID: 36594850, : 1, : 0x11010000, : 20304 -29:33: : 20308 -29:33: : 1270 -29:46: ... -31:56: 129.404 \ No newline at end of file diff --git a/bthome_phy6222/web/styles.css b/bthome_phy6222/web/styles.css deleted file mode 100644 index 5ced65c..0000000 --- a/bthome_phy6222/web/styles.css +++ /dev/null @@ -1,300 +0,0 @@ -/* basic sytles */ - -body { - font-family: Arial, 'Open Sans', sans-serif; - color: #204056; -} - -h1 { - font-size: 28px; - font-weight: 400; - text-align: center; - margin-top: 12px; - margin-bottom: 18px; -} - -hr { - height: 10px; - border: 0; - box-shadow: 0 10px 10px -10px #8c8b8b inset; -} - -span#info { - font-style: italic; -} - -.button, [type='button'] { - background-color: #1a73e8; - border: none; - border-radius: 4px; - color: white; - padding: 8px 24px; - text-align: center; - text-decoration: none; - display: inline-block; - font-size: 14px; - margin: 6px 6px; - cursor: pointer; - box-shadow: 0 3px 1px -2px #0003, 0 2px 2px #00000024, 0 1px 5px #0000001f; -} - -.button, [type='button'].ok { - background-color: #4CAF50; /* Green */ - color: white; - border-color: #4CAF50; -} - -.button, [type='button'].danger { - background-color: #f44336; /* Red */ - color: white; - border-color: #f44336; -} - -.button, [type='button']:disabled { - cursor: not-allowed; - opacity: 0.6; -} - -input[type="checkbox"] + label { - margin-right: 8px; -} - -div#div_v { - height:400px; - margin-top: 16px; - margin-bottom: 16px; -} - -div#labdiv { - margin-top: 16px; - margin-bottom: 16px; -} - -div#log { - padding: 12px; - font-style: italic; - font-size: 16px; -} - -div#MAC { - font-style: smaller; - margin: 8px; -} - -div#txtStatus { - font-style: italic; - font-size: 16px; - text-align: center; - background-color: #eef6fc; - padding-top: 5px; - padding-bottom: 5px; - margin-top: 8px; -} - -div#tempHumiData{ - text-align: center; - background-color: #eef6fc; - padding-top: 5px; - padding-bottom: 5px; -} - -input { - padding: 4px; - margin: 4px; -} - -select { - padding: 4px; -} - -/* menu */ - -.navbar { - width: 95%; - /* box-shadow: 0 1px 4px rgb(146 161 176 / 15%);*/ - position: absolute; - top: 0; -} - -.nav-container { - display: flex; - justify-content: space-between; - align-items: center; - height: 62px; -} - -.navbar .menu-items { - display: flex; -} - -.navbar .nav-container li { - list-style: none; -} - -.navbar .nav-container a { - font-size: 1.0rem; - font-weight: 400; -} - -.navbar .nav-container a:hover{ - font-weight: bolder; -} - -.nav-container { - display: block; - position: relative; - height: 60px; -} - -.nav-container .checkbox { - position: absolute; - display: block; - height: 32px; - width: 32px; - top: 20px; - left: 20px; - z-index: 5; - opacity: 0; - cursor: pointer; -} - -.nav-container .hamburger-lines { - display: block; - height: 26px; - width: 32px; - position: absolute; - top: 17px; - left: 20px; - z-index: 2; - display: flex; - flex-direction: column; - justify-content: space-between; -} - -.nav-container .hamburger-lines .line { - display: block; - height: 4px; - width: 100%; - border-radius: 10px; - background: #0e2431; -} - -.nav-container .hamburger-lines .line1 { - transform-origin: 0% 0%; - transition: transform 0.4s ease-in-out; -} - -.nav-container .hamburger-lines .line2 { - transition: transform 0.2s ease-in-out; -} - -.nav-container .hamburger-lines .line3 { - transform-origin: 0% 100%; - transition: transform 0.4s ease-in-out; -} - -.navbar .menu-items { - position: relative; - padding-top: 55px; - box-shadow: 5px 3px 13px 0px rgb(204 204 204 / 80%); - min-height: 100vh; - width: 60%; - transform: translate(-150%); - display: flex; - flex-direction: column; - transition: transform 0.5s ease-in-out; - text-align: center; - z-index: 1; - background: white; -} - -.navbar .menu-items li { - margin-bottom: 12px; - font-size: 1.2rem; - font-weight: 800; -} - - -.nav-container input[type="checkbox"]:checked ~ .menu-items { - transform: translateX(0); -} - -.nav-container input[type="checkbox"]:checked ~ .hamburger-lines .line1 { - transform: rotate(45deg); -} - -.nav-container input[type="checkbox"]:checked ~ .hamburger-lines .line2 { - transform: scaleY(0); -} - -.nav-container input[type="checkbox"]:checked ~ .hamburger-lines .line3 { - transform: rotate(-45deg); -} - -.nav-container input[type="checkbox"]:checked ~ .logo{ - display: none; -} - - -.shadowbox { - width: 15em; - border: 1px solid #333; - box-shadow: 8px 8px 5px #444; - padding: 8px 12px; - background-image: linear-gradient(180deg, #fff, #ddd 40%, #ccc); -} - -.shadowprogress { - width: 15em; - border: 1px solid #333; - /* box-shadow: 8px 8px 5px #444; */ - padding: 8px 12px; - /* background-image: linear-gradient(180deg, #fff, #ddd 40%, #ccc); */ -} - -.shadowerror { - color: red; - width: 15em; - border: 1px solid #333; - box-shadow: 8px 8px 5px #444; - padding: 8px 12px; - background-image: linear-gradient(180deg, #fff, #ddd 40%, #ccc); -} - - -/* Style the tab */ -.tab { - overflow: hidden; - border: 1px solid #ccc; - background-color: #f1f1f1; -} - -/* Style the buttons inside the tab */ -.tab button { - background-color: inherit; - float: left; - border: none; - outline: none; - cursor: pointer; - padding: 14px 16px; - transition: 0.3s; - font-size: 17px; -} - -/* Change background color of buttons on hover */ -.tab button:hover { - background-color: #ddd; -} - -/* Create an active/current tablink class */ -.tab button.active { - background-color: #ccc; -} - -/* Style the tab content */ -.tabcontent { - display: none; - padding: 6px 12px; - border: 1px solid #ccc; - border-top: none; -} \ No newline at end of file diff --git a/bthome_phy6222/web/test.bin b/bthome_phy6222/web/test.bin deleted file mode 100644 index fdecb00455e323444aaf3ec69e39968a383a4cba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 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 V`k<=M&IWv%o!x&B5If)M4gl