瀏覽代碼

应控制板需求升级需要,修改工具
更新web,解决传感器问题

guohui 1 年之前
父節點
當前提交
fc2017ba39
共有 57 個文件被更改,包括 279 次插入 和 220 次删除
  1. 二進制
      cust_data/db/pdu_dat.db
  2. 二進制
      cust_data/db/pdu_dat_itk.db
  3. 0 0
      cust_data/web/unique/css/chunk-0a47aaf3.5b9d9851.css
  4. 1 0
      cust_data/web/unique/css/chunk-0d247607.c45ccf07.css
  5. 1 1
      cust_data/web/unique/css/chunk-9ce6cd52.ecea2c5f.css
  6. 0 0
      cust_data/web/unique/css/chunk-1802d6e7.2f9fde42.css
  7. 1 0
      cust_data/web/unique/css/chunk-23d8d922.8180beb4.css
  8. 1 0
      cust_data/web/unique/css/chunk-2753c842.5b9d9851.css
  9. 1 0
      cust_data/web/unique/css/chunk-2d6cff62.5b9d9851.css
  10. 0 1
      cust_data/web/unique/css/chunk-2e2e088e.8711ef24.css
  11. 1 0
      cust_data/web/unique/css/chunk-41d85784.bce0f544.css
  12. 0 1
      cust_data/web/unique/css/chunk-4b7acf40.e6f929ce.css
  13. 1 0
      cust_data/web/unique/css/chunk-4ec83b84.5b9d9851.css
  14. 0 1
      cust_data/web/unique/css/chunk-6739658a.94132185.css
  15. 1 0
      cust_data/web/unique/css/chunk-9171b1c4.5b9d9851.css
  16. 1 0
      cust_data/web/unique/css/chunk-c2f7f298.5b9d9851.css
  17. 24 21
      cust_data/web/unique/i18n/i18n_deguo.js
  18. 8 7
      cust_data/web/unique/i18n/i18n_eguo.js
  19. 86 80
      cust_data/web/unique/i18n/i18n_faguo.js
  20. 14 8
      cust_data/web/unique/i18n/i18n_putaoya.js
  21. 10 4
      cust_data/web/unique/i18n/i18n_riben.js
  22. 17 11
      cust_data/web/unique/i18n/i18n_xibanya.js
  23. 13 7
      cust_data/web/unique/i18n/i18n_yidali.js
  24. 33 31
      cust_data/web/unique/i18n/i18n_yingguo.js
  25. 10 4
      cust_data/web/unique/i18n/i18n_zh_CN.js
  26. 1 1
      cust_data/web/unique/index.html
  27. 1 1
      cust_data/web/unique/js/app.4f5baea6.js
  28. 1 0
      cust_data/web/unique/js/chunk-0a47aaf3.586fcb8a.js
  29. 1 0
      cust_data/web/unique/js/chunk-0d247607.d970d393.js
  30. 1 0
      cust_data/web/unique/js/chunk-0e2b77f1.d4ca43c6.js
  31. 1 0
      cust_data/web/unique/js/chunk-1802d6e7.5e4e8988.js
  32. 0 1
      cust_data/web/unique/js/chunk-1a575f50.12d62b34.js
  33. 1 0
      cust_data/web/unique/js/chunk-23d8d922.9ae830ca.js
  34. 1 1
      cust_data/web/unique/js/chunk-a30f4934.12518d63.js
  35. 1 0
      cust_data/web/unique/js/chunk-2d6cff62.f11f6dc1.js
  36. 0 1
      cust_data/web/unique/js/chunk-2e2e088e.a30d0df5.js
  37. 0 1
      cust_data/web/unique/js/chunk-2f8b1dc1.06166a13.js
  38. 0 1
      cust_data/web/unique/js/chunk-3b69bc00.7c79fa09.js
  39. 1 0
      cust_data/web/unique/js/chunk-41d85784.96f3473b.js
  40. 0 1
      cust_data/web/unique/js/chunk-4b7acf40.a490e1e4.js
  41. 1 0
      cust_data/web/unique/js/chunk-4ec83b84.d4aaf025.js
  42. 0 1
      cust_data/web/unique/js/chunk-6545ef94.4e35de0d.js
  43. 1 0
      cust_data/web/unique/js/chunk-6545ef94.d1e9cfa3.js
  44. 0 1
      cust_data/web/unique/js/chunk-6739658a.05885b69.js
  45. 1 0
      cust_data/web/unique/js/chunk-9171b1c4.224d7e4a.js
  46. 0 1
      cust_data/web/unique/js/chunk-9ce6cd52.74891fc6.js
  47. 1 0
      cust_data/web/unique/js/chunk-c2f7f298.2a555cc4.js
  48. 0 1
      cust_data/web/unique/js/chunk-c649c72c.75335b9b.js
  49. 0 1
      cust_data/web/unique/js/chunk-d92aa48c.a747b500.js
  50. 0 1
      cust_data/web/unique/js/chunk-df57d78c.2d52ee68.js
  51. 4 4
      pro/src/common.h
  52. 3 2
      pro/src/json_handle.c
  53. 10 9
      pro/src/upg.c
  54. 3 0
      tools/mb/cfg.h
  55. 18 10
      tools/mb/mb.cpp
  56. 2 3
      tools/mb/md5.c
  57. 1 1
      tools/mb/md5.h

二進制
cust_data/db/pdu_dat.db


二進制
cust_data/db/pdu_dat_itk.db


cust_data/web/unique/css/chunk-a30f4934.5b9d9851.css → cust_data/web/unique/css/chunk-0a47aaf3.5b9d9851.css


+ 1 - 0
cust_data/web/unique/css/chunk-0d247607.c45ccf07.css

@@ -0,0 +1 @@
+.el-form-item__content .el-button--mini{width:unset}

文件差異過大導致無法顯示
+ 1 - 1
cust_data/web/unique/css/chunk-9ce6cd52.ecea2c5f.css


cust_data/web/unique/css/chunk-df57d78c.2f9fde42.css → cust_data/web/unique/css/chunk-1802d6e7.2f9fde42.css


+ 1 - 0
cust_data/web/unique/css/chunk-23d8d922.8180beb4.css

