ホログラムノヴァスターターキット
Novaは初めてですか?ラズベリーパイは初めてですか? Pythonは初めてですか?このチュートリアルはキットに沿っており、各ステップを順を追って説明します。
ストーリー
このチュートリアルは、ホログラムが提供するキットの一部です:https://hologram.io/store/nova-starter-kit-for-raspberry-pi-3
Raspberry Piのセットアップ–ヘッドレス
注:SDカードにRaspbianが既にインストールされていて、SSHで接続したり、端末にアクセスしたりできる場合は、次のセクションにスキップできます。
1. RaspbianOSをダウンロードしてSDに書き込みます
- RaspbianはDebianの一種であり、RaspberryのARMアーキテクチャ用に特別に作成されています
- LiteバージョンとFullバージョンの両方が機能します(LiteにはデスクトップUIが含まれていないため、このtutには必要ありません)
- 不要な余分な手順が追加されるため、NOOBSは使用しません
- ダウンロードしたRaspbianイメージをSDカードに転送するために、Etcherと呼ばれるクロスプラットフォームツールを使用しています。
Etcherのダウンロード/インストール:https://etcher.io/
- SDカードをコンピューターに挿入します
- Etcherアプリを開く
- ダウンロードしたRaspbianzipファイルをOSとして選択します
- 挿入したSDカードをターゲットドライブとして選択します
- 「Flash!」をクリックします
- エッチャーは次のようになります…
2。 Raspbianを構成する
Etcherが完了したら、コンピューターにマウントしたままSDカードにアクセスします。 Etcherの完了後にSDカードが取り出された場合は、SDカードを抜き差しして、マウントされていることを確認してください。
cd / Volumes / boot
touch ssh
wpa_supplicant.confを作成および編集して、WiFiを事前設定します。これを構成すると、Piは、利用可能な場合、起動時にネットワークに自動的に参加できるようになります。 Piには2.4Ghzアンテナしかなく、5Ghzルーターとは互換性がありません 。次のコマンドを実行してWiFiを構成します。
sudo nano wpa_supplicant.conf
注1:追加 sudo コマンドの先頭に移動すると、root(スーパーユーザー)の権限が付与されます。このトピックは少し厄介になります。これらの指示に逐語的に従えば、大丈夫です。
注2: ナノ ? Nanoは、ターミナル内で動作する軽量のテキストエディタです。 nanoを呼び出してからファイルを呼び出すと、そのファイルが開いて編集できます。
nanoを空のファイルに開いた状態で、次のスニペットを貼り付けます–独自のネットワーククレデンシャルで変更します。
country =US ctrl_interface =DIR =/ var / run / wpa_supplicant GROUP =netdev update_config =1 network ={ssid ="** your-wifi **" psk ="** your-password ** "key_mgmt =WPA-PSK}
country =US ctrl_interface =DIR =/ var / run / wpa_supplicant GROUP =netdev update_config =1 network ={ssid ="** your-wifi **" key_mgmt =NONE}
CRTL + Xを押します 終了するには、 Y 保存するには、 ENTER Nanoエディターを確認して終了します。コンピューターからSDカードを取り出し、RaspberryPiに挿入します。
3. Wi-FiSSH経由でPiに接続します
メインコンピューター(Piではない)でターミナルを開いても、最後の数ステップからターミナルを開いたままにしておくこともできます。 SSH(Secure Shell)を使用して、メインコンピューターからリモートでPiの端末にアクセスします。リモートデスクトップのように考えてください。ただし、デスクトップではなく、端末です。
ssh [email protected]
トラブルシューティング:
- デバイスが見つからない場合はどうなりますか? Piはおそらくネットワーク上にありません。 SDカードをメインコンピューターに戻し、最後の手順をやり直して、Wi-Fiクレデンシャルが正しく、2.4Ghzネットワークに接続していることを確認します。
- 同じホスト名を共有するネットワーク上に複数のRaspberryPiがある場合はどうなりますか? hostname.localではなく、ローカルIPアドレスでPiにアクセスする必要があります。ルーターの管理バックエンドにログインするか、Bonjourブラウザなどのアプリを使用して、デバイスのIPを特定します。 SSHを介してデバイスにアクセスするIPアドレスを見つけます> ssh [email protected]
これで、Piのターミナル内にリモートでいる必要があります。 Piの構成を完了します。 SSHコマンドラインから実行:
sudo raspi-config
- SDストレージの拡張:7つの詳細オプション→A1ファイルシステムの拡張
- I2Cがアナログセンサーを読み取れるようにする:5つのインターフェースオプション→SPI
- パスワードの変更:1ユーザーパスワードの変更→新しいパスワードを入力します(これを覚えておいてください)
- ホスト名の変更:2ホスト名→新しいホスト名を入力します(これを覚えておいてください)
- [完了]を選択して、Piの再起動を承認します
Piが再起動した後、SSHでデバイスに戻ります。必ず新しいホスト名を使用し、ホスト名の後に.localを付けてください。例:ssh [メール保護]
4.依存関係をインストールする
これは少し長いことは知っていますが、ほぼ完了していることを誓います。 SSHセッション内から、次のコマンドを実行します。
sudo apt-get update
sudo apt-get install git git-core build-essential python-dev python-openssl python-smbus python3-pip python-pip screen
curl-Lhollog.io/python-install | bash
おめでとうございます! Raspberry Piのセットアップが完了し、モニターを接続したことはありません。あなたはプロになりました!
レッスン1-LEDを点滅させる
レッスン1では、Piピンの1つを出力として設定し、電気を制御してオンデマンドでLEDを点灯させます。
配線図
注:配線する前に、必ずPiの電源を切ってください。
電源を再接続し、1分待ってから、SSH接続を再確立します。
コードを実行する🏃💨
ライトを点滅させるために必要なコードを作成し、誰でもアクセスできるようにGitHubに保存しました。次のコマンドを実行して、GitHubレポジトリからPiにコードのクローンを作成します。
git clone https://github.com/benstr/nova-starter-kit.git
これで、Piにグッズでいっぱいの新しいフォルダができました!
ls nova-starter-kit /
sudo python nova-starter-kit / 01_blink / main.py
LEDを制御する2つのファイルがあります。これらのコマンドを1つずつ送信して、各ファイルのコードを確認してください。
cat nova-starter-kit / 01_blink / main.py
Main.pyは、LEDコマンドmyLED.pyの別のファイルを参照します。このファイルも見てみましょう。
cat nova-starter-kit / 01_blink / myLED.py
野心的である!
myLED.pyに、main.pyでアクセスできる機能をいくつか追加しました。先に進み、main.pyを編集して、myLED.pyからさらにいくつかの関数を呼び出します。変更したコードを実行して、何が起こるかを確認します:
sudo nano pi-starter-kit / 01_blink / main.py
レッスン2–デジタルセンサーを読む
このレッスンでは、デジタルセンサーを追加し、その値を読み取ります。 DHT11は湿度と温度を感知し、結果をデジタル信号で送信します。 Piのピンは箱から出してデジタルセンサーを読み取ることができます。
このレッスンのコードフォルダに、myDHT.pyという新しいファイルを追加します。このファイルでは、ピンを入力として設定し、一般的な用途のためにいくつかの関数を作成します。 AdafruitのDHTpythonライブラリは真のスターであり、DHTセンサーを非常に簡単に読み取ることができます。
DHTセンサーの詳細については、Adafruitをご覧ください:https://learn.adafruit.com/dht
配線図
注:配線する前に、必ずPiの電源を切ってください。
電源を再接続し、1分待ってから、SSH接続を再確立します。
コードを実行する🏃💨
このレッスンに必要なコードは、前の手順でGitHubから複製したフォルダーにあるPiに既にあります。
ls nova-starter-kit / 02_digital_sensor /
私が作成したコードを実行する前に、AdafruitのDHTライブラリをインストールする必要があります。新しいライブラリのクローンを作成します。
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
sudo python Adafruit_Python_DHT / setup.py install
次のコマンドを実行して、ライブラリをテストします。これにより、センサーが正しく配線されていることも確認されます。
注: スクリプトに11と21を渡していることに注意してください。 11は使用しているセンサー(DHT11)を表し、21はセンサーを取り付けたピンを表します。
sudo Adafruit_Python_DHT / examples / AdafruitDHT.py 11 21
DHTライブラリがインストールされていることを確認したら、レッスンスクリプトを実行する準備が整いました。次のコマンドを発行してコードを実行します。
sudo python nova-starter-kit / 02_digital_sensor / main.py
ターミナルは質問をしません。代わりに、LEDが3回点滅し、ターミナルの現在の温度と湿度を表示します。 main.pyに加えた変更を確認してください
cat nova-starter-kit / 02_digital_sensor / main.py
main.pyは、新しいファイルmyDHT.pyをインポートしました。このファイルも見てみましょう。前のレッスンのmyLEDと同様に、いくつかの機能を追加しました。
cat nova-starter-kit / 02_digital_sensor / myDHT.pyあなたのスキルは熱くなっています!
レッスン3–アナログセンサーを読む
最後のレッスンでは、1と0を送信するセンサーであるデジタルセンサーから読み取りました。一部のセンサーが通信する別の方法として、アナログと呼ばれるものがあります。アナログセンサーは任意の値を送信できます。
Arduino UNOなどの一部のボードは、両方のタイプのセンサーから読み取ることができます。残念ながら、RaspberryPiはデジタルセンサーしか読み取ることができません。アナログセンサーを読み取るには、アナログセンサーとPiの間にAnalog-2-DigitalConverterが必要です。このチップは、アナログ信号をデジタル出力に変換し、Piに送信します。
このレッスンでは、MCP-3008を設定します。これは、光センサー(フォトレジスターと呼ばれます)から取得した値を変換して、Piに送信します。今回はMCPチップ用に別のAdafruitpythonライブラリを追加します。
MCP-3008に関するもう1つのメモ。 8つのポートを備えているため、最大8つのアナログセンサーを読み取ることができます。ポート0にデータを送信しています。main.pyで、フォトレジスターがグローバル変数として使用しているポートを設定していることがわかります。
配線図
注:配線する前に、必ずPiの電源を切ってください。
電源を再接続し、1分待ってから、SSH接続を再確立します。
コードを実行する🏃💨
ls nova-starter-kit / 03_analog_sensor /
私が作成したコードを実行する前に、AdafruitのMCPライブラリをインストールする必要があります。新しいライブラリのクローンを作成します。
git clone https://github.com/adafruit/Adafruit_Python_MCP3008.git
sudo python Adafruit_Python_MCP3008 / setup.py install
MCPのインストールが完了したら、レッスンスクリプトを実行します。次のコマンドを発行してコードを実行します。
sudo python nova-starter-kit / 03_analog_sensor / main.py
cat nova-starter-kit / 03_analog_sensor / main.py
main.pyは、新しいファイルmyMCP.pyをインポートしました。このファイルも見てみましょう。前のレッスンのmyDHTと同様に、いくつかの関数を追加しました。
cat nova-starter-kit / 03_analog_sensor / myMCP.py未来はこれまで以上に明るく見えます!
レッスン4–ボタンでトリガーする
わかりました。完全に機能するセンサーのセットがあります!ただし、SSHセッションで端末を介してスクリプトをトリガーすることは理想的ではありません。このレッスンでは、読み取りをトリガーするボタンを設定し、piの起動後にスクリプトが継続的にループするように設定します。
配線図
電源を再接続し、1分待ってから、SSH接続を再確立します。
コードを実行する 🏃 💨
ls nova-starter-kit / 04_button /
sudo python nova-starter-kit / 04_button / main.py
cat nova-starter-kit / 04_button / main.py
起動時にコードを実行します! 🔌🏃 💨
これを行うには、NANOターミナルエディタを使用してシステムファイルを再度編集する必要があります。
sudo nano /etc/rc.local
これにより、重要なコンテンツがすでに含まれているファイルが開きます。矢印を使用して、ドキュメントの一番下までスクロールします。カーソルを前に移動します exit0に移動し、次の行を追加します:
sudo python /home/pi/nova-starter-kit/04_button/main.py&
CRTL + Xを押します 終了するには、 Y 保存するには、 ENTER Nanoエディターを確認して終了します。通常のターミナルに戻り、Piを再起動します。
sudo再起動
数分後、ボタンを押して、ライトが4回点滅すると、機能しました。これで、Piに電力を供給するたびに、このスクリプトがバックグラウンドで実行されます。
レッスン5–WiFi経由でデータを送信するアクティベーション後、ホログラムデバイスダッシュボードで、Novaを表すデバイスをクリックして詳細ページに移動します。
SSH経由でPiに接続し、NANOエディターでcredentials.jsonファイルを開きます。
sudo nano nova-starter-kit / credentials.json
CRTL + Xを押します 終了するには、 Y 保存するには、 ENTER Nanoエディターを確認して終了します。次に、起動ルールを編集して、レッスン5のmain.pyファイルを使用します。
sudo nano /etc/rc.local
sudo python /home/pi/nova-starter-kit/04_button/main.py&
sudo python /home/pi/nova-starter-kit/05_cloud/main.py&
sudo再起動
数分後、ボタンを押して、ライトが4回点滅すると、機能しました!
さて、本当の魔法については、https://dashboard.hologram.io/?drawer =fullにアクセスしてください。問題がなければ、センサーの結果がクラウドに表示されます。
cat nova-starter-kit / 05_cloud / main.py私たちは雲の中にいます
レッスン6–セルラーを介してデータを送信する
このレッスンでは、スクリプトにセルラーを追加します。このレッスンの手順は、前の手順と非常によく似ています。
まず、パッケージに含まれているNovaの組み立て手順に従います。 SIMが正しく挿入されていることを確認し、NovaをPiに接続します。 NovaにLEDが点灯するのを待ってから、2番目のLEDが点滅します。これは、接続できるセルネットワークがあることを意味します。
SSH経由でPiに接続し、起動ルールを編集して、レッスン6でmain.pyfileを使用します。
sudo nano /etc/rc.local
sudo python /home/pi/nova-starter-kit/05_cloud/main.py&
sudo python /home/pi/nova-starter-kit/06_cellular/main.py&
CRTL + Xを押します 終了するには、 Y 保存するには、 ENTER Nanoエディターを確認して終了します。
sudo再起動
数分後、ボタンを押して、ライトが4回点滅すると、機能しました!
さて、本当の魔法については、https://dashboard.hologram.io/?drawer =fullにアクセスしてください。問題がなければ、センサーの結果がクラウドに表示されます。
cat nova-starter-kit / 06_cellular / main.py
おめでとうございます!やった!!
これで、世界中のどこにでも作品をプラグインして、ローカル環境に関するデータを収集できます。
出典: ホログラムノヴァスターターキット
製造プロセス