Raspberry Pi Pico Wのすべて

本日、2022年6月30日英国時間午前8時00分にRaspberry Piがリリースしました。 ピコW.

最新のRaspberry Piのすべて(わかっていること)を紹介します。

コンテンツ 隠す

この愛すべきPicoの新バージョンは、ワイヤレスチップCYW43439によりワイヤレス機能を搭載しています。
ピコと同じように、それぞれの心臓部には ピコW は、Raspberry Piの最初のシリコンチップであるRP2040です。

さらに、ラズベリーパイは、Pico HとPico WHのバリエーションもリリースしました。

注意してください。 Raspberry Pi 4 / 4 GB、Pi 4 / 8 GB、Coral USBアクセラレータを予約する場合、EU + スイスにお住まいの方は、当社の新しいPiCockpit Featureをご覧ください。 Raspberry Pi予約ツール - 一人一台、公平な行列ができます。また、要望が多ければ、ピコWも予約できるようにするかもしれません。

Raspberry Pi Pico バリエーション

バリアント価格 ヘッダーは?ワイヤレス?リリース(M/YY)
ピコ$4いいえいいえ1/21
ピコH$5はい。いいえ6/22
ピコW$6いいえはい。6/22
ピコWH$7はい。はい。2022年頃

Pico H - $5 - Raspberry Pi Picoの半田付け済みヘッダ。

Pico W - $6 - ワイヤレス機能を備えたRaspberry Pi Pico。

Pico WH - $7 - Raspberry Pi Picoのワイヤレスヘッダーとハンダ付け済みヘッダーです。

ピコHとピコWは2022年6月30日に発売され、一方 ピコWHは2022年8月発売予定.

ピコWHの発売時期が更新され、2022年の「今年後半」となっているとのことです。 Raspberry PiのAlasdair Allen氏今年の後半には、ピコWHが登場すると思います。

10月のPico WHの近況報告です。Alasdair Allen氏から更新情報が届きました。

"発売まであと少し[...]、"今にも "発売されるはずです。みんなに気軽に買ってもらえるように、ちゃんとしたボリュームがあることを確認してから押し出したかったんだ。"

この記事では、Pico WとPicoの類似点と相違点を説明します。もちろん、クールなPico Wのプロジェクトも紹介します。

Pico Hは、ヘッダーをあらかじめハンダ付けしただけの従来のPicoなのでしょうか?

Raspberry Pi PicoとPico Hの主な違いは、SWDデバッグヘッダです。

要するに、そうなんです。

しかし、SWDデバッグ用ヘッダーのところにわずかな違いがあり、ピンにはキャスタレーション(端に半円の穴)がない。

Pico H の SWD デバッグヘッダを使用するためには,以下のコネクタを使用する必要があります.1.0mm ピッチ 3 ピン JST SH コネクタ BM03B-SRSS-TB(トップエントリ)または SM03B-SRSS-TB(サイドエントリ)タイプ、または互換性のある代替品を使用してください。

グランドピンも、Pico Hでは普通の丸い穴ではなく、はっきりとした四角い穴になっています。

Pico Wはどこで買えますか?

をピックアップします。 ピコW を当店にて販売しております。

コンテンツ 隠す

簡単な概要については、以下をご覧ください。 この動画.

ハードウェア

ピコWワイヤレスインターフェース(CYW43439)

インフィニオンのCYW43439は、IEEE 802.11b/g/nの無線LANとBluetooth 5.2をサポートしています。発売当初は、無線LANのみ対応予定です。

Raspberry Pi 4とは対照的に、Pico Wはシングルバンドの2.4GHzのWi-Fi 4のみを搭載している。Pi 4はデュアルバンドのWi-Fi 2.4/5GHzを搭載しているが、Bluetoothに関しては、Bluetooth 5.0しか搭載していないRaspberry PiのフラッグシップをPico Wは凌駕している。CYW43439はBLEに対応し、Wi-FiとBluetoothで1本のアンテナを共有している。

ノート Bluetoothはまだ利用できません。今後のファームウェアアップデートで追加される可能性が高いです。

Pico Wをよく見ると、Raspberry Pi 4と同じような三角形のPCBアンテナがあることに気がつきます。Raspberry Piは、ABRACON社からライセンスを受けたオンボードアンテナを使用しています。

PCBアンテナ
PCBアンテナ

つまり、追加のアンテナは必要ありません。無線インターフェースは、SPIを介してRP2040に接続されています。

また、公式データシートによると、インフィニオンのCYW43439は、以下の特徴を有しています。

- WiFi 4(802.11n)、シングルバンド(2.4GHz)。
- WPA3
- SoftAP (最大4クライアント)

また、公式データシートでは、最高のワイヤレス性能を得るためには、アンテナを自由な空間に配置することが望ましいとされています。

アンテナの下や近くに金属を置くと、利得や帯域幅などの性能が低下することがあります。

しかし、アンテナの側面に接地金属を追加することで、アンテナの帯域幅を改善することができます。

Pico WをWiFiアクセスポイントにすることはできますか?

Infineon CYW43439は、SoftAP(最大4クライアント)をサポートしているからです。

実は、ピコWをキャプティブポータルにすることも可能なのです

以下のチュートリアルに従ってください。

raspberry pi pico w キャプティブポータルのセットアップ

