ラズパイでRTMPライブ配信(ニコ生)

この記事では、ラズパイからニコ生にRTMP配信した時の設定を解説する。

ラズパイはRaspberry Pi 3B+を使用した。

USBカメラとカメラモジュールで試した。結論的には、どちらのカメラでも配信はできたが、USBカメラの場合15fpsが限界だった。それ以上画質を良くしようとすると音声にデジタルノイズが乗ってしまい聴けたものではない。一方でカメラモジュールで試したところ、30fpsまで上げても問題なく配信できた。

よって、ラズパイ3を使ってRTMP配信する場合はカメラモジュールでの配信をお勧めしておく。

ラズパイ用カメラモジュール

HiLetgo OV5647 5MP Raspberry Pi 3 カメラ OV5647 HDカメラモジュール Raspberry Pi に対応 A/B+/2 モデルB ケーブル
HiLetgo OV5647 5MP Raspberry Pi 3 カメラ OV5647 HDカメラモジュール Raspberry Pi に対応 A/B+/2 モデルB ケーブル

OV5647 Camera Module センサータイプ:OV5647色CMOS QSXGA(5メガピクセル) センサーサイズ:3.67*2.74mm(1/4インチフォーマット) ピクセル計算:2592*1944, ピクセルサイズ:1.4*1.4μm

Amazon

用途によってはケースに入った製品の方が使い勝手がよいかもしれない。

For raspberry pi カメラモジュール 5MP Raspberry Pi 4 model b /3 b+ / Pi Zero Camera とケース500W画素 感光チップOV5647センサー
For raspberry pi カメラモジュール 5MP Raspberry Pi 4 model b /3 b+ / Pi Zero Camera とケース500W画素 感光チップOV5647センサー

[Raspberry Pi 4 model b, 3 Model b+, Pi 3b, Pi Zero, Pi Zero Wireless]に適用 固定焦点レンズにOV5647ウェブカメラセンサーを搭載した5メガピクセルセンサー このカメラは、2592 x 1944ピクセルの静止画像に対応しており、1080 p / 30 fps、720 p / 60 fps、および640 x 480 p 60/90のビデオ録画もサポートしています

Amazon

また、ズーム機能付だったり、赤外線で夜間も撮影できるカメラモジュールもある。

Kuman カメラモジュール Raspberry Pi用 日中/夜間モード ズームレンズ 5MP 1080p 感光チップOV5647 Raspberry Pi 4B Model B/B+ A+ RPi 3/2/1に交換 ラズベリーパイSC25
Kuman カメラモジュール Raspberry Pi用 日中/夜間モード ズームレンズ 5MP 1080p 感光チップOV5647 Raspberry Pi 4B Model B/B+ A+ RPi 3/2/1に交換 ラズベリーパイSC25

IR-CUTカメラ:内蔵のIR-CUTカメラは、日中/夜間モードを自動的に切り替えて、画像を鮮明にします。初心者の方が使いやすいです。

AmazonRakuten
Kuman カメラモジュール Raspberry Pi用 夜間 赤外線可視 ラズベリーパイ 500W画素 Pi 4B 3 2 SC15
Kuman カメラモジュール Raspberry Pi用 夜間 赤外線可視 ラズベリーパイ 500W画素 Pi 4B 3 2 SC15

5メガピクセルOV5647センサー、2つの赤外線LEDとフラッシュフィルにサポート。 ラズベリーパイ夜間視力カメラ、すべて改訂パイをサポート。カメラは2592×1944ピクセル静的イメージが可能また1080p 30fps、720p 60fpsと640*480p 60/90ビデオ記録をサポート

AmazonRakuten

動画など重い処理をラズパイで行う場合、CPUが発熱して本体が壊れる恐れがある。ヒートシンクや放熱性のあるケースに入れて必ず熱対策をしよう。

過去にラズパイを壊してしまったことがある。

Geekworm Raspberry Pi(ラズベリーパイ) 4 B 用アーマー金属ケース パッシブ冷却/シェル熱放散 ラズベリーパイ4 コンピュ ータモデルB適用 (アーマーケース(ファン無し))
Geekworm Raspberry Pi(ラズベリーパイ) 4 B 用アーマー金属ケース パッシブ冷却/シェル熱放散 ラズベリーパイ4 コンピュ ータモデルB適用 (アーマーケース(ファン無し))

