智能硬件开发不再神秘-软件工程师的智能硬件产品开发指南

移动开发
本文我们将聊聊如何进行产品的原型开发,包括介绍几款趁手的工具和一些思路。而且,作者还将带我们进入更加现实的层面:Debug 阶段。

[[128224]]

你想硬件创业?但却是软件工程师?

我职业生涯中很重要的一部份就是做别人的信息塔。在学习的过程中,我获得了巨大的成功,然后将学到的东西反馈到我曾经长大的社区中。自从一年多前加入 Jewliebots 以来,我们学到了大量有关硬件、工程和制造的知识。然而我发现,这些知识都无法在网上寻获。在我写这些内容之前,也没人给出详细的硬件创业指南。我之前跟许多曾经硬件创业的人交流过,也从我自己犯的错误中进行学习,也从 Highway1 的员工和导师那里学到了很多东西。

为了分享知识、服务社区,我将在这里给各位写下一系列一个软件开发者如何开发硬件产品的方法。内容框架如下:

第 1 部分:原型产品开发

第 2 部分:Debug 阶段

第 3 部分:用户测试

第 4 部分:证明产品有吸引力

第 5 部分:为生产进行设计

第 6 部分:生产


第 1 部分:原型产品开发

对于硬件公司来说,原型产品开发阶段跟软件公司的原型产品开发一样重要。原因都一样:证明概念,进行用户测试,不断迭代开发。

但硬件创业和软件创业不同的地方在于,硬件创业是真的在做原型,软件创业只是在假装制作原型。我并不是看不起软件开发,而是软件创业完全仰仗于计算机的 1 和 0 数字计算。硬件是真实存在的,需要真实的生命体去实现它。原型开发阶段比我们平常工作中那种开发一个大产品的一个部分还要更加复杂。有几种原型开发的方法,在此我将向你介绍它们。

有一种方法可以让你更简单地从零开始原型开发。即在最开始的时候可以开发两个不同的原型产品,最终在交付生产商之前将他们合并成一个,而在这其中,往往作为新手的你往往考虑以「功能可行」的原型产品作为切入点。

「功能可行」的原型产品都很难看,而且硬件创业者也不会骄傲地拿这种原型产品来分享。我见过精心雕琢的原型产品,也见过用胶带和纸盒子粘起来的原型产品。功能可行原型产品的目的就是证明自己的概念,也就是说「这个概念是可以真实存在的」。功能可行原型产品是用来证明设计的。首要任务是让这种原型产品出现在消费者面前,看他们是否喜欢,怎么才能做得更好。

让我们重点谈谈功能可行原型产品-其重点是增强了已有物品的功能
 

不管你是不是经验丰富的硬件开发高手,最简单的方法就是把已经存在的硬件拿出来,对它进行重新编程。我经常鼓励刚来硬件创业的人先弄明白普通电子元件内部是如何运作的。如果你要做的产品和已经存在的产品很相似,那么就买一个已经上市的产品,把它拆开,放上你喜欢的部件,然后尝试再组装回去。这也是了解竞争对手的最好方法。在 Highway1,我们通过拆解一个 Fitbit 学到了很多知识。在拆机之前,先去网上搜索这个产品的拆机报告。例如:游戏手柄拆机、Nike Fuelband 拆机、Beats 耳机拆机。

开发工具套装:Littlebits

在 Highway1,我们有一整套的开发工具,名字叫做 Littlebits。它是一整套通过磁铁相互连接的电子元件所组成的系统。这样一款工具的出现,打破了智能硬件产品因为种类不同而划分出来的明确界限,无论是怎样的智能硬件产品,都能从这款工具组合中找到其相应的元素,应有尽有,比如 wifi、蓝牙、伺服器、电源开关等等。开发了这套工具的人们甚至还在网上搞了一个网站 BitLab,你可以在上面投票选出自己最爱的电子器件是什么。

有好多非常酷的智能硬件项目都是脱胎于 Littlebits,它是进行原型产品开发的最快速的方式。它不是固定的一套工具,而是根据所开发的方向而有专门的细分类别。比如为「家庭智能自动化项目」所设计的 Littlebits 套装,对外售价是 249 美金。当然这个价格会让很多人咋舌,但是你不能否认这是进行原型产品开发领域用时最短的一条途径。

[[128225]]

上图就是一套 Littlebits

Arduino

当然,我们并不仅仅局限于上述这一款工具。Arduino 同样也是开发原型硬件产品的最流行的一款工具。事实上,可以这么说,Arduino 的出现,引领了目前智能硬件产品革新的潮流。

