2022-12-13
電子工作に使える組み込みマイコンがお手頃な価格で買えるようになりました。USBでパソコンに接続してツールを起動すれば、プログラム開発の入門にも使えるらしい。Raspberry Pi Pico を Python で開発するのが簡単らしいが・・・・
Arduino は前から気になっていて、Raspberry Pi Pico を Arduino で開発できるらしい。Arduino なら 無線LANを搭載した ESP32 を開発できる。

Raspberry Pi Pico W (1,154円+送料580円)
色々調べた結果、Raspberry Pi Pico に 802.11n 2.4GHz無線LAN(Infineon CYW43439)を追加搭載したRaspberry Pi Pico W を AliExpressで買いました。

国内無線認証(技適)を取得した正規品はスイッチサイエンスで 1,298円+送料200円 で買えるが、入荷時期がはっきりしない。





AliExpress で Raspberry Pi Pico は安いが、Pico W は出たばかりなので価格は高めです。
最安では無いが、早めに届くこちらに発注しました。


12/2 に注文、12/9 に届きました。
1.技適未取得機器の特例制度
AliExpressで購入したので、国内の電波法に適合した技適(TELEC) のマークがありませんが、海外の認証が取れている無線機器であれば、申請により180日間であれば合法的に利用可能になります。

技適未取得機器を用いた実験等の特例制度 に申請します。

FCC CEなど海外の認証が取れている Wi-Fi Bluetooth モジュールは申請できます。
携帯電話、メイル、住所など入力してユーザ登録の後、スマートフォンでマイナポータルによる本人確認をしました。住所はマイナンバーカードの記載と一致する必要があります。マイナンバーカードが無い場合は、運転免許証のコピーを郵送して本人確認をする事も可能です。

本人確認の後、無線機器の情報や目的など入力して開設届出をしました。審査では無く届け出により180日間 合法的に電波を出す事ができます。
2.Arduino IDE で開発
Arduino IDE(Integrated Development Environment) は、開発環境のことです。

最初は、Arduino Uno を使って開発する必要があるのかと思ったら、これは必要無いようです。
いろいろなマイコンボードに使えるArduino IDE。環境構築メモ(marutsu) を参考にしました。

Arduino から SOFTWARE を開いて、Arugino IDE本体をインストールし、Raspberry Pi Pico W ボード追加の設定を行います。

JUSTDOWNLOAD でダウンロードしてインストールします。

インストール完了しました。
Raspberry Pi Pico W の BOOTSEL を押しながらUSBを接続すると、共有フォルダ「RPI-RP2」が開きます。これにUF2ファイルを書き込むと実行する仕組みになっています。

ファイル- 環境設定 で日本語を選択、「追加のボードマネージャのURL」に以下URLを入力し「OK」をクリックします。
"https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json "

ツール - ボード - ボードマネージャ を開き、Pico で検索。
Raspberry Pi Pico W に対応したボードデータをダウンロードします。

Raspberry Pi Pico W を選択

右下が COM1に接続されている事を確認すれば準備完了です。

サンプルプログラム をスケッチと呼ぶようです。まず、最も簡単な LED を点滅させるサンプルを組み込みます。
ファイル - スケッチ例 - 01.Basics - Blink を選択
(→) をクリックすると コンパイルして書き込みして、1秒毎にLEDが ON/OFF します。
書き込んだ後は、スタンドアロンで動作するようになりますので、USB電源に接続しても動作します。
試しに delay(500); に書き換えて (→) をクリックすると、今度は書き込みでエラーになりました。
BOOTSEL を押しながらUSBを再接続して書き込みしないと上書きはできないようです。
Arugino言語は初めてですが、C言語に似ているのでスケッチを参考に改造すれば、簡単に組み込みできるかも知れないですね。
豊富なサンプルが魅力です。
3.ThonnyIDE で MicroPython 開発
プログラム経験が無い場合は、Python の方が簡単かも知れません。
人気のプログラム開発言語ですので、基礎的な事を1時間ほど勉強しました。C言語に似ていますが、簡略した感じなのでC言語で慣れている方は、混乱するかも知れません。
Raspberry Pi Pico 開発環境まとめ ~MicroPython編~(Tech and Investment) を参考にしました。
Arduino IDE よりも簡単に環境を作れます。