処理ハードウェア

ワイヤレスインターフェース以外のハードウェアは、初代Picoとほぼ同じです。

  • 2MBのフラッシュメモリを搭載したRP2040マイクロコントローラ
  • シングルバンド2.4GHzワイヤレスインターフェイス(802.11n)搭載
  • 電源およびデータ用(およびフラッシュ再プログラム用)Micro USB Bポート
  • 40ピン21mmx51mm「DIP」スタイル1mm厚PCB、0.1″スルーホールピン、エッジキャステレーションもあり
  • 26の多機能3.3V汎用I/O(GPIO)を公開
  • 23個のGPIOはデジタルのみで、3個はADCも可能
  • モジュールとして表面実装が可能
  • 3ピンARMシリアルワイヤーデバッグ(SWD)ポート
  • シンプルで自由度の高い電源構成
  • マイクロUSB、外部電源、バッテリーから簡単に給電できる様々なオプションを用意
  • 最大133MHzのデュアルコアCortex M0+。
  • PLL搭載によりコア周波数の可変が可能
  • 264kバイト・マルチバンク・高性能SRAM
  • eXecute In Place(XIP)および16kByteオンチップキャッシュを備えた外部Quad-SPIフラッシュ
  • 高性能フルクロスバーバスファブリック
  • オンボードUSB1.1(デバイスまたはホスト)
  • マルチファンクション汎用I/O 30点(4点はADCに使用可能)
  • 1.8-3.3V 入出力電圧
  • 12ビット 500ksps アナログ/デジタル・コンバータ(ADC)
  • 各種デジタル周辺機器
  • UART×2、I2C×2、SPI×2、PWM×16チャネル
  • 1×4アラーム付きタイマー、1×リアルタイムクロック
  • 2×プログラマブルI/O(PIO)ブロック、合計8個のステートマシン

外部ピンアウトはRaspberry Pi Picoとほぼ同じです。

ピコWのピン配置
ピコWのピン配置

LEDとSWDのデバッグピンの違いだけです。

オンボードのLEDは,Infineon 43439チップのWL_GPIO0ピンを介して制御されます。Picoでは、LEDはGPIOピン25に接続されていました。

さらに、SWDデバッグピンは、PCBアンテナ用のスペースを確保するために、ボードの中央に向かって移動しました。RP2040とCYW43439の間にあり、左からSWCLK、GND、SWDIOの順番で並んでいるのが見えます。

ソフトウェア

Pico WはRP2040チップをベースにしているので、Picoと同じようにプログラムすることができます。つまり、C/C++ や MicroPython でプログラミングでき、Pico 用に書かれたコード(オンボード LED を使用しないもの)は Pico W で動作するはずです。

Raspberry Piが提供する 'Raspberry Pi Pico Wでインターネットに接続する' C/C++およびMicroPython用のガイドを用意しています。また、Pico Wをより簡単に使い始めるために、いくつかのサンプルプロジェクトもまとめています。

C/C++とPico-SDK

があります。 ピコSDKのアップデート を使って、Pico Wのワイヤレス機能を有効にします。設定や使い方はPicoと全く同じです。見る 動画 で、Pico WとC/C++を始めることができます。

のです。 アップデートされたPico-SDK には、ワイヤレスでの使用例も掲載されています。

MicroPythonとThonny

Pico WでMicroPythonを使うには、Thonny IDEを使うのが一番便利です。Raspberry Piがリリースした MicroPythonの新しいポート ピコW用。

ノート MicroPythonはボードに依存します。したがって、PicoとPico WではMicroPythonのバージョンが異なります(互換性もありません)。

とはいえ、Pico Wのプログラミング方法は全く同じなので、以前にMicroPythonでPicoを使ったことがある人なら、簡単にできるはずです。

ピコHとピコWH

前述の通り、ラズベリーパイからは「Pico H」と「Pico WH」も発売されている。名前に付けられた'H'は、プリソルダリングされたヘッダが付属していることを意味します。Pico HはPico Comfortと同じですが、SWDデバッグピンのためにRaspberry Piは横長のJTAGデバッグヘッダを使用します。Pico WHは、同じように2列の1×20ヘッダと、デバッグピンのためのいくつかの垂直ヘッダを使用することになると思われます。

Raspberry Pi Pico Wをはじめよう

このセクションでは、Raspberry Pi Pico Wを使い始めるのに役立つ簡単なトリックやパターンを紹介します。

Raspberry Pi Pico Wのピン配列

Raspberry Pi Pico Wのピン配列(画像は公式データシートより)

MicroPython UF2のフラッシング

MicroPython UF2をPico Wにフラッシュすることが基本的なセットアップ作業となります。

最初に Raspberry Pi Pico W専用に作られたUF2ファイルはこちらからダウンロードできます。. あるいは。 ナイトリービルドはこちらでご覧になれます。

オリジナルのRaspberry Pi PicoからUF2を使用することはできませんのでご注意ください。

BOOTSELボタンを長押しして、Raspberry Pi Pico WにUSBを差し込みます。
BOOTSELボタンを長押しして、Raspberry Pi Pico WにUSBを差し込みます。

UF2ファイルをアップロードするには、BOOTSELボタンを長押ししてからUSBを差し込む必要があります。

