请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

boby老师, 我在工作中碰到个问题, 想跟你请教下.

可能情况描述有点长, 不好意思.
是这样的, 我在做一个停车收费系统. django 写的. 之前有跟你交流过. 我对接的硬件是摄像头, 流程是这样, 摄像头有 http模式, 它会把拍摄到的车牌识别出来, 以http形式推送给我的程序, 进场和出场时都会推送记录, 这样我的程序根据这进出记录计算这个停车费用. 如果费用为0, 则在摄像头推送的那条http请求中直接返回给它开闸的指令(这是摄像头的开闸模式), 摄像头在局域网, 我的程序在云端. 这种返回开闸指令的方式, 有一定的失败概率, 一直没查到问题, 跟摄像头厂家也联系好几次了. 可能是这个http返回超过一定时间了, 摄像头发送http 到收到这个http返回内容, 超过了它的规定时间, 然后就不会开闸, 比如说1秒.所以大概率是网络原因, 程序应该没问题. 它除了这种开闸方式, 还有程序主动开闸, 就是我的程序主动调用摄像头的开闸接口, 有http和tcp两种, 这两种方式就非常稳, 不会有失败的情况, 但是这两种方式都只能在局域网, 我的程序是在云端, 是无法调用某一局域网内摄像头的接口的.
所以我就想问问有没有什么方式, 可以让我的程序能做到主动调用摄像头的接口. 不知道我描述的是否清楚, 有点多. 我有想过做nat映射, 但这个感觉不大好, 不能适用所有客户的局域网.

正在回答 回答被采纳积分+3

1回答

提问者 Joker25 2020-10-02 16:01:29

主动调用开闸的方式, 就是一个http get请求, 直接调用摄像头后台, 它就会立即开闸. 这个请求只需知道摄像头ip、端口就行了. 但我的程序部署在云端, 摄像头是在局域网, 就没法这样搞了

1 回复 有任何疑惑可以回复我~
  • 有公网吗? 通过交换机将内网的IP和端口映射出去
    回复 有任何疑惑可以回复我~ 2020-10-03 16:05:43
  • 提问者 Joker25 回复 shuaiDevelop #2
    这种,类似Nat吧,我觉得这样风险太大,因为我们每个客户也就是每个车场的局域网情况不一样,这种方法能普适吗?稳定性怎么样,会不会路由器一重启就篡改了?
    回复 有任何疑惑可以回复我~ 2020-10-03 17:17:29
  • bobby 回复 提问者 Joker25 #3
    内网穿透技术啊, 不是什么稀奇的 。现在的很多代理 比如花生壳之类的都会做内网穿透,两种方式: 
    1. 在摄像头部署一个进程,这个进程负责和摄像头交互,这个进程一旦启动就时刻保持和你服务的一个socket连接即可,具体协议太多了 可以了解一下mqtt协议, 还有一种做法是在局域网内的某一台服务器上部署这个进程就行了
    回复 有任何疑惑可以回复我~ 2020-10-04 15:00:25
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信