《Arduino/Genuino 101(intel curie)开发入门》介绍
Genuino 101是一个极具特色的Arduino开发板,它基于Intel Curie模组,不仅有着和Arduino UNO一样特性和外设,还集成了低功耗蓝牙(BLE)和六轴姿态传感器(IMU)功能,借助Curie模组上模式匹配引擎,甚至可以进行机器学习操作。因此使用Genuino 101,可以完成一些传统单片机或者Arduino难以胜任的工作,制作更为惊艳的作品。相较于传统的Arduino开发板,Genuino101具有如下优势:控制核心intelCurie是一个带有机器学习功能的模组机器学习是当今技术领域的热点,但真想弄懂机器学习需要你具备数学、逻辑学、统计学等多学科的知识,但如果想在你的项目上应用或者自己体验,你只需要有个Genuino 101。Genuino 101自带有神经元,能进行基础的分类学习。但这样带来的好处是巨大的。结合101的IMU,可以进行动作识别,而不用复杂的编程。想象一下如何用纯编程的方法,实现动作识别,真的是太难了。 可以进行的真正的蓝牙开发蓝牙是目前最流行的无线通信方式之一,几乎我们用的移动设备都带了蓝牙功能,了解蓝牙开发,对开发人员大有裨益。有些人说,二三十块钱买个蓝牙模块接到Arduino UNO上,就行了,为啥要买101?这是一个不懂蓝牙通信之言。网上购买的二三十元的串口蓝牙模块,通常只是用于无线通信,相当于把原本的串口连接线换成了蓝牙。而蓝牙基础本身的原理和精髓,使用的人并不清楚,更不可能用于开发蓝牙设备。商用的蓝牙设备,是在手机或者PC上模拟一个串口通信的吗?几乎没有。但101可以。Genuino 101是蓝牙官方(SIG)推荐的蓝牙开发入门平台,其上集成有Nordic蓝牙模组,并提供了CurieBLE库用于开发,它能让你了解什么是真正的蓝牙通信,可以制作成各种蓝牙BLE设备。 硬件配置更为强大相比Arduino UNO,其配置更为强大。intelCurie上集成有x86和arc两个核心,能有更强的运算能力。除开前面提到的完整的蓝牙BLE、神经元等亮点外,其上集成的姿态识别IMU也是高配版。我们常见的IMU传感器都是民用级别,而101上自带的博世IMU BMI160是一个车载级别的芯片,其性能远高于民用标准。这里还得强调下,树莓派等linux开发板和arduino之间并没有可比性,两者应用场合不一样,就像你比较洗衣粉和洗碗粉一样,正常情况下,我们不会用洗衣粉洗碗。 可以使用更多的开发方式,更适合学生和爱好者使用Genuino 101除了能使用arduino方式开发,还可以切换到Zephyr RTOS进行开发。而在Zephyr基础上,intel还提供了javascript解释器,因此还可以使用js进行开发。这些特点,使得101对爱好者更具可玩性,对学生更有学习价值,不仅能通过101学习arduino开发方法,还能了解RTOS等更高级的知识。 intel和arduino强强联合过去的arduino开发板大多是arduino官方独立设计开发制造,而Genuino101由Arduino和intel两个团队共同呈现,从arduino社区关注度到源代码的更新进度,都可见一斑。 以上为使用Genuino101的优势,但在使用101之前,你也应该知道,目前使用101有哪些阻碍:目前intel Curie芯片没有对个人用户销售。但企业用户是可以购买到的,国内外已经有基于intel Curie的产品量产。价格较高。大部分人告诉我他们没用101的原因只是因为太贵,关于这个问题,可以看我之前的文章(摒弃屌丝思维,学好硬件开发)。相信大部分人用arduino并不是开发大批量量产的产品,我认为并没有必要节约那么百来块钱。即使你是开发量产产品,也可以先购买101用于原型制作。量产时自己layout PCB,采购intel Curie模组进行生产。很多基于AVR的arduino库,在101上无法使用。但这个问题不大,还有非常多的arduino库可以在101上使用,101还自带蓝牙BLE、IMU、机器学习等功能,intel和arduino官方也提供了数个对应的库,这些库组合起来,可以完成很多制作了。另外,在可穿戴领域,101比其他arduino方案更有优势。 本书是笔者将过去在Arduino中文社区上撰写的Genuino101相关教程与自身开发经验相结合整理而成,内容涵盖Arduino编程基础知识和Genuino 101高级API的使用,主要针对大学生和开发者编写,适合入门学习。由于写作本书时Genuino101的蓝牙BLE库正在大版本更新过程中,相关API可能会有很大变化,因此本书中没有蓝牙BLE开发章节,待BLE库稳定版本推出后,读者可在Arduino中文社区上阅读BLE开发章节。参与本书编撰和审阅的还有邱力超(const)、魏宇科(leonardo)、王翔、赵东相、任蕾凡。特别感谢英特尔在线业务部在写作本书时提供的支持与帮助。由于笔者水平有限,书中难免存在不足与错误之处,敬请读者批评指正。可以通过Arduino中文社区(http://www.arduino.cn/)参与本书相关内容的讨论。本书相关资料及代码均可在我的个人网站(http://clz.me/101-book/)获取。 陈吕洲2017年2月24日好书 坐等出书
页:
[1]