无锡杨巷镇智慧农业项目
九月 04, 2021
智慧农业
跟随导师参与的第一个项目,在村民原农机的基础上布置自己的装备,对农机进行全方位的监控。
1. 相关背景
项目由两部分构成,管理平台和农机平台,两平台各自又包括自己的前端页面和后端管理,本人负责的主要是农机平台的业务,所使用的底层设备如下图所示
其本质上可以理解为一台袖珍PC,只不过其系统性能收硬件及成本影响不及家用PC,机器上运行的是Ubuntu系统,我们的开发工作可以理解为Linux平台下的客户端应用开发
用到的部分传感器
- 姿态传感器
- GPS
- 摄像头
- 油量传感器
- ……
2. 技术栈
- Electron(基于Chromium的跨平台应用开发框架)
- PortSerial(串口交互)
- AutoUpdater(客户端应用自动更新)
3. 实现效果
4. 优化
1. 性能优化
简述
应用需要不断的绘制图表,带来极大的资源消耗
方法
适当降低图表的刷新间隔,例如对于油量显示,我们划分为若干格,以格的方式来更新,较少无意义的刷新
2. 版本不一致
简述
农机数量很多,且农机还需要外出工作,我们一次出差并不能在全部的机器上安装最新的应用,久而久之造成了大量的版本不一致问题
方法
使用AutoUpdater在每次应用启动时检查是否需要更新,当存在更新的版本,则后台进行下载,并自动的重启安装
更近一步
我们的方法相比传统的更新取消了用户安装的过程,但仍然比较繁琐,需要设置自动重启应用,进一步来说可以考虑热更新的策略,由于Electron的实际代码基本都存在于app.asar
包中,我们可以更新改包的形式实现程序的热更新
查看评论