1、熟悉c,python,php,js等语言
2、熟悉html,mysql,kafka,git,redis等
3、熟悉Linux驱动和应用程序开发
4、熟悉深度学习,pytorch
5、熟悉物联网开发,曾待过团队开发了物联网平台PC,移动端
项目一
智慧农业物联网平台PC端和移动端
主要用于农业设备的数据采集,远程控制,数据处理,设备预警。
设备和平台之间采用tcp,mqtt方式通信,使用mysql,redis存储,通过阿里云短信及站内信进行提醒。通过深 度算法对拍摄的昆虫图片进行识别和计数,集成用户管理功能,对用户分级,对不同用户分配不同管理权限,视图权限。移动端采用uniapp前端开发框架,一套代码实现IOS和安卓两个应用。
1、flask框架
2、vue + element-ui + uniapp
3、redis+mysql+ngix
4、mqtt 通信
5、maskrcnn 神经网络
项目二
主要对显微镜下的细胞核型图,进行染色体识别切割,代替传统人工标注识别。并且对算法进行封装,采用分布式部署对外提供持久安全可靠的服务。
项目从零搭建,采用阿里云ecs服务器,oss,负载均衡,安全组件,域名解析,redis,nginx , uwsgi,flask,自己搭建kafka消息队列,采用python语言进行编写代码。
系统主要分为接收请求,处理请求,对结果进行异步回调,定时扫描等四个阶段。
接收请求阶段
1 主要采用nginx+uwsgi+flask架构接受请求,根据业务规模进行负载均衡,横向扩展服务器规模
2 对请求进行校验,做初步的处理,并将参数通过kafka生产者存入队列
3 将相应的参数,标识存入redis
处理阶段
通过kafka消息队列,多个消费者进行消费,进行并行处理,最后通过一个协同服务,对消费者的结果进行同步,集成,转发给结果服务。中间涉及到redis分布式锁进行进程间的同步,队列流量控制等操作。
结果异步回调
由于整个处理过程耗时比较长,为了不让客户端一直等待,这里采用异步回调的方式,类似微信支付宝等的支付API,算法处理成功后,调用客户端在请求时传过来的回调链接,将结果进行加密,压缩,传递给客户端。
定时扫描
1 主要是考虑到有些处理会出现无法控制的异常,为了及时给客户端回馈,单独采用一个进程进行定时扫描,对异常数据进行处理。
2 针对异步回调失败的情况,采用不同时间间隔(2min, 5min, 15min)方式进行回调,直到成功。
项目过程中还涉及到很多跨语言调用
1 python调用c++,将c++转化为so文件,通过ctype包进行调用。
2 js调用算法c++,将c++通过webassembly 工具变成 wasm文件,供js调用等。
3 c++调用python, 通过在c++中引入 python.h头文件,导入python环境及包,应用特定的方法进行python文件调用。
主要用于农业设备的数据采集,远程控制,数据处理,设备预警。 设备和平台之间采用tcp,mqtt方式通信,使用mysql,redis存储,通过阿里云短信及站内信进行提醒。通过深 度算法对拍摄的昆虫图片进行识别和计数,集成用户管理功能,对用户分级,对不同用户分配不同管理权限,视
相机主要实现设备的拍照和上传,从一开始的相机选型,开发板选型,开发板的功能裁剪,集成到已有的系统板上。 相机开发板和物联网平台采用mqtt方式链接,平台可以实现远程控制相机拍照,录像,拍摄完成后,会自动将图或者视频上传到平台。 主要技术点: 1、linux系统驱动的裁剪及系