中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

中煤第三建設集團投標網(wǎng)站南寧seo怎么做優(yōu)化團隊

中煤第三建設集團投標網(wǎng)站,南寧seo怎么做優(yōu)化團隊,網(wǎng)站建設工作自策劃實施以來,微信能否做門戶網(wǎng)站樹莓派Pico W開發(fā)板是樹莓派基金會于2022年6月底推出的一款無線WiFi開發(fā)板,它支持C/C和MicroPython編程。本文介紹樹莓派Pico W無線WiFi開發(fā)板的使用方法及MicroPython編程示例,包括樹莓派Pico W開發(fā)板板載LED使用及控制編程示例,Pico W開發(fā)板…

樹莓派Pico W開發(fā)板是樹莓派基金會于2022年6月底推出的一款無線WiFi開發(fā)板,它支持C/C++和MicroPython編程。本文介紹樹莓派Pico W無線WiFi開發(fā)板的使用方法及MicroPython編程示例,包括樹莓派Pico W開發(fā)板板載LED使用及控制編程示例,Pico W開發(fā)板用作WiFi無線HTTP網(wǎng)絡服務器的MicroPython編程示例。
1、樹莓派Pico W無線WiFi開發(fā)板簡介
樹莓派Pico W無線WiFi開發(fā)板是在樹莓派Pico基礎上,添加了無線通訊功能模塊,無線模塊硬件采用了英飛凌CYW43439無線芯片,支持WiFi 4無線網(wǎng)絡,給無線網(wǎng)絡控制和通信相關的嵌入式系統(tǒng)與智能硬件應用開發(fā)提供了極大的方便。
Pico W開發(fā)板主要功能特性有:
?采用樹莓派官方自主設計的RP2040 MCU芯片;
?搭載雙核ARM Cortex M0+處理器,運行頻率高達133MHz(靈活時鐘);
?采用英飛凌CYW43439線芯片,支持WiFi 4無線網(wǎng)絡;
?內(nèi)置264KB的SRAM和2MB片上Flash;
?郵票孔設計,可直接焊接集成到用戶自主設計的PCB底板上;
?USB1.1主機和設備支持;
?支持低功耗睡眠和休眠模式;
?可通過USB接口識別海量存儲器進行拖放式程序下載;
?多達26個多功能GPIO引腳;
?2個SPI,2個I2C,2個UART,3個12位ADC,16個程控PWM通道;
?精確的片上時鐘和定時器;
?溫度傳感器;
?片上加速浮點庫;
?8個可編程I/O(PIO)狀態(tài)機,用于支持自定義外設。
2、下載Pico W開發(fā)板MicroPython固件
可從網(wǎng)址https://datasheets.raspberrypi.com/soft/micropython-firmware-pico-w-290622.uf2直接下載Pico W開發(fā)板UF2格式MicroPython固件文件,也可從網(wǎng)址https://www.raspberrypi.com/documentation/microcontrollers/micropython.html或https://micropython.org/download/rp2-pico-w下載Pico W開發(fā)板最新版本UF2格式MicroPython固件文件。
3、安裝MicroPython固件到Pico W開發(fā)板
找到Pico W開發(fā)板的[BOOTSEL]按鈕,將連接PC機與Pico W的USB-Micro USB電纜線Micro USB接頭插入Pico W開發(fā)板,如圖1所示。按住[BOOTSEL]按鈕并保持,然后將USB-Micro USB電纜線USB接頭插入PC機USB接口,即通過USB接口將Pico W開發(fā)板連接到已開機的電腦,稍后松開Pico W開發(fā)板的[BOOTSEL]按鈕。此時,Pico W開發(fā)板進入USB海量存儲工作模式(USB mass storage device mode),說得通俗一點,此時,Pico W開發(fā)板就相當于是一個U盤,它會顯示一個名為RPI-RP2的盤符和兩個文件。將剛下載好的micropython-firmware-pico-w-290622.uf2固件文件拖拽到(或復制到)RPI-RP2所在盤中,Pico W開發(fā)板MicroPython固件安裝成功,Pico W重新啟動進入虛擬串口終端工作模式。
在這里插入圖片描述
圖1
4、安裝Thonny IDE
Thonny IDE支持Windows、Mac、Linux操作系統(tǒng),可從Thonny官方網(wǎng)站https://thonny.org下載最新版Thonny IDE,如圖2所示。這里下載Windows版Thonny并安裝到PC機。
在這里插入圖片描述
圖2
5、使用Thonny IDE設置Pico W開發(fā)板MicroPython編程環(huán)境
運行Thonny,單擊菜單欄的[Tools],選擇[Options…],彈出[Thonny Options]對話框,選擇【W(wǎng)hich interpreter or device should Thonny use for running your code?】下拉列表中的[MicroPython(Raspberry Pi Pico)]選項,如圖3所示。如果沒有發(fā)現(xiàn)[MicroPython(Raspberry Pi Pico)]選項,那么請檢查PC機是否連接了Pico W開發(fā)板。
在這里插入圖片描述
圖3
選擇【Port】下拉列表,本人筆記本電腦連接Pico W開發(fā)板設備后,其設備名稱是[USB串行設備(COM24)],如圖4所示。
在這里插入圖片描述
圖4
6、使用Thonny Shell輸入MicroPython命令點亮Pico W開發(fā)板板載LED
與樹莓派Pico開發(fā)板板載LED通過470Ω貼片電阻直接連接到RP2040 MCU芯片的GPIO25(GP25)引腳不同,樹莓派Pico W開發(fā)板板載LED沒有連接到RP2040 MCU芯片引腳,而是連到無線芯片的GPIO引腳。樹莓派Pico W開發(fā)板MicroPython固件針對GPIO引腳的變化、新增WiFi無線連接等功能做了修改。
運行Thonny,在Thonny IDE開發(fā)環(huán)境MicroPython Shell命令行下,控制樹莓派Pico W板載LED的亮/滅基本語句如下:

>>> import machine
>>> onboard_led = machine.Pin("LED", machine.Pin.OUT)
>>> onboard_led.value(1)    # Pico W板載LED點亮
>>> onboard_led.value(0)    # Pico W板載LED熄滅
>>> onboard_led.on()     # Pico W板載LED點亮
>>> onboard_led.off()     # Pico W板載LED熄滅

若查看Pico W板載LED對象onboard_led,可直接輸入onboard_led:

>>> onboard_led

此時,Thonny Shell顯示:
Pin(WL_GPIO0, mode=OUT)
以上MicroPython命令操作界面執(zhí)行情況如圖5所示。
在這里插入圖片描述
圖5
我們也可以執(zhí)行如下命令:

>>> onboard_led = machine.Pin("LED", machine.Pin.OUT, value=1)

該命令將配置Pico W板載lED對象onboard_led,并將該對象與Pico W板載LED關聯(lián)并點亮板載LED。
7、控制Pico W開發(fā)板板載LED閃爍MicroPython程序示例
Pico W板載LED閃爍程序清單如下:

# Filename: pico_w_onboard_led.py
import time
def onboard_led_blink():led = machine.Pin('LED', machine.Pin.OUT)led.on()time.sleep(.5)led.off()time.sleep(.5)
while True:
onboard_led_blink()

在Thonny IDE編輯窗口錄入以上程序,順序點擊[File]→[Save as…]→[Raspberry Pi Pico]將程序以文件名“pico_w_onboard_led.py”存儲到Pico W開發(fā)板,如圖6所示。點擊Thonny中的播放按鈕運行程序,此時可看到Pico W板載LED間斷閃亮。
在這里插入圖片描述
圖6
8、Pico W開發(fā)板用作WiFi無線HTTP網(wǎng)絡服務器MicroPython編程示例
這里將Pico W開發(fā)板用作WiFi無線HTTP網(wǎng)絡服務器,我們在任意一臺電腦或手機的瀏覽器輸入Pico W開發(fā)板的IP地址打開index.html網(wǎng)頁。當點擊網(wǎng)頁中的[1]/[0]按鈕時即可WiFi無線控制Pico W開發(fā)板板載LED的亮/滅。
下面分別編寫main.py程序文件、index.html網(wǎng)頁文件。
(1)main.py程序文件清單