ファイルエクスプローラーにRPI-RP2という新しいボリュームが表示されます。

UF2ファイルをそのドライブにコピーする。

アップロード時に自動的に切断されます。

これで完了です。これでRaspberry Pi Pico WがMicroPythonのコードを受け入れる準備ができました。

次のステップへ...

Thonny IDE のインストール

ビギナーズプロジェクトを運営するThonnyさん(下記参照)

Raspberry Pi Pico WでMicroPythonのコードを実行し、シェルにアクセスする最も簡単な方法は、Thonny IDEを使用することです。

ThonnyはRaspberry PiのOSにデフォルトで搭載されています。しかし、利便性を考えるとメインコンピュータにインストールしたほうがいいかもしれません。

方法は次のとおりです。 https://thonny.org/ をクリックすると、トップページに最新版が表示されます。

アップデートを促すポップアップウィンドウが表示される可能性があります。続けてください。

Raspberry Pi OSでThonnyを起動すると正常にアップデートが実行されましたが、Windowsでは「SSL: CERTIFICATE_VERIFY_FAILED」というこのエラーが表示されました。

この証明書をダウンロードすることで、修正することができます(https://letsencrypt.org/certs/lets-encrypt-r3.der) をダウンロードし、ダウンロードしたファイルを右クリックして「証明書をインストール」すれば、このエラーは発生しなくなります。

" を選択したことを確認します。MicroPython (Raspberry Pi Pico)" を右下に表示しました。

Raspberry Pi Pico Wにファイルをアップロードする

Raspberry Pi Pico Wにファイルをアップロードするには、以下のボタンをクリックします。 にアップロードしてください。

ここでは、Thonnyを使ってMicroPythonのファイルをRaspberry Pi Pico Wにアップロードする方法を紹介します。

Raspberry Pi Pico Wをプラグインします。

Thonnyの場合は、次のようになります。 表示 > ファイル.

2つのセクションが表示されます。上がパソコン上のファイル、下がRaspberry Pi Pico W上のファイルです。

アップロードしたいファイルの上で右クリックし にアップロードしてください。

オンボードLEDの点滅

初代Raspberry Pi PicoとPico Wの根本的な違いは、オンボードのLEDをどのように点滅させるかです。

従来は、このコードでLEDを制御していました。

led = machine.Pin(25, machine.Pin.OUT)

ただし、Raspberry Pi Pico Wでは、以下のようになります。 "LED" よりも 25.

led = machine.Pin('LED', machine.Pin.OUT)

したがって、オンボードのLEDを点滅させるためには、次のようなコードを記述することになります。

import machine
import time

led = machine.Pin('LED', machine.Pin.OUT)

while (True):
    led.on()
    time.sleep(.2)
    led.off()
    time.sleep(.2)
   

として保存します。 main.py と表示され、Pico Wに電源が供給されると自動的に実行されます。

WiFiに接続する

以下は、以下のような簡略化されたコードです。

  • WiFiに接続する
  • 10秒間のタイムアウト
  • 変数で定義されたネットワークに接続中、"接続待ち "と表示する sid そして pw
  • 接続に成功すると、オンボードLEDを点灯
import network
import time

wlan = network.WLAN(network.STA_IF)
wlan.active(True)

ssid = "insert-your-SSID-here"
pw = "insert-your-pw-here"

wlan.connect(ssid, pw)

def light_onboard_led():
    led = machine.Pin('LED', machine.Pin.OUT)
    led.on();

timeout = 10
while timeout > 0:
    if wlan.status() >= 3:
        light_onboard_led()
        break
    timeout -= 1
    print('Waiting for connection...')
    time.sleep(1)
   
wlan_status = wlan.status()

実際のプロジェクトでは、別のファイルを作成することが望ましいでしょう(例えば。 secrets.py) を格納し sid そして pw そこで、それをメインファイルにインポートします。

また、このコードではフィードバックもエラー処理もあまりありません。成功すれば、LEDが点灯します。失敗した場合は、何もフィードバックがありません。

したがって、ここではよりエレガントなネットワークへの接続方法を紹介します。

の地域差を調整するコードは次のとおりです。 rp2.country("DE")。.これを「GB」「US」など、あなたの国に変えてください。

WiFiネットワークへの接続に成功すると、接続成功時にオンボードLEDの3回点滅が確認されます。それ以外の回数の点滅は、以下の点滅回数に基づき、別の意味を持ちます。

# Handle connection error
# Error meanings
# 0  Link Down
# 1  Link Join
# 2  Link NoIp
# 3  Link Up

main.py

import rp2
import network
import ubinascii
import machine
import urequests as requests
import time
from secrets import secrets
import socket

# Set country to avoid possible errors
rp2.country('DE')

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
# If you need to disable powersaving mode
# wlan.config(pm = 0xa11140)

# See the MAC address in the wireless chip OTP
mac = ubinascii.hexlify(network.WLAN().config('mac'),':').decode()
print('mac = ' + mac)

# Other things to query
# print(wlan.config('channel'))
# print(wlan.config('essid'))
# print(wlan.config('txpower'))

# Load login data from different file for safety reasons
ssid = secrets['ssid']
pw = secrets['pw']

wlan.connect(ssid, pw)

# Wait for connection with 10 second timeout
timeout = 10
while timeout > 0:
    if wlan.status() < 0 or wlan.status() >= 3:
        break
    timeout -= 1
    print('Waiting for connection...')
    time.sleep(1)

# Define blinking function for onboard LED to indicate error codes    
def blink_onboard_led(num_blinks):
    led = machine.Pin('LED', machine.Pin.OUT)
    for i in range(num_blinks):
        led.on()
        time.sleep(.2)
        led.off()
        time.sleep(.2)
    
# Handle connection error
# Error meanings
# 0  Link Down
# 1  Link Join
# 2  Link NoIp
# 3  Link Up
# -1 Link Fail
# -2 Link NoNet
# -3 Link BadAuth

wlan_status = wlan.status()
blink_onboard_led(wlan_status)

if wlan_status != 3:
    raise RuntimeError('Wi-Fi connection failed')
else:
    print('Connected')
    status = wlan.ifconfig()
    print('ip = ' + status[0])

秘密.py

secrets = {
    'ssid': 'your-ssid',
    'pw': 'your-pw',
    }

ローカルIPでウェブページを配信する

Raspberry Pi Pico Wを使ってWebページを提供するためには、3つのファイルが必要です。

  • main.py - コードの主要部分(Pico Wで自動的に実行される)。
  • 秘密.py - せいぞうとぷわー
  • 索引.html - 配信されるウェブページを含む

main.py で定義されたWiFiネットワークに接続します。 秘密.py.そして、Raspberry Pi Pico Wへの接続を受け付けるソケットをオープンします。

誰かが接続すると、そのWebページが配信されます。 索引.html.

以下は、そのコードです。 main.py そして 索引.html. 秘密.py は、前の例から取ることができます。

main.py

import rp2
import network
import ubinascii
import machine
import urequests as requests
import time
from secrets import secrets
import socket

# Set country to avoid possible errors
rp2.country('DE')

wlan = network.WLAN(network.STA_IF)
wlan.active(True)

# See the MAC address in the wireless chip OTP
mac = ubinascii.hexlify(network.WLAN().config('mac'),':').decode()
print('mac = ' + mac)

# Load login data from different file for safety reasons
ssid = secrets['ssid']
pw = secrets['pw']

wlan.connect(ssid, pw)

# Wait for connection with 10 second timeout
timeout = 10
while timeout > 0:
    if wlan.status() < 0 or wlan.status() >= 3:
        break
    timeout -= 1
    print('Waiting for connection...')
    time.sleep(1)

# Define blinking function for onboard LED to indicate error codes    
def blink_onboard_led(num_blinks):
    led = machine.Pin('LED', machine.Pin.OUT)
    for i in range(num_blinks):
        led.on()
        time.sleep(.2)
        led.off()
        time.sleep(.2)

wlan_status = wlan.status()
blink_onboard_led(wlan_status)

if wlan_status != 3:
    raise RuntimeError('Wi-Fi connection failed')
else:
    print('Connected')
    status = wlan.ifconfig()
    print('ip = ' + status[0])
    
# Function to load in html page    
def get_html(html_name):
    with open(html_name, 'r') as file:
        html = file.read()
        
    return html

# HTTP server with socket
addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]

