当前位置: 首页 > news >正文

商米电子秤服务插件

概述

SunmiScaleUTS封装商米电子秤服务模块,支持商米旗下S2, S2CC, S2L CC等设备,设备应用于超市、菜市场、水果店等,用于测量商品的重量,帮助实现快捷、准确、公正的交易等一系列商业场景。

功能说明

SDK插件下载

一. 电子秤参数

型号:S2, S2CC, S2L CC
最大量程6kg≤Max≤30kg
n(等级)3000 (III)
检定分度1/2g,2/5g,5/10g
工作温度-10~+40℃

二. 计量量相关基础知识

  1. 零点

    每次智能电子秤重新上电的时候,电子秤都会自动记录初始零点作为后续称重的参考。开机重启的零点范围通常是满量程的10%。当重量超过满量程的10%的时候,电子秤将无法找到零点位置。例如,对15kg的电子秤而言,如果开机的时候秤盘的重量超过1.5kg的时候,电子秤将无法找到零点位置。如果重量小于1.5kg的时候,电子秤将默认从零点开始称量。

    推荐您在上电开机的前清空秤盘上所有的物品。

  2. 手动清零/零点设置

    在日常称重时,倘若需要回到零点时,可以通过手动清零回到初始零点位置。手动清零的范围是满量程的2%。对15kg的电子秤而言,手动清零的范围是300g。例如,在您清洁完秤盘后,可能称重显示为-0.004kg。当您点击清零按钮后,称重显示即回归“0.000kg”。

    注意:在有皮重的情况下,清零按钮将无效。

  3. 去皮

    在称重过程中,如果需要将商品包装的重量去除的时候,可以通过去皮操作执行。去皮的重量将会影响到称量的范围。例如,如果一台15kg的电子秤设置了5kg的皮重之后,那么剩余的称重范围将仅剩余10kg。

    称重去皮:先把包装放在秤盘上,点击去皮按钮后,包装的重量将自动记录为皮重;

    预置皮重如果您已知包装重量的时候,可以手动输入皮重值;

    对多量程的电子秤而言,最大去皮重量通常是Max1-e1。例如,6/15kg的电子秤,最大皮重是-5.998kg。

    注意:预置皮重的值必须准确设置。首先,预置皮重的值必须小于最大皮重;其次,预置皮重值必须按照正确的分度值设置。例如,对一台6/15kg(n=3000)的电子秤,6.005kg或者是0.019kg的预置皮重值都是不对。

  4. 净重

    净重是指消费者应该支付商品的重量值。如果商品带包装,需要先将包装作为皮重去掉。

  5. 毛重

    毛重=皮重+净重

三.电⼦秤软件开发

认证组件共由4个板块组成,分别为:

电子秤认证组件.png

1.基础信息

计量单位信息:用于展示秤AD的基础信息。

显示内容显示数值
Max=XX/XXkg6/15kg、3/6kg、15/30kg、15kg、30kg、6kg
Min=XXg40g、20g、100g、100g、200g、40g
e=X/Xg2/5g、1/2g、5/10g、5g、10g、2g
T=-XX.XXXkg-5.998kg、-2.999kg、-14.995kg、-14.995kg、-29.990kg、-5.998kg

认证组件基础信息:用于展示秤相关服务版本信息。

显示内容显示说明
ADFW:XXX显示称重AD版固件的版本
DISPLAY Version:XXX显示当前秤应用的版本号
SERVICE :XXX显示当前秤服务Scale Service的版本号
CRC status显示AD秤重上的数据与上位机的数据进行校验结果匹配一致:显示绿色锁图标匹配不一致:显示未锁定图标

2.称重状态

显示在称重过程的事件状态。

事件显示说明
稳定当称重台重量稳定时,进行稳定状态提示。稳定时,状态灯显示颜色为绿色未稳定时,状态灯显示颜色为灰色
零位当净重和皮重之和为0的时候(「net+tare=0」),进行零位状态提示。零位时,状态灯显示颜色为绿色未零位时,状态灯显示颜色为灰色
净重当去皮操作后,皮重不为0,进行净重状态提示。进行去皮时,状态灯显示颜色为绿色未进行去皮时,状态灯显示颜色为灰色

3.称重数值

显示在称重过程的物品重量信息。

