- 公開日
- 最終更新日
【IoT】『押したらLambda関数が起動するボタン』を作成してみる(前編)
この記事を共有する

目次
サービスG松原です。 今回はRaspberry Pi Pico W(以下 Pico W)とAWS IoT Core(以下IoT Core)を使用して『押したらLambda関数が起動するボタン』を作っていきます。
※すこし長いので前後編で分けます。この記事は前編です。(IoT Coreが出てくるのは後半からです)
やりたいこと
最終的に目指すのは『押したらLambda関数が起動するボタン』です。以下のような処理を行います。
- Pico W に接続したタクトスイッチを押すとIoT CoreにMQTTメッセージを送信
- MQTTメッセージの受信を起因としてAWS Lambda(以下Lambda)の関数を起動
前編ではローカルでPico Wの初期設定まで行います。以下のような構成で機器を設定します。
- スイッチを押したらLEDが点灯
Raspberry Pi Pico W とは?
まず最初に簡単にRaspberry Pi Picoについて説明します。 Raspberry Pi PicoはRaspberry Pi財団が開発した小型/低価格のマイコン(マイクロコントローラ)です。 Pico WはPicoの通信機能付きモデルで、Wifiに接続してAWSとオンラインで通信することが可能です。
この機器、通常のRaspberry Piと異なりLinuxではなく組み込み開発向けのプログラムで稼働する点が特徴です。 この点敷居が高いと思っていたのですが、実際にやってみるとスクリプト(Pythonファイル)だけで稼働するので以外と簡単でした。
環境準備
用意するもの
今回の構成では以下の機器/部品を使用します。
- Raspberry Pi Pico W :1台
- ブレットボード:1個
- リニアスイッチ:1個
- LED:1個
- 抵抗器:1個
- ジャンパー線:4本
- Micro USB ケーブル(PicoWとPCの接続用ケーブル)
Thonnyのインストール
まずIoTの開発環境としてPCにThonnyをインストールします。
Thonny公式ページからインストーラを取得しインストールします。
MicroPythonファームウェアのインストール
RaspberryPi公式ページにアクセスし、Pico Wのリンクを押下し、ファームウェア(.uf2ファイル)を入手します。
続いてPCにPico Wを接続し、ディスクとして認識されたPico Wにファームウェアファイルを保存します。
※ディスクとして認識されない場合はPicoW本体のBOOTSELボタン(白いボタン)を押しながら接続してください。
PCにPico Wを再接続し、Thonnyを開きます。MicroPython(Rasoberry Pi Pico)が認識されていればOKです。 Thonnyでは[MicroPython(Rasoberry Pi Pico)]を選択した状態で作業を行います。
動作確認:LED点灯と消灯
動作検証としてPico WのオンボードのLEDを点灯/消灯テストします。
Thonnyの右下のシェルで以下を入力します。RaspberryPi本体のLEDが緑に点灯したら成功です。
import machine led = machine.Pin("LED",machine.Pin.OUT) led.on()
LEDを消灯するには続けて以下のコマンドを実行します。
led.off()
設定
配線の設定
続いてPico Wにタクトスイッチを接続するために配線していきます。 ブレットボードにPico WのGPIOピンをを接続し、写真のように配線します。
- LED:14番ピン(GP10)にLEDのプラス側を接続、マイナス側に抵抗を接続し、18番ピン(GND)に接続
- タクトスイッチ:21番ピン(GP16)に一方を接続、もう一方は33番ピン(GND)に接続
Pico Wのピン配置はこちらを参照。
タクトスイッチを押すとLEDを点灯する処理の実装
以下のコードをThonnyのエディタ上で作成し、ファイル>名前を付けて保存>RaspberryPi Pico>main.pyとして保存します。
import machine import time led = machine.Pin('GP10',machine.Pin.OUT) button = machine.Pin('GP16',machine.Pin.IN, machine.Pin.PULL_UP) while True: if button.value(): led.off() else: led.on() time.sleep (0.1)
上記はタクトスイッチを押すとLEDが点灯する処理です。
Pico W が起動する時はmain.pyが自動実行されるため、これでスイッチを押すとLEDが点灯するIoT機器の完成です。
動作検証
Pico WをPC以外の電源に接続した状態でタクトボタンを押すとLEDが...光る!
今回はここまでです。
おわりに
今回の手順でまずは『押したらLEDが点灯するボタン』ができました。 次回はこの機器をIoT Coreに接続していきます。乞うご期待!ありがとうございました!
この記事は私が書きました
松原 唯介
記事一覧2024年4月入社 サービスG所属
