目前我们有一款胸卡产品,有一些嵌入式软件开发的问题需要找一位相关开发人员进行调整,目前我们的胸卡包含的功能如下:
按键开关,sos按键,包含4G-Catl无线通信功能和天线的主控模块,WIFI模块,gps/RTK差分定位模块,蓝牙模块,陀螺仪模块,大气压模块,串口通讯和有线充电模块,RFID模块,扬声器模块,电池和电池管理模块,粘贴在卡表面的铭牌和人员标牌,状态指示灯,无线充电接受模块及内置软件驱动;
目前产品是使用mqtt服务来和上层平台进行交互,接收下发的指令和回传相关信息。调试时也可以使用串口调试。
目前存在的问题如下:
1.目前蓝牙信标的数据和gps定位的数据是分为两条不同的命令进行上传,需要同时开启并维持两个与服务器进行数据传输的通道,这样一是会增加耗电量,二是软件方面需要同时从两个数据通道获取不一样的定位信息,上传蓝牙信标的数据并不包含坐标信息,需要服务器根据上传的标识从数据库中查找这些信标的初始化时录入的坐标信息,这样不好判断同一时间应该使用蓝牙或gps哪个定位信息。
优化方案:将蓝牙定位和gps定位数据合并在一起,改为每次定位信息都一起上传,软件同时获取后便于处理。
2.需要通过软件控制所有模块的单独启停,目前是胸卡启动后所有模块就全部启动了,然而使用的时候并不是使用全部的模块。
优化方案:需要可以通过下发的命令来控制各个模块单独的启停。
3.增加根据位移或加速度的值是否变化来确定人员是否移动的功能,若一段时间内变化值都在误差范围内,则进入休眠状态,所有模块进行休眠减少耗电。
4.可以将数据上传和数据采集的时间间隔进行分开设置,比如可以设置1s采集一次相关数据,并暂时存储到胸卡中,等到30s再统一将这30s内所有采集的数据统一上传一次。
5.可以设置需要采集并存储的模块数据。比如只采集定位模块信息,或同时采集几个模块的数据信息,可以使用下发的命令来控制。
6.后期可以作为aoa蓝牙网关的蓝牙标签进行适配。
7.胸卡中的消息队列缓冲区目前只能存储一条报警信息,如果服务器下发两次报警信息的时间间隔较短,则会将后面下发的报警信息连续语音播报两次,需要优化。
8,蓝牙模块扫描蓝牙信标时会出现长时间扫描不到全部蓝牙信标的问题,比如有三个信标,有时持续半小时左右只扫描到一个。也有会全部扫描到的时候。
9. 优化整体嵌入式软件系统,通过软件提升电池续航,提升整体的软件稳定性。
价格可以具体再进行商谈。
我们希望找一个后续也可以长期合作的伙伴,我们后续如果有新的需求可以继续合作迭代软件。