女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>利用PocketBeagle的多合一系統(tǒng)開(kāi)源設(shè)計(jì)

利用PocketBeagle的多合一系統(tǒng)開(kāi)源設(shè)計(jì)

2023-07-07 | zip | 0.66 MB | 次下載 | 免費(fèi)

資料介紹

動(dòng)機(jī)

每天早上從查看短信、天氣、電子郵件開(kāi)始,有時(shí),當(dāng)您感覺(jué)非常好并且最重要的是,新聞。但是,要查看這些,您需要在手機(jī)上打開(kāi)手機(jī)短信應(yīng)用、天氣應(yīng)用和新聞應(yīng)用,或者至少滾動(dòng)瀏覽手機(jī)上的所有通知。

為了讓我的早晨,希望你的早晨更輕松一些,我的目標(biāo)是為你的床頭柜制作一個(gè)屏幕,顯示每日預(yù)報(bào)和當(dāng)前溫度,以及當(dāng)天的新聞?lì)^條。一目了然,您可以看到開(kāi)始新的一天所需了解的所有信息:如何穿著得體以及昨晚發(fā)生的時(shí)事。

概述:系統(tǒng)和電源框圖

poYBAGOW5WmAUwUUAABNBQaCQII397.jpg

1 / 2 ?系統(tǒng)框圖

使用 Wifi Dongle 連接到 Wifi

要連接到 wifi,我需要一個(gè) microUSB 接口、USB 轉(zhuǎn) microUSB 適配器和一個(gè) wifi 加密狗。在PocketBeagle上,我首先將引腳VBUS(P1_5)和VIN(P1_7)焊接在一起,并將引腳ID(P1_13)和GND(P1_15)焊接在一起,以備使用。然后,我將 microUSB 分線板連接到 PocketBeagle 上的 USB1 總線(引腳 7-15)。最后,我將 wifi 適配器插入 USB 轉(zhuǎn) microUSB 適配器。有了 wifi 加密狗的硬件,我繼續(xù)進(jìn)行連接到 wifi 的軟件方面。

pYYBAGOW5XqALkI7AARwDxYdY1I797.jpg

USB-A 適配器和 wifi 加密狗。

Linux Cloud9 終端中,我運(yùn)行以下代碼來(lái)連接到 wifi:

debian@beaglebone:/var/lib/cloud9/ENGI301/Project_01$ connmanctl

connmanctl》 enable wifi

Error wifi: Already enabled

connmanctl》 scan wifi

Scan completed for wifi

connmanctl》 services

*AR Rice IoT wifi_74da38de508b_5269636520496f54_managed_none

*A Rice Visitor wifi_74da38de508b_526963652056697369746f72_managed_none

Rice Owls wifi_74da38de508b_52696365204f776c73_managed_ieee8021x

eduroam wifi_74da38de508b_656475726f616d_managed_ieee8021x

DIRECT-f3-HP M15 LaserJet wifi_74da38de508b_4449524543542d66332d4850204d3135204c617365724a6574_managed_psk

connmanctl》 agent on

Agent registered

connmanctl》 connect wifi_74da38de508b_526963652056697369746f72_managed_none

Connected wifi_74da38de508b_526963652056697369746f72_managed_none

檢索天氣數(shù)據(jù)

為了檢索每日預(yù)報(bào),我使用了 PyOWM,它是 OpenWeatherMap 的客戶端 Python 包裝庫(kù)。OpenWeatherMap ( http://openweathermap.com/ ) 是一種 API,可用于通過(guò) API 密鑰檢索天氣數(shù)據(jù)。

from pyowm import OWM

我創(chuàng)建了一個(gè)免費(fèi)帳戶并收到了一個(gè) API 密鑰(免費(fèi)訂閱*)。

API_key = ‘a(chǎn)da0a3424a34c9445c81fba49df33410’

owm = OWM(API_key)

接下來(lái),對(duì)于我想要收集數(shù)據(jù)的位置,我找到了得克薩斯州休斯頓市的城市 ID,即 4699006。

#For Houston (city ID = 46990066)

obs = owm.weather_at_id(4699066)

定義這些變量后,我使用 get_weather 和 get_temperature 收集了三個(gè)溫度測(cè)量值。可以在 PyOWM 文檔的以下鏈接中找到其他查詢和電話:

https://buildmedia.readthedocs.org/media/pdf/pyowm/latest/pyowm.pdf

# Retrieve daily lows and highs as well as the current temperature

w = obs.get_weather()

temp = w.get_temperature(‘fahrenheit’)

*免費(fèi)訂閱對(duì)您可以調(diào)用和訪問(wèn)的數(shù)據(jù)有限制。幸運(yùn)的是,我可以訪問(wèn)當(dāng)前溫度以及當(dāng)天的高低溫。有關(guān)訂閱訪問(wèn)的更多信息,請(qǐng)?jiān)L問(wèn)http://openweathermap.com/。

