
电脑
无论是不是所谓的大牛,编程就是这样:解决一个问题,又会冒出三个新问题……如此循环往复,最终才能收敛到一个勉强可用的状态。最近我手上有个小项目,目前只有我一个人在做。虽然我已经编程多年,但遇到的困境和你几乎一模一样——首先,需要用
电脑控制PLC,为此我研究了Modbus over TCP以及海为PLC的相关文档。用Node.
JS写了一个程序,调试了好几天才终于连上了,但信令还是对不上,暂时搁置。另外,还需要用
电脑控制一些物联网设备。这些设备的协议文档倒是齐全,但由于它们属于非核心功能,决定等有其他人来支援时再实现,目前只保留文档,不编写代码。同时,要在
电脑上开发一款上位机软件,界面设计相对复杂。选择Electron先做一个demo,但由于很久没用过Electron了,搭建开发环境就花了很长时间,折腾半天才成功在开发机上运行起来。然而,Electron调用DLL并不方便,因此我用Qt写了一个单独的exe文件来封装DLL,并对外提供HTTP接口。
C++中的HTTP服务框架相当繁琐,目前刚刚跑通了简单的乒乓测试,也只能先放一放。上位机软件中需要实现一些图像处理算法及控制逻辑,用测试数据跑了几千行
JS代码后发现,内存占用过大,优化工作只能留待后续,先暂时搁置。除了自研算法外,还需要调用OpenCV的功能,这部分打算用
C++实现。下载Visual Studio花了一天时间,好不容易装好了,结果C盘空间不足,不得不升级配置重新安装系统。在网上查阅资料一步步构建OpenCV环境,到现在连demo程序都还没验证通过,这块的效果仍看不到,也不确定OpenCV是否能完全满足需求。此外,上位机需要与云端连接,需协调服务团队新增功能并开放接口。然而,服务端接口的登录状态和权限逻辑非常复杂,封装好的代码始终无法调通,也只能先放下。除了常规业务接口外,上位机还需对接云端的大模型。离线数据验证已通过,但在在线接口调用时再次卡住。处理后的图像需要在H5、小程序和App等多个平台展示,因此需要编写四种组件供应用开发团队调用。这些组件涉及图形功能,可能需要调用OpenGL或
Metal/Vulkan等技术。作为图形领域的门外汉,我一边翻阅图形学教材一边实现了一个H5版本,目前勉强可用,其他版本则需要等待支援。以上便是我近期的工作状态,各种任务交织在一起,每个环节都有自己的难点,进度缓慢且充满挑战。但这就是编程的魅力所在吧,每一步前进都让人感到充实与期待。