2024/07/07 更新:技適マークについて追記しました。
2024年6月、給料の所得税について定額による所得税額から特別控除(定額減税)が実施されました。早速、Raspberry Pi(ラズパイ)を買って、消費に還元(社会貢献)してみました。
さて、WikiによるとRaspberry Piは、2012年に英国で教育用に初代が発売されて、10年後の2022年には累計出荷台数が4600万台を記録したそうです。最近も月間100万台を出荷しており勢いは止まっていないようです。当初教育用でしたが今では産業・組込み向けで72%を占めています。
最新のモデルはRaspberry Pi 5 Model Bですが、購入したのはRaspberry Pi 4 Model B を購入しました。一世代前のものですが、現在も販売されており実績も豊富なので情報には困りません。
Raspberry Pi 4 Model B 買ったよ

RasTech Raspberry Pi 4 Model B(RAM 8GB)セットを¥17,980で購入しました。HDMIケーブル、SDカード32GB、電源5V3A、ケース、ファン一式のセット品を購入しました。

蓋を開けると整然と梱包されていました。
左側にマニュアル、その下にケースとRaspberry Pi本体、右側にケーブルなど付属品が同梱しています。

Raspberry Pi の本体梱包です。

開梱すると出てきました。Raspberry Piの基板です。サイズは85×56㎜です。小さいです。これでもRaspberry Piのラインナップでは一番大きいサイズです。

左からUSB2.0×2ポート、USB3.0×2ポート、ギガビットEthernetポートがあります。

こちらには左からUSB Type-Cの電源コネクタ、HDMIミニ×2ポート、MIPICSIカメラポート、ステレオ出力ポートがあります。
MIPICSI:Mobile Industry Processor Interface CSI-2、組込みカメラの通信規格。

こちらは40本のピンが出ています。これはGPIO(General Purpose Input/Output)汎用入出力の端子です。

こちらがMIPIDSIディスプレイポートです。
MIPIDSI:Mobile Industry Processor Interface Display Serial Interface、組込みディスプレイの通信規格。

裏面には、microSDカードコネクタが付いています。パソコンで言うところのハードディスク、SSDなどの外付け外部記憶装置に当たります。

基板を上から見たところです。CPU,GPUと記載していますが、本当はSoC(System on Chip)です。単なるCPUだけでなく、GPU、タイマー、割込みコントローラ、 GPIO、USB、PCM/I2S、DMAコントローラ、I2Cマスター、SPIマスター、PWM、UARTsのコントローラを搭載しています。すごっ!
だから、これだけ小さくできるのですね。
WiFi、Bluetoothも搭載されており、コンピュータの要件がすべて揃っていますね。

SoC(Broadcom BCM2711)のブロック図(水色枠内)です。このブロック図の上部中央にはメモリのブロックがあります。ブロックには1,2,4GBと記述があります。つまり、2020年より前のブロック図になります。メモリ8GBが発表されたのが、2020年5月28日だったからです。よく見るとブロック図の右下に2019と書いてありました。ちなみに、BCM2711のデータシートによると扱える最大メモリ容量はLPDDR-SDRAMで16GBです。だけど、16GBのRaspberry Pi 4は出ないんでしょうね。
メモリを16GBに換装したトピックがあった(笑)
ググってみると、Raspberry Pi 4 を16GBのRAMにアップグレード(交換)する、1年前のYouTubeがありました。また、それについて、Raspberry Pi フォーラムでのスレッドもありました。真偽は定かでありませんがTRYするのはおもしろい!
技適マークについて
Raspberry Pi 4は、WiFiやBluetoothを装備しており電波を発射する機器です。そのため、日本国内で使用するためには、技適を取得する必要があります。技適を取得すると対象機器に技適マークを付すことができます。技適を取得していない機器を販売したり、使用したりすると処罰の対象になります。
技適マークは、なぜ必要か?
無線機器が日本の技術基準適合証明に合格していることを示すことで、安全性と品質を保証し、無線干渉を防ぐことにあります。例えば、電波が強いと人体に影響しますね。同じ周波数の電波を勝手に使うと通話ができなくなったり、GPSを受信できなくなったり、さまざまな問題を引き起こしかねないため適合証明が必要なんですね。
技適マークというのは、電波法に基づく技術基準適合証明(電波法第38条の7第1項)、工事設計認証(電波法第38条の26)、技術基準適合自己確認(電波法第38条の26)または電気通信事業法に基づく技術基準適合認定に適合していることを証明するマークです。
2つの法律に基づく認証ですが、技適マーク()は1つです。そのため補助マークとしてRとTがあり、Rは電波法、Tは電気通信事業法に基づく認証を取得していることを表します。
技術基準適合証明は、機器1台ごとに証明する認証です。量産品については、工事設計認証を取得するのが一般的です。工事設計認証とは、あらかじめ設計図や製造の品質管理方法に対して認証を取得し、その認証にしたがって製造されたものとして技適マークを付けられます。そのため、電波に影響する設計を変更したり、製造方法を変更すると再度認証取得が必要になってきます。