檢索新聞標(biāo)題

為了檢索每日新聞標(biāo)題,我導(dǎo)入了許多庫(kù):

要求

bs4(美麗湯)

JSON

約會(huì)時(shí)間

“requests”是一個(gè)庫(kù),當(dāng)我從紐約時(shí)報(bào)網(wǎng)站上抓取數(shù)據(jù)(頭條新聞)時(shí),它可以幫助我們發(fā)出 HTTP 請(qǐng)求。

import requests

url = “https://www.nytimes.com/”

r = requests.get(url)

“bs4”是一個(gè)幫助從 HTML 中解析數(shù)據(jù)的庫(kù)。有關(guān) bs4 用法的更多信息,請(qǐng)?jiān)L問(wèn):https ://www.crummy.com/software/BeautifulSoup/bs4/doc/ 。

from bs4 import BeautifulSoup

r_html = r.text

soup = BeautifulSoup(r_html, “html.parser”)

scripts = soup.find_all(‘script’)

“json”是一個(gè)可以編碼和解碼 JSON 的庫(kù),JSON 是用 JavaScript 對(duì)象表示法編寫(xiě)的文本。我使用 json 將 JSON 從網(wǎng)絡(luò)抓取的數(shù)據(jù)解碼為 Python。

import json

for script in scripts:

if ‘preloadedData’ in script.text:

jsonStr = script.text

jsonStr = jsonStr.split(‘=’, 1)[1].strip()

jsonStr = jsonStr.rsplit(‘;’, 1)[0]

jsonObj = json.loads(jsonStr)

使用這些庫(kù),我可以找到并抓取新聞標(biāo)題,以便稍后在 LCD 屏幕上顯示。

設(shè)置 LCD 屏幕

硬件:

pYYBAGOW5aKAbUq9AAuVpJz9eKo848.jpg

從 LCD 屏幕到 PocketBeagle 上的 GPIO 和 SPI0 的連接。

為了將 LCD 屏幕物理連接到 PocketBeagle,我在 LCD 屏幕上使用了引腳 Vin、GND、CLK、MISO、MOSI、CS、D/C 和 RST。我將這些引腳連接到 PocketBeagle(SPI0 和 GPIO)上它們各自的引腳??梢栽诒疚臋n末尾的燒結(jié)圖中找到這些連接。

我遵循了 LCD 屏幕制造商提供的說(shuō)明,可在此處找到:https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2/overview。*

*起初,盡管連接正確,但我的 LCD 屏幕并未與 PocketBeagle 連接。后來(lái)我發(fā)現(xiàn)是因?yàn)槲义e(cuò)過(guò)了關(guān)鍵的一步;必須通過(guò)焊接閉合 LCD 屏幕背面的 IM1、IM2 和 IM3 跳線:

poYBAGOW5aeAZ5BVAACpoZPR1rw529.png

使用前先將液晶屏上的IM1、IM2、IM3插孔焊好。

軟件:

為了在 PocketBeagle 上設(shè)置和使用 LCD 屏幕,我導(dǎo)入了幾個(gè)庫(kù)。我設(shè)置和使用 LCD 屏幕的分步過(guò)程基于制造商在此處提供的一組基本說(shuō)明:http ://learn.adafruit.com/adafruit-2-dot-8-color- tft-touchscreen-breakout-v2 。

數(shù)碼

木板

太平船務(wù)

adafruit_rgb_display

Adafruit_BBIO

時(shí)間

文本換行

“digitalio”是一個(gè)提供基本數(shù)字引腳支持的庫(kù)。

“板”是一個(gè)庫(kù),用于描述和設(shè)置使用的引腳和板?!癲igitalio”和“board”一起使用:

import board

import digitalio

cs_pin = digitalio.DigitalInOut(board.P2_2)

dc_pin = digitalio.DigitalInOut(board.P2_4)

reset_pin = digitalio.DigitalInOut(board.P2_6)

spi = board.SPI()

“PIL”是 Python 圖像庫(kù)。我特別發(fā)現(xiàn)此鏈接對(duì)于了解模塊和與模塊相關(guān)的用法非常有用:https ://pillow.readthedocs.io/en/stable/ 。該庫(kù)用于實(shí)際顯示文本(天氣更新和新聞標(biāo)題)液晶屏。

from PIL import Image, ImageDraw, ImageFont

“adafruit_rgb_display”是用于連接 LCD 屏幕 (ILI9341) 的庫(kù)。該庫(kù)是通過(guò) LCD 屏幕的供應(yīng)商推薦的。我按照此驅(qū)動(dòng)程序的說(shuō)明操作:https ://github.com/adafruit/Adafruit_CircuitPython_RGB_Display 。