Amazon
最新 Raspberry Pi 4 ケース, 超薄型アルミニウム合金ケース+ヒートシンク+ 35x35x10 冷却大超静音ファン Raspberry Pi4 Model B 8gb /4gb / 2gb / 1gb (ラズベリーパイ4モデルB) 対応 (ラズパイ4本体含みません)
最新 Raspberry Pi 4 ケース, 超薄型アルミニウム合金ケース+ヒートシンク+ 35x35x10 冷却大超静音ファン Raspberry Pi4 Model B 8gb /4gb / 2gb / 1gb (ラズベリーパイ4モデルB) 対応 (ラズパイ4本体含みません)

Amazon

ラズパイでカメラモジュールを使えるようにする

$ sudo raspi-config5 Interfacing OptionsP1 Camera へと進み Yes を選択してカメラを有効にする。再起動後、$ vcgencmd get_camerasupported=1 detected=1 と表示されればカメラモジュールが使える状態になっている。

ラズパイでUSBカメラを使えるようにする

ラズパイでUSBカメラを使う場合は特に必要な設定はなかった。ロジクールのC270を使用したが、USBカメラ接続後 $ lsusb を実行すると次のようにカメラが認識されていた。

Bus 001 Device 004: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 001 Device 005: ID 0424:7800 Standard Microsystems Corp. 
Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

ちなみにビデオデバイスは /dev/video0 を使う。

$ ls /dev/video*
/dev/video0  /dev/video1  /dev/video10	/dev/video11  /dev/video12

また、オーディオ入力は次のようにして確認できる。ラズパイは一般的なUSBのオーディオインターフェースも使用できるらしく、ZOOMのH5を繋いでマイク入力として使用した。

card 1 card 2というのがサウンドカード番号でのちに必要になってくる。

$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: U0x46d0x825 [USB Device 0x46d:0x825], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: H5 [H5], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
ロジクール ウェブカメラ C270n ブラック HD 720P ウェブカム ストリーミング 小型 シンプル設計 国内正規品 2年間メーカー保証
ロジクール ウェブカメラ C270n ブラック HD 720P ウェブカム ストリーミング 小型 シンプル設計 国内正規品 2年間メーカー保証

Skypeなどのプラットフォームで、ワイドスクリーンフォーマットの明瞭かつスムーズなテレビ電話(720p/30fps)を体験できます。

AmazonRakuten
ロジクール ウェブカメラ フルHD 1080P 60FPS ストリーミング ウェブカム AI オートフォーカス 自動露出補正 自動ブレ補正 ストリームカム StreamCam C980OW オフホワイト USB-C接続 国内正規品 2年間メーカー保証
ロジクール ウェブカメラ フルHD 1080P 60FPS ストリーミング ウェブカム AI オートフォーカス 自動露出補正 自動ブレ補正 ストリームカム StreamCam C980OW オフホワイト USB-C接続 国内正規品 2年間メーカー保証

【フルHD 1080P 60FPS】フルHD 1080Pの高画質および 60FPSのなめらかな動画でストリーミング、撮影が可能

AmazonRakuten

ffmpegでハードウェアエンコード

さて、RTMP配信にはffmpegを使用した。ただし、$ apt install ffmpegでインストールしたffmpegだとソフトウェアエンコードになってしまい、CPU使用率が100%を超え負荷が高い。そこでffmpegをソースコードからコンパイルして、ハードウェアエンコードで動画処理をできるようにしていく。

すでにffmpegが入っている場合は $ apt remove ffmpeg で削除しておく。

apt-getを最新の状態にしておく。

$ sudo apt-get update
$ sudo apt-get upgrade

h264_omx というコーデックを使うことでハードウェアエンコーダになる。最新のffmpeg 4系だとh264_omx が非推奨のようなのでffmpeg 3.4をダウンロードした。

$ git clone git://source.ffmpeg.org/ffmpeg ffmpeg/release/3.4.8 --depth=1