Raspberry Pi Pico W の BOOTSEL を押しながらUSBを接続すると、共有フォルダ「RPI-RP2」が開きます。
INDEX.HTM をクリックすると公式ページが開きます。


MicroPython を クリック、Raspberry Pi Pico W をダウンロードします。
ダウンロードしたUF2ファイル(rp2-pico-w-20221209-unstable-v1.19.1-740-gbf49a087b.uf2) を共有フォルダにドロップします。
※この操作は初回のみで


Thonny から thonny-4.0.1-windows-portable.zip をダウンロードしました。

Thonny (ソニー) をインストールします。

公式ドキュメントから Python のサンプルをコピペすれば動作するはず。
(例) LED点滅プログラム
import time
while True:
machine.Pin('LED', machine.Pin.OUT).toggle()
time.sleep(1)
これを書き込んで△をクリックすると、LEDが1秒毎に点滅するようになります。
なお、LEDのI/Oが PicoW で変更になっているそうですので、注意してください。
□で停止すればプログラムを書き換えできます。簡単ですね。

(例)無線APに接続プログラム
import network
import time
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('BSSID', 'Passcode')
while not wlan.isconnected() and wlan.status() >= 0:
print("Waiting to connect:")
time.sleep(1)
print(wlan.ifconfig())
BSSID と Passcode を入れて実行すれば、Wi-Fi で 自宅のAP に接続できる事を確認できました。
Arduino は前から気になっていて、Raspberry Pi Pico を Arduino で開発できるらしい。Arduino なら 無線LANを搭載した ESP32 を開発できる。

Raspberry Pi Pico W (1,154円+送料580円)
色々調べた結果、Raspberry Pi Pico に 802.11n 2.4GHz無線LAN(Infineon CYW43439)を追加搭載したRaspberry Pi Pico W を AliExpressで買いました。

国内無線認証(技適)を取得した正規品はスイッチサイエンスで 1,298円+送料200円 で買えるが、入荷時期がはっきりしない。





AliExpress で Raspberry Pi Pico は安いが、Pico W は出たばかりなので価格は高めです。
最安では無いが、早めに届くこちらに発注しました。


12/2 に注文、12/9 に届きました。
1.技適未取得機器の特例制度
AliExpressで購入したので、国内の電波法に適合した技適(TELEC) のマークがありませんが、海外の認証が取れている無線機器であれば、申請により180日間であれば合法的に利用可能になります。

技適未取得機器を用いた実験等の特例制度 に申請します。

FCC CEなど海外の認証が取れている Wi-Fi Bluetooth モジュールは申請できます。
携帯電話、メイル、住所など入力してユーザ登録の後、スマートフォンでマイナポータルによる本人確認をしました。住所はマイナンバーカードの記載と一致する必要があります。マイナンバーカードが無い場合は、運転免許証のコピーを郵送して本人確認をする事も可能です。

本人確認の後、無線機器の情報や目的など入力して開設届出をしました。審査では無く届け出により180日間 合法的に電波を出す事ができます。
2.Arduino IDE で開発
Arduino IDE(Integrated Development Environment) は、開発環境のことです。

最初は、Arduino Uno を使って開発する必要があるのかと思ったら、これは必要無いようです。
いろいろなマイコンボードに使えるArduino IDE。環境構築メモ(marutsu) を参考にしました。

Arduino から SOFTWARE を開いて、Arugino IDE本体をインストールし、Raspberry Pi Pico W ボード追加の設定を行います。

JUSTDOWNLOAD でダウンロードしてインストールします。