購入したRaspberry Pi4 MODEL B(8GB)の裏面の写真です。写真の赤枠のマークが技適マークです。ちゃんとマークが付いていてよかったです。
また、水色枠に示されている数字が認証番号です。
電波法で「007-AH0184」の認証番号で取得していることがわかります。総務省の電波利用ホームページの「技術基準適合証明等を受けた機器の検索」からこの認証番号で検索できます。

上記のリンクをクリックすると検索ページが開きます。

ページをスクロールすると検索条件の入力欄があります。「番号:」のテキストボックスに認証番号を入力します。ただし、認証番号の種類に合わせる必要があります。認証番号は「007-AH0184」なので、(2)の新表記を選択すると、入力方法の案内が表示されます。

案内に従って入力します。他にも検索条件がありますがそのままでかまいません。

スクロールした一番下にある「送信」ボタンをクリックします。

検索結果が3件表示されました。検索結果から主にわかることは、以下です。
1.技術基準適合証明等の種類:工事設計認証として取得
設計図、製造方法等で認証を取得して、その認証に基づいて製造、販売していることがわかります。
2.氏名又は名称:RASPBERRY PI(TRADING)LIMITEDという会社として取得
会社情報によるとRASPBERRY PI(TRADING)LIMITEDは2021年にRaspberry Pi Ltd.に社名を変更しています。
3.特定無線設備の種類:第2条第19号、第2条第19号の3、第2条第19号の3の2を取得
第2条第19号は機器に対する、第2条第19号の3および第2条第19号の3の2は機器の製造方法に対する規定に関して認証を取得しています。
4.型式又は名称:Raspberry Pi 4 Model B
メモリ容量に関しては関係しないということがわかります。電波に影響しないからでしょう。
5.年月日:令和元年9月4日(2019年9月4日)に取得
2019年だから昔の会社名なのですね。
6.機関名:第三者認証機関の(株)UL Japanで取得
総務省の電波利用ホームページがあり、技適マークに関するQ&Aがありますので興味のある方は参照ください。
ケースと付属部品
セットに付属しているケース、ケーブル類を紹介します。

同梱されていたケース。基板が入るギリギリの大きさです。

ケースは、底、枠、蓋の三分割になっています。それぞれ爪でカチッと締まる作りです。放熱を考慮してスリットがたくさんあります。

冷却ファン、銅製のヒートシンクが4つ、OSなどソフトをインストールするmicroSDカード、その他ケーブル類です。すべて揃っているのですぐにRaspberry Piを使えるようにできます。
ただし、パソコンとSDカードリーダーが必須です。
組み立て
部品の確認ができましたので、組み立てます。