至于微处理器模块,我选择 Femtoduino,RFDuino 以及 Sparkcore,它们都是产品原型开发刚开始最合适的器材。这里尤其值得提一下是 Femtoduino,如果你的原型产品开发不需要太多拼凑的环节,那么这个模块最为适合你使用。它是那么的小,我爱它胜过了 Arduino Unos。不过即便它的尺寸再大一些,它在各方面的表现也足以胜任你的需要。最近市面上还出现了一款带有蓝牙功能的 Femtoduino 版,这个版本可以说是相当迷你了……

而 RFDuino 对于「功能可行」的原型产品开发倒是很不错的选择,易于上手,拥有 BLE 性能(低耗能的蓝牙功能)。

Sparkcore 是一款非常理想的无线网络模块,并且它的技术支持团队的水平屈指可数。

同时,你还可以在 Sparkfun 以及 Adafruit 上面找到 LED、电池、电阻器、电线以及其他更加普通的器材,那上面的价格也是相当实惠的。

外观

在原型产品开发的过程中去设计外观,这个过程中充满了趣味。目前有很多工具能够助你一臂之力。不过你要真的想打造出赏心悦目的产品外观,无非是依循一条原则:「不断将用户的反馈纳入到你的原型产品开发过程中,频繁且迅速地对产品进行迭代升级。」当然其中趁手的工具简直不计其数,我会逮到什么用什么,不错过任何一个有助于提升原型产品开发质量的机会。

其他的一些工具
 

如果你没有看过 IDEO (一家总部在美国加州帕罗奥多的知名设计公司)有关产品设计的视频的话,估计产品设计对于你来说是一件非常艰难的差事。强烈推荐各位能够看一下这个视频,非常具有启发性。同时还有一本书在此做以诚意推荐:《The Design of Everday Things》,这对于设计从业背景几乎为零的朋友们来说尤其受用。

一开始,你可以试着拿聚合物黏土、海绵、适于模压的塑料来试着将自己的想法表达出来。从此出发,一点一滴地摸索和尝试,也许你会很快想要进行 3D 打印,因为你在几乎接近最终成品的时候想要大幅度提升其解析度。当一切开始在你胸中成型,对设计有了更加深刻的了解,而手边的工具已经不断拼凑出来产品的部分,那么估计那个时候你手边的工具组合起来应该可以算是一个小小的工厂了,你会从中找到成本相对较低的开发途径。

对完全零基础的创业者所说的话
 

如果你真的压根没有任何产品设计方面的经验,那么该怎么办呢?事实上有很多地方能够给你指引。我之前就曾经去 Etsy,在上面有很多精美的产品设计,我对我个人尤为钟爱的那些产品设计背后的设计师尤其的注意,试着联系他们,如果可以的话可以花一点点钱请他们在产品设计的某些部件和环节上贡献自己的才华。

同时,在纽约城还有一个 3D 打印的商店,名叫 CuboNYC。如果你到了产品开发的后期,需要提升产品的精细像素,那么在 San Jose 有一个名叫 Solid Concepts 的 3D 打印工厂。

如果你还想将原型产品打造的更加精美,我推荐一家位于 San Jose 的名叫 Solid Concepts 的工厂。除此之外,还有一个名叫 Fathom 的厂子,也在那个地方。还有,我们还去中国的深圳出差过,那里有一个名叫 Strong D 的地方也能提供类似的服务。这些地方能够使用诸如拉丝铝板、聚氨酯、以及其他一切塑料聚合物。这些材料能够尽可能地趋近于你脑海中的产品模样。
 

无论是哪个厂子,为了生产出你想要的原型产品,都需要你提供 CAD 的设计制图。如果你在使用 autoCAD 上不是很在行,我会推荐你使用 oDesk 来作为 3D 设计的替代工具。我不会找那些只需要便宜的时薪就能雇佣到的帮手,因为他们手头上的活有可能如他们索要的薪资一样不值一晒。你要寻找那些在市场上能力完全通过薪资体现出来的手艺人们,这才是对你的智能硬件开发最具有重大帮助的人,如果你觉得他们很好用,可以重复循环的聘请他们。
 

好吧,这就是我在原型产品开发上面的一些粗浅的想法,让我们跳转到第二章节:Debugging。

#p#

[[128226]]

上面,我们聊了如何进行产品的原型开发,介绍了其中的几款趁手的工具和一些思路。现在,让我们进入更加现实的层面:Debug 阶段。


一旦你开始了原型产品的研发,不管是通过怎样的方式途径,不管你用的是 Arduino, Littlebits, 又或者是 repurposing,你都会遇到各种各样的问题。