インストール完了しました。
Raspberry Pi Pico W の BOOTSEL を押しながらUSBを接続すると、共有フォルダ「RPI-RP2」が開きます。これにUF2ファイルを書き込むと実行する仕組みになっています。

ファイル- 環境設定 で日本語を選択、「追加のボードマネージャのURL」に以下URLを入力し「OK」をクリックします。
"https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json "

ツール - ボード - ボードマネージャ を開き、Pico で検索。
Raspberry Pi Pico W に対応したボードデータをダウンロードします。

Raspberry Pi Pico W を選択

右下が COM1に接続されている事を確認すれば準備完了です。

サンプルプログラム をスケッチと呼ぶようです。まず、最も簡単な LED を点滅させるサンプルを組み込みます。
ファイル - スケッチ例 - 01.Basics - Blink を選択
(→) をクリックすると コンパイルして書き込みして、1秒毎にLEDが ON/OFF します。
書き込んだ後は、スタンドアロンで動作するようになりますので、USB電源に接続しても動作します。
試しに delay(500); に書き換えて (→) をクリックすると、今度は書き込みでエラーになりました。
BOOTSEL を押しながらUSBを再接続して書き込みしないと上書きはできないようです。
Arugino言語は初めてですが、C言語に似ているのでスケッチを参考に改造すれば、簡単に組み込みできるかも知れないですね。
豊富なサンプルが魅力です。
3.ThonnyIDE で MicroPython 開発
プログラム経験が無い場合は、Python の方が簡単かも知れません。
人気のプログラム開発言語ですので、基礎的な事を1時間ほど勉強しました。C言語に似ていますが、簡略した感じなのでC言語で慣れている方は、混乱するかも知れません。
Raspberry Pi Pico 開発環境まとめ ~MicroPython編~(Tech and Investment) を参考にしました。
Arduino IDE よりも簡単に環境を作れます。

Raspberry Pi Pico W の BOOTSEL を押しながらUSBを接続すると、共有フォルダ「RPI-RP2」が開きます。
INDEX.HTM をクリックすると公式ページが開きます。


MicroPython を クリック、Raspberry Pi Pico W をダウンロードします。
ダウンロードしたUF2ファイル(rp2-pico-w-20221209-unstable-v1.19.1-740-gbf49a087b.uf2) を共有フォルダにドロップします。
※この操作は初回のみで


Thonny から thonny-4.0.1-windows-portable.zip をダウンロードしました。

Thonny (ソニー) をインストールします。

公式ドキュメントから Python のサンプルをコピペすれば動作するはず。
(例) LED点滅プログラム
import time
while True:
machine.Pin('LED', machine.Pin.OUT).toggle()
time.sleep(1)
これを書き込んで△をクリックすると、LEDが1秒毎に点滅するようになります。
なお、LEDのI/Oが PicoW で変更になっているそうですので、注意してください。
□で停止すればプログラムを書き換えできます。簡単ですね。

(例)無線APに接続プログラム
import network
import time
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('BSSID', 'Passcode')
while not wlan.isconnected() and wlan.status() >= 0:
print("Waiting to connect:")
time.sleep(1)
print(wlan.ifconfig())
BSSID と Passcode を入れて実行すれば、Wi-Fi で 自宅のAP に接続できる事を確認できました。
- 関連記事
-
- トライアックを使った調光器 (3) (2022/12/29)
- 無線LANを搭載した Raspberry Pi Pico W (2022/12/13)
- 中華製PWM信号発生モジュール (2) (2022/12/11)
- トライアックを使った調光器 (2) (2022/12/06)
- トライアックを使った調光器 (2022/12/03)
- LCD表示付きの昇降圧DC-DCコンバータ (2) (2022/12/01)
- 最新のリチウム電池充電器 LittoKara Lii-M4 (2022/11/23)
- 中華製PWM信号発生モジュールをPWM制御ファンで実験 (2022/11/20)
- ハンディ型の電子ヒートガンを買いました (2022/11/17)