組み立てると言っても、組み立てるほどの部品もないです。
1.Raspberry Pi 基板をケースの底に載せてネジ止め
4か所ネジ止めするのですが、その内2つはネジ穴が大きすぎて付属のネジでは止められません。このことは口コミで知っていましたが、改善されていないことに少し落胆しました。とりあえず放置です。
2.ヒートシンク(4か所)の取り付け
ヒートシンクは熱を逃がすための部品です。熱伝導性のよい銅製のヒートシンクを4つの半導体チップの上に貼り付けます。半導体チップと同じ大きさなので間違えることはありません。予めヒートシンクに貼ってある粘着テープのシールを剥がして貼るだけです。
3.冷却ファンを蓋の裏側に固定
冷却ファンには4本のネジとナットも備わっていますが使えません。使えないのか、使わないのかはわかりません。ただ、とりあえず差し込むだけです。差し込んでもカチッと固定されるわけではないので不安です。ファンの振動でファンが外れてヒートシンクに羽が当たって壊れないか気になります。対処が必要です。
4.冷却ファンの配線
付属の冷却ファンは2線式です。つまり、単純な⊕と⊖の電線です。基板を見たところ、冷却ファン用の端子はありません。なので、GPIO(汎用入出力)の5VとGNDの端子に挿すしか手段がないようです。
冷却ファンの配線について
GPIOのピンヘッダー仕様を見ると、②、④ピンが5V、⑥ピンがGNDです。冷却ファンの2線は1つのコネクタになっているので、隣同士の④と⑥に挿すことになります。

冷却ファンの電源コネクタを④、⑥ピンに差し込みます。

冷却ファンのケーブルをGPIO端子に挿したところです。

蓋を閉じて完成です。
基板はUSBやEthernetポートの部分がケースで固定されているので、ネジ2本での固定でも問題なさそうです。
OSのセットアップ
次にRaspberry PiにOSをインストールしてセットアップします。あらかじめパソコンにSDカードリーダーにmicroSDカード(32GB)を挿しておきます。

外付けのSDカードリーダーをデスクトップパソコンのUSBに接続しています。
Raspberry Pi OS には、Raspberry Pi ハードウェア向けに最適化された、無料の Debian(デビアン) ベースのオペレーティング システムが用意されています。Debianは、オープンソースコミュニティによって開発されたLinuxディストリビューション(OS)の1つです。Windowsではないんです。
Raspberry Pi Imager というソフトを使用して Raspberry Pi OS をインストールします。Raspberry Pi Imagerは、Raspberry Pi公式サイトから ダウンロードします。具体的には、公式サイトの「Software」ページを開いて、Windows版のImagerをダウンロードします。他にはMacOS、Unbuntu(ウブントゥ)が用意されています。UnbuntuはLinux系のOSです。

Softawreページの「Download for Windows」をクリックしてダウンロードします。

ダウンロードしたimager_1.8.5.exeをダブルクリックして実行します。ファイル名の1.8.5はダウンロード時期によって変わります。

Raspberry Pi Imagerのセットアップが起動します。[Install]ボタンを押下します。

パソコンへのRaspberry Pi Imagerのインストールが完了します。「Run Raspberry Pi Imager」のチェックボックスにチェックを付けて[Finish]ボタンをクリックします。

Raspberry Pi Imagerが起動します。「デバイスを選択」、「OSを選択」、「ストレージを選択」を順番にクリックして選択していきます。

「デバイスを選択」をクリックすると、Raspberry Piデバイス一覧が表示されます。Raspberry Pi 4をクリックします。

続いて、「OSを選択」をクリックすると、OS一覧が表示されます。推奨と記載のある「Raspberry Pi OS(64-bit)」をクリックします。

続いて、「ストレージを選択」をクリックすると、パソコン内のストレージを探して、そのストレージ一覧が表示されます。USBに接続したSDカードが表示されていますのでクリックします。

選択したものが設定されていることを確認し、「次へ」ボタンをクリックします。

OSのカスタマイズを行うかのメッセージが表示されます。ここでは、「設定を編集する」をクリックします。

OS Customization画面が表示されます。「一般」タブをクリックして、各項目を設定します。
ホスト名:Raspberry Piに名前を付けます。ここでは「raspi」としました。
ユーザー名:Raspberry Piにログインするためのユーザー名を設定します。ここでは「admin」としました。
パスワード:パスワードを設定します。
SSID:家庭にあるWi-Fiルーターと接続するためのIDです。ルーターの銘板に記載のSSIDを設定します。
パスワード:SSIDに対するパスワードを設定します。これもルーターの銘板に記載があります。
WiFiを使う国:「JP」を一覧から選択します。
タイムゾーン:JPを選択すると、「Asia/Tokyo」が選択されています。
キーボードレイアウト:同じくJPを選択すると、「jp」が選択されています。