import adafruit_rgb_display.ili9341 as ili9341

disp = ili9341.ILI9341(spi, rotation=90, cs=cs_pin, dc=dc_pin, rst=reset_pin,

baudrate=BAUDRATE)

為了遵循這一點(diǎn),我還必須在安裝驅(qū)動(dòng)程序之前安裝驅(qū)動(dòng)程序的依賴項(xiàng)。說(shuō)明可在此處找到:https ://github.com/adafruit/CircuitPython_Community_Bundle 。為了將此驅(qū)動(dòng)程序用于 ILI9341,還進(jìn)行了其他安裝(在驅(qū)動(dòng)程序的 README 文件中進(jìn)行了描述)。通常,我按照以下步驟安裝必要的驅(qū)動(dòng)程序:

sudo pip3 install Adafruit_Blinka

# if the Adafruit_Blinka installation does not work:

# sudo apt-get install python-setuptools

# sudo apt-get install python-dev

pip3 install adafruit-circuitpython-lis3dh

# Download the bundle zip file from the (CircuitPython_Community_Bundle link)

git submodule init

git submodule update

sudo apt-get install python3-venv

python3 -m venv .env

source .env/bin/activate

pip install circuitpython-build-tools

source .env/bin/activate

circuitpython-build-bundles --filename_prefix adafruit-circuitpython-bundle --library_location libraries --library_depth 2

sudo pip3 install adafruit-circuitpython-rgb-display

Adafruit_Blinka 鏡像 CircuitPython,這樣我就可以使用其他庫(kù),例如“board”和“digitalio”。Digitalio 和板用于定義和描述 PocketBeagle 的引腳輸出,以便我們可以設(shè)置顯示。

使用“Adafruit_BBIO”以便我可以使用 GPIO 引腳,特別是按鈕。使用這個(gè)庫(kù),用戶可以通過(guò)按下按鈕來(lái)控制顯示。

import Adafruit_BBIO.GPIO as GPIO

“時(shí)間”是一個(gè)庫(kù),我專門(mén)用來(lái)記錄按下按鈕時(shí)經(jīng)過(guò)的時(shí)間。記錄時(shí)間是必不可少的,因?yàn)楫?dāng)按下按鈕超過(guò) 2 秒時(shí),設(shè)備將停止運(yùn)行腳本。當(dāng)按下按鈕少于 2 秒時(shí),用戶可以在查看當(dāng)天的天氣預(yù)報(bào)和新聞標(biāo)題之間切換。

在液晶屏上顯示

為了在 LCD 屏幕上顯示內(nèi)容,我們使用 PIL 庫(kù),如下所示。此外,我還下載了一個(gè)不同字體的 zip 文件來(lái)幫助定義“fnt”。

def createRGB(disp):

if disp.rotation % 180 == 90:

height = disp.width # we swap height/width to rotate it to landscape!

width = disp.height

else:

width = disp.width # we swap height/width to rotate it to landscape!

height = disp.height

image = Image.new(‘RGB’, (width, height))

# Reset the display

draw = ImageDraw.Draw(image)

draw.rectangle((0, 0, width, height), outline=0, fill=(0, 0, 0))

disp.image(image)

# Display the desired output

fnt = ImageFont.truetype(‘Pillow-master/Tests/fonts/FreeMono.ttf’, 16)

draw.text((0,0), text=cleand, fill = (255,255,255), font=fnt)

disp.image(image)

return createRGB(disp)

使用按鈕控制顯示

我的設(shè)備允許用戶通過(guò)按下按鈕來(lái)控制他們希望看到的信息(天氣預(yù)報(bào)或新聞標(biāo)題)。

我使用一個(gè) 1k 歐姆電阻將按鈕添加到從一個(gè)輸入到按鈕的 3.3V 輸入,并將對(duì)角線引腳從 3.3V 輸入連接到 PocketBeagle 上的 GPIO(白線)。

pYYBAGOW5fSAFVdnAAuvX80VGBI268.jpg

按鈕的電路連接。

具體來(lái)說(shuō),如果按鈕被按下的次數(shù)是奇數(shù),則顯示天氣預(yù)報(bào)。連接后,設(shè)備將開(kāi)始運(yùn)行。如果用戶按下按鈕一次,就會(huì)顯示當(dāng)天的天氣預(yù)報(bào)。如果再按一次該按鈕,新聞標(biāo)題就會(huì)顯示在 LCD 屏幕上。連續(xù)按下按鈕將導(dǎo)致新聞標(biāo)題和天氣預(yù)報(bào)在 LCD 屏幕上交替顯示。

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)