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