次に、「サービス」タブをクリックします。「SSHを有効化する」にチェックを付けます。「パスワード認証を使う」を選択します。

次に、「オプション」タブをクリックします。初期設定のままです。
最後に、「保存」ボタンをクリックしてカスタマイズ完了です。

「はい」をクリックして、先ほど設定したものを反映します。

確認のメッセージが表示されます。「はい」をクリックします。

microSDカードにOSがインストールされます。少し時間がかかります。

完了メッセージが表示されます。「続ける」ボタンをクリックして、Raspberry Pi Imager画面の「×」をクリックして終了します。
はて? SDカードの容量が少なくなってる!

エクスプローラーでSDカードを確認すると興味深いことがありました。ドライブ名が「bootfs」になっていました。また、32GBの容量があったのに、容量が509MBになっています。はて?

コントロールパネル>システムとセキュリティ>ハードディスク パーティションの作成とフォーマットからディスクの管理を開いてみたところ、bootfsのパーティションはFAT32で容量512MBになっています。また、フォーマット不明の5.04GBのパーティションと未割り当ての24.27GBになっていました。
Linuxのルートパーティションのフォーマット形式は通常「ext4」です。つまり、不明の5.04GBはext4形式でフォーマットされているため、Windowsからはわからない状態になっていたので上述のエクスプローラーの表示になっていたというわけです。
ということは、Raspberry Pi Imagerでインストールしたままでは、32GBのmicroSDカードを有効活用できていないことになります。別途、パーティションを拡張する必要がありそうです。
うおぉ~。こんなところで時間を使ってしまった!
Raspberry Piの起動
ハードウェアとソフトウェアの準備ができました。いよいよRaspberry Piの起動です。

Raspberry Pi ケースの底のSDカードコネクタに作成したmicroSDカードを挿入します。

こんな感じでケースの面一になります。見た目以上に抜き辛いです。

左からUSB Type-Cの電源ケーブルとminiHDMIケーブルを接続します。HDMIケーブルはディスプレイに接続しました。

2つのUSBドングルは、キーボードとマウスです。どちらもワイヤレスタイプのものです。
ディスプレイもキーボード類も全てデスクトップパソコン用のものです。だから、デスクトップパソコンが使えません。

セットに同梱されていたUSB Type-Cの電源ケーブルです。これには便利なスイッチが付いています。これで電源ON/OFFができます。

Raspberry Piが起動しました。バンザーイ!なんか壁紙がジミーです。ラズベリーロゴが出てくるのかと期待していた…

OSのインストール時にWiFiの設定をしておきましたが、あっさりとWebブラウザで閲覧できました。
すごッ!

ファイルマネージャー(Windowsのエクスプローラーに相当)で確認すると、容量が28.8GBと表示されています。パーティションの拡張は不要でした。
Raspberry Piへのリモート接続
Raspberry Piが無事起動できましたが、このままではデスクトップパソコンがいつまでも使えません。デスクトップパソコンからリモートでRaspberry Piを操作できるようにする必要があります。

ラズベリーメニュー>Preferences>Raspberry Pi Configurationをクリックします。

Raspberry Pi Configuration画面の「Interfaces」タブをクリックした画面で、「VNC」をONにします。
VNCとは、Virtual Network Computingの略で、RFB(Remote FrameBuffer)というプロトコルを用いて、画面やキーボード、マウスといった入出力をネットワーク越しに送受信するソフトウェアの総称です。
デスクトップパソコンからRaspberry Piをリモートで操作したい場合は、Raspberry Pi側にVNCサーバーをインストールして、デスクトップパソコン側にはVNCクライアント(VNC Viewer)をインストールします。
しかし、Raspberry Pi側には標準でVNCサーバーがインストールされていますので、VNCをONするだけで使えるようになります。
デスクトップパソコンにVNC Viewerをインストールします。ここではオープンソースのTigerVNCを使用します。Windows版のインストーラは、 GitHub リリース ページからダウンロードできます。