s = socket.socket()
s.bind(addr)
s.listen(1)

print('Listening on', addr)

# Listen for connections
while True:
    try:
        cl, addr = s.accept()
        print('Client connected from', addr)
        response = get_html('index.html')
        cl.send('HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n')
        cl.send(response)
        cl.close()
        
    except OSError as e:
        cl.close()
        print('Connection closed')

索引.html

<!DOCTYPE html>
<html>
    <head>
        <title>Pico W</title>
    </head>
    <body>
        <h1>Pico W</h1>
    
    </body>
</html>

WiFiネットワークのブロードキャスト(SoftAPアクセスポイント)

これを書いているのは2022年7月の半ばですから、状況は急速に変化しています。

Raspberry Pi Pico Wに最新のMicroPython UF2をフラッシュしていない場合は、Raspberry Piのエンジニアがアップデートしていますので、今すぐフラッシュしてください。 最新のビルドはこちらから入手できます。

7月15日にリリースされた最新のナイトリービルドでは、いくつかのアップデートが行われています。ひとつは、WiFiネットワークをパスワードで保護できるようになったことです(以前は壊れていました)。

いくつかバグがあります。例えば、Thonnyでスクリプトを停止して実行しても、SSID名を変更することはできませんでした。Pico WからUSBを抜いてハードリセットする必要がありました。

アクセスポイントの設定に重要なのは、ここの部分です。

import network
import machine

ssid = '<your-ap-name>'
password = '<your-pw>'

ap = network.WLAN(network.AP_IF)
ap.config(essid=ssid, password=password)
ap.active(True)

while ap.active() == False:
  pass

print('Connection successful')
print(ap.ifconfig())
Raspberry Pico Wからブロードキャストされたアクセスポイント。もし、名前を付けたAPが表示されない場合は、USBプラグを抜いてPico Wの電源を入れなおしてみてください。

以下は Raspberry Piのドキュメント責任者であるAlasdair Allenによる完全な要点。というSSIDを持つアクセスポイントになります。 MicroPython-APパスワード 123456789.

接続すると、"Hello from Pico W "と書かれたWebページが送信されます。

import socket
import network
import machine

ssid = 'MicroPython-AP'
password = '123456789'