gitでクローンしたあと、次の場所にffmpegのソース類が入っている。

/home/pi/ffmpeg/release/3.4.8

さて、ffmpegをコンパイルする前にalsaというサウンド周りのライブラリを入れる。ホームページから最新版のalsa-libをダウンロードしコンパイルする。

$ wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.2.4.tar.bz2
$ tar xjvf alsa-lib-1.2.4.tar.bz2
$ cd alsa-lib-1.2.4
$ ./configure --prefix=/home/pi/ffmpeg/release/3.4.8
$ make
$ make install

以上を実行すると/home/pi/ffmpeg/release/3.4.8の中にlibディレクトリできており、その中にalsa-lib関係のライブラリが入っているはず。

あと、必要かどうか分からないが次のライブラリも入れておいた。

ffplayのビルド用?

$ sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libsdl2-mixer-dev

OMX_Core関係?

$ sudo apt-get install libomxil-bellagio-dev -y

ここでいよいよffmpegをコンパイルしていく。作業ディレクトリへ移動。

$ cd /home/pi/ffmpeg/release/3.4.8

ライブラリを以下のようにして指定した。

./configure --enable-gpl --enable-nonfree --enable-mmal --enable-omx-rpi --enable-omx --extra-cflags="-I/home/pi/ffmpeg/release/3.4.8/include" --extra-ldflags="-L/home/pi/ffmpeg/release/3.4.8/lib" --extra-libs=-ldl

ラズパイ3のCPUはクアッドコアなので、以下のようにして4スレッドで実行すると多少早いようだ。それでも30分くらいコンパイルに時間がかかった。

$ make -j4
$ sudo make install

問題なくインストールできていれば $ which ffmpeg でインストール場所が表示されるはず。

ラズパイからffmpegでRTMP配信

それではラズパイからffmpegでRTMP配信を行なっていく。ライブ配信はニコ生を使用した。ニコ生のRTMPエンドポイントは、URLストリームキーをスラッシュ/で繋げたもの。ffmpegのオプションの順番も重要になってくる。いろいろ試行錯誤して次のようなコマンドになった。画像サイズとかは改良の余地がありそう。

カメラモジュールの場合

$ ffmpeg \
-f alsa -ac 2 -thread_queue_size 16384 -i hw:1 \
-f v4l2 -thread_queue_size 16384 -video_size 640x480 -framerate 30 -i /dev/video0 \
-c:v h264_omx -b:v 768k -bufsize 768k -vsync 2 -g 16  \
-c:a aac -b:a 192k -ar 48000 \
-f flv rtmp://tliveorigin.dmc.nico/named_input/ストリームキー

USBカメラでこれだとうまくいくっぽい?

$ ffmpeg \
-f alsa -ac 1 -thread_queue_size 8192 -i hw:1 \
-i /dev/video0 \
-c:a aac -b:a 128k -ar 44100 \
-f flv rtmp://tliveorigin.dmc.nico/named_input/ストリームキー
$ ffmpeg -threads 2 \
-f alsa -ac 2 -thread_queue_size 8192 -i hw:2 \
-f v4l2 -thread_queue_size 8192 -input_format yuyv422 -video_size 640x480 -framerate 30 -i /dev/video0 \
-c:v h264_omx -b:v 768k -bufsize 768k -vsync 2 -g 16  \
-c:a aac -b:a 192k -ar 48000 \
-f flv rtmp://tliveorigin.dmc.nico/named_input/ストリームキー
$ ffmpeg \
-f alsa -ac 2 -thread_queue_size 16384 -i hw:1 \
-f h264 -thread_queue_size 16384 -video_size 640x480 -framerate 30 -i /dev/video0 \
-c:v h264_omx -b:v 768k -bufsize 768k -vsync 2 -g 16  \
-c:a aac -b:a 192k -ar 48000 \
-f flv rtmp://tliveorigin.dmc.nico/named_input/ストリームキー

オプション参考