称重区域显示说明
皮重(kg)当有去皮操作时,对应的皮重信息数据显示在该数据栏中。皮重的重量数值信息,无物体时,数值为0.000。在实际的物理显示屏中的显示高度,不低于9.5mm。
净重(kg)显示为实际的净重重量。当净重重量大于过载门限(皮重+净重+9*e2)时,应当显示过载提示。当净重重量低于欠载门限(皮重+净重<-20e),应当显示欠载提示。净重的重量数值信息,无物体时,数值为0.000。净重的重量数字信息,在实际的物理显示屏中的显示高度,不低于9.5mm。
单价(元/kg)显示为当前选中商品的单价信息。价格的数值信息,无物体时,数值为0.00。单价的数字信息,在实际的物理显示屏中的显示高度,不低于9.5mm。
总价(元)显示为当前选中商品的总价信息,重量*单价。总价的数值信息,无物体时,数值为0.00。总价的数字信息,在实际的物理显示屏中的显示高度,不低于9.5mm。

4.称重操作

可对秤进行相关业务操作。

操作说明
去皮将当前秤上的物体进行去皮操作,让皮重不计入数值。
预去皮将当前秤上的物体进行预去皮操作,让皮重不计入数值。
置零将当前秤上所有数值清空。
设置对认证组件自身的参数进行设置设置小数点显示样式货币符号设置可设置货币符号人民币、美元、英镑、欧元可自定义符号主屏认证组件控制允许认证组件在主屏移动副屏图片设置可选择系统默认图片(黑色商米logo)可通过上传图片,自定义副屏背景图片展示风格设置可选择白色、黑色的颜色风格

四.电子秤服务使用方法

1.注意事项
1).从应用市场下载插件导入自己项目后,要先制作自定义插件后,才可以运行使用(示例程序已经打好基座,可以直接运行)
2).插件需在 Android 5.0 版本及以上方可正常使用
3).尽量使用 HBuilderX 4.0+ 以上的最新版本,以便更好在uni-app和uni-app x中使用uts插件
4).使用前要先调用connectScaleService()方法绑定服务,结束要及时调用onDestroy()方法断开销毁服务

2.完整代码示例