tigervnc64-1.13.1.exeをダブルクリックしてインストールします。なお、ファイル名の1.13.1はダウンロード時期によって異なる場合があります。

「Next」をクリックします。

ライセンス契約(GNU v2ライセンス)について、「I accept the agreement」を選択して「Next」をクリックします。

インストール先を確認して、「Next」をクリックします。

ショートカット名の確認です。「Next」をクリックします。

準備ができたので「Install」をクリックします。

「Finish」をクリックして、インストール完了です。

スタートメニューに最近追加「TigerVNC Viewer」が表示されるのでクリックします。

VNC serverにRaspberry PiのIPアドレスを入力します。次に「Options…」ボタンをクリックします。

「Security」タブをクリックして、Encryptionは「RSA-AES」にチェックすると、Authenticationは「Standard VNC」と「Username and password」にチェックが入りますのでそのままです。「OK」ボタンをクリックします。RealVNC Viewer以外のVNC Viewerでは、非暗号化でのVNCパスワードによる接続になります。
暗号化でのVNCパスワード接続が必要なら、RealVNCを使う必要があります。RealVNCは有償版と無償版(Lite)があり、非営利目的であればLite版で利用できますがRealVNCのクラウドにメールアドレスなどの登録が必要です。なんかいやなんでTigerVNCを使います。

Options設定後、「Connect」ボタンをクリックして、Raspberry Piに接続します。

接続先サーバーの確認画面が表示されます。Raspberry PiのMACアドレスと一致していることを確認して、「Yes」ボタンをクリックします。

Raspberry Piに対する認証画面が表示されるので、ユーザー名とパスワードを入力して、「OK」ボタンをクリックします。上述したOS Customization画面で設定したユーザー名とパスワードです。

Windowsデスクトップ上にRaspberry PiのデスクトップがWiFiネットワークを介してVNC経由で表示されました。パチパチパチ!
これで、Raspberry Pi側は電源ケーブルのみで使えるようになりました。
Raspberry PiからLINEに通知してみる
先回、WindowsアプリからLINEにメッセージを送信しました。
Windowsアプリケーションに限らず、WiFiに繋がり、HTTPクライアント(プロトコルスタック)があればどこからでもLINEに通知ができますね。
https://miyabee-craft.com/blog/2024/06/23/post-9388/
そのときのまとめで上記のようなことを言いました。Raspberry PiもWiFiに繋がっています。Webも表示することができています。つまりHTTPプロトコルを送受信できる状態です。
$ curl -X POST -H ‘Authorization: Bearer <access_token>’ -F ‘message=foobar’ \ https://notify-api.line.me/api/notify
Raspberry Piのターミナルから上記のコマンドを実行してあげればよいことになります。
実際のコマンドは以下です。
$ curl -i -X POST -H 'Authorization: Bearer <access token>'-F 'message=Send a message from my Raspberry Pi !' https://notify-api.line.me/api/notify

Raspberry Piのターミナルから具体的なコマンドを入力して、Enterキーを押下します。なお、マスク部分にアクセストークンが入ります。

コマンドに「-i」オプションを付けるとHTTPレスポンスヘッダーを表示してくれます。完了時間は12:11:04 GMT時間なっていますが、日本時間(GMT+9)に変更すると21:11:04になります。

スマホのLINEアプリに通知が届きました。時間も一致しています。
これでRaspberry Piに何かセンサーやスイッチを備えれば、センサーで感知したら通知するようなおもちゃを作れそうです。
まとめ
定額減税を活かしてRaspbery Pi(ラズパイ)を買って遊んでみました。ラズパイのケーシング、OSのインストールとセットアップを行い、Windowsパソコンからリモート接続して操作ができるようになりました。
Windowsアプリに代わって、Raspberry PiからLINEにメッセージを送信することもできました。当分、Raspberry Piで遊べそうです。楽しみ~。