一些早期建议:尽可能用锡焊技术,当你在焊接的时候,遮蔽胶带能很好的帮你将线都固定在各自的位置上。Radio Shack 里面有很多东西,比如电阻器、电线、电焊、钢材、万用表、去焊枪等等,这些东西都是你必备的工具。

其实,硬件开发上的 Debug 和软件上并没有什么大的不同。同样都是在你遇到问题的时候找出根源所在,并加以解决。硬件产品上有一些环节往往会出错,比如一段连接处断了,又或者是电力供应不足,线圈缠绕到一起了,无法兼容的电子部件。为了找出具体的问题,以下我向各位推荐几款工具。请注意:以下的一些工具有可能非常昂贵。不过,幸好厂商提供了一些可以进行月付费的优惠办法,你可以通过支付一个月的会员费,获得短暂使用它们的权利。

第一步:反复检查。

首先第一步就是要自己进行反复的检查。实不相瞒,我曾经无数次把错误的线给接到一起,又或者是在数据库中丢失了某些重要的数据。无论怎样,请记得不断检查你的各种连接处是否正常,尽可能地保证自己不会进行太多的焊接。

往往你会很容易忽略到某个环节。当你遇到这类的问题的时候,千万不要钻牛角尖,如果实在想不出来,请走开一会儿,去忙些别的转换一下思路,当你再回来的时候头脑会更加清晰,找出问题也会更加准确快速。从我的经验来看,这样的做法非常管用!

multimeters:

[[128227]]

Multimeters 可以用来测量电阻,电压和电流量。它同样能够帮你来测试两个点之间的连续性如何。我个人的经验告诉我,如果你想搞清楚到底哪块儿断开了,这款工具就特别适合你。

「电力是否从一个部分传导到了另外一个部分?」;「这两个部分是否通过电线而真正的实现了电路的连接?」「是否有足够多的电流经过了这条电线」,诸如此类的问题都可以通过这款工具来获得最明确的答案。

Oscilloscopes

[[128228]]

事实上,这是一款最不起眼,却又是最有用的工具。要彻底掌握应用它是需要花费大量的精力和时间的,如今我还在不断地摸索实践过程中。

Oscilloscope 能够测量频带宽度,在你进行故障排除的时候,通过使用它能够看到震荡变动的电压。你可以看到最小电压、最大电压、平均电压等一系列的指标数据。,

Oscilloscopes 不仅如此,它还能够供给电量,比如给一些设备或者电池充电。

「卸掉」及「返工」

当你意识到开发过程中存在的问题之后,你也许会想着做一些调整变动,比如把一些没有正确安装的部件给取下来。是不是担心会伤到整个产品?又或者苦恼于不知道如何下手?别慌!依然有各种的工具满足你的需求!

如果你是在摆弄 Arduino,又或者其他一些之前手工上上去的部件,那么去焊枪有可能是你最佳的选择。当然使用它也是有技巧在的,至今我还没有成为这一行的专家。每次我在做的时候只是将焊料加热,然后想尽办法把线给拔出来。

专门用于返工的一些工具往往都是高能量的加热枪,能够让你在很短的时间内迅速的松动某些部件,并且更换它们。这些工具往往能够大大缩短你的返工时间。请在开发准备工作中就将这个环节考虑进去。

以上就是在 Debug 阶段我所能分享出来的一些东西。接下来我们将进入更加激动人心的环节:用户测试!想知道下一章有什么更加实用的建议吗?请继续保持关注!

责任编辑:林师授 来源: tech2ipo.com 编译
相关推荐

2022-07-29 09:12:44

软件硬件开发

2022-03-23 15:17:00

Harmony鸿蒙操作系统

2022-09-16 08:00:00

软件工程师求职薪酬

2021-04-22 09:00:00

软件工程师代码

2020-07-02 07:00:00

物联网硬件产品物联网设备

2017-11-16 10:08:16

MinnowBoard

2021-07-20 09:00:00

开发软件债务

2018-08-30 05:39:54

应用程序硬件

2017-04-27 17:11:39

机智云

2022-07-12 07:24:20

物联网产品开发

2014-12-29 22:48:41

微信

2015-06-29 10:31:37

慧聪电子网

2023-11-13 11:35:09

人工智能

2015-05-21 16:09:03

智能硬件

2017-08-31 14:00:35

软件工程师人工智能机器学习

2015-07-31 09:50:46

慧聪电子网

2015-08-14 10:44:33

HTML5

2022-01-16 07:12:30

软件工程师吵架开发

2014-02-04 08:11:11

智能硬件电商平台ShopLocket

2013-09-03 09:30:44

软件工程师软件工程师头衔
点赞
收藏

51CTO技术栈公众号