最近做了款自助洗车小程序项目,需要用到车牌识别,华夏/臻识这两家相机均有使用,特此记录开发中的问题。
1. 初次使用:
购买途径: 当地购买的华夏相机T83,价格贵,且显示屏语音均无法使用。遂只对接了开闸。
开发方式: 因为自助洗车项目需要保持双端的及时通讯,比如线上发送开门指令后,相机及时开闸。而这款相机支持本地sdk开发、http post模式(相机识别车牌后上报给服务端,但是如果需要服务端给相机指令不能及时反馈),所以不能满足。只好用本地sdk方式连接相机,这个sdk相机厂商都会提供对应的开发包,我的开发语言是java,所以用jna连接DLL文件,调用里面的对应方法就能实现开闸。然后用ok-http包装了一层websocket去访问服务端,做了断线重连,然后在洗车门店电脑上,安装程序,做开机自启。
方案优势: 这种方案因为直连相机,可以访问提供的所有api,如果需要特殊定制这种方案无疑是最符合的。
方案略势: 需要安装一台电脑,增加成本。如果仅仅是为了做一个开闸功能,安装电脑得不偿失。
2. 改进方案:
购买途径: 某宝
开发方式: 华夏相机在最新的系列,都提供了丰富的开发接口。HTTP/Websocket/MQTT以及还有一些本人并不懂的通讯协议。然后理所当然就改用相机自带的Websocket了,这样电脑就可以去掉。而且购买的新相机有屏显和语音模块,根据显示屏通讯开发协议开发好后,发送485数据给相机,相机会透传到显示屏并显示/播放。
方案优势: 降低开发成本,无需开发本地sdk,直接通过websocket方式返回协议规定的格式即可,无需电脑,节省硬件成本。
方案略势: 特殊定制不支持,只支持普遍使用的开关闸,485通讯,当然绝大部分外接硬件都可以通过485指令完成操作。
3. 后续打算:
目前项目已经稳定,目前的打算是加一个智能音响控制功能。
比如用户说:
-
查询余额:然后通过调用服务端播报余额。
-
我要结账:就给他结账开门(目前的出门方式是需要在小程序点击结算)。
方案已经有了,等下个新店升级后再分享~
最大的坑:
卖相机的一般不懂技术,只会提供文档,如果有问题他们会协助拉一个应该是官方人员的群,你去提问。但是一般这些人都很屌,不怎么理会。。。
在对接过程中有什么疑问可以互相交流:157239486
觉得文章对你有帮助,点个赞支持一下吧~