智能硬件開發不再神秘-軟件工程師的智能硬件產品開發指南
你想硬件創業?但卻是軟件工程師?
我職業生涯中很重要的一部份就是做別人的信息塔。在學習的過程中,我獲得了巨大的成功,然后將學到的東西反饋到我曾經長大的社區中。自從一年多前加入 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 美金。當然這個價格會讓很多人咋舌,但是你不能否認這是進行原型產品開發領域用時最短的一條途徑。
上圖就是一套 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 的廠子
無論是哪個廠子,為了生產出你想要的原型產品,都需要你提供 CAD 的設計制圖。如果你在使用 autoCAD 上不是很在行,我會推薦你使用 oDesk 來作為 3D 設計的替代工具。我不會找那些只需要便宜的時薪就能雇傭到的幫手,因為他們手頭上的活有可能如他們索要的薪資一樣不值一曬。你要尋找那些在市場上能力完全通過薪資體現出來的手藝人們,這才是對你的智能硬件開發最具有重大幫助的人,如果你覺得他們很好用,可以重復循環的聘請他們。
好吧,這就是我在原型產品開發上面的一些粗淺的想法,讓我們跳轉到第二章節:Debugging。
#p#
上面,我們聊了如何進行產品的原型開發,介紹了其中的幾款趁手的工具和一些思路。現在,讓我們進入更加現實的層面:Debug 階段。
一旦你開始了原型產品的研發,不管是通過怎樣的方式途徑,不管你用的是 Arduino, Littlebits, 又或者是 repurposing,你都會遇到各種各樣的問題。
一些早期建議:盡可能用錫焊技術,當你在焊接的時候,遮蔽膠帶能很好的幫你將線都固定在各自的位置上。Radio Shack 里面有很多東西,比如電阻器、電線、電焊、鋼材、萬用表、去焊槍等等,這些東西都是你必備的工具。
其實,硬件開發上的 Debug 和軟件上并沒有什么大的不同。同樣都是在你遇到問題的時候找出根源所在,并加以解決。硬件產品上有一些環節往往會出錯,比如一段連接處斷了,又或者是電力供應不足,線圈纏繞到一起了,無法兼容的電子部件。為了找出具體的問題,以下我向各位推薦幾款工具。請注意:以下的一些工具有可能非常昂貴。不過,幸好廠商提供了一些可以進行月付費的優惠辦法,你可以通過支付一個月的會員費,獲得短暫使用它們的權利。
第一步:反復檢查。
首先第一步就是要自己進行反復的檢查。實不相瞞,我曾經無數次把錯誤的線給接到一起,又或者是在數據庫中丟失了某些重要的數據。無論怎樣,請記得不斷檢查你的各種連接處是否正常,盡可能地保證自己不會進行太多的焊接。
往往你會很容易忽略到某個環節。當你遇到這類的問題的時候,千萬不要鉆牛角尖,如果實在想不出來,請走開一會兒,去忙些別的轉換一下思路,當你再回來的時候頭腦會更加清晰,找出問題也會更加準確快速。從我的經驗來看,這樣的做法非常管用!
multimeters:
Multimeters 可以用來測量電阻,電壓和電流量。它同樣能夠幫你來測試兩個點之間的連續性如何。我個人的經驗告訴我,如果你想搞清楚到底哪塊兒斷開了,這款工具就特別適合你。
「電力是否從一個部分傳導到了另外一個部分?」;「這兩個部分是否通過電線而真正的實現了電路的連接?」「是否有足夠多的電流經過了這條電線」,諸如此類的問題都可以通過這款工具來獲得最明確的答案。
Oscilloscopes
事實上,這是一款最不起眼,卻又是最有用的工具。要徹底掌握應用它是需要花費大量的精力和時間的,如今我還在不斷地摸索實踐過程中。
Oscilloscope 能夠測量頻帶寬度,在你進行故障排除的時候,通過使用它能夠看到震蕩變動的電壓。你可以看到最小電壓、最大電壓、平均電壓等一系列的指標數據。,
Oscilloscopes 不僅如此,它還能夠供給電量,比如給一些設備或者電池充電。
「卸掉」及「返工」
當你意識到開發過程中存在的問題之后,你也許會想著做一些調整變動,比如把一些沒有正確安裝的部件給取下來。是不是擔心會傷到整個產品?又或者苦惱于不知道如何下手?別慌!依然有各種的工具滿足你的需求!
如果你是在擺弄 Arduino,又或者其他一些之前手工上上去的部件,那么去焊槍有可能是你最佳的選擇。當然使用它也是有技巧在的,至今我還沒有成為這一行的專家。每次我在做的時候只是將焊料加熱,然后想盡辦法把線給拔出來。
專門用于返工的一些工具往往都是高能量的加熱槍,能夠讓你在很短的時間內迅速的松動某些部件,并且更換它們。這些工具往往能夠大大縮短你的返工時間。請在開發準備工作中就將這個環節考慮進去。
以上就是在 Debug 階段我所能分享出來的一些東西。接下來我們將進入更加激動人心的環節:用戶測試!想知道下一章有什么更加實用的建議嗎?請繼續保持關注!