LoginSignup
19
8

More than 1 year has passed since last update.

SPRESENSE をはじめよう!

Last updated at Posted at 2021-12-06

SPRESENSEとは?

SPRESENSEとは2018年夏にソニーが初めて?製品化した開発用ボードです。ソニー製の低消費電力マルチコアプロセッサ「CXD5602」が搭載されています。ソニーというとイメージセンサーの印象が強いですが、プロセッサも健在なのは嬉しいですね。「Cell」を作ったソニーらしく、このプロセッサーもかなりユニークです。

SPRESENSEメインボード
SpresenseMainBoard(S).png

名前の由来

日本語の呼び方は、”スプレセンス”、”エス・プレゼンス”など諸説ありますが、”スプレッセンス”と呼ぶのが正しいようです。なんでこんな名前なのか気になりますが、FAQによると「Spresense の名称に特に意味はありません。」だそうです(笑)。

主要機能

  • ARM Cortex-M4Fを6つ搭載した低消費電力マルチコアCPU搭載
  • ニューラルネットワークコンソールに対応したAI機能
  • ハイレゾリューションオーディオの入出力
  • カメラインターフェース搭載
  • 「みちびき」に対応したGPSモジュール内蔵
  • LTE低消費電力通信(LTE-M)に対応(LTE拡張ボードが必要)

SPRESENSEメインボードとLTE拡張ボード
SpresenseLTE(S).png

ソニー純正の周辺機器

ソニーからは次の3つの周辺機器が出ています。

  • 拡張ボード(Arduino形状)
  • カメラボード
  • LTE拡張ボード

製品仕様
SPRESENSEソニー純正周辺機器.png

その他の周辺機器

ソニー以外の各社からも多くの周辺機器が出ています。ただ、SPRESENSEはArduinoに対応しているので、ここで紹介されている他にも、Arduino対応のセンサーや通信モジュールはほぼ流用できます。私はWiFiにはESP8266をよく利用しています。

サードパーティー製拡張オプション
SPRESENSE周辺機器.png

開発環境

SPRESENSEの開発環境は、今現在知る限り次の4つです。Circuit Python は、英語版にしかドキュメントがありませんでした。

ソフトウェア構成

SPRESENSE は「NuttX」というオープンソースのRTOSがベースとなっています。NuttX はPOSIX準拠のOSで、いわばリアルタイム版Linuxと言えるものですが、起動が高速でフットプリントが小さいというRTOSの良さを残しています。

Spresenseソフトウェア構成

組み込みLinuxに慣れている人にとっては、取り組みやすいOSだと思います。

nuttx.apache.org
NuttX.png

何ができるの?

SPRESENSEは機能がてんこ盛りの割には、通信機能がメインボードに搭載されていない。おまけに少々お高めと、少しちぐはぐな印象を持ちます。しかし使いこなせば使いこなすほど味が出るボードです。その特徴と応用例を少しあげてみました。(かなり手前味噌)

マルチコア・コンピューティング

コンピュータ・サイエンスに興味を持っている人には、SPRESENSEは非常に面白い研究対象になると思います。SPRESENSEは、SMP, AMP 両方に対応しています。AMPではそれぞれのコアに対してArduino IDEでプログラミングができますので並列処理プログラミングを手軽に試すことができます。

また、SDKを使うと、SMP、AMPを組み合わせて利用することもできます。

SPRESENSE SMPxASMP

NuttX はオープンソースなので、マルチコアを扱うOSの仕組を学習するのも面白いでしょう。

オーディオ機能

SPRESENSEはハイレゾのオーディオ再生機能があります。音楽に強いということもあり、私もビートボックスを作ったりギターアンプを作ったりをしました。また電子バイオリンを作っている猛者もいます。

同じことはソニーも考えているようで、SPRESENSEを使って新しい楽器を作ろうというプロジェクトが進んでいるようです。(SPRESENSEだけではないようですが、、、)

マイク機能

SPRESENSEは4系統のマイク入力がありハイレゾでも録音ができるようになっています。

このマイク入力は、192kHz/24ビットまで対応できるADCとして使うこともできます(ほぼ測定器並)。ここにアナログセンサーをつなげれば、高速信号処理可能なセンシングプロセッサーとして使うことができます。(センシングプロセッサーの由来はココ?)

さらに再生機能とマイク機能を応用すれば音響通信も可能になります。通信の基礎に取り組みたい人には良い実験材料になると思います。

カメラ機能

カメラは、ソニー製のCMOSイメージセンサーを搭載したカメラボードが利用できます。ライブラリは非常に使いやすいのでさくっとアプリケーションが作れます。

SPRESENSEタイムラプスカメラ

他のイメージセンサーはまだ対応はされていませんが、ハードウェアの仕様やソフトウェアはオープンソースになっているので、OV7670などつなげられるのではないかと妄想しています。

GPS機能

SPRESENSEにはGPSチップアンテナが搭載されているので、メインボードだけで利用できます。みちびきにも対応しているのでサブメーター級測位も利用できます。チップアンテナですが、思いのほか精度が高いのでサイクルコンピュータ用によさそうです。

その他、SPRESENSEには「みちびき」が提供する「災害危険情報」をデコードする機能もあります。SPRESENSEを使って防災システムを作ってみるのも面白いと思います。

AI機能

SPRESENSEの目玉といえばAI機能。とは言っても、あまりサンプルとかがないのが残念。チュートリアルはかなりあっさりとしていてもう少し情報が欲しいところ。自分なりの理解をまとめたものをあげておきますので参考にしてください。

関連書籍

SPRESENSEではじめるローパワーエッジAI
SPRESENSEではじめるローパワーエッジAI

はじめての「SonyNNC」改訂版 (I/O BOOKS)
はじめての「SonyNNC」改訂版 (I/O BOOKS)

チュートリアル動画

ソニー公式などから、さまざまなチュートリアルが用意されています。SpresenseのAI機能はソニー公式のSpresenseチュートリアルがよさそうです。

公式アカウント

公式SNSも用意されています。最新情報をウォッチできます。

その他の非公式情報

ブログ

Twitter

Facebook

19
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
8