物联网设计与开源闭源策略
1. 物联网开发与原型搭建
在物联网开发中,选择合适的开发方式至关重要。与使用计算机开发应用程序类似,若熟悉 C#、Python 或 JavaScript 等编程语言,开发会有一个好的开端;若不熟悉,则需先评估和选择语言,再学习编写、运行和自动启动程序。尽管这些任务可能比与外观奇特的电路板进行不透明交互更容易,但选择的自由也带来了复杂性。
另一种选择是将微控制器与计算机或手机结合使用。例如,Arduino 套件可通过 USB 轻松连接到计算机,使用任何编程语言通过串口与之通信。部分手机也具备此功能,但理论上不能作为控制 Arduino 的计算机“主机”。不过,安卓开发套件(ADK)采用了一个巧妙的方法,让 Arduino 配备 USB 主机屏蔽罩,使其在理论上能控制手机,而实际上手机负责复杂的处理和与互联网的通信。
原型搭建是项目启动的重要环节,虽然搭建原型的难易程度是关键因素,但将项目从单个设备扩展到大量生产时,会面临全新的挑战和问题。
2. 嵌入式平台的变更
在扩大生产规模时,可能需要考虑更换嵌入式平台,原因可能是成本或尺寸。若最初使用自由、强大的编程平台,将代码移植到更受限、便宜且小型的设备上会面临诸多挑战。反之,若在原型搭建时使用受限平台,代码可能会有选择和限制,如 Arduino 仅提供 2K 的动态内存分配,使用字符串或复杂数据结构时需谨慎考虑。
不过,实际中很多时候无需更换平台。例如,可以用 AVR 芯片(与 Arduino 所用芯片相同)替换 Arduino 原型微控制器,并在定制 PCB 上连接实际所需的组件。