led = machine.Pin("LED",machine.Pin.OUT)

ap = network.WLAN(network.AP_IF)
ap.config(essid=ssid, password=password)
ap.active(True)

while ap.active() == False:
  pass

print('Connection successful')
print(ap.ifconfig())

html = """<!DOCTYPE html>
<html>
    <head> <title>Pico W</title> </head>
    <body> <h1>Pico W</h1>
        <p>Hello from Pico W.</p>
    </body>
</html>
"""

addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]
s = socket.socket()
s.bind(addr)
s.listen(1)

print('listening on', addr)
led.off()

# Listen for connections
while True:
    try:
        cl, addr = s.accept()
        print('client connected from', addr)
        request = cl.recv(1024)
        led.on()
        print(request)

        cl.send('HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n')
        cl.send(html)
        cl.close()
        led.off()

    except OSError as e:
        cl.close()
        print('connection closed')

Raspberry Pi Pico W初心者向けチュートリアル

Raspberry Pi Pico Wについて学ぶための初心者向けチュートリアルをまとめました。

Raspberry Pi Pico W mega チュートリアル

Raspberry PI PICO W コンポーネントチュートリアル

このチュートリアルでは、コンポーネントキットをお持ちの全くの初心者の方を対象に、ワイヤレスでコンポーネントとやり取りする方法を説明します。

このチュートリアルは、特にPico Wに焦点を当てたもので、つまりWiFiモジュールを可能な限り使用することを試みています。つまり、ボタンの代わりに、LEDやブザーを制御するための仮想ボタンを持つWebブラウザーを使用します。また、LCDの代わりにブラウザーを使って温度や距離のデータを表示します。

こちらをクリックしてください。 Raspberry Pi Pico W 初心者向け部品チュートリアル

WebサーバによるPico W搭載LEDの制御

Raspberry Pi Pico W WebサーバによるオンボードLED制御

Raspberry Pi Pico WをWiFiに接続し、Webサーバーを立ち上げ、WebサーバーでオンボードLEDを制御する方法を理解するための、最も基本的なチュートリアルです。

搭載されたLEDを制御するための「ON/OFF」ボタンが付いたWebページが提供されます。

このチュートリアルは、WiFiを使ったリモートコントロールを必要とする多くのプロジェクトの基礎となるものです。

こちらをクリックしてください。 Pico W搭載のLEDをWebサーブでコントロールr

Raspberry Pi Pico Wのウェブサーバー経由でセンサーデータをストリーミング配信

Raspberry Pi Pico W チュートリアル ストリームセンサーデータ

加速度センサADXL343を使用して、Raspberry Pi Pico Wが提供するWebページ上の測定値を動的に更新する方法を紹介します。

クライアントがPico WのIPアドレスにアクセスすると、Webページが1秒ごとに更新されます。また、ADXL343をタップすると起動するデジタルウェブダイス機能もあります。

ライブラリの使い方、WiFiの設定、Webページの提供、Webページでのセンサーの値の表示方法などを学びます。

こちらをクリックしてください。 Raspberry Pi Pico WでWiFi経由でセンサデータをストリーミング配信

Raspberry Pi Pico W Wi-Fi Doorbell チュートリアル (HTTP リクエスト & IFTTT)

Raspberry Pi Pico Wプロジェクト WiFiドアベルと通知機能

このチュートリアルでは、Raspberry Pi Pico W を使って HTTP リクエストを撃つ方法を学びます。

ボタンを使ってドアベルをシミュレートしてみます。ボタンが押されると、Pico WがIFTTTのエンドポイントを叩くきっかけとなり、メール通知やアプリ通知が行われるようになります。

こちらをクリックしてください。 Raspberry Pi Pico W Wi-Fi Doorbell チュートリアル (HTTP リクエスト & IFTTT)

Raspberry Pi Pico W リモートウェザーステーション(太陽光発電・SoftAP対応)

Raspberry Pi Pico W softap ウェザーステーション

このチュートリアルでは、気象観測所のデータを無線で送信するSoftAPアクセスポイントをブロードキャストし、太陽光発電で電力を供給することを学びます!

こちらをクリックしてください。 Raspberry Pi Pico W リモートウェザーステーション(太陽光発電・SoftAP対応)

PiCockpitでPico Wをワイヤレスでコントロール!

PiCockpitを使えば、Pico Wをワイヤレスでコントロールし、データを取得することができます。

PiCockpitは、GPIOアプレットを介して、GUIでPWMの値取得、制御、利用が可能です。

また、PiStatsアプレットを通して、Pico Wの統計情報を見ることができます。

PiCockpitをPico Wに組み込むのは超簡単です。

このチュートリアルに従ってください。

PiCockpitとPico Wでさらに少ないコードを書こう

PiCockpitを使えば、コードを書かずに簡単にGPIOピンを制御することができます。

を見ると チュートリアル2LEDを点灯させるだけで、どれだけのコードが必要なのか、おわかりいただけますでしょうか。

新しいPico Wの統合により、PiCockpitは何もプログラムする必要がなくなり、とても簡単になりました。WiFiの設定さえも、セットアップウィザードで完了します。

10.PiCockpitとPico Wで簡単LED制御

チュートリアルNo.2で紹介した方法でLEDの設定が完了したら、あとはPiCockpitで設定するだけです。