<template><view  style="display: flex;justify-content: space-between;margin: 0 20px;"><view style="display: flex;margin:10px;flex-direction: column;font-size: 18px;"><view style="display: flex;">{{isStable?'true稳定':'false不稳定'}} {{net===0?'零位':'净重'}}</view><view style="display: flex;margin-top: 10px;">净重:{{net}} 克 </view><view style="display: flex;margin-top: 10px;">皮重:{{tare}} 克 </view><view style="display: flex;margin-top: 10px;">单价:{{unitPrice}} </view><view style="display: flex;margin-top: 10px;">计算重量单位:{{unit}} </view><view style="display: flex;margin-top: 10px;">计量类型:{{scaleType===0?'0公斤秤':'1磅秤'}} </view><view style="display: flex;margin-top: 10px;">固件的版本号:{{firmwareVersion}} </view><view style="display: flex;margin-top: 10px;">获取铅封状态 :{{sealState===0?'0正常':'1铅封被破坏'}} </view><view style="display: flex;margin-top: 10px;">标定按钮开关状态 :{{calStatus===0?'0未按下':'1按下'}} </view><view style="display: flex;margin-top: 10px;">加速度数据 :{{acceleData}} </view><view style="display: flex;margin-top: 10px;">电子秤参数信息 :{{calInfo}} </view><view style="display: flex;margin-top: 10px;">状态: {{isLightWeight?'电子秤过轻':''}} {{overload?'电子秤已过载,量程最大15KG':''}} {{clearZeroErr?'电子秤清零错误':''}} {{calibrationErr?'电子秤标定错误':''}}</view></view><view style="display: flex;"><view style="padding: 10px;"><button @click="connectScaleService()" style="margin-top: 10px;">服务绑定</button><button @click="disconnectScaleService()" style="margin-top: 10px;">服务断开</button><button @click="toRestart()" style="margin-top: 10px;">重启电子秤</button><button @click="toGetScaleType()" style="margin-top: 10px;">获取计量类型</button><button @click="toGetServiceVersion()" style="margin-top: 10px;">版本号</button><button @click="toReadAcceleData()" style="margin-top: 10px;">加速度数据</button><button @click="toReadSealState()" style="margin-top: 10px;">铅封状态</button><button @click="toGetCalStatus()" style="margin-top: 10px;">标定状态</button><button @click="toGetCalInfo()" style="margin-top: 10px;">秤参数信息</button></view><view style="padding: 10px;"><button @click="toTare()" style="margin-top: 10px;">去皮/清皮</button><button @click="toDigitalTare(2)" style="margin-top: 10px;">数字去皮</button><button @click="toZero()" style="margin-top: 10px;">清零</button></view><view style="padding: 10px;"><button @click="toSetUnitPrice('2')" style="margin-top: 10px;">设置单价</button><button @click="toGetUnitPrice()" style="margin-top: 10px;">获取单价</button><button @click="toSetUnit(1)" style="margin-top: 10px;">设置计算重量单位</button><button @click="toGetUnit()" style="margin-top: 10px;">获取计算重量单位</button></view></view>	</view>
</template>
<script>import { connectScaleService,zero,tare,digitalTare,setUnitPrice,getUnitPrice,setUnit,getUnit,restart,getScaleType,getServiceVersion,getFirmwareVersion,cancelGetData,readAcceleData,readSealState,getCalStatus,getCalInfo,onDestroy} from "@/uni_modules/sunmi-scale";//引入方式export default {data() {return {unitPrice:'-',//单价unit:'-',//计算重量单位scaleType:'-',//0表示秤为公斤秤 1表示秤为磅秤firmwareVersion:'-',//固件的版本号sealState:'-',//铅封状态 0:正常 1:铅封被破坏calStatus:'-',//标定按钮开关状态  0:未按下 1:按下acceleData:'-',//读取加速度数据 [0][1][2]分别为 X,Y,Z方向数据calInfo:'-',//电子秤参数信息net: '-',//获取称量净重 单位:克tare:'-',//皮重,单位:克isStable:true,//秤稳定状态 true:稳定 false:浮动isLightWeight:false, //秤是否过轻(小于20E)overload:false,//秤是否过载clearZeroErr:false,//秤是否清零错误calibrationErr:false//秤是否标定错误}},created() {},methods: {// 连接Sunmi电子秤服务connectScaleService() {let _this = thisconnectScaleService({//这里返回称重结果getData(net,tare,isStable){_this.net = net_this.tare = tare_this.isStable = isStable// console.log('---->',net,tare,isStable)},//这里返回称重状态getStatus(isLightWeight, overload, clearZeroErr, calibrationErr){_this.isLightWeight = isLightWeight_this.overload = overload_this.clearZeroErr = clearZeroErr_this.calibrationErr = calibrationErr},})},// 断开Sunmi电子秤服务disconnectScaleService(){onDestroy()},//重启电子秤 toRestart(){restart()},//获取电子秤服务版本号 返回当前电子秤服务的版本号字符串toGetScaleType(){this.scaleType = getScaleType()},//获取固件版本号 接返回当前固件的版本号-五位整型数据,如10034toGetServiceVersion(){this.firmwareVersion = getFirmwareVersion()},//读取加速度数据 [0][1][2]分别为 X,Y,Z方向数据toReadAcceleData(){this.acceleData = readAcceleData()},//读取标定按钮开关状态  0:未按下 1:按下toGetCalStatus(){this.calStatus = getCalStatus()},//读取标定按钮开关状态  0:未按下 1:按下toReadSealState(){this.sealState = readSealState()},//读取电子秤参数信息//返回值为一个多个量程的二维数组例如量程为6/15kg e=2/5g 多量程电子秤将返回[[6, 2],[15,5]]toGetCalInfo(){this.calInfo = getCalInfo()},//清零toZero(){zero()},//去皮/清皮toTare(){tare()},//数字去皮 直接给电子秤下发去皮的重量toDigitalTare(i){digitalTare(i)},//设置单价 由电子秤服务计算价格时设置,将影响返回的计价结果toSetUnitPrice(unitPrice){setUnitPrice(unitPrice)},//获取当前已经设置的单价toGetUnitPrice(){this.unitPrice = getUnitPrice()},//设置价格计算时的重量单位  0:按g计重  1:按100g计重  2:按500g计重  3:按kg计重toSetUnit(unit){setUnit(unit)},//获取当前价格计算的重量单位toGetUnit(){this.unit = getUnit()}}}
</script>

在这里插入图片描述
在这里插入图片描述

商米官网地址

长期维护,持续更新,提供终身免费技术支持

相关文章:

