首页 > 代码库 > 树莓派玩家需要的X条核心品格

树莓派玩家需要的X条核心品格

本文只是作者本人在混迹于树莓派相关的论坛贴吧良久后的一些感想。纯属个人观点,限于本人能力有限,难免有所偏颇,还望斧正。




在能想到的所有品格中我认为最重要的就是这个:
LIY / TIY / DIY
Learn it yourself / Try it yourself / Do it yourself, 自己学、自己试、自己做。麻雀虽小五脏俱全,树莓派是一个复杂的系统,涉及到相当多多方面的知识。而人非圣贤,绝非什么都懂。譬如你学软件工程的,对电子电路方面了解就不见得很多;学自动化的,对服务器架设方面往往就比较陌生。会编程的不见得懂数电,Linux熟的不见得懂机械控制。因此在完成一个想法时,最需要的就是自己学习。尤其是树莓派的大量资料都是英文的情况下,自己学习就异常重要。因为不是你想做的项目都是有资料的,并且如果不懂,看了资料也不见得能做的出来。也不要总是指望会有热心网友为了你的一时头脑发热为你完成项目中的某一部分。“我的课程设计/毕业设计和/想做一个XX求编程高手无报酬”的家伙请出门左转学IT就去北大青鸟。geek的时间都是很宝贵的,如果能遇到一个能为你的想法去自己试一试然后告诉你答案的那些网友,请一定感谢你上辈子积够了德。
然而学习理论只是第一步,为了将理论付诸实践,你更需要的是自己动手试一试。某人说过,要知道梨子的滋味,就要变革梨子,亲口尝一尝。这句话虽然有那个时代的背景,但仍然有其积极的意义所在。学到的理论只有通过不断的试验才能成为实物,成为自己项目的一部分。
在试验改进的过程中,自然需要自己动手的能力。但对于树莓派来说DIY不仅仅于此。树莓派火起来最重要的原因之一(和最大的优势之一)在于价格。然而树莓派的功能多样性决定了它的周边实在是琳琅满目,倘若要配齐那绝非一台手机的价格能止得住。树莓派其实是有知识有技术的真屌丝们实现自己想法的很好平台,而绝非伪高富帅们装X充门面的工具。真的玩家知道哪些东西是用不上的,哪些东西是可以自己做的。他们也会衡量自己搞定花的时间和买周边花的钱那个更值。举个例子,很多人家里都有多的手机充电器和数据线,有自己家的路由器,或许有多的SD卡或TF卡。这样只需要买一根网线和树莓派裸机,或许再买一张TF卡就能满足树莓派的最小需求。这样也就两百出头的价格,远比X宝上3xx的价格好得多。这样多出来的钱可以拿来买项目中一些其它必要的东西。花大价钱买一圈周边配件再买个闪闪发亮的外壳点亮了之后对别人说:看,牛X么的假高富帅真杀马特请攒好钱出门右转电脑城PC MOD区不送。当然,真心喜爱树莓派或是因为需要(XBMC等)而买漂亮外壳的的除外。




在LIY/TRY/DIY的过程中不免会遇到难解的问题。这样下面两条似乎有些矛盾的品质就是必须的了。
谦逊和自信
学习和调试的时候遇到了什么难题和毛病,百思不得其解,不妨问问别人。提问的技巧很重要,有一篇蛮老的译文就叫做“提问的技巧”,没看过的不妨看看。此外在提问时一定要放下傲气。我知道所有的geek骨子里都有一股傲气:我写的程序绝对是最好的!(虽然过了半年之后发现之前写的东西就像一坨X)但在提问的时候还请放下身段。说着我的电路绝对没有问题的,问题往往就在电路上;说着我的程序绝对没有问题的,问题往往就在程序上。
有时候会出现教程、资料中的内容互相冲突,或者和自己的知识有冲突,或者不如自己的想法。这时候就需要动用自己的能力,分辨出谁是对的或者好的,然后相信自己的判断,不能因为害怕弄坏系统/程序/代码/电路而畏首畏尾裹足不前。




在经过亦步亦趋的学习-实践-学习的循环之后,你有了足够的知识积累,胸怀大志,想要做出渴望已久的项目,下面这两个又有点互相矛盾的品格又显得格外重要。
谨慎和创新
如果只是重复着别人做过的东西,那多没意思。找到新的需求,把功能进行组合,寻找新的解决方案,或者对别人的方案进行改良,这才是树莓派或者geek精神的乐趣所在。不过失败是在所难免的,为了减少失败和失败时的损失,在动手之前反复理论验证,反复考虑可能出现的问题,从而进行fail-safe设计和damage control。听起来有些高端,说白了就是加保险。譬如改代码或者程序设定之前做好备份,又或者设计电路设定冗余量等等。






在你动手大干一番之前,你一定不要忘了这个
预先设计和统筹规划
虽然这很难谈得上是品质或品格,但我觉得这非常重要。无论你是要用树莓派做智能家居、CNC、3D打印、飞控、遥控小车还是要做自动控制、路由、个人服务器、NAS、家庭监控抑或是只想做个小玩意,请记住,无论是做什么项目你都是在投资,投入的是金钱和精力。为了使你的投入更有效率,就像在高中或大学做物理实验那样做好实验设计是很有必要的。如果你在动手之前能够对自己的项目进行预先设计,对软件部分进行功能/模块设计,设计好电路,预先写好代码。然后对需要的硬件和材料进行统筹规划再进行采购,即能减少因为缺少材料而浪费的时间,又能减少材料过多而所浪费的资金。




在千辛万苦实现了功能之后, 别忘了这个
分享
在接受大家的贡献这么久之后,终于到了你反哺的时候了。分享的方式有很多,你可以写篇博客分享你的收获,或者上传代码到GitHub分享你的的劳动成果,或者拍个视频分享你的快乐。分享的人越多,分享的内容越多,就能更加充实树莓派的圈子,吸引更多人参与到树莓派的圈子中来。