# Filename: main.py
# Raspberry Pi Pico W
# 導入Pico W MicroPython模塊
import rp2 # 導入rp2模塊,該模塊包含專門用于RP2040的函數(shù)和類
import network  # 導入network模塊,用于連接WiFi
import ubinascii # 導入ubinascii模塊,用于將MAC地址轉(zhuǎn)換為十六進制字符串
import machine # 導入machine模塊,用于GPIO控制
import urequests as requests # 導入urequests模塊,用于HTTP請求
import time # 導入time模塊,用于延時
import socket # # 導入socket模塊,用于建立套接字
# 設置國家/地區(qū)代碼以避免發(fā)生可能的錯誤
# CN/US/DE/DK/GB/JP(國家或地區(qū)代碼:中國/美國/德國/丹麥/英國/日本)
rp2.country('CN') # 這里設置Pico W的國家/地區(qū)代碼為中國
wlan = network.WLAN(network.STA_IF) # 創(chuàng)建WLAN連接對象
wlan.active(True) # 激活WLAN接口# 查看Pico W開發(fā)板無線WiFi的MAC地址
# 獲取MAC地址,并將其轉(zhuǎn)換為十六進制字符串
mac = ubinascii.hexlify(network.WLAN().config('mac'),':').decode()
print('Pico W MAC地址=' + mac)   # 顯示Pico W開發(fā)板十六進制MAC地址ssid = '所使用的WiFi名稱'    # 設置WiFi名稱 (ssid: service set identifier)
psw = '所使用的WiFi密碼'  # 設置WiFi密碼wlan.connect(ssid, psw)  # 連接到WiFi網(wǎng)絡timeout = 10   # 設置最長等待連接時間為10秒
while timeout > 0:if wlan.status() < 0 or wlan.status() >= 3: # 如果WiFi連接成功或者失敗break # 跳出循環(huán)timeout -= 1print('等待連接!')time.sleep(1) # 延時1秒# 定義Pico W板載LED閃亮函數(shù)
def onboard_led_blink(blink_numbers):onboard_led = machine.Pin('LED', machine.Pin.OUT) # 創(chuàng)建GPIO控制對象for i in range(blink_numbers):onboard_led.value(1)  # 點亮LED# onboard_led.on()  # 另一種點亮LED的方法time.sleep(0.5)  onboard_led.value(0) # 熄滅LED# onboard_led.off() # 另一種熄滅LED的方法time.sleep(0.5)wlan_status = wlan.status() # 獲取當前WiFi連接狀態(tài)
onboard_led_blink(wlan_status) # 根據(jù)WiFi連接狀態(tài)控制LED# 處理連接錯誤
if wlan_status != 3: # 如果WiFi連接失敗raise RuntimeError('WiFi連接失敗!') # 拋出異常
else:print('WiFi已連接...')status = wlan.ifconfig() # 獲取WiFi接口配置信息print('IP地址=' + status[0]) # 輸出IP地址# 定義加載HTML頁面函數(shù)  
def get_html(html_name):with open(html_name, 'r') as file: # 打開HTML文件html = file.read() # 讀取HTML內(nèi)容return html# 打開HTTP Web服務器套接字socket
addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1] # 獲取IP地址和端口號
s = socket.socket() # 創(chuàng)建socket對象
s.bind(addr) # 綁定socket到IP地址和端口號
# 開始監(jiān)聽端口號,最多只允許1個客戶端連接
s.listen(1)print('正在監(jiān)聽', addr)onboard_led = machine.Pin('LED', machine.Pin.OUT)# 進入循環(huán),監(jiān)聽連接
while True:try:# 接受客戶端連接,獲取連接和地址cl, addr = s.accept()print('客戶機連接來自', addr)# 接收客戶端請求消息r = cl.recv(1024)r = str(r)# 在請求消息中查找是否有開/關LED的命令onboard_led_on = r.find('?onboard_led=1')onboard_led_off = r.find('?onboard_led=0')print('LED=', onboard_led_on)print('LED=', onboard_led_off)# 若找到'?onboard_led=1',則開LEDif onboard_led_on > -1:print('開LED')onboard_led.value(1)# 若找到'?onboard_led=0',則關LEDif onboard_led_off > -1:print('關LED')onboard_led.value(0)# 獲取HTML文件內(nèi)容response = get_html('index.html')# 發(fā)送HTTP響應頭cl.send('HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n')# 發(fā)送HTML文件內(nèi)容cl.send(response)# 關閉客戶端套接字cl.close()# 若發(fā)生OSError錯誤,則關閉客戶端套接字并輸出相關信息except OSError as e:cl.close()print('關閉連接')

在main.py程序中,ssid = '所使用的WiFi名稱’要用具體的WiFi名稱替換,psw = '所使用的WiFi密碼’要用相應的密碼替換。由于本程序代碼已給出了詳細注釋,這里不再作進一步解釋。
(2)index.html網(wǎng)頁文件清單

<!DOCTYPE html>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title>樹莓派Pico W開發(fā)板</title></head><body><h3>樹莓派Pico W</h3><p>控制板載LED亮滅</p><a href=\"?onboard_led=1\"><button>1</button></a>&nbsp;<a href=\"?onboard_led=0\"><button>0</button></a></body>
</html>

