
1. まとめ:
- このブログでは、ArduinoとRaspberry Piをnrf24l01モジュールと通信する方法のプロセスを説明します。 最初に、Raspberry Piの基本を学び、次にHeadless Raspberry Pi setupを見ていきます。 実装のためにまず、ArduinoからArduinoへの簡単な通信を理解し、arduinoからraspberry piへの学習を行います。
- 私はインターネット上でこれを達成するための多くのガイドを見つけましたが、それらのどれも完全ではなかったか、完全に私のために働いた。 ここでは、このプロセスのステップバイステップガイドを理解します。 そして最後に、同じのための実用的な例を示すことになります
2. 必要なコンポーネント:
- 超音波センサー
- 2Arduino Uno
- Raspberry Pi3
- 2nrf24l01送信機と受信機
- ジャンプワイヤー
- Arduinoケーブル
- PI用ミニUSB2.0
- ブレッドボード
3. 必要なソフトウェア:
- raspbian for pi
- Arduino IDEまたはVisual Studio
- リモートコンピュータ上のPutty FOR SSH
- リモートコンピュータ上のVNC viewer
4. Raspberry Piの紹介3:

4.1. 部品仕様:
- 1.4 2.4/5GHzデュアルバンド802.11ac無線LAN、10/100/1000MbpsイーサネットBluetooth4.2
- 4つのUSBポート、フルHDMIポート、組み合わせ3。5mmオーディオジャックとコンポジットビデオポート、40個のGPIOピン
- Micro SDカードスロット、ビデオコアIV3Dグラフィックスコア、カメラインターフェイス(CSI)、ディス)
4.2 Raspberry Piピン配置:

4.3. ヘッドレスラズベリーパイセットアップ:
- 私はちょうどraspberry piを買って、それがどのように機能するかをチェックしたいと思っています。 しかし、私が持っているのは、私のラップトップ、Pi、マイクロSDカード、そして私のWi-Fiネットワークです。 Piを接続して制御するにはどうすればよいですか?
1) ダウンロードRaspbian:
- あなたのPiにはOSが必要です。 ダウンロードRaspbianからRaspberrypi.org ‘sのダウンロードセクション:
- https://www.raspberrypi.org/downloads/raspbian/

2) ダウンロードSDメモリカードフォーマッタ:
- ダウンロードした画像が点滅する前にsdカードが空である必要があるため、SDカードをフォーマットするために使用されます。 からダウンロードできますhttps://www.sdcard.org/downloads/formatter/eula_windows/

3) SDカードにフラッシュします:
- ダウンロードした画像をmicro SDカードにフラッシュする必要があります。 あなたのラップトップは、SDカードスロットやマイクロSdカードリーダーを持っていると仮定すると、etcherのような点滅ソフトウェアが必要です。 先に行くとからダウンロードhttps://etcher.io/

4) Wi-Fiを設定する:
- 2つのデバイスが同じネットワーク内にある場合は、2つのデバイスを互いに通信させる方が簡単です。 イーサネットケーブルは、簡単にPiにあなたのラップトップのネットワークを利用できるようにすることができます。 しかし、我々は一つを持っていません。 そこで、SDカードにファイルを追加して、事前に設定されたwifiでPiが起動するようにします。
- SDカードは、ブートとrootfsの二つのボリュームとしてマウントされます。 ブートボリュームを開き、wpa_supplicantという名前のファイルを作成します。rpiを起動すると、このファイルは/rootfsパーティション内の/etc/wpa_supplicantディレクトリにコピーされます。 コピーされたファイルは、PiにWIFI設定情報を伝えます。 これにより、既存のWIFI設定が上書きされるため、piで既にWIFIを設定している場合は上書きされます。
- 典型的なwpa_supplicant。confファイルは次のとおりです:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1country=US network={ ssid=""your_SSID"" psk=""your_PSK"" key_mgmt=WPA-PSK}
注:あなたのSSIDはあなたのWIFIの名前です。 PskはWI-FIのパスワードです。
5)SSHを有効にする
- 後でセキュリティで保護されたシェル(SSH)を使用してPiにアクセスしますが、RaspbianではSSHはデフォルトで無効になっています。 SSHを有効にするには、ブートパーティションにsshという名前のファイルを作成します。 Linuxを使用している場合は、touchコマンドを使用してそれを行います。

6) PiのIpアドレスを検索する:
- raspberry piをオンにする前に、ネットワークに接続されている既存のデバイスを見つける必要があります。 上記のpiで設定したものと同じWIFIネットワークにラップトップが接続されていることを確認してください。
- Advanced IP Scannerをダウンロードして、raspberry piのIPをスキャンします。 ここからダウンロードできますhttps://www.advanced-ip-scanner.com/

7) あなたのPiにSSH:
- Linuxでセキュリティで保護されたシェル接続を作成するには、sshコマンドを使用できます。 Windowsを使用している場合は、Puttyをダウンロードしてみてくださhttps://www.putty.org/

既定の資格情報は次のとおりです:
username: pipassword: raspberry

8) Piへのリモートアクセス:
- 私たちはマウスを使用することができない場合、時にはそれは右に感じていません。 そのためには、Raspbian desktopを調べる必要があります。
- Piをグラフィカルに表示および制御するには、VNC(Virtual Network Connection)を設定する必要があります。 そうしよう
- リモートデスクトップにアクセスするには、ラップトップ用のVNC-viewer(クライアント)が必要です。 幸いなことに、RealVNCは多くのOsで利用可能です。https://www.realvnc.com/en/connect/download/viewer/
9) vncserverのコマンド:

10) 今すぐあなたのリモートコンピュータ上のVNCビューアを開きます:


5. 実装と作業:
5.1. Nrf24l01とArduinoへのarduinoの無線通信:
- これでは、NRF24L01を使用して二つのArduinoボード間の無線通信を行う方法を学びます。 そして超音波センサーとの間隔を測定し、トランシーバーモジュールが付いている別のArduinoに送信して下さい。
配線手順:
Nrf24L01+ワイヤレス送信者をArduinoに配線するには、次のピンを接続します:
- VCCピンを3に接続します。3ボルト
- GNDピンをグラウンドに接続(GND)
- CEピンをArduinoに接続9
- CSNピンをArduinoに接続10
- SCKピンをArduinoに接続13
- MOSIピンをArduinoに接続11
- MISOピンをArduinoに接続12
超音波センサーをArduinoに配線するには、次のピンを接続します:
- VccピンをArduino5voltsに接続
- GNDピンをグラウンド(GND)に接続
- TrigピンをArduino4に接続
- EchoピンをArduinoに接続3

とArduino Unoの配線のための回路図NRF24L01+ワイヤレス送信者をArduinoに配線するには、次のピンを接続します:
- VCCピンを3に接続します。3ボルト
- GNDピンをグラウンドに接続(GND)
- CEピンをArduinoに接続9
- CSNピンをArduinoに接続10
- SCKピンをArduinoに接続13
- MOSIピンをArduinoに接続11
- MISOピンをArduinoに接続12

の配線のための回路図ノート: コードを実行するにはRF24モジュールが必須であるため、それに応じてライブラリを追加できます
- Arduino IDEを起動してから、ダウンロードしたライブラ:


5.2. コード:
送信者側コード:
送信者側コード::
受信側コード:
データの送信

データの受信:

6. Nrf24l01を使用したArduinoからRaspberry Piへの無線通信:
6.1:RASPBERRY PiへのRF24モジュールのインストール:
- ArduinoとRaspberry Piの間で通信するための最も重要で最も重要なステップは、ArduinoでRF24ライブラリを通信に使用しているため、Piでも同じライブラリが必要です。
- さらに、ライブラリのインストールが必要な手順があります。 それについての明確な考えが存在しないので、それをインストールするのにほぼ一週間かかりました。
=> 移動する方法:
1。 Puttyを使用してRaspberry Piにログインします。
2. GUIのVNCサーバーに移動します。
3. 端子タイプでは、:
sudo raspi-config

configのインタフェースオプションからSPIをオンにする

4. Piを再起動します。 端末で、次のように入力します:
sudo reboot
5. 端子タイプでは、:
sudo apt-get update
6. ダウンロードinstall.sh http://tmrh20.github.io/RF24Installer/RPi/install.shからのファイルまたは端末でこれを実行します:
wget http://tmrh20.github.io/RF24Installer/RPi/install.sh
7. 実行可能にする:
chmod +x install.sh
8. それを実行し、オプションを選択します:

9. いずれかのライブラリから例を実行します:
cd rf24libs/RF24/examples_linux make sudo ./gettingstarted
プログラムを実行するには、次のコマンドを実行します。
10. さらに、同じ目的のためにPythonプログラムを実行したい場合は、これを行うことができます:
例を実行するEdit the pingpair_dyn.py 上記のマニュアルに従って適切なピンを設定する例:
nano pingpair_dyn.py
- pingpair_dyn例を使用して別のデバイス、Arduino、またはRPiを設定します
- 例を実行します
sudo python pingpair_dyn.py

6.2. Nrf24l01とArduinoへのarduinoの無線通信:
- これでは、Nrf24L01を使用してArduinoとRaspberry Piの間で無線通信を行う方法を学びます。 そして、Arduino Unoの助けを借りて超音波センサーで距離を測定し、それをRaspberry Piに送信するとデータが受信されます。
:
Nrf24L01+ワイヤレス送信者をArduinoに配線するには、次のピンを接続します:
- VCCピンを3.3ボルトに接続する
- GNDピンをグランド(GND)に接続する
- CSNピンをArduinoに接続する10
- CEピンをArduinoに接続する9
- SCKピンをArduinoに接続する13
- MISOピンをArduinoに接続する12
- >MOSIピンをArduinoに接続する11
超音波センサーをArduinoに配線するには、次のピンを接続します:
- VccピンをArduino5voltsに接続
- GNDピンをグラウンド(GND)に接続
- TrigピンをArduino4に接続
- EchoピンをArduinoに接続3
模式図:

を使用したArduino Unoの配線の模式図nrf24L01+ワイヤレスレシーバーをRaspberry Piに配線するには、次のピンを接続します:
- VCCピンを3に接続します。3ボルト(ピン1)
- GNDピンをグラウンド(GND)に接続(ピン6)
- CEピンをラズベリー GPIOに接続22
- CSNピンをラズベリー GPIOに接続8
- SCKピンをラズベリー GPIOに接続11
- MOSIピンをラズベリー GPIOに接続10
- MisoピンをRaspberry Gpioに接続します09
模式図:

6.3. コード:
送信者側コード:
送信者側コード::
受信側コード:
- 私の要件に従って私が微調整しているので、このコードを使用することは必須ではありません。
接続とコードの適切な機能を確認するには、pingpair_dynのようなライブラリに存在する例を実行できます。あなたのArduinoのinoとpingpair_dyn.py Raspberry Pi
- 私の実行中の通信のスニペット:


結論: ヘッドレスのRaspberry Piセットアップ、Arduino、Raspberry piをお互いに通信してデータを送信したり、RF24モジュールをインストールしているときに直面したようなエラーや課題を克服したりするなど、IoTデバイスで実験したり遊んだりするのはいつも楽しいことです。 このチュートリアルの目的は、ステップバイステップのプロセスであなたを提供し、それが従うと同様に学ぶのは簡単だったことを願っています。 読んでくれてありがとう! 提案や修正は常に歓迎されています。