オプション意味
-i hw:1サウンドカードの番号を指定
-ac音声のチャンネル数(モノ:1、ステレオ:2)
-ar音声のサンプリング周波数
-b:a音声のビットレート
-vsync1で固定フレームレート
2で可変フレームレート
-framerate映像のFPS
-c:v映像のコーデック(h264_omxでハードウェアエンコーダになる)
-b:v映像のビットレート
-c:a音声のコーデック(ニコ生の場合aacを指定)

さらに、ラズパイでソフト的に手振れ補正ができれば最高だが、リアルタイムで出来そうなものはみつけられなかった。リアルタイムでなければ、Video Stabilization(vid.stab)が使えるようだ。

カメラの性能を調べる便利なコマンド

最後にカメラの性能を調べられる便利なコマンドを紹介しておく。

利用可能なコーデックが一覧で出てくる。

$ ffmpeg -f v4l2 -list_formats all -i /dev/video0
...
[video4linux2,v4l2 @ 0x2212220] Raw       :     yuv420p :     Planar YUV 4:2:0 : {32-2592, 2}x{32-1944, 2}
[video4linux2,v4l2 @ 0x2212220] Raw       :     yuyv422 :           YUYV 4:2:2 : {32-2592, 2}x{32-1944, 2}
[video4linux2,v4l2 @ 0x2212220] Raw       :       rgb24 :     24-bit RGB 8-8-8 : {32-2592, 2}x{32-1944, 2}
[video4linux2,v4l2 @ 0x2212220] Compressed:       mjpeg :            JFIF JPEG : {32-2592, 2}x{32-1944, 2}
[video4linux2,v4l2 @ 0x2212220] Compressed:        h264 :                H.264 : {32-2592, 2}x{32-1944, 2}
[video4linux2,v4l2 @ 0x2212220] Compressed:       mjpeg :          Motion-JPEG : {32-2592, 2}x{32-1944, 2}
[video4linux2,v4l2 @ 0x2212220] Raw       : Unsupported :           YVYU 4:2:2 : {32-2592, 2}x{32-1944, 2}
[video4linux2,v4l2 @ 0x2212220] Raw       : Unsupported :           VYUY 4:2:2 : {32-2592, 2}x{32-1944, 2}
[video4linux2,v4l2 @ 0x2212220] Raw       :     uyvy422 :           UYVY 4:2:2 : {32-2592, 2}x{32-1944, 2}
[video4linux2,v4l2 @ 0x2212220] Raw       :        nv12 :         Y/CbCr 4:2:0 : {32-2592, 2}x{32-1944, 2}
[video4linux2,v4l2 @ 0x2212220] Raw       :       bgr24 :     24-bit BGR 8-8-8 : {32-2592, 2}x{32-1944, 2}
[video4linux2,v4l2 @ 0x2212220] Raw       :     yuv420p :     Planar YVU 4:2:0 : {32-2592, 2}x{32-1944, 2}
[video4linux2,v4l2 @ 0x2212220] Raw       : Unsupported :         Y/CrCb 4:2:0 : {32-2592, 2}x{32-1944, 2}
[video4linux2,v4l2 @ 0x2212220] Raw       :        bgr0 : 32-bit BGRA/X 8-8-8-8 : {32-2592, 2}x{32-1944, 2}
/dev/video0: Immediate exit requested

$ v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
	Index       : 0
	Type        : Video Capture
	Pixel Format: 'YUYV'
	Name        : YUYV 4:2:2

	Index       : 1
	Type        : Video Capture
	Pixel Format: 'MJPG' (compressed)
	Name        : Motion-JPEG

使用可能なコーデックや画像サイズとFPSの関係が調べられる。

$ v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
	Index       : 0
	Type        : Video Capture
	Pixel Format: 'YUYV'
	Name        : YUYV 4:2:2

	Index       : 1
	Type        : Video Capture
	Pixel Format: 'MJPG' (compressed)
	Name        : Motion-JPEG