復制粘貼上面的main.py程序和index.html文件內(nèi)容,并用相同的文件名分別存到Pico W開發(fā)板,如圖7所示。
在這里插入圖片描述
圖7
運行Pico W開發(fā)板中的main.py程序后,在Thonny Shell窗口顯示情況如圖8所示。
在這里插入圖片描述
圖8
從圖8可知,這里的Pico W開發(fā)板用作WiFi無線HTTP網(wǎng)絡服務器的IP地址為192.168.1.12?,F(xiàn)用一臺筆記本電腦打開瀏覽器,在瀏覽器地址欄輸入IP地址192.168.1.12,將顯示index.html網(wǎng)頁。在網(wǎng)頁中,當點擊[1]按鈕(標紅色框的按鈕)時(圖9所示),Pico W開發(fā)板板載LED被點亮(圖10)。點擊[0]按鈕時,Pico W開發(fā)板板載LED熄滅。
在這里插入圖片描述
圖9
在這里插入圖片描述
圖10
打開手機瀏覽器,在地址欄輸入IP地址192.168.1.12,同樣可以實現(xiàn)WiFi無線控制Pico W板載LED的亮滅。
若Pico W開發(fā)板無法正常連接WiFi,可按下面幾條進行處理:
(1)查看使用的SSID和密碼是否正確;
(2)如果使用學校或工作場所的WLAN,未經(jīng)授權(quán)的設備可能無法訪問WiFi;
(3)如果Pico W開發(fā)板WiFi連接一次不成功,可嘗試再次連接WiFi。
最后,我們還可以拔下Pico W開發(fā)板USB-Micro USB電纜線連接到電腦端的USB插頭,斷開Pico W開發(fā)板與電腦之間的連接。將Pico W開發(fā)板USB-Micro USB電纜線接電腦端的USB插頭轉(zhuǎn)接到一個5V USB直流電源(如使用Samsung 5V手機USB充電器電源)。此時,Pico W開發(fā)板將作為HTTP網(wǎng)絡服務器獨立運行。

http://www.risenshineclean.com/news/61194.html

相關文章:

  • 網(wǎng)站開發(fā) java 入門惠州搜索引擎優(yōu)化
  • 網(wǎng)站ui設計標準網(wǎng)絡設計
  • 微信支付 網(wǎng)站建設蘇州網(wǎng)站seo優(yōu)化
  • 威海網(wǎng)站制作廈門網(wǎng)站到首頁排名
  • 做網(wǎng)站需要有b站推廣軟件
  • 長沙有哪些app開發(fā)公司aso優(yōu)化工具
  • 沒有有知道釣魚網(wǎng)站在哪兒做搭建網(wǎng)站流程
  • 做網(wǎng)站要不要花錢做店長徐州seo公司
  • c 做游戲的網(wǎng)站教學網(wǎng)推平臺
  • 企業(yè)申請網(wǎng)站建設請示站長素材免費下載
  • 網(wǎng)站建設賺錢嗎微信推廣怎么做
  • 東莞寮步做網(wǎng)站的有嗎網(wǎng)絡推廣的公司更可靠
  • wordpress發(fā)不了博文秦潔婷seo博客
  • 電商網(wǎng)站設計的原則網(wǎng)絡營銷模式
  • 網(wǎng)絡規(guī)劃設計師教程第二版電子版下載青島神馬排名優(yōu)化
  • 幫人做兼職的網(wǎng)站進一步優(yōu)化
  • 用wampserver搭建網(wǎng)站seo排名軟件有用嗎
  • 個人主頁網(wǎng)站制作怎么自己找外貿(mào)訂單
  • 平面設計和電商設計五種關鍵詞優(yōu)化工具
  • 網(wǎng)站輪播廣告動畫怎么做的可以免費領取會員的軟件
  • 萊陽網(wǎng)站建設個人免費網(wǎng)站申請注冊
  • 南陽做網(wǎng)站aokuo臨沂網(wǎng)站建設方案服務
  • 華傭網(wǎng)做最好的現(xiàn)貨瀝青返傭網(wǎng)站seo是指什么
  • php國內(nèi)外發(fā)展現(xiàn)狀關鍵詞seo深圳
  • 空間怎么做網(wǎng)站代發(fā)新聞稿最大平臺
  • 安徽住房與城鄉(xiāng)建設門戶網(wǎng)站十大互聯(lián)網(wǎng)平臺
  • 網(wǎng)站職位推薦怎么做全面的seo網(wǎng)站優(yōu)化排名
  • 做美容行業(yè)的網(wǎng)站哪個好百度 站長工具
  • 非你莫屬做網(wǎng)站的賣網(wǎng)幣起家的qq推廣引流網(wǎng)站
  • 網(wǎng)站建設制作設計珠海蘇州seo推廣