@@ -0,0 +1 @@
+.el-form-item__content[data-v-3a1de3ad]{border:1px solid #dcdfe6;border-radius:20px;padding:10px;background-color:#f2f6fc}.el-input[data-v-3a1de3ad]{border-radius:20px}.el-form-item__content .el-button--mini[data-v-3a1de3ad]{width:unset}

+ 1 - 0
cust_data/web/unique/css/chunk-2753c842.5b9d9851.css

@@ -0,0 +1 @@
+.el-form-item__content .el-button--mini{width:unset}

+ 1 - 0
cust_data/web/unique/css/chunk-2d6cff62.5b9d9851.css

@@ -0,0 +1 @@
+.el-form-item__content .el-button--mini{width:unset}

+ 0 - 1
cust_data/web/unique/css/chunk-2e2e088e.8711ef24.css

@@ -1 +0,0 @@
-.el-form-item__content[data-v-217ee6de]{border:1px solid #dcdfe6;border-radius:20px;padding:10px;background-color:#f2f6fc}.el-input[data-v-217ee6de]{border-radius:20px}

+ 1 - 0
cust_data/web/unique/css/chunk-41d85784.bce0f544.css

@@ -0,0 +1 @@
+.el-form-item__content .el-button--mini[data-v-84d9c9c0]{border-radius:10px;background-color:#fff;width:80px;margin-left:10px}.row-item[data-v-84d9c9c0]{display:-webkit-box;line-height:40px}.row-item-title[data-v-84d9c9c0]{font-weight:700;padding-right:10px}.row-item-content[data-v-84d9c9c0]{width:50%;white-space:nowrap;word-wrap:normal;word-break:keep-all;text-overflow:ellipsis;overflow:hidden}.disabledEdit[data-v-84d9c9c0]{.el-form-item__content{pointer-events:none}}

+ 0 - 1
cust_data/web/unique/css/chunk-4b7acf40.e6f929ce.css

@@ -1 +0,0 @@
-.el-form-item__content .el-button--mini{width:100px}

+ 1 - 0
cust_data/web/unique/css/chunk-4ec83b84.5b9d9851.css

@@ -0,0 +1 @@
+.el-form-item__content .el-button--mini{width:unset}

+ 0 - 1
cust_data/web/unique/css/chunk-6739658a.94132185.css

@@ -1 +0,0 @@
-.el-form-item__content .el-button--mini[data-v-165a1061]{border-radius:10px;background-color:#fff;width:80px;margin-left:10px}.row-item[data-v-165a1061]{display:-webkit-box;line-height:40px}.row-item-title[data-v-165a1061]{font-weight:700;padding-right:10px}.row-item-content[data-v-165a1061]{width:50%;white-space:nowrap;word-wrap:normal;word-break:keep-all;text-overflow:ellipsis;overflow:hidden}.disabledEdit[data-v-165a1061]{.el-form-item__content{pointer-events:none}}

+ 1 - 0
cust_data/web/unique/css/chunk-9171b1c4.5b9d9851.css

@@ -0,0 +1 @@
+.el-form-item__content .el-button--mini{width:unset}

+ 1 - 0
cust_data/web/unique/css/chunk-c2f7f298.5b9d9851.css

@@ -0,0 +1 @@
+.el-form-item__content .el-button--mini{width:unset}

+ 24 - 21
cust_data/web/unique/i18n/i18n_deguo.js

@@ -65,8 +65,8 @@ const i18n_deguo= {
   "sxym":"Seite aktualisieren",
   "gbdq":"Strom schließen",
   "gbqt":"Schließen Sie andere",
-  "gbyc":"Rechts schließen",
-  "gbzc":"Nah links",
+  "gbyc":"rechts schließen",
+  "gbzc":"nah links",
   "qbgb":"Alle schließen",
   "tj":"Hinzufügen",
   "yhzh":"Benutzerkonto",
@@ -80,7 +80,7 @@ const i18n_deguo= {
   "jsmc":"Charaktername",
   "qxzf":"Berechtigungszeichen",
   "cdqx":"Menüberechtigungen",
-  "zkzd":"Erweitern/reduzieren",
+  "zkzd":"erweitern/reduzieren",
   "qxqbx":"Alles auswählen/Alle abwählen",
   "fzld":"Vater-Sohn-Verbindung",
   "cdmc":"Menüname",
@@ -123,10 +123,10 @@ const i18n_deguo= {
   "mjsfzt":"Zugangsfreigabezustand",
   "qtld":"Gaskonzentration (mg/m³ oder PPM)",
   "qtld2":"Gaskonzentration",
-  "h":"Oder",
+  "h":"oder",
   "qlz":"Luftstromwert",
   "qyz":"Luftdruckwert",
-  "fw":"Zurücksetzen",
+  "fw":"zurücksetzen",
   "dyl":"Stromversorgung",
   "cgql":"Sensortyp",
   "wll":"Netzwerkklasse",
@@ -159,7 +159,7 @@ const i18n_deguo= {
   "xq":"Einzelheiten",
   "ms":"beschreiben",
   "wl":"Netzwerk",
-  "sz":"Aufstellen",
+  "sz":"aufstellen",
   "xzms":"Auswahlmodus",
   "sgsz":"Manuelle Einstellung",
   "zdhq":"Automatisch erhalten",
@@ -210,7 +210,7 @@ const i18n_deguo= {
   "zzjzqsh":"Dienstüberwachungsdaten werden geladen. Bitte warten!",
   "tdfzlx":"Kanalbelastungstyp",
   "sfqztc":"Bestätigen Sie, dass der Name für die erzwungene Auszahlung lautet",
-  "yhm":"Der Benutzer?",
+  "yhm":"der Benutzer?",
   "qtcg":"Zwangsrückzug erfolgreich",
   "pz":"Konfiguration",
   "sznr":"Zahleninhalt",
@@ -275,19 +275,19 @@ const i18n_deguo= {
   "wbj":"Keine Alarmierung",
   "sb":"Verriegelung",
   "sf":"Freigeben",
-  "qr":"Einmarschieren",
+  "qr":"einmarschieren",
   "wqr":"Keine Eindringung",
   "zx":"Online",
   "lix":"Offline",
   "duank":"Trennen",
   "jt":"Einschalten",
   "kt":"Klimaanlage",
-  "jhj":"Schalten",
+  "jhj":"schalten",
   "lyq":"Router",
   "jsj":"Computer",
   "xsq":"Monitor",
   "d":"Lampe",
-  "qt":"Andere",
+  "qt":"andere",
   "wksz":"Netzwerk-Port-Einstellungen",
   "sd":"Manuell",
   "zd":"Automatisch",
@@ -301,8 +301,8 @@ const i18n_deguo= {
   "cgq":"Sensor",
   "gjzt":"Alarmstatus",
   "jctd":"Überwachungskanal",
-  "dt":"Heute",
-  "ge":"Individuell",
+  "dt":"heute",
+  "ge":"individuell",
   "yggl":"Wirkleistung",
   "wggl":"Blindleistung",
   "szgl":"Scheinleistung",
@@ -403,7 +403,7 @@ const i18n_deguo= {
   "sblx2":"AC-Eingang – einphasiger Ausgang",
   "sblx3":"Dreiphasen-Wechselstrom Ein-Aus",
   "sblx4":"Dreiphasiger Wechselstromeingang, einphasiger Ausgang",
-  "sblx5":"Andere",
+  "sblx5":"andere",
   "plsz":"Massenkonfiguration",
   "startTime":"Startzeit",
   "endTime":"Endzeit",
@@ -423,7 +423,7 @@ const i18n_deguo= {
   "zssc":"Zertifikat hochladen",
   "mqbcts":"Die maximale Anzahl der Broker ist auf 5 begrenzt",
   "xtpz":"Systemkonfiguration",
-  "wu":"Keiner",
+  "wu":"keiner",
   "rzxy":"Authentifizierungsprotokoll",
   "rzmm":"Authentifizierungspasswort",
   "jmxy":"Verschlüsselungsprotokoll",
@@ -456,11 +456,14 @@ const i18n_deguo= {
   "shewm":"After-Sales-QR-Code",
   "sbewm":"Geräte-QR-Code",
   "cpbh":"Produktnummer",
-  "xlcgq": "Lecksensor",
-  "dwdcgq": "Einzeltemperatursensor",
-  "cgqzt": "Sensorstatus",
-  "xl": "Leckage",
-  "zc": "Normal",
-  "stwdcgq": "Temperatursensor mit zwei Köpfen",
-  "ylcgq": "Drucksensor",
+  "xlcgq":"Lecksensor",
+  "dwdcgq":"Einzeltemperatursensor",
+  "cgqzt":"Sensorstatus",
+  "xl":"Leckage",
+  "zc":"normal",
+  "stwdcgq":"Doppelkopf-Temperatursensor",
+  "ylcgq":"Drucksensor",
+  "RS485adress":"RS485-Adresse"
+
+
 }

+ 8 - 7
cust_data/web/unique/i18n/i18n_eguo.js

@@ -457,11 +457,12 @@ const i18n_eguo={
   "shewm":"Двухмерный код после продажи",
   "sbewm":"QR - код устройства",
   "cpbh":"Номер продукта",
-  "xlcgq": "Сенсор утечки",
-  "dwdcgq": "Однотемпературный датчик",
-  "cgqzt": "Состояние датчика",
-  "xl": "Утечка",
-  "zc": "Нормально",
-  "stwdcgq": "Двухголовый температурный датчик",
-  "ylcgq": "Датчик давления",
+  "xlcgq":"Датчик утечки",
+  "dwdcgq":"однотемпературный датчик",
+  "cgqzt":"Состояние датчика",
+  "xl":"Утечка",
+  "zc":"Нормально.",
+  "stwdcgq":"Двухголовый датчик температуры",
+  "ylcgq":"Датчик давления",
+  "RS485adress":"RS485 Адрес"
 }

+ 86 - 80
cust_data/web/unique/i18n/i18n_faguo.js

@@ -1,5 +1,5 @@
 const i18n_faguo={
-  "changeLanguage":"Changer de langue",
+  "changeLanguage":"changer de langue",
   "loginFormTitle":"WebCtrl",
   "loginFormTitle2":"Système de gestion de terminaux IoT",
   "loginFormTitle3":"",
@@ -15,18 +15,18 @@ const i18n_faguo={
   "hybtnLogin":"Bienvenue pour vous connecter",
   "rememberPassword":"Se souvenir du mot de passe",
   "tcdl":"Se déconnecter",
-  "ts":"Indice",
+  "ts":"indice",
   "qdzx":"Êtes-vous sûr de vouloir vous déconnecter et quitter le système ?",
   "qd":"Confirmer",
-  "sy":"Première page",
+  "sy":"première page",
    "gd":"Plus",
   "xz":"Nouveau",
   "xg":"Modifier",
   "sc":"Supprimer",
-  "bc":"Sauvegarder",
-  "qr":"Confirmer",
+  "bc":"sauvegarder",
+  "qr":"confirmer",
   "qx":"Annuler",
-  "dr":"Importer",
+  "dr":"importer",
   "dc":"Exporter",
   "cz":"Opération",
 
@@ -36,7 +36,7 @@ const i18n_faguo={
   "nc":"Mémoire",
   "zkb":"Tableau de commande principal",
   "cpzyl":"Utilisation du disque",
-  "jl":"Cascade",
+  "jl":"cascade",
   "sbsl":"Nombre d'appareils",
 
   "ztjkzt":"Surveillance de l'état global",
@@ -50,19 +50,19 @@ const i18n_faguo={
   "qrykqm2":"Confirmez-vous l'activation de tous les canaux de l’appareil ?",
   "qrygbm":"Êtes-vous sûr de vouloir le fermer?",
   "qrygbm2":"Confirmez-vous la désactivation de tous les canaux de l’appareil?",
-  "bnwk":"Ne peut pas être vide",
+  "bnwk":"ne peut pas être vide",
   "qsr":"Veuillez entrer",
-  "xmn":"Nouveau mot de passe",
+  "xmn":"nouveau mot de passe",
   "xgcg":"Modification réussie",
   "xzcg":"Ajouté avec succès",
   "sccg":"Supprimé avec succès",
-  "jsbh":"Numéro de rôle",
+  "jsbh":"numéro de rôle",
   "xssx":"Ordre d'affichage",
   "jzzqsh":"Chargement, veuillez patienter",
   "djtb":"Cliquez sur l'icône de sélection",
 
 
-  "sxym":"Actualiser la page",
+  "sxym":"actualiser la page",
   "gbdq":"Fermer le courant",
   "gbqt":"Fermer autre",
   "gbyc":"fermer à droite",
@@ -73,24 +73,24 @@ const i18n_faguo={
   "yhmc":"Nom d'utilisateur",
   "yhjs":"Rôle de l'utilisateur",
   "cjsj":"Heure de création",
-  "czmm":"Réinitialiser le mot de passe",
+  "czmm":"réinitialiser le mot de passe",
   "ss":"Requête",
-  "czhi":"Réinitialiser",
+  "czhi":"réinitialiser",
   "js":"Rôle",
   "jsmc":"Nom du personnage",
-  "qxzf":"Caractères d'autorisation",
+  "qxzf":"caractères d'autorisation",
   "cdqx":"Autorisations des menus",
-  "zkzd":"Développer/réduire",
+  "zkzd":"développer/réduire",
   "qxqbx":"Tout sélectionner/Tout désélectionner",
   "fzld":"Lien père-fils",
   "cdmc":"Nom du menu",
-  "zjlj":"Chemin du composant",
+  "zjlj":"chemin du composant",
   "sjcd":"Menu précédent",
   "cdlx":"Type de menu",
-  "cdtb":"Icône de menu",
+  "cdtb":"icône de menu",
   "xspx":"Afficher le tri",
-  "lydz":"Adresse de routage",
-  "zml":"Catégorie principale",
+  "lydz":"adresse de routage",
+  "zml":"catégorie principale",
   "sbmc":"Nom de l'appareil",
   "sbbh":"Numéro de l'appareil",
   "zdy":"Tension totale",
@@ -106,7 +106,7 @@ const i18n_faguo={
   "dy":"Tension",
   "dl":"Courant",
   "gl":"Puissance",
-  "drong":"Capacitance",
+  "drong":"capacitance",
   "hdl":"Consommation d'énergie",
   "ztztlsjl":"Historique de l'état général",
   "tdztlsjl":"Historique de l'état du canal",
@@ -123,19 +123,19 @@ const i18n_faguo={
   "mjsfzt":"État de libération d'accès",
   "qtld":"Concentration de gaz(mg/m³ou PPM)",
   "qtld2":"Concentration de gaz",
-  "h":"Ou",
+  "h":"ou",
   "qlz":"Valeur de flux d'air",
   "qyz":"Valeur de pression d'air",
-  "fw":"Réinitialiser",
-  "dyl":"D'alimentation",
-  "cgql":"De capteur",
-  "wll":" Réseau",
+  "fw":"réinitialiser",
+  "dyl":"d'alimentation",
+  "cgql":"de capteur",
+  "wll":" réseau",
   "gj":"Alarme",
   "gjbh":"Numéro d'alarme",
   "sj":"Temps",
   "lx":"Type",
-  "nr":"Contenu",
-  "yz":"Seuil",
+  "nr":"contenu",
+  "yz":"seuil",
   "dylx":"Type d'alimentation",
   "dylztyz":"Seuil d'état de l'alimentation",
   "cgqlyz":"Seuil de capteur",
@@ -151,15 +151,15 @@ const i18n_faguo={
   "dw":"Unité",
   "fssj":"Heure d'apparition",
   "xtmk":"Module système",
-  "ry":"Personnel",
-  "rq":"Date",
+  "ry":"personnel",
+  "rq":"date",
   "xhsj":"Prend du temps",
-  "hm":"Milliseconde",
-  "rz":"Enregistrer",
+  "hm":"milliseconde",
+  "rz":"enregistrer",
   "xq":"Détails",
-  "ms":"Décrire",
-  "wl":"Réseau",
-  "sz":"Installation",
+  "ms":"décrire",
+  "wl":"réseau",
+  "sz":"installation",
   "xzms":"Mode de sélection",
   "sgsz":"Réglage manuel",
   "zdhq":"Obtenez automatiquement",
@@ -170,7 +170,7 @@ const i18n_faguo={
   "cj":"Esclave",
   "kq":"Allumer",
   "gb":"Éteindre",
-  "fwq":"Serveur",
+  "fwq":"serveur",
   "dk2":"Port",
   "rzfs":"Méthode d'authentification",
   "jszh":"Compte de réception",
@@ -180,37 +180,37 @@ const i18n_faguo={
   "fwdz":"Adresse du service",
   "rqsj":"Date et heure",
   "qxz":"Veuillez sélectionner",
-  "xuh":"Numéro de série",
-  "jg":"Intervalle",
+  "xuh":"numéro de série",
+  "jg":"intervalle",
   "cq":"Redémarrage",
-  "sej":"Mise à niveau",
-  "bbh":"Numéro de version",
+  "sej":"mise à niveau",
+  "bbh":"numéro de version",
   "drts":"Faites glisser les fichiers ici, ou",
   "djsc":"Cliquez pour télécharger",
-  "cp":"Produit",
+  "cp":"produit",
   "jyxdr":"Seules les importations autorisées",
-  "gswj":"Formater le fichier",
+  "gswj":"formater le fichier",
   "cgqpz":"Configuration du capteur",
   "gjyzpz":"Configuration des seuils et des règles d'alarme",
   "fwglpz":"Configuration de la gestion des services",
   "wz":"Site internet",
-  "shib":"Équipement",
+  "shib":"équipement",
   "shdh":"Téléphone du service après-vente",
   "yx":"Courriel",
  "ewm":"Code QR",
   "ck":"Vérifier",
-  "tp":"Image",
-  "xh":"Modèle",
+  "tp":"image",
+  "xh":"modèle",
   "xtsj":"Heure du système",
   "xtjk":"Interface système",
-  "yc":"Anormal",
+  "yc":"anormal",
   "cstc":"Quitter avec délai d'attente",
   "zk":"Total ouvert",
   "zg":"Total fermé",
   "zzjzqsh":"Chargement des données de surveillance du service, veuillez patienter !",
   "tdfzlx":"Type de charge du canal",
   "sfqztc":"Confirmez-vous que le nom du retrait forcé est",
-  "yhm":"Des utilisateurs ?",
+  "yhm":"des utilisateurs ?",
   "qtcg":"Retraite forcée réussie",
   "pz":"Configuration",
   "sznr":"Valeur numérique",
@@ -230,7 +230,7 @@ const i18n_faguo={
   "kqjgsj":"Temps d'intervalle activé",
   "gbjgsj":"Temps d'intervalle fermé",
   "bjjgsj":"Modifier le temps d'intervalle",
-  "px":"Trier",
+  "px":"trier",
   "qdybcpx":"Etes-vous sûr de vouloir enregistrer ce tri ?",
   "czrzxq":"Journal de fonctionnement détaillé",
   "czry":"Opérateur",
@@ -238,7 +238,7 @@ const i18n_faguo={
   "czlx":"Type d'opération",
   "czdz":"Adresse d'opération",
   "czdd":"Contenu de l'opération",
-  "czzt":"État de fonctionnement",
+  "czzt":"état de fonctionnement",
   "czrq":"Date de l'opération",
 
   "czmk":"Module d'exploitation",
@@ -261,8 +261,8 @@ const i18n_faguo={
   "jkqqcs":"Expiration du délai de requête de l'interface système",
   "xtts":"Message système",
   "ml":"Table des matières",
-  "cd":"Menu",
-  "an":"Bouton",
+  "cd":"menu",
+  "an":"bouton",
   "szsx":"Définir la séquence",
   "wsdcgq":"Capteur de température et d'humidité",
   "ywcgq":"Détecteur de fumée",
@@ -275,40 +275,40 @@ const i18n_faguo={
   "wbj":"Pas d'alarme",
   "sb":"Verrouillage",
   "sf":"Libérer",
-  "qr":"Envahir",
+  "qr":"envahir",
   "wqr":"Pas d'intrusion",
   "zx":"En ligne",
   "lix":"Hors ligne",
   "duank":"Déconnecter",
   "jt":"Connecter",
-  "kt":"Climatiseur",
-  "jhj":"Changer",
-  "lyq":"Routeur",
-  "jsj":"Ordinateur",
-  "xsq":"Moniteur",
+  "kt":"climatiseur",
+  "jhj":"changer",
+  "lyq":"routeur",
+  "jsj":"ordinateur",
+  "xsq":"moniteur",
   "d":"lampe",
-  "qt":"Autre",
+  "qt":"autre",
   "wksz":"Paramètres du port réseau",
   "sd":"Manuel",
   "zd":"Automatique",
-  "cfdz":"Déclencher une action",
+  "cfdz":"déclencher une action",
   "dyljg":"Avertissement d'alimentation électrique",
-  "cgqjg":"Avertissement du capteur",
-  "wljg":"Avertissement réseau",
+  "cgqjg":"avertissement du capteur",
+  "wljg":"avertissement réseau",
   "edgl":"Puissance nominale",
   "ljdn":"Énergie cumulée",
   "yxrz":"Journal d'exploitation",
   "cgq":"Capteur",
   "gjzt":"État de l'alarme",
   "jctd":"Canal de surveillance",
-  "dt":"Aujourd'hui",
-  "ge":"Individuel",
+  "dt":"aujourd'hui",
+  "ge":"Une",
   "yggl":"Puissance active",
   "wggl":"Puissance réactive",
   "szgl":"Puissance apparente",
   "jdh":"Numéro de nœud",
   "qxcsc":"Veuillez sélectionner les données que vous souhaitez supprimer",
-  "ypz":"Configuré",
+  "ypz":"configuré",
   "drjg":"Importer les résultats",
   "gjpz":"Configuration des seuils et des règles d'alarme",
   "fwpz":"Configuration de la gestion des services",
@@ -321,14 +321,14 @@ const i18n_faguo={
   "cxdl":"Connectez-vous à nouveau",
   "cgqsjtd":"Canal de données du capteur",
   "busdz":"Adresse MOSBUS",
-  "ljmc":"Nom du lien",
+  "ljmc":"nom du lien",
   "fwqyc":"Nom de domaine/adresse du serveur",
   "yhm2":"Nom d'utilisateur",
   "dzyx":"Courriel",
   "xybb":"Version du protocole",
   "dxhm":"Numéro SMS",
-  "qdy":"Sûr de",
-  "kfd":"Client",
+  "qdy":"sûr de",
+  "kfd":"client",
   "sq":"Fuseau horaire",
   "bjsj":"(UTC+08:00)Pékin, Chongqing, RAS de Hong Kong, Urumqi",
   "elssj":"(UTC+03:00) Moscou, Saint-Pétersbourg",
@@ -336,7 +336,7 @@ const i18n_faguo={
   "kqys":"Retard à l'allumage",
   "gbys":"Retard à l'arrêt ",
   "xinq":"Semaine",
-  "ym":"Nom de domaine",
+  "ym":"nom de domaine",
   "tszh":"Compte d'envoi",
   "fzh":"Numéro de groupe",
   "fzmc":"Nom de groupe",
@@ -352,9 +352,9 @@ const i18n_faguo={
   "zxzpd2":"La valeur minimale ne peut pas dépasser la valeur maximale",
   "zxzpd3":"La valeur minimale ne peut pas être supérieure à la valeur maximale",
   "zxzpd4":"La valeur maximale ne peut pas être inférieure à la valeur minimale",
-  "sxax":"L1",
-  "sxbx":"L2",
-  "sxcx":"L3",
+  "sxax":"l1",
+  "sxbx":"l2",
+  "sxcx":"l3",
   "sxx":"Mutuellement",
   "sxxx":"Séquence de phase",
   "sxxdy":"Tension de phase",
@@ -368,7 +368,7 @@ const i18n_faguo={
   "sclx":"Type de sortie",
   "sx":"Triphasé",
   "dx":"Monophasé",
-  "shuc":"Sortir",
+  "shuc":"sortir",
   "bshuc":"Aucune sortie",
   "tdtisy":"Prise en charge de l'entrée manuelle",
   "bcts":"Les fichiers non téléchargés ne peuvent pas être enregistrés",
@@ -403,7 +403,7 @@ const i18n_faguo={
   "sblx2":"Entrée AC-sortie monophasée",
   "sblx3":"Entrée-sortie triphasée AC",
   "sblx4":"Entrée triphasée AC-sortie monophasée",
-  "sblx5":"Autre",
+  "sblx5":"autre",
   "plsz":"Configuration en masse",
   "startTime":"Heure de début",
   "endTime":"Heure de fin",
@@ -423,7 +423,7 @@ const i18n_faguo={
   "zssc":"Téléchargement de certificat",
   "mqbcts":"Le nombre maximum de courtiers est limité à 5",
   "xtpz":"Configuration du système",
-  "wu":"Aucun",
+  "wu":"aucun",
   "rzxy":"Protocole d'authentification",
   "rzmm":"Mot de passe d'authentification",
   "jmxy":"Protocole de chiffrement",
@@ -456,11 +456,17 @@ const i18n_faguo={
   "shewm":"Code QR après-vente",
   "sbewm":"Code QR de l'appareil",
   "cpbh":"Numéro de produit",
-  "xlcgq": "Capteurs de fuite",
-  "dwdcgq": "Capteur de température unique",
-  "cgqzt": "État du capteur",
-  "xl": "fuite",
-  "zc": "normal",
-  "stwdcgq": "Capteur de température à double tête",
-  "ylcgq": "Capteur de pression",
+  "xlcgq":"Fuite de capteurs",
+  "dwdcgq":"Capteur de température unique",
+  "cgqzt":"État du capteur",
+  "xl":"Fuite",
+  "zc":"Normale",
+  "stwdcgq":"Capteur de température à double tête",
+  "ylcgq":"Capteur de pression",
+  "RS485adress":"Adresse RS485"
+
+
+
+
+
 }

+ 14 - 8
cust_data/web/unique/i18n/i18n_putaoya.js

@@ -50,7 +50,7 @@ const i18n_putaoya={
   "qrykqm2":"Tem a certeza de que pretende abrir todos os canais do dispositivo?",
   "qrygbm":"Tem a certeza de que pretende fechar?",
   "qrygbm2":"Tem a certeza de que pretende fechar todos os canais do dispositivo?",
-  "bnwk":"Não pode estar vazio",
+  "bnwk":"não pode estar vazio",
   "qsr":"Por favor, insira",
   "xmn":"Nova Senha",
   "xgcg":"Modificação bem-sucedida",
@@ -456,11 +456,17 @@ const i18n_putaoya={
   "shewm":"Código QR pós-venda",
   "sbewm":"Código QR do dispositivo",
   "cpbh":"Número do produto",
-  "xlcgq": "Sensor de fugas",
-  "dwdcgq": "Sensor de temperatura único",
-  "cgqzt": "Estado do sensor",
-  "xl": "Vazamento",
-  "zc": "Normal",
-  "stwdcgq": "Sensor de temperatura de cabeça dupla",
-  "ylcgq": "Sensor de pressão",
+  "xlcgq":"Sensor de fugas",
+  "dwdcgq":"Sensor de temperatura único",
+  "cgqzt":"Estado do sensor",
+  "xl":"Fugas",
+  "zc":"normal",
+  "stwdcgq":"Sensor de temperatura de cabeça dupla",
+  "ylcgq":"Sensor de pressão",
+  "RS485adress":"Endereço RS485"
+
+
+
+
+
 }

+ 10 - 4
cust_data/web/unique/i18n/i18n_riben.js

@@ -457,10 +457,16 @@ const i18n_riben={
   "sbewm":"デバイスのQRコード",
   "cpbh":"製品番号",
   "xlcgq":"リークセンサ",
-  "dwdcgq":"単温度センサー",
+  "dwdcgq":"たんおんどセンサ",
   "cgqzt":"センサ状態",
   "xl":"リーク",
-  "zc":"正常",
-  "stwdcgq":"双頭温度センサー",
-  "ylcgq":"圧力センサー",
+  "zc":"通常",
+  "stwdcgq":"双頭温度センサ",
+  "ylcgq":"あつりょくセンサ",
+  "RS485adress":"RS 485アドレス"
+
+
+
+
+
 }

+ 17 - 11
cust_data/web/unique/i18n/i18n_xibanya.js

@@ -4,7 +4,7 @@ const i18n_xibanya={
   "loginFormTitle2":"Sistema de gestión de terminales IoT",
   "loginFormTitle3":"",
   "loginFormTitle3back":"Copyright © 2024 Gowone. Gowone, Gowone, PIAIM y otras marcas comerciales de Gowone son propiedad de Gowone y han sido registradas. Kauvos y HEEB son marcas comerciales de Kauvos Technology (Shenzhen) Co., Ltd.",
-  "formAccount":"Cuenta",
+  "formAccount":"cuenta",
   "formPassword":"Contraseña",
   "formcaptcha":"Código de verificación",
   "formAccountRules":"Por favor ingrese el número de cuenta",
@@ -105,7 +105,7 @@ const i18n_xibanya={
   "tdh":"Número de canal",
   "dy":"Voltaje",
   "dl":"Actual",
-  "gl":"Fuerza",
+  "gl":"fuerza",
   "drong":"Capacidad",
   "hdl":"Consumo de energía",
   "ztztlsjl":"Historial de estado general",
@@ -123,7 +123,7 @@ const i18n_xibanya={
   "mjsfzt":"Estado de liberación del control de acceso",
   "qtld":"Concentración de gas (mg/m³ o PPM)",
   "qtld2":"Concentración de gas",
-  "h":"O",
+  "h":"o",
   "qlz":"Valor del flujo de aire",
   "qyz":"Valor de presión del aire",
   "fw":"Reiniciar",
@@ -210,7 +210,7 @@ const i18n_xibanya={
   "zzjzqsh":"Cargando datos de monitoreo del servicio, ¡espere!",
   "tdfzlx":"Tipo de carga del canal",
   "sfqztc":"¿Confirma que el nombre del retiro forzado es",
-  "yhm":"De usuarios?",
+  "yhm":"de usuarios?",
   "qtcg":"Retirada forzada exitosa",
   "pz":"Configuración",
   "sznr":"Contenido numérico",
@@ -456,11 +456,17 @@ const i18n_xibanya={
   "shewm":"Código QR posventa",
   "sbewm":"Código QR del dispositivo",
   "cpbh":"Número de producto",
-  "xlcgq": "Sensor de fuga",
-  "dwdcgq": "Sensor de temperatura único",
-  "cgqzt": "Estado del sensor",
-  "xl": "Filtración",
-  "zc": "Normal",
-  "stwdcgq": "Sensor de temperatura de doble cabeza",
-  "ylcgq": "Sensor de presión",
+  "xlcgq":"Sensores de fuga",
+  "dwdcgq":"Sensor de temperatura único",
+  "cgqzt":"Estado del sensor",
+  "xl":"Filtraciones",
+  "zc":"Normal",
+  "stwdcgq":"Sensor de temperatura de doble cabeza",
+  "ylcgq":"Sensores de presión",
+  "RS485adress":"Dirección rs485"
+
+
+
+
+
 }

+ 13 - 7
cust_data/web/unique/i18n/i18n_yidali.js

@@ -455,11 +455,17 @@ const i18n_yidali={
   "shewm":"Codice QR post-vendita",
   "sbewm":"Codice QR del dispositivo",
   "cpbh":"Numero del prodotto",
-  "xlcgq": "Sensore di perdita",
-  "dwdcgq": "Sensore di temperatura singolo",
-  "cgqzt": "Stato del sensore",
-  "xl": "Perdita",
-  "zc": "Normale",
-  "stwdcgq": "Sensore di temperatura a doppia testa",
-  "ylcgq": "Sensore di pressione",
+  "xlcgq":"Sensore di perdita",
+  "dwdcgq":"Sensore di temperatura singolo",
+  "cgqzt":"Stato del sensore",
+  "xl":"perdite",
+  "zc":"normale",
+  "stwdcgq":"Sensore di temperatura a doppia testa",
+  "ylcgq":"Sensore di pressione",
+
+  "RS485adress":"Indirizzo RS485"
+
+
+
+
 }

+ 33 - 31
cust_data/web/unique/i18n/i18n_yingguo.js

@@ -52,7 +52,7 @@ const i18n_yingguo={
   "qrygbm2":"Are you sure you want to turn off all socket under the device?",
   "bnwk":"Cannot be empty",
   "qsr":"Please enter",
-  "xmn":"New password for",
+  "xmn":"new password for",
   "xgcg":"Modification successful",
   "xzcg":"Addition successful",
   "sccg":"Deletion successful",
@@ -112,7 +112,7 @@ const i18n_yingguo={
   "tdztlsjl":"Channel status history",
   "cgqxh":"Sensor number",
   "cgqmc":"Sensor name",
-  "kh":"Port",
+  "kh":"port",
   "dz":"Address",
   "btl":"Baud rate",
   "wdz":"Temperature value",
@@ -123,7 +123,7 @@ const i18n_yingguo={
   "mjsfzt":"Door release status",
   "qtld":"Gas concentration (mg/m³ or PPM)",
   "qtld2":"Gas concentration",
-  "h":"Or",
+  "h":"or",
   "qlz":"Air flow value",
   "qyz":"Air pressure value",
   "fw":"Reset",
@@ -133,8 +133,8 @@ const i18n_yingguo={
   "gj":"Alarm",
   "gjbh":"Alarm number",
   "sj":"Time",
-  "lx":"Type",
-  "nr":" Content",
+  "lx":"type",
+  "nr":" content",
   "yz":"Threshold",
   "dylx":"Power supply type",
   "dylztyz":"Power supply type status threshold",
@@ -302,7 +302,7 @@ const i18n_yingguo={
   "gjzt": "Alarm status",
   "jctd": "Monitoring channel",
   "dt": "Today",
-  "ge": "Pcs",
+  "ge": "pcs",
   "yggl": "Active power",
   "wggl": "Reactive power",
   "szgl": "Apparent power",
@@ -365,15 +365,15 @@ const i18n_yingguo={
   "dyljg":"Power warning",
   "cgqljg":"Sensor warning",
   "gjlx":"Alarm type",
-  "sclx":"Output type",
-  "sx":"Three-phase",
-  "dx":"Single-phase",
-  "shuc":"Output",
-  "bshuc":"Not output",
+  "sclx":"output type",
+  "sx":"three-phase",
+  "dx":"single-phase",
+  "shuc":"output",
+  "bshuc":"not output",
   "tdtisy":"Support manual input",
   "bcts":"Unable to save files that have not been uploaded",
   "jcqr":"Channel detection takes about 10 seconds. During this period, the status will pause and refresh. Do you want to continue?",
-  "tdjc":"Check",
+  "tdjc":"check",
   "kztdlb":"Channel list",
   "cjfs":"Collection method",
   "cjdz":"Collection address",
@@ -381,7 +381,7 @@ const i18n_yingguo={
   "kgmc":"Circuit breaker Name",
   "xzrqygq":"The selection date has expired",
   "xzrqygq1":"The start date should be less than the end date",
-  "cf":"Trigger",
+  "cf":"trigger",
   "wcf":"Not triggered",
   "ycf":"Triggered",
   "gbtd":"Close channel",
@@ -391,7 +391,7 @@ const i18n_yingguo={
   "qxuan":"Select all",
   "my":"Secret key",
   "slts":"The upper limit has been reached",
-  "hdlfw":"Reset",
+  "hdlfw":"reset",
   "hdlfw1":"Reset power consumption",
   "qclsjl":"Clear history",
   "qxzts":"Please select the records to be cleared",
@@ -401,12 +401,12 @@ const i18n_yingguo={
   "czrz":"Operation log",
   "sblx1":"AC input - DC output",
   "sblx2":"Communication input - single output",
-  "sblx3":"Three input - three output",
-  "sblx4":"Three input single output",
-  "sblx5":"Other",
+  "sblx3":"three input - three output",
+  "sblx4":"three input single output",
+  "sblx5":"other",
   "plsz":"Batch settings",
-  "startTime":"StartTime",
-  "endTime":"EndTime",
+  "startTime":"startTime",
+  "endTime":"endTime",
   "IPV4sz":"IPV4 settings",
   "IPV6sz":"IPV6 settings",
   "RS485sz":"RS485 settings",
@@ -419,11 +419,11 @@ const i18n_yingguo={
   "NTPsz":"NTP settings",
   "fwztsz":"Service status settings",
   "IPbb":"IP version",
-  "zs":"Certificate",
+  "zs":"certificate",
   "zssc":"Certificate upload",
   "mqbcts":"The maximum number of brokers is limited to 5",
-  "xtpz":"System configuration",
-  "wu":"Nothing",
+  "xtpz":"system configuration",
+  "wu":"nothing",
   "rzxy":"Authentication protocol",
   "rzmm":"Authentication password",
   "jmxy":"Encryption protocol",
@@ -438,7 +438,7 @@ const i18n_yingguo={
   "sjrq":"Upgrade date",
   "tdsl":"Channel number",
   "kzbh":"Control version number",
-  "dqzt":"Current state",
+  "dqzt":"current state",
   "sjz":"Upgrading",
   "gjxz":"Firmware selection",
   "plsj":"Batch upgrade",
@@ -455,12 +455,14 @@ const i18n_yingguo={
   "sjsb":"Upgrade failed",
   "shewm":"After sales QR code",
   "sbewm":"Device QR code",
-  "cpbh":"Product Code"
-  "xlcgq":"泄露传感器",
-  "dwdcgq":"单温度传感器",
-  "cgqzt":"传感器状态",
-  "xl":"泄露",
-  "zc":"正常",
-  "stwdcgq":"双头温度传感器",
-  "ylcgq":"压力传感器",
+  "cpbh":"Product Code",
+  "xlcgq":"Leakage sensor",
+  "dwdcgq":"Single temperature sensor",
+  "cgqzt":"Sensor status",
+  "xl":"leakage",
+  "zc":"normal",
+  "stwdcgq":"Dual head temperature sensor",
+  "ylcgq":"Pressure sensor",
+  "RS485adress":"RS485 address"
+
 }

+ 10 - 4
cust_data/web/unique/i18n/i18n_zh_CN.js

@@ -253,10 +253,10 @@ const i18n_zh_CN = {
   "sbzt":"设备状态",
   "hfccsz":"恢复出厂设置",
   "qdhfccsz":"确认要恢复出厂设置吗?",
-  "cslg":"厂商Logo",
-  "cklg":"查看Logo图片",
+  "cslg":"厂商logo",
+  "cklg":"查看logo图片",
   "ckewm":"查看二维码",
-  "szlg":"设置Logo图片",
+  "szlg":"设置logo图片",
   "hdjkljyc":"后端接口连接异常",
   "jkqqcs":"系统接口请求超时",
   "xtts":"系统提示",
@@ -421,7 +421,7 @@ const i18n_zh_CN = {
   "IPbb":"IP版本",
   "zs":"证书",
   "zssc":"证书上传",
-  "mqbcts":"Broker最大数量限定为5个",
+  "mqbcts":"broker最大数量限定为5个",
   "xtpz":"系统配置",
   "wu":"无",
   "rzxy":"认证协议",
@@ -463,4 +463,10 @@ const i18n_zh_CN = {
   "zc":"正常",
   "stwdcgq":"双头温度传感器",
   "ylcgq":"压力传感器",
+"RS485adress":"RS485地址"
+
+
+
+
+
 }

文件差異過大導致無法顯示
+ 1 - 1
cust_data/web/unique/index.html


文件差異過大導致無法顯示
+ 1 - 1
cust_data/web/unique/js/app.4f5baea6.js


文件差異過大導致無法顯示
+ 1 - 0
cust_data/web/unique/js/chunk-0a47aaf3.586fcb8a.js


文件差異過大導致無法顯示
+ 1 - 0
cust_data/web/unique/js/chunk-0d247607.d970d393.js


文件差異過大導致無法顯示
+ 1 - 0
cust_data/web/unique/js/chunk-0e2b77f1.d4ca43c6.js


文件差異過大導致無法顯示
+ 1 - 0
cust_data/web/unique/js/chunk-1802d6e7.5e4e8988.js


文件差異過大導致無法顯示
+ 0 - 1
cust_data/web/unique/js/chunk-1a575f50.12d62b34.js


文件差異過大導致無法顯示
+ 1 - 0
cust_data/web/unique/js/chunk-23d8d922.9ae830ca.js


文件差異過大導致無法顯示
+ 1 - 1
cust_data/web/unique/js/chunk-a30f4934.12518d63.js


文件差異過大導致無法顯示
+ 1 - 0
cust_data/web/unique/js/chunk-2d6cff62.f11f6dc1.js


文件差異過大導致無法顯示
+ 0 - 1
cust_data/web/unique/js/chunk-2e2e088e.a30d0df5.js


文件差異過大導致無法顯示
+ 0 - 1
cust_data/web/unique/js/chunk-2f8b1dc1.06166a13.js


文件差異過大導致無法顯示
+ 0 - 1
cust_data/web/unique/js/chunk-3b69bc00.7c79fa09.js


文件差異過大導致無法顯示
+ 1 - 0
cust_data/web/unique/js/chunk-41d85784.96f3473b.js


文件差異過大導致無法顯示
+ 0 - 1
cust_data/web/unique/js/chunk-4b7acf40.a490e1e4.js


文件差異過大導致無法顯示
+ 1 - 0
cust_data/web/unique/js/chunk-4ec83b84.d4aaf025.js


文件差異過大導致無法顯示
+ 0 - 1
cust_data/web/unique/js/chunk-6545ef94.4e35de0d.js


文件差異過大導致無法顯示
+ 1 - 0
cust_data/web/unique/js/chunk-6545ef94.d1e9cfa3.js


文件差異過大導致無法顯示
+ 0 - 1
cust_data/web/unique/js/chunk-6739658a.05885b69.js


文件差異過大導致無法顯示
+ 1 - 0
cust_data/web/unique/js/chunk-9171b1c4.224d7e4a.js


文件差異過大導致無法顯示
+ 0 - 1
cust_data/web/unique/js/chunk-9ce6cd52.74891fc6.js


文件差異過大導致無法顯示
+ 1 - 0
cust_data/web/unique/js/chunk-c2f7f298.2a555cc4.js


文件差異過大導致無法顯示
+ 0 - 1
cust_data/web/unique/js/chunk-c649c72c.75335b9b.js


文件差異過大導致無法顯示
+ 0 - 1
cust_data/web/unique/js/chunk-d92aa48c.a747b500.js


文件差異過大導致無法顯示
+ 0 - 1
cust_data/web/unique/js/chunk-df57d78c.2d52ee68.js


+ 4 - 4
pro/src/common.h

@@ -124,11 +124,11 @@ enum
     SENSOR_TYPE_ACCESS      = 3 , //门禁传感器
     SENSOR_TYPE_GAS         = 4 , //气体传感器
     SENSOR_TYPE_AIR_PRESS   = 5 , //气压传感器
-    SENSOR_TYPE_AIR_COND    = 6,  //空调传感器
-    SENSOR_TYPE_TEMP_DOUBLE = 7,  //双头温度传感器
-
+    SENSOR_TYPE_AIR_COND    = 6,  //空条传感器
+    SENSOR_TYPE_LEAK        = 7,  //泄漏传感器
     SENSOR_TYPE_TEMP        = 8,  //温度传感器
-    SENSOR_TYPE_LEAK        = 9,  //泄漏传感器
+    SENSOR_TYPE_TEMP_DOUBLE = 9,  //双温度传感器
+    SENSOR_TYPE_PRESS       = 10, //压力传感器
 };
 
 enum {

+ 3 - 2
pro/src/json_handle.c

@@ -2992,6 +2992,7 @@ char* over_all_sensor_info_to_json(_OverSensorBackInfo* _over_all_sensor_back_in
         cJSON_AddStringToObject(data_filed,"sensorName",_temp->sensorName);
         sprintf(temp, "%d", _temp->sensorId);
         cJSON_AddStringToObject(data_filed,"sensorId",temp);
+
         sprintf(temp_buf,"%d",_temp->sensorType);
         cJSON_AddStringToObject(data_filed,"sensorType",temp_buf);
         //cJSON_AddNumberToObject(data_filed,"sensorType",_temp->sensorType);
@@ -3002,8 +3003,8 @@ char* over_all_sensor_info_to_json(_OverSensorBackInfo* _over_all_sensor_back_in
         cJSON_AddStringToObject(data_filed,"temperatureValue2",temp);
 
         //add leak sensor 
-        //sprintf(temp,"%d",_temp->leakStatus);
-        //cJSON_AddStringToObject(data_filed,"leakStatus",temp);
+        sprintf(temp,"%d",_temp->leakStatus);
+        cJSON_AddStringToObject(data_filed,"leakageStatus",temp);
 
         cJSON_AddNumberToObject(data_filed, "waterImmersionState",_temp->waterImmersionState);
         cJSON_AddItemToObject(data_root_array, "data", data_filed);

+ 10 - 9
pro/src/upg.c

@@ -506,35 +506,36 @@ static void byte2char(char *chr, uint8_t b)
     chr[0] = CHAR(b>>4);
     chr[1] = CHAR(b&0x0f);
 }
-static void print_md5(char *s, md5_t *m)
+static void print_md5(char *s, char *m)
 {
     int i;
     
     printf("__%s", s);
     for(i=0; i<32; i++) {
-        printf("%c", m->data[i]);
+        printf("%c", m[i]);
     }
     printf("\n");
 }
 //md5相同返回0,否则返回1
 static int md5_check(buf_t *fb)
 {
-    md5_t m1,m2;
+    char *m1,m2[32];
     md5_ctx_t ctx;
     uint8_t i,tmp[16];
+    #define MD5_OFFSET   52
 
     md5_init(&ctx);
-    md5_update(&ctx, (uint8_t*)fb->buf, fb->dlen-32);
+    md5_update(&ctx, (uint8_t*)fb->buf+128, fb->dlen);
     md5_final(&ctx, tmp);
 
     for (i=0; i<16; i++) {
-        byte2char(&m2.data[i*2], tmp[i]);
+        byte2char(&m2[i*2], tmp[i]);
     }
-    memcpy(&m1, fb->buf+fb->dlen-32, sizeof(md5_t));
+    m1 = fb->buf+MD5_OFFSET;
 
-    print_md5("ori md5: ", &m1);
-    print_md5("cal md5: ", &m2);
-    if(memcmp(&m1, &m2, sizeof(md5_t))) {
+    print_md5("ori md5: ", m1);
+    print_md5("cal md5: ", m2);
+    if(memcmp(m1, m2, sizeof(m2))) {
         return -1;
     }
 

+ 3 - 0
tools/mb/cfg.h

@@ -46,6 +46,9 @@
 #define APP2_ROM_ADDR											 (META_DATA + 44)
 #define APP2_PARTATION										 (META_DATA + 48)
 
+#define APP1_MD5													 (META_DATA + 52)
+#define APP2_MD5 													 (META_DATA + 84)
+
 
 
 #define UNIQU_1                       			0x1FFFF7AC

+ 18 - 10
tools/mb/mb.cpp

@@ -53,13 +53,13 @@ typedef struct {
 }fw_image_t;
 #pragma pack ()
 
-static void print_md5(const char* s, md5_t* m)
+static void print_md5(const char* s, char* m)
 {
 	uint8_t i; 
 
 	printf("__%s", s);
 	for (i = 0; i < 32; i++) {
-		printf("%c", m->digit[i]);
+		printf("%c", m[i]);
 	}
 	printf("\n");
 }
@@ -246,9 +246,6 @@ static int get_info(char *buf, fw_hdr_t *hdr, fw_info_t *inf, fw_image_t *img)
 
 	img->info.blen = get_int(buf, "META_DATA_SIZE");
 	img->info.data = my_malloc(img->info.blen);
-	if (img->info.data) {
-		memcpy(img->info.data, inf, sizeof(fw_info_t));
-	}
 
 	img->app1.blen = get_int(buf, "PROGRAME_APP1_SIZE");
 	img->app1.data = my_malloc(img->app1.blen);
@@ -362,8 +359,10 @@ int main(char argc, char *argv[])
 	char time1[100],time2[100],*ptime;
 	TCHAR* xpath1=NULL, * xpath2 = NULL,* xpath3 = NULL;
 	int make_single_bin = 0;
-	char version[32];
-	md5_t md5;
+	char version[32],md5[32];
+
+	#define MD5_OFFSET1   52
+    #define MD5_OFFSET2   84
 
 	if (argc==2) {
 		printf("make a upgrade file\n");
@@ -399,6 +398,12 @@ int main(char argc, char *argv[])
 		if (flen < 0) {
 			goto fail;
 		}
+		md5_calc(fwImg.app1.data, fwImg.app1.dlen, md5);
+		memcpy(((char*)&fwHdr) + MD5_OFFSET1, md5, sizeof(md5));
+		memcpy(((char*)&fwHdr) + MD5_OFFSET2, md5, sizeof(md5));
+		if (fwImg.info.data) {
+			memcpy(fwImg.info.data, &fwInfo, fwImg.info.blen);
+		}
 
 		get_time(xpath1, time1, sizeof(time1));
 		get_time(xpath2, time2, sizeof(time2));
@@ -475,12 +480,15 @@ int main(char argc, char *argv[])
 			goto fail;
 		}
 
-		md5_calc(&fwHdr, sizeof(fwHdr), fupg.data, fupg.dlen, (char*)md5.digit);
+		
+		md5_calc(fupg.data, fupg.dlen, md5);
+		memcpy(((char*)&fwHdr) + MD5_OFFSET1, md5, sizeof(md5));
+
 		WriteFile(hFile, &fwHdr, sizeof(fwHdr), NULL, NULL);
 		WriteFile(hFile, fupg.data, fupg.dlen, NULL, NULL);
-		WriteFile(hFile, &md5, sizeof(md5), NULL, NULL);
+		//WriteFile(hFile, &md5, sizeof(md5), NULL, NULL);
 
-		print_md5("md5: ", &md5);
+		print_md5("md5: ", md5);
 	}
 
 fail:

+ 2 - 3
tools/mb/md5.c

@@ -172,15 +172,14 @@ static void byte2char(char *chr, uint8_t b)
     chr[1] = CHAR(l);
 }
 
-int md5_calc(void *p1, int len1, void *p2, int len2, char *md5)
+int md5_calc(void *p, int len, char *md5)
 {
     int i;
     uint8_t tmp[16];
     md5_ctx_t ctx;
     
     md5_init(&ctx);
-    md5_update(&ctx, (uint8_t*)p1, len1);
-    md5_update(&ctx, (uint8_t*)p2, len2);
+    md5_update(&ctx, (uint8_t*)p, len);
     md5_final(&ctx, tmp);
     
     for (i=0; i<16; i++) {

+ 1 - 1
tools/mb/md5.h

@@ -57,7 +57,7 @@ void md5_transform(uint32_t state[4], uint8_t block[64]);
 void md5_encode(uint8_t* output, uint32_t* input, uint32_t len);
 void md5_decode(uint32_t* output, uint8_t* input, uint32_t len);
 
-int md5_calc(void* p1, int len1, void* p2, int len2, char* md5);
+int md5_calc(void* p, int len, char* md5);
 
 #ifdef __cplusplus
 }