什么是Spresense?
大家好,我是吉田!
今天,我们将要用到的是索尼半导体解决方案(SSS)集团(以下简称“索尼”)于2018年8月发布的Spresense,这是一款与Arduino兼容的开发板。
该开发板不愧是索尼面向物联网领域精心打造的产品,其外形小巧,功耗低,可以支持高分辨率音源,而且还标配GPS定位等功能,性能十分强大。对于想挑战电子制作和物联网广度的人来说,是一块不可多得的开发板!
接下来,就让我们一起来了解一下使用Spresense进行电子制作的基础知识吧!
本项目所需部件
・Micro USB 数据线
・LED
本项目的流程
1.什么是Spresense
2.Spresense的开发环境及其准备
3.Spresense Arduino Library的安装
4.使用Spresense实现LED闪烁
5.总结
1.什么是Spresense
索尼研发的Spresense是一款与Arduino兼容的开发板,配备了索尼独有的高性能、低功耗、多功能芯片组“CXD5602”。
Spresense由主板(左侧尺寸较小的电路板)和扩展板(右侧尺寸较大的电路板)组成。主板上配备了芯片和摄像头模块,扩展板上则配有音频插孔和SD卡插槽等。
接下来,让我们一起看看其具体可以实现哪些功能吧。首先,主板具有以下特点。
主板
- CXD5602 感应处理器
- CXD5247 电源管理、音频模拟IC
- 8MB 闪存
- 摄像头连接端口
- GPS 天线
- Micro USB端口(供电、数据传输)
- GPIO引脚
- 用于显示&各类应用的LED等
也就是说,单靠主板,就能够连接相机,也能进行GPS定位,还能通过GPIO与传感器等进行连接。此外,主板的引脚分配如下:
[主板的引脚分配 摘自Spresense Page]
扩展板
- 与Arduino UNO兼容的针座配置、GPIO引脚
- 音频插孔
- Micro SD卡插槽
- Micro USB端口
- 连接麦克风的排针
这块扩展板的尺寸和Arduino UNO基本一致,排针的位置也完全匹配。此外,从结构上看,高分辨率音源等音频输入输出引脚较大,所以将其配置在了扩展板上。此外,扩展板上还带有用于保存数据的Micro SD卡插槽,所以只要有主板和扩展板,基本能够实现大部分想要的功能。
[扩展板的引脚分配 摘自 Spresense Page]
附加板
此外,Spresense是一个开放平台,所以可以轻松连接其他半导体厂商开发出来的附加板。
ROHM已经推出了与Spresense兼容的附加板,如BLE附加板、传感器附加板。
BLE附加板 | 传感器附加板 |
与其他开发板的比较
最后,我将以图表的形式,将Spresense与其他开发板进行比较,供您参考。
与Raspberry Pi Zero、Arduino Nano相比,Spresense的功耗要小得多。在性能方面,比起Raspberry Pi Zero,虽然稍有逊色,但是与Arduino Nano相比,其速度要快得多。然而其尺寸却比Raspberry Pi Zero小,还配备了包括GPS在内的众多功能,可以说非常方便实用!
Raspberry Pi Zero W | Spresense 主板 | Arduino Nano | |
尺寸 | 6.5 cm × 3 cm | 5 cm × 2 cm | 4.3 cm × 1.8 cm |
特色功能 | Wifi/BLE 音频和HDMI连接 摄像头连接 |
GPS 支持高分辨率音源、音频 相机连接 |
2.Spresense的开发环境及其准备
在软件开发方面,Spresense有两种开发环境。
该开发板与Arduino兼容,所以Arduino IDE是其中一种软件开发环境。因为有开源的Spresense Arduino库,安装之后就可以和Arduino板一样进行软件的开发。即使是本篇文章里面出现的示例程序,也能实现相当多的功能。
还有一种开发环境就是使用索尼提供的Spresense SDK。它是为了更大程度地发挥出CXD5602的性能而使用C++等语言编写而成,但是其基础用到的却是“NuttX”这一特有的操作系统。
在本部分,我将使用大家应该都已经非常熟悉的Arduino IDE,进行Spresense的软件开发。
Arduino IDE的准备
首先,在Windows或者Mac等环境下,准备好Arduino IDE。此时,请使用Arduino 1.8.x以上的版本。
准备USB驱动程序
接下来,参照Spresense的网页,安装符合使用环境的USB驱动程序,以确保Spresense可以连接电脑等设备。
从该网页的1.2 事前准备这一章节下面,下载USB驱动程序,并进行安装。我在这里用到的是Mac (OSX Mojave)。
3.Spresense Arduino Library的安装
完成上述的电脑和Spresense的准备工作之后,接下来需要使用Micro USB数据线,连接Spresense主板的USB端口。
连接扩展板也可以,但是如果要进行数据传输,则需要连接主板的USB端口。
如果主板USB端口处蓝色LED亮灯,则表示连接成功。
加载Spresense Library
Spresense主板上的蓝色LED亮灯之后,在电脑端启动Arduino IDE。
从Arduino菜单中选择环境设置。在设置界面的“添加的电路板管理程序的URL”处,粘贴下述URL,点击OK按钮 。
从菜单中,选择工具 > 开发板 > 开发板管理程序,然后在搜索界面中输入“Spresense”。这样就会显示Spresense开发板,选中后,点击“安装”按钮。
这样操作之后,在Arduino的工具菜单中的开发板里面,就可以看到“Spresense”了吧。在开发板选项中,选择“Spresense”之后,如果在串行端口处也显示出USB或者端口名,则也需要选择相应的USB或端口名。
加载引导程序
同样在工具菜单下“加载装置”选项中,选择Spresense Firmware Updater,然后再选择下方的“加载引导程序”。这样,就会打开如下所示的presense End User Agreement界面,进入下载页。点击页面中Firmware的“Download now”按钮,将文件保存在合适的位置。
之后,将下载的zip文件拖放至Agreement界面,Arduino就会开始加载引导程序。
最后,出现以下提示信息时,表示加载完成。这样,就完成了在Arduino IDE里使用Spresense的准备工作。
引导程序加载完成。
updater# Restarting the board …
reboot
4.使用Spresense实现LED闪烁
到了这一步之后,接下来就要使用Spresense让LED闪烁了。
首先,准备一个LED,将其连接至Spresense的GPIO引脚14。将LED较长的引脚(阳极)与Spresense的引脚14(从左上方往下数第二个)连接,将LED较短的引脚(阴极)与Spresense从左上方往下数第四个GND连接。
接下来,使用Arduino IDE,编写如下所示的简单的Sketch。
将pinMode指定为引脚14、OUTPUT。将引脚14设为每隔1秒在HIGH和LOW之间重复切换。
之后,点击菜单从左往右数第二个加载按钮,就可以将该Sketch加载至Spresense中。
如果一切顺利,就会像照片显示的那样,外接的LED就会持续闪烁。
怎么样?虽然稍微要做点前期准备以及设置工作,但是这样就能通过Spresense实现LED闪烁,可以开始制作电子作品了。
5.总结
这次,我们用到的是索尼新发布的物联网开发板——Spresense。
在本项目中,我介绍了该开发板主板和扩展板的特色功能、附加板、以及与其他开发板之间的差异等内容。
在开发环境方面,我们加载了Spresense Library,已经可以通过Arduino IDE使用Spresense了。
我们还将LED与主板相连接,完成了让LED闪烁控制实验,这样就算迈出了开始使用Spresense的第一步。
今后,我计划利用Spresense的特色功能——高分辨率音乐以及GPS等功能,继续制作更多的电子作品,敬请期待!
(吉田)
本系列连载的内容
第1篇:什么是Spresense?(本文)
第2篇:使用Spresense制作高分辨率音乐播放器!
第3篇:使用ROHM附加板,通过Spresense轻松实现传感器检测!
第4篇:使用ROHM的BLE附加板,通过智能手机玩转高分辨率音乐播放器!
第5篇:使用Spresense相机板制作数码相机!