村上や

“TOP”へMC900432676[1]

ニュース

 

2023827

 

Raspberry Pi Pico Wを購入しました。

Wifiが使えると出来ることが広がります!

Amazon1,400年(税込)でした。衝動買いです。

電子機器, 回路 が含まれている画像

自動的に生成された説明

 

早速、Raspberry Pi Pico Wをブレッドボードに差し込んでヘッダーピンを半田付けしました。

電子機器の部品

低い精度で自動的に生成された説明

 

ヘッダーピンを半田付けしたRaspberry Pi Pico Wの裏面です。

電子機器, 回路 が含まれている画像

自動的に生成された説明

 

WEBサイトでRaspberry Pi Pico WLEDONOFFできるようにしました。

回路, 時計 が含まれている画像

自動的に生成された説明

 

WEBサイトです。

グラフィカル ユーザー インターフェイス, テキスト, アプリケーション

自動的に生成された説明

 

スクリプト(main.py)です。

import network

import time

import socket

import machine

 

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

led.off()

 

# ssidは必ず2.4GHz(11n)の方を使用

ssid = "your ssid"

pw = "your password"

 

# ssidpwWLANに接続する

def connect(ssid, pw):

              wlan = network.WLAN(network.STA_IF)

              wlan.active(True)

              wlan.connect(ssid, pw)

              wait = 0

              while wlan.isconnected() == False:

                            print("Waiting for connection...")

                            time.sleep(1)

                            wait += 1

                            if wait > 20:

                                          raise RuntimeError("network connection failed")

              #print(wlan.ifconfig())

              ip = wlan.ifconfig()[0]

              print(f'Connected on {ip}')

              return ip

 

# ソケットを開く

def open_socket(ip):

              address = (ip, 80)

              connection = socket.socket()

              connection.bind(address)

              connection.listen(1)

              return connection

 

# レスポンスで送信するHTML

def build_html():

              return f"""

                            <!DOCTYPE html>

                            <html>

                            <head>

                            <title>raspberry pi pico w</title>

                            </head>

                            <body>

                            <p>hello raspberry pi pico w!</p>

                            <p>

                                          LED:

                                          <a href="/on?">on</a>

                                          <a href="/off?">off</a>

                            </p>

                            </body>

                            </html>

                            """

 

# サーバを立ち上げる

def serve(connection):

              while True:

                            client = connection.accept()[0]

                            request = client.recv(1024)

                            request = str(request)

                            try:

                                          request = request.split()[1]

                            except IndexError:

                                          pass

                            if request == "/on?":

                                          led.on()

                            elif request == "/off?":

                                          led.off()

                            client.send(build_html())

                            client.close()

                           

try:

              ip = connect(ssid, pw)

              led.on()

              connection = open_socket(ip)

              serve(connection)

except KeyboardInterrupt:

              machine.reset()

 

 

【バックナンバー】

MC900053825[1] 2023年8月20

MC900053825[1] 2023年8月15

MC900053825[1] 2023年8月5

MC900053825[1] 2023年7月29

MC900053825[1] 2023年7月23

MC900053825[1] 2023年7月17

MC900053825[1] 2023年7月17

MC900053825[1] 2023年7月9

MC900053825[1] 2023年7月2

MC900053825[1] 2023年6月25

MC900053825[1] 2023年6月18

MC900053825[1] 2023年6月11

MC900053825[1] 2023年6月4

MC900053825[1] 2023年5月28

MC900053825[1] 2023年5月20

MC900053825[1] 2023年5月14

MC900053825[1] 2023年5月7

MC900053825[1] 2023年4月30

MC900053825[1] 2023年4月19

MC900053825[1] 2023年4月16

MC900053825[1] 2023年4月9

MC900053825[1] 2023年4月1

MC900053825[1] 2023年3月26

MC900053825[1] 2023年3月22

MC900053825[1] 2023年3月18

MC900053825[1] 2023年3月12

MC900053825[1] 2023年3月5

MC900053825[1] 2023年2月26

MC900053825[1] 2023年2月23

MC900053825[1] 2023年2月19

MC900053825[1] 2023年2月12

MC900053825[1] 2023年2月4

MC900053825[1] 2023年1月29

MC900053825[1] 2023年1月22

MC900053825[1] 2023年1月9

MC900053825[1] 2023年1月3

MC900053825[1] 2023年1月1

MC900053825[1] 2022

MC900053825[1] 2021

MC900053825[1] 2020

MC900053825[1] 2019

MC900053825[1] 2018

MC900053825[1] 2017

MC900053825[1] 2016

MC900053825[1] 2015

MC900053825[1] 2014

MC900053825[1] 2013

MC900053825[1] 2012

MC900053825[1] 2011