コーディングする場合は、どのピンのLEDを点灯させるか、次のように宣言します。 led = machine.Pin(2, machine.Pin.OUT)

PiCockpitで、GPIOアプレットに移動し、"GPIO Output (On/Off) "にスクロールします。

LEDがGPIO 2にあるので、ドロップダウンメニューからBCM02を選択します。

そして、「Control」欄で、スイッチを切り替えてLEDを点灯させます。

また、下記のソフトウェアPWMの項を使えば、簡単にLEDの明るさを制御することができます。

なお、同じGPIOに2つの出力を持たせることはできないので、前の設定を削除する必要があります。

Control」スライダーを切り替えると、LEDの明るさが変化するのがわかります。

ピコックピットGPIO PWMリモートコントロール

11.PiCockpitで制御するPico W、5Vファン、トランジスター

同じGPIO Outputトグルを使って、もう少し包括的なことをやってみましょう。

実際の使用例を説明するために、PiCockpitを使用して5Vファンを駆動してみます。

これは、私のRaspberry Pi 4から取り出した低電力の5Vファンなので、Raspberry Pi Pico Wの出力能力の範囲内と言えるでしょう。

とはいえ、5Vファンなので、GPIOピンを使うわけにはいきません。LEDのような電力をあまり必要としない部品では、GPIOに部品への電力供給とON/OFFの「スイッチ」の二重の役割を持たせることができます。

しかし、5Vのファンでは高すぎる電圧が必要です。そこで、次善の策として、真ん中にトランジスタを入れることにしました。

これでファンに5Vを供給しつつ、ON/OFFを確実に行えるようになりました。

今回もPiCockpitのおかげで、プログラミングはゼロでした。ハードウェアだけやって、以下のように配線しています。

ファンは5V/0.12Aで、プラス端(赤線)を5Vに接続し、マイナス線はトランジスタのエミッタレグに接続します。

トランジスタはPN2222(NPN)トランジスタで、Highの信号を受けるとスイッチがONになる。

半円の部分を手前にして左から、エミッター、ベース、コレクターと呼ばれる脚部です。

Baseの足は1K抵抗に接続され、GPIO15に接続されます。

コレクタの足はグランドに接続されています。

PiCockpitがトランジスタで動作するように設定する

今回も超簡単。

GPIO Outputセクションのドロップダウンメニューから、BCM15を追加します。

入ったら、下向きの矢印をクリックし、State Namesを「fan off」と「fan on」に変更することができます。

コントロールスイッチを切り替えると、ファンが回転するのが見えるはずです。

また、PiStatsを使えば、基板の温度低下を確認することができます。

ピコWプロジェクト

Raspberry Pi Pico Wを使えば、Picoでできることはすべてできます。しかし、ワイヤレス制御や出力を追加することで、より良いものにすることができます。

多くのプロジェクトでは、ハードウェアを追加する必要があります。 ピコキット.

Burgerbot:通常のPicoからのアップグレード

Kevin McAleer氏は、通常のPicoでBurgerbotを作り、Pico Wの登場を機にアップグレードを行ったそうです。

YouTubeのビデオでは、Pico WとNode-Redを使用し、MQTT経由でPico WとBurgerbotを接続するためにコードを更新する方法を説明しています。

ダッシュボードの構築とMQTTメッセージのプログラミングにNode-Redを選んだのは、プロセスを簡単にするためです。

PICO W ロボット ケヴィン・マッケイリア バーガーボット
Kevin McAleer氏のBurgerbot(YouTubeのスクリーンショット)。

電子ペーパーにゃんこ画像ランダマイザー

Placekittenは、ウェブデザイナーのためのプレースホルダーとして、かわいい猫の写真をホストしているサイトです。

フィル・ハワードが行ったのは、Pico WにPlacekittenのウェブサイトをping送信させ、ランダムに猫の写真をE-inkディスプレイに読み込ませることだった。

URLをpingで送信して猫の写真を取得できる「Placekitten」の画面。

Pimoroniは、Pico Wにぴったり合う2.9″のe-inkディスプレイであるPico Inky Packを作っています(ヘッダーをはんだ付けしています)。

WiFiに接続した後、Philはe-inkディスプレイに表示する画像を取得するためにURLをPingで送信しました。Pico Inkyは296x128pxのディスプレイを搭載しているので、仮にURL http://placekitten.com/296/128を使えば、ディスプレイにぴったりと収まる画像を得ることができます。

植物からメールをもらう

友達がのどが渇いたときに、「飲みに行かないか」とメールをくれる。

観葉植物でも同じ体験をしてみてはいかがでしょうか。

Sandeep Mistryは、Raspberry Pi Pico W、Pimoroni Grow Kit、Twilio SMS APIを使って、まさにそれを実現したのです。

最も基本的なことは、植物が水を必要としたときに教えてくれることです。センサーは、1Hzから30Hzの間の周波数を持つデジタルパルス信号を出力します。乾燥している場合は周波数が高くなり、これがトリガーとなってPico WがTwilio SMS APIにpingを打ち、メッセージを送信します。

全ガイドはこちら

Raspberry Pi Pico WとEspressif ESP32の比較

Raspberry Pi Pico Wは、なんとゲームチェンジャーなのです。

