作为曾经迷信全栈开发的工程人员,我涉猎过HDL、MCU固件、Web服、数据分析。为原厂开发过Bootloader,提供过开源硬件,设备服务器和多个物联网项目。最近签约博文视点完成《从芯片到云端-物联网全栈开发》的写作。主要内容是Python为主要编程语言,从HDL测试、SPICE仿真,直到数据可视化和交易。
全栈开发其实风险较高,项目都压在一个人身上,当然也很累。而 IoT 全栈远比 Web 全栈更累。
我心中渴望摆脱物联网技术细节的羁绊。从一名希望“什么都懂”的半瓶子醋向核心开发者和管理者转变,主要目标是组建核心专业团队,面向企业提供IoT系统快速集成设计服务。主要集中在后端系统集成,不再参与客户设备设计。(
虽然我的优势在于设备端开发,但是物联网设备端和服务端、数据端相比较,设备本身是成本中心,形成收支平衡投入太大。)
如何能够在保持最小团队的基础上实现最大程度快速开发?包括团队组成、项目筛选?标准化开发、半定制化开发?开源策略的应用和构建Design as as Service?欢迎讨论!
-------更新--------
以下是我最近的心得:
采用标准化开发,最大程度降低客户化的定制需求。
- 标准化方面主要是传输层、应用层和序列化方面,尽量采用标准化协议,减少特定客户的定制;
- 采用类似gRPC/protobuf的协议编译器来解决序列化对接问题。
- 优选WSN协议,降低客户定制协议;
- 缩小而非扩大技术栈,避免“企业级”框架;
- 根据IoT的数据(流向、频率、重量)特征来编写预定义工程模板,并推向垂直应用;
- 使用JSON的NoSQL和TSDB。
采用可视化和自动编程工具简化开发。- node-RED配合CouchDB和MongoDB可以适用于一些数据率较低的IoT,但是RED的流程可视化工具可以参考利用。
- 关于jQuery/Bootstrap的UI可视化工具也在评估中。
- 表格驱动的系统配置。
- 针对特定开发场景的自动化代码生成器。
针对普通批量不大的应用,可以充分利用开源硬件、BaaS、免费服务。
阅读全文
收起全文