pi0 23:10 ~  $ v4l2-ctl --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
	Index       : 0
	Type        : Video Capture
	Pixel Format: 'YUYV'
	Name        : YUYV 4:2:2
		Size: Discrete 640x480
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.040s (25.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.200s (5.000 fps)

省略...

	Index       : 1
	Type        : Video Capture
	Pixel Format: 'MJPG' (compressed)
	Name        : Motion-JPEG
		Size: Discrete 640x480
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.040s (25.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.200s (5.000 fps)
省略...
$ ffmpeg -f v4l2 -list_formats all -i /dev/video0
...
[video4linux2,v4l2 @ 0x2ab4220] Raw       :     yuyv422 :           YUYV 4:2:2 : 640x480 160x120 176x144 320x176 320x240 352x288 432x240 544x288 640x360 752x416 800x448 800x600 864x480 960x544 960x720 1024x576 1184x656 1280x720 1280x960
[video4linux2,v4l2 @ 0x2ab4220] Compressed:       mjpeg :          Motion-JPEG : 640x480 160x120 176x144 320x176 320x240 352x288 432x240 544x288 640x360 752x416 800x448 800x600 864x480 960x544 960x720 1024x576 1184x656 1280x720 1280x960

実際のfpsをテスト実測してくれる。

$ v4l2-ctl --stream-mmap=3 --stream-count=300
<<<<<<<<<<<<<<<< 15.00 fps
<<<<<<<<<<<<<<< 14.92 fps
<<<<<<<<<<<<<<< 14.90 fps
<<<<<<<<<<<<<<< 14.88 fps
<<<<<<<<<<<<<<< 14.91 fps
<<<<<<<<<<<<<<< 14.90 fps
<<<<<<<<<<<<<<< 14.89 fps

カメラの画像設定を変更できる。

$ v4l2-ctl --set-fmt-video=width=640,height=480,pixelformat=1
$ v4l2-ctl --stream-mmap=3 --stream-count=300
<<<<<<<<<<<<<<<<<<<<<<<<<< 24.27 fps
<<<<<<<<<<<<<<<<<<<<<<<< 24.13 fps
<<<<<<<<<<<<<<<<<<<<<<<< 24.09 fps
<<<<<<<<<<<<<<<<<^C
$ v4l2-ctl --set-fmt-video=width=640,height=480,pixelformat=0
$ v4l2-ctl --stream-mmap=3 --stream-count=300
<<<<<<<<<<<<<<<<< 15.09 fps
<<<<<<<<<<<<<<< 15.12 fps

この記事で扱った関連製品はこちら

HiLetgo OV5647 5MP Raspberry Pi 3 カメラ OV5647 HDカメラモジュール Raspberry Pi に対応 A/B+/2 モデルB ケーブル
HiLetgo OV5647 5MP Raspberry Pi 3 カメラ OV5647 HDカメラモジュール Raspberry Pi に対応 A/B+/2 モデルB ケーブル

OV5647 Camera Module センサータイプ:OV5647色CMOS QSXGA(5メガピクセル) センサーサイズ:3.67*2.74mm(1/4インチフォーマット) ピクセル計算:2592*1944, ピクセルサイズ:1.4*1.4μm

Amazon
For raspberry pi カメラモジュール 5MP Raspberry Pi 4 model b /3 b+ / Pi Zero Camera とケース500W画素 感光チップOV5647センサー
For raspberry pi カメラモジュール 5MP Raspberry Pi 4 model b /3 b+ / Pi Zero Camera とケース500W画素 感光チップOV5647センサー

[Raspberry Pi 4 model b, 3 Model b+, Pi 3b, Pi Zero, Pi Zero Wireless]に適用 固定焦点レンズにOV5647ウェブカメラセンサーを搭載した5メガピクセルセンサー このカメラは、2592 x 1944ピクセルの静止画像に対応しており、1080 p / 30 fps、720 p / 60 fps、および640 x 480 p 60/90のビデオ録画もサポートしています

Amazon
Raspberry Pi Zero W - ヘッダー ハンダ付け済み - ラズベリー・パイ ゼロ W ワイヤレス
Raspberry Pi Zero W - ヘッダー ハンダ付け済み - ラズベリー・パイ ゼロ W ワイヤレス

AmazonRakuten
正規代理店商品 Raspberry Pi 4 Model B (8GB) made in UK element14製 技適マーク入
正規代理店商品 Raspberry Pi 4 Model B (8GB) made in UK element14製 技適マーク入

AmazonRakuten

こんな商品も人気です!

10 インチRaspberry Pi用タッチモニター EleDuino HDMI モバイルディスプレイ 2021最新版 ゲームモニターIPS液晶パネル 1366x768薄い 軽量、自立,USB Type-C標準 HDMI/スピーカー搭載
10 インチRaspberry Pi用タッチモニター EleDuino HDMI モバイルディスプレイ 2021最新版 ゲームモニターIPS液晶パネル 1366x768薄い 軽量、自立,USB Type-C標準 HDMI/スピーカー搭載

Amazon
Raspberry Pi4 Model B DIYメタルケース/ラズベリーパイ4 モデルB ケース/アルミニウム金属ケース/ファンレス/放熱シート付き/ブラック
Raspberry Pi4 Model B DIYメタルケース/ラズベリーパイ4 モデルB ケース/アルミニウム金属ケース/ファンレス/放熱シート付き/ブラック

ラズベリーパイ4用メタルケース スタイリッシュで堅牢なメタルボディ ケーズ全体がヒートシンクの高い放熱性能 アルミ製のファンレスケーズボディー シンプルでコンパクトなモノクローム

AmazonRakuten
Miuzei 最新Raspberry Pi 4 ケース ラスベリー パイ 4 ケース+ 5V 3A 電源Micro USB-C アダプター 冷却ファン+ヒートシンク Raspberry Pi 4 Model B対応
Miuzei 最新Raspberry Pi 4 ケース ラスベリー パイ 4 ケース+ 5V 3A 電源Micro USB-C アダプター 冷却ファン+ヒートシンク Raspberry Pi 4 Model B対応

AmazonRakuten
Freenove Raspberry Pi 4 B 3 B+ 400用の究極のスターターキット、434ページの詳細なチュートリアル、Python C Javaコード、223アイテム、57プロジェクト、無はんだブレッドボード
Freenove Raspberry Pi 4 B 3 B+ 400用の究極のスターターキット、434ページの詳細なチュートリアル、Python C Javaコード、223アイテム、57プロジェクト、無はんだブレッドボード

Amazon

Raspberry Piの参考書

Raspberry Piクックブック 第3版 (Make:PROJECTS)
Raspberry Piクックブック 第3版 (Make:PROJECTS)

本書は、登場以来多くのユーザーの支持を集め続けているマイコンボード「Raspberry Pi」を使いこなすための267本のレシピ集です。 ハードウェアの基本、オペレーティングシステムの使い方、ネットワーク接続、Pythonプログラミングの基本から、高度なPythonプログラミング、GPIO(汎用入出力)、モーター、センサー、ディスプレイ、コンピュータービジョン、Arduinoとの連携まで、幅広いニーズに応えます。

AmazonRakuten
写真や図解でよくわかる ラズパイZeroを使い倒す本 Raspberry Pi Zero/Zero W対応
写真や図解でよくわかる ラズパイZeroを使い倒す本 Raspberry Pi Zero/Zero W対応

本書ではRaspberry Pi Zero / Zero Wの概要から必要な周辺機器の説明、OSの導入やセットアップなどといった準備、そしてLinuxに初めて触れる人に向けてLinuxの基礎やシェルの操作などを解説しています。また、準備が整ったら実際に電子部品をRaspberry Pi Zero / Zero Wで制御する方法も解説しました。

KindleAmazonRakuten
Raspberry Pi ZeroによるIoT入門- Zero W 対応
Raspberry Pi ZeroによるIoT入門- Zero W 対応

本書は、大人から子供まで、初心者の方でも、ラズパイZeroとラズパイZero WをIoTのデバイスとして使いこなせるようになることを目的とした入門書です。また、ラズパイZeroとラズパイZero WをUSBケーブル1本でパソコンに接続できる便利な「Zero over USB」について、日本で初めて詳しく解説しました。

AmazonRakuten

Amazonでお得に購入するなら、Amazonギフト券がオススメ!

\Amazonギフトがお得/

コンビニ・ATM・ネットバンキングで¥5,000以上チャージすると、プライム会員は最大2.5%ポイント、通常会員は最大2%ポイントがもらえます!
Amazonギフト券

\この記事をシェアする/