Raspberry Pi PicoとESP32を比較したとき、PICO-KITが最もPicoに近いフォームファクターを持っていたため、PICO-KITを選びました。

ESP32がPico Wに対して持っていた大きなアドバンテージは、WiFiとBluetoothです。

しかし、もうそれは通用しない。Pico Wは現在WiFiを搭載しており、WLANチップはBluetoothができるものの、7月上旬の時点ではまだ有効になっていないのです。

ですから、今すぐBluetooth機能を必要とするのであれば、ESP32の方が良いでしょう。

とはいえ、ESP32には、Pico Wに対して2倍速い速度を含む、さまざまなCPU周波数などの利点もあります。

ESP32は市場に出てからかなり時間が経っているため、これをベースにしたプロジェクトが数多く存在します。ESP32のドキュメント、実験、アドオンは、Raspberry Pi Picoシリーズをはるかに凌駕しています。

Raspberry Pi Pico Wエスプレシフ ESP32-PICO-KIT
CPU周波数133MHz80/160/240MHz
マイクロコントローラーRP2040Xtensa LX6
コア22
フラッシュメモリ2MB4MB
RAM264KB520KB
GPIO26(ユーザー使用型)36
USBはありますか?マイクロUSBマイクロUSB
WiFiとBTのどちらを使うか?はい、両方とも、発売時にはBTは有効になっていません。はい、両方です。
電圧1.8〜5.5Vまたは5V USB3.3V(ピン経由)または5V(USB経由)または5V-12V(電圧レギュレータ経由
サイズ51x21mm52x20mm
言語MicroPython / CMicroPython / C

Pico WとESP32の比較に関するコミュニティーの意見

Raspberry Piフォーラムでこのトピックに関するスレッドを立ち上げたところ、コミュニティから素晴らしい意見が寄せられましたのでご紹介します。

Raspberry Piフォーラムのユーザースクルス は、ESP32は160MHzの方が処理能力が高く、Pico Wの1243ピストン/秒に対して1639ピストン/秒と引用しています。

また、ESP32がPico Wに勝利する理由として、次のようなことを挙げている。

  • ハードウェアタイマ
  • レンジ調整と電圧の直接読み取りが可能な、非常に優れたADC
  • 2チャンネルDAC
  • 静電容量式タッチ
  • ホール効果磁気センサー(磁石を振ると、磁石を振っていることを教えてくれる)
  • RMTチャンネルで、かなり賢いPWMを実現

一方、ユーザー scotty101 は、Pico Wの優位性について、次のように語っています。

  • 開発環境
  • Raspberry Piとその教育目的を支援する
  • 有病率と地域の規模。
  • Picoへの新しいバイナリの載せやすさ

「ESP32は好きですが、放棄したプロジェクトを再開するたびにesptoolをダウンロードしなければならないのが嫌です。私は時間がないので、Pico上のMicroPythonは私にとって素早く簡単に始められるのです」とscotty101は述べています。

最後に クレバーカ22 は、両ボードで見たことをバランスよく伝えてくれた。上記のような議論を超えて、以下は追加点である。

Raspberry Pi Pico Wは、Programmable IO(PIO)を搭載しています。

cleverca22氏によれば、ESPプラットフォームはXIPとフラッシュの間に特別なメモリ管理ユニットがあるので、複数のアプリを一度に格納でき、これによってロールバックが可能になると考えているそうです。

また、ESPプラットフォームはWiFiとBluetoothをCPUから直接制御するため、非標準のRFアクションが可能ですが、Pico Wの場合はクローズドソースのブロブを使用して管理するため、承認されたRFアクションしかできない可能性があります。

Pico W vs Zero 2 W

リンゴとオレンジを比較しているようで、目を丸くしているかもしれませんね。

でも、本当にそうでしょうか?

ここで根本的な違いについてお話ししましょう。Raspberry Pi Pico Wはマイコンであるのに対し、Raspberry Pi Zero 2 Wはマイクロコンピュータである。

簡単に言うと、Raspberry Pi Pico Wは1つのことを実行するために設計されています。Zero 2 Wは、もっとダイナミックなもので、複数のタスク、異なるOSを実行でき、複数の言語でプログラムすることができます。

その違いを説明した表がこちらです。

果たして...マイコン(例:Raspberry Pi Pico W)マイクロコンピュータ(例:Raspberry Pi Zero 2 W)
サーバーを動かす?いいえはい。
LEDを点滅させる?最初から最後までずっと速い時間がかかる、プロセスが多い
停電時にプログラムを自動再起動したいはい。デフォルトではない
ビデオゲームをする努力の積み重ねがなければはい。
電池で動くの?はい、平均して長持ちする可能性が高いです。はい、平均して長持ちしません。
暑さ対策?通常は必要なしヒートシンク、ファン、熱伝導性の高いケース
コストは?上位
サイズは?小型化大型化

WiFiはもはやPi Zero Wの優位性ではない

さて、Pi Zeroシリーズで一部のユーザーを魅了したのは、ワイヤレスが統合されている点です。

かつて、初代Picoにワイヤレス機能を持たせるには、アクセサリーを買わなければなりませんでした。それが結構、ZEROを代用品として使う人を押し出したポイントでした。

とはいえ、Pico Wがワイヤレスを搭載したことで、Zero Wが持っていたアドバンテージはもはや存在しない。

BluetoothはPi Zero Wの優位性を維持...今のところ

発売時点では、Pico WにBluetoothチップは搭載されていますが、有効化されていません。

Raspberry Piは将来的に可能にすると言っています。それがいつであろうと。

ですから、現状では、Bluetoothが必要な場合は、Pi Zero Wの方が良いと思います。

Raspberry Pi Zero 2のW不足=Pico Wの優位性

Pico WがZero 2 Wに対して優位に立つもう一つの要素は、その入手性の良さです。

発売から2週間で。 の在庫は、当社を含め、まだ多くの店舗に残っていた。 これは、確かにPi Zero 2の状況を反映していない。 は、2022年以降、低供給になることが予定されています。

もちろん、PiCockpitアカウントをお持ちの方は、EU/スイスのユーザーの方 また、Reservation Tool を使って、次の Raspberry Pi を予約することができます。.

どのように判断するのか?

私がどれを使うか決めるときのロジックはこうです。

シナリオ入手方法
C/Python以外の言語の方が得意であるゼロ
電力が「無制限」である(ソーラーやバッテリー以外の使用例など)ゼロ
データを保存したい(温度ログなど)ゼロ
カメラを使いたいゼロ
GUI/ビデオ出力が欲しいゼロ
WiFiが必要どちらか
Bluetoothが必要ゼロ(2022年7月現在)
最もコンパクトなセットアップが必要ピコW
クラッシュ時や電源障害時に素早く再起動したいピコW
OSのセットアップをしたくないピコW
安い方を選択したいピコW

マイクロスコープで見る

Peter Mountが撮影したPico W...

ラズベリーパイは、Pico Wの発売をどのように予告したのでしょうか。

ラズベリー・パイによると、ラズベリー・パイのグラフィックをあしらった牛のティーザーは、誰も受け取ってくれなかったそうだ。

ラズベリーパイのティーザー「ピコW」のご紹介

Pico Wの発売前夜にTwitterで公開した抽象的なティーザーを、誰ひとりとして受け取っていないなんて、まだ信じられません」と言われました。これは牛です。わかる?"

Raspberry Pi CowをアレンジしたものがRaspberry Pico Wです。

私は、猫が袋から出た今、それについて話すことはかなりあると思います。 モーt.

詳細はこちら

私たちは Raspberry Pi Picoのための情報百科事典。 Raspberry Pi Pico Wを始めるのに役立つ情報をお届けします。 ここからRaspberry Pi Picoについて学びます。.

こちらをクリックしてください。 Raspberry Pi Picoのすべて

また、Raspberry Piから直接入手できる一般的なドキュメントや特殊なドキュメントもあります。

11コメント

  1. Pico User on 7月 15, 2022 at 11:12 am となります。

    ケーブル/ワイヤー側のPico Hデバッグコネクタは、実は
    SHR-03V-S(フランジなし)またはSHR-03V-S-B(フランジあり)。

    https://www.jst.co.uk/downloads/series/eSH_(21-03-24).pdf
    https://shop.pimoroni.com/products/pimoroni-pico-debug-cable
    https://kabel-me.eu/details/48010

    • Xuyun Zeng on 7月 16, 2022 at 10:00 am となります。

      うーん、何か見落としているのか、それともただの互換コネクターなのか?公式ドキュメントによると、こんな感じです。

      "コネクタは1.0mmピッチの3ピンJST「SH」コネクタを指定しており、BM03B-SRSS-TB(トップ
      またはSM03B-SRSS-TB(サイドエントリー)タイプ、あるいは互換性のある代替品".

      https://datasheets.raspberrypi.com/debug/debug-connector-specification.pdf

  2. JJE on 10月 30, 2022 at 2:14 pm となります。

    Pythonのコードをトランスレータに通さなかったら、もっと便利だったでしょうね。

    • Xuyun Zeng on 11月 4, 2022 at 8:15 pm となります。

      JJEさん、この件に目を留めていただきありがとうございます。これは間違いなく取り組むべきことです。

  3. iApe on 3月 4, 2023 at 11:05 pm となります。

    ダンケ!(笑

    Endlich funktioniert es!

  4. Andrew on 4月 2, 2023 at 8:57 pm となります。

    この情報をコミュニティに提供していただき、ありがとうございます。

  5. さらに、もしあなたがピコWのビギナーなら、この [...] [...] 記事でピコWについて知っておくべきことをすべて網羅しています。

  6. [ウェブ開発の世界ではReactやAngular、Vueのようなフロントエンド・フレームワークを使うようになりましたが、Raspberry Pi Picoでウェブサイトを提供するには、一般的にバニラJavaScriptの書き方を知っている必要があります。Pico W megaの記事にあるチュートリアルを見ればわかると思います。[...]

  7. [この記事を書いている時点では、Pico WH(ヘッダーのH)はまだリリースされていません。私たちのピコWメガ記事はそのリリースを追跡しています。[...]

  8. [...] アップデート方法については、このリンクをたどってください。このリンクでは、WiFiネットワークをブロードキャストするクイックスタート方法も紹介しています。[...]

  9. [...] 多くの点で、植物水分計は、以前このブログで取り上げた植物テキスト・プログラムの完璧なコンパニオンである。[...]

コメントを残す