24
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

spresenseAdvent Calendar 2021

Day 7

SPRESENSE をはじめよう!

Last updated at Posted at 2021-12-06

2024年最新版

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形状)
  • カメラボード
  • HDRカメラボード
  • LTE拡張ボード
  • GNSSアドオンボード

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

その他の周辺機器

ソニー以外の各社からも多くの周辺機器が出ています。ただ、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はハイレゾのオーディオ再生機能があります。「世界ゆるミュージック協会」というところと、「ゆる楽器」というユニークな楽器を作るプロジェクトが進んでいるようです。さらに簡単に楽器を開発できるライブラリも提供しているようです。サウンドフォントも使えるようなので結構本格的な楽器が作れそうです。

ゆる楽器.jpg

マイク機能

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

24
13
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
24
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?