商米电子秤服务插件

概述 SunmiScaleUTS封装商米电子秤服务模块&#xff0c;支持商米旗下S2, S2CC, S2L CC等设备&#xff0c;设备应用于超市、菜市场、水果店等,用于测量商品的重量,帮助实现快捷、准确、公正的交易等一系列商业场景。 功能说明 SDK插件下载 一. 电子秤参数 型号:S2, S2CC, …...

华为ensp-BGP路由过滤

学习新思想&#xff0c;争做新青年&#xff0c;今天学习的是BGP路由过滤 实验目的&#xff1a; 掌握利用BGP路由属性AS_Path进行路由过滤的方法 掌握利用BGP路由属性Community进行路由过滤的方法 掌握利用BGP路由属性Next_Hop进行路由过滤的方法 实验内容&#xff1a; 本实…...

Sigrity System SI SerialLink模式进行Pcie3协议仿真分析操作指导-pcie3_client_single_post

Sigrity System SI SerialLink模式进行Pcie3协议仿真分析操作指导-pcie3_client_single_post Sigrity System SI SerialLink模式提供了10个协议合规性检查工具模板,用户可以将根据实际应用替换模板中的SPICE文件,然后进行协议仿真分析,同时软件还提供了目标结果的模板MASK以…...

Python提取目标Json键值:包含子嵌套列表和字典

目标&#xff1a;取json中所有的Name、Age字典 思路&#xff1a;递归处理字典中直接包含子字典的情况&#xff0c; import jsondef find_targ_dicts(data,key1,key2):result {}if isinstance(data, dict):if key1 in data and key2 in data: # 第一层字典中包含key1和key2re…...

分享6个对象数组去重的方法

大家好&#xff0c;关于对象数组去重的业务场景&#xff0c;想必大家都遇到过类似的需求吧&#xff0c;针对这样的需求&#xff0c;你是怎么做的呢。 下面我就先和大家讨论下基于对象的某个属性如何去重。 方法一&#xff1a;使用 .filter() 和 .findIndex() 相结合的方法 使…...

Formality:官方Tutorial(一)

相关阅读 Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm1001.2014.3001.5482 本文是对Synopsys Formality User Guide Tutorial中第一个实验的翻译&#xff08;有删改&#xff09;&#xff0c;Lab文件可以从以下链接获取。 Formality官方Tu…...

力扣28找出字符串中第一个匹配项的下标

class Solution:def strStr(self, haystack: str, needle: str) -> int:# 特殊情况处理if not needle:return 0# 获取 haystack 和 needle 的长度a len(needle)b len(haystack)# 遍历 haystack&#xff0c;检查每个子字符串是否与 needle 匹配for i in range(b - a 1):if…...

【JAVA】java中将一个list进行拆解重新组装

一、使用场景 1、当需要对一个list中的元素属性进行重新赋值&#xff0c;比如一个list中存储了订单数据&#xff0c;我们需要改变list中每个订单的id&#xff0c;然后再重新输出订单list if(CollectionUtils.isNotEmpty(orderList)){ orderList.forEach(p->{ …...

在 Windows 上使用 SSH 密钥访问 Linux 服务器

本章目录: 前言1. 准备工作2. 生成 SSH 密钥对步骤 1&#xff1a;打开命令行步骤 2&#xff1a;运行 ssh-keygen 命令步骤 3&#xff1a;选择密钥保存位置步骤 4&#xff1a;设置密钥密码&#xff08;可选&#xff09;步骤 5&#xff1a;生成密钥对 3. 查看生成的密钥文件4. 将…...

小白0基础centos8安装docker

总述&#xff1a;博主作为0基础小白将详细记录第一次从centos8的下载到安装docker的过程&#xff0c;包括中间出现的问题和解决方案 1Centos8下载 参见博文CentOS 8 的安装&#xff08;官方安装、清华大学开源软件镜像站、阿里云镜像、网易镜像下的安装步骤&#xff09;_cent…...

机器学习之逻辑回归算法、数据标准化处理及数据预测和数据的分类结果报告

逻辑回归算法、数据标准化处理及数据预测和数据的分类结果报告 目录 逻辑回归算法、数据标准化处理及数据预测和数据的分类结果报告1 逻辑回归算法1.1 概念理解1.2 算法导入1.3 算法优缺点 2 LogisticRegression理解2.1查看参数定义2.2 参数理解2.3 方法2.4基本格式 3 数据标准…...

openGauss连接是报org.opengauss.util.PSQLException: 尝试连线已失败

安装好高斯数据库后然后用java连接时报如下错误: 解决方法: 在openGauss数据库的安装路径下/opt/opengauss/data/single_node&#xff08;这个路径根据自己实际情况变化&#xff09;有个pg_hba.conf文件&#xff0c;修改里面host内容如下&#xff0c;我这里设置的是所有ip都能…...

详细的一条SQL语句的执行流程

SQL 语句的执行流程会因数据库管理系统的不同而略有差异&#xff0c;但一般来说&#xff0c;主要包括以下几个阶段&#xff1a; 查询解析 词法分析&#xff1a;数据库系统首先将输入的 SQL 语句按字符流进行扫描&#xff0c;依据词法规则把它分割成一个个的单词&#xff0c;如…...

适用于小白的程序报错提问 AI 模板

#工作记录 程序报错提问 AI 模板 1、你现在将扮演python专家&#xff0c;请保持连续对话&#xff0c;请基于你的专业知识修改代码并回答&#xff01; 2、可以向我询问任何有利于你分析问题的信息。 3、你修改的程序代码&#xff0c;运行后报错&#xff0c;报错信息我放在最后…...

web实操9——session

概念 数据保存在服务器HttpSession对象里。 session也是域对象&#xff0c;有setAttribute和getAttribute方法 快速入门 代码 获取session和塞入数据&#xff1a; 获取session获取数据&#xff1a; 请求存储&#xff1a; 请求获取&#xff1a; 数据正常打印&#xff1a…...

OFDM学习-(二)长短序列和PPDU整体数据处理流程

OFDM学习 &#xff08;二&#xff09;长短序列和PPDU整体数据处理流程 OFDM学习前言一、短序列短序列的作用 二、长序列三、PLCP/SIGNAL/DATA数据处理流程三、fpga实现STS模块LTS模块训练序列模块仿真波形 总结 前言 根据框图可以知道发射机这部分信号在DA转换之前&#xff0c…...

.NET周刊【12月第4期 2024-12-22】

国内文章 dotnet 简单使用 ICU 库进行分词和分行 https://www.cnblogs.com/lindexi/p/18622917 本文将和大家介绍如何使用 ICU 库进行文本的分词和分行。 dotnet 简单聊聊 Skia 里的 SKFontMetrics 的各项属性作用 https://www.cnblogs.com/lindexi/p/18621674 本文将和大…...

Conda 安装 Jupyter Notebook

文章目录 1. 安装 Conda下载与安装步骤&#xff1a; 2. 创建虚拟环境3. 安装 Jupyter Notebook4. 启动 Jupyter Notebook5. 安装扩展功能&#xff08;可选&#xff09;6. 更新与维护7. 总结 Jupyter Notebook 是一款非常流行的交互式开发工具&#xff0c;尤其适合数据科学、机器…...

鸿蒙开发:实现键值数据库存储

前言 鸿蒙当中数据持久化存储&#xff0c;为我们提供了多种的实现方式&#xff0c;比如用户首选项方式&#xff0c;关系型数据库方式&#xff0c;键值型数据库方式&#xff0c;文件存储方式等等&#xff0c;对于数据量比较的小的&#xff0c;我们直接选择轻量级的用户首选项方式…...

WebGL 实践(一)开发环境搭建

WebGL 是一种基于 JavaScript 的 API&#xff0c;用于在浏览器中渲染 2D和3D 图形&#xff0c;很多场景都能用&#xff0c;例如游戏开发、数据可视化、在线教育和虚拟现实等应用领域。 零、基础知识 相关基础知识很重要&#xff0c;如果会html、JavaScript等技术掌握起来会更…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

【网络安全】开源系统getshell漏洞挖掘

审计过程&#xff1a; 在入口文件admin/index.php中&#xff1a; 用户可以通过m,c,a等参数控制加载的文件和方法&#xff0c;在app/system/entrance.php中存在重点代码&#xff1a; 当M_TYPE system并且M_MODULE include时&#xff0c;会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

BLEU评分:机器翻译质量评估的黄金标准

BLEU评分&#xff1a;机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域&#xff0c;衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标&#xff0c;自2002年由IBM的Kishore Papineni等人提出以来&#xff0c;…...