Cov txheej txheem:
- Kauj ruam 1: Teeb tsa Qhov System
- Kauj Ruam 2: Ntaus Ntawv thiab Txoj Haujlwm
- Kauj Ruam 3: Txoj Cai Code
Video: RuuviTag thiab PiZero W thiab Blinkt! Bluetooth Beacon Raws Tus Ntsuas Kub: 3 Kauj Ruam (nrog Duab)
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:27
Cov lus qhia no piav qhia txoj hauv kev los nyeem cov ntaub ntawv ntsuas kub thiab av noo los ntawm RuuviTag siv Bluetooth nrog Raspberry Pi Zero W thiab los tso saib qhov tseem ceeb hauv tus lej binary ntawm Pimoroni blinkt! pHAT. Or los muab nws luv luv: yuav ua li cas thiaj tsim tau lub xeev ntawm kev kos duab thiab tus pas ntsuas kub me ntsis.
RuuviTag yog qhov qhib qhov qhib sensor bluetooth lub teeb uas los nrog qhov ntsuas kub/av noo/siab thiab ntsuas lub ntsuas cua, tab sis kuj tseem tuaj yeem ua raws li tus qauv Eddystone ™/iBeacon sib thooj teeb liab. Nws yog qhov haujlwm Kickstarter ua tiav thiab kuv tau txais kuv li ob peb lub lis piam dhau los. Muaj Github nrog nab hab sej software los nyeem RuuviTag siv raspberry, thiab kuv tau siv ib qho ntawm lawv cov piv txwv, nrog qee qhov ntxiv.
Raspberry Pi Zero W yog tus tswv cuab tshiab ntawm RPi tsev neeg, ib txwm yog Pi Zero nrog Bluetooth thiab WLAN ntxiv.
Lub blinkt! pHAT los ntawm Pimoroni yog ib puag ncig ntawm yim RBG LEDs teeb tsa ua HAT rau Raspberry Pi. Nws yog qhov siv tau yooj yim heev thiab los nrog lub tsev qiv ntawv sej. Lub tswv yim yog nyeem cov ntaub ntawv los ntawm RuuviTag thiab tso saib nws siv lub ntsais muag! HAT. Cov txiaj ntsig tau muab tso tawm ua tus lej binary siv 7 ntawm LEDs, thaum yim siv los qhia tias cov av noo lossis qhov kub (+/-/0) qhov txiaj ntsig tau tshwm sim.
Kauj ruam 1: Teeb tsa Qhov System
Teeb tsa cov txheej txheem yog yooj yim:- Hloov ntawm RuuviTag (RuuviTag qhov ntsuas kub ntsuas qhov ntsuas).
- Teeb koj li RPi Zero W, RPi3, lossis lwm yam RPi nrog lub peev xwm bluetooth ntxiv, ua raws cov lus qhia ntawm www.raspberrypi.org.
- Tso lub blinkt! HAT ntawm RPi (thaum tawm).
- Nruab lub blinkt! thiab RuuviTag software, raws li qhia hauv cov nplooj ntawv sib xws GitHub.
- Tam sim no koj yuav tsum txheeb xyuas MAC chaw nyob ntawm koj RuuviTag
- luam qhov program Python uas txuas nrog, qhib nws nrog IDLE rau Python 3
- hloov MAC chaw nyob ntawm RuuviTag rau koj li, tom qab ntawd txuag thiab ua haujlwm qhov program.
- xav tias hloov kho thiab ua kom zoo dua qhov program. Qhov kev zov me nyuam los raws li nws yog, siv los ntawm koj tus kheej txoj kev pheej hmoo, tsis muaj kev lav phib xaub rau ib qho kev puas tsuaj.
Kauj Ruam 2: Ntaus Ntawv thiab Txoj Haujlwm
Raws li tau hais los saum toj no, lub tswv yim yog los tsim cov txheej txheem yooj yim thiab pheej yig los nyeem cov ntaub ntawv los ntawm lub teeb thiab teeb tus lej lej ntawm qhov ntsais! HAT, lossis zoo ib yam LED sawb.
Qhov ntau ntawm qhov ntsuas kub yuav raug ntsuas nrog RPi raws qhov system feem ntau yuav nyob qhov twg ntawm - 50 ° C thiab +80 ° C, rau cov av noo ntawm 0 thiab 100%. Yog li cov zaub uas tuaj yeem muab qhov tseem ceeb ntawm -100 txog +100 yuav txaus rau feem ntau daim ntawv thov. Cov lej zauv me me li 128 tuaj yeem tso tawm ua tus lej binary nrog 7 khoom (lossis LEDs). Yog li qhov kev zov me nyuam siv qhov ntsuas kub thiab av noo los ntawm RuuviTag li "ntab" tus lej thiab hloov pauv lawv mus rau tus lej binary, uas tom qab ntawd tshwm rau ntawm qhov ntsais!
Ua thawj kauj ruam, tus lej tau muab sib npaug, tshuaj xyuas yog tias zoo, tsis zoo lossis xoom, thiab tom qab ntawd hloov pauv mus rau tus lej zoo siv "abs". Tom qab ntawd tus lej zauv tau hloov pauv mus rau 7-tus lej binary tooj, feem ntau yog txoj hlua ntawm 0s thiab 1s, uas tau tshuaj xyuas thiab nthuav tawm ntawm 7 pixels kawg ntawm qhov ntsais!
Txog qhov ntsuas kub thawj pixel qhia yog tias tus nqi zoo (liab), xoom (magenta) lossis tsis zoo (xiav). Qhia cov av noo qhov tseem ceeb nws tau teeb rau ntsuab. Txhawm rau ua kom yooj yim kev ntxub ntxaug ntawm qhov kub thiab txias qhov tseem ceeb binary pixels tau teeb tsa dawb rau qhov kub thiab daj rau cov av noo. Txhawm rau txhim kho kev nyeem tau ntawm cov lej binary, "0" pixel tsis tau muab tua tag nrho, tab sis hloov pauv tau teeb tsa ntau dua li hauv "1" xeev. Raws li blinkt! pixels yog qhov ci ntsa iab, koj tuaj yeem teeb tsa qhov dav dav hloov pauv qhov ntsuas "ci"
Qhov kev zov me nyuam qhia qhov muaj nuj nqis thiab ib feem ntawm cov txheej txheem tseem nyob ntawm qhov screen. Ib qho ntxiv koj yuav pom ob peb lub suab ntsiag to (#) luam tawm cov lus qhia. Kuv tso lawv rau hauv, zoo li koj yuav pom lawv pab tau kom nkag siab cov txheej txheem yog tias tsis muaj suab npe.
Qhov tseem ceeb kuj tseem yuav muab khaws cia rau hauv cov ntaub ntawv teev cia.
Kauj Ruam 3: Txoj Cai Code
Cov cai tau debugged me ntsis thiab ua kom zoo dua. Tam sim no koj tuaj yeem pom version 3 (20_03_2017).
'Qhov haujlwm no yog npaj los nyeem qhov ntsuas kub, av noo thiab ntsuas qhov ntsuas tsim RuuviTag' 'thiab txhawm rau ntsuas qhov ntsuas kub thiab av noo raws li tus lej binary ntawm Pimorini blinkt! HAT. '' '' Nws yog raws li print_to_screen.py piv txwv los ntawm lub tsev qiv ntawv ruuvitag ntawm github. '' Yuav tsum muaj Pi Zero W, Pi 3 lossis lwm yam RPi nruab nrog bluetooth thiab txhua lub tsev qiv ntawv tsis tuaj yeem teeb tsa. '
lub sij hawm ntshuam
ntshuam os los ntawm datetime ntshuam datetime
los ntawm ruuvitag_sensor.ruuvi ntshuam RuuviTagSensor
los ntawm blinkt ntshuam set_clear_on_exit, set_pixel, meej, qhia
def temp_blinkt (bt): cov
# qhov kev niaj hnub no siv tus ntsuas kub thiab qhia nws ua tus lej binary ntawm blinkt!
meej ()
# xim thiab siv ntawm "1" pixels: dawb
r1 = 64 g1 = 64 b1 = 64
#xim thiab siv "0" pixels: dawb
r0 = 5g0 = 5b0 = 5
# Hloov thiab hloov pauv mus rau qhov tseem ceeb
r = puag ncig (bt)
# vz sawv cev rau algebraic kos npe rau qhov taw qhia pixel
yog (r> 0): vz = 1 # zoo elif (r <0): vz = 2 # tsis zoo ntxiv: vz = 0 # zero # print (vz) i = abs (r) #print (i)
# hloov pauv kom meej, 7-tus lej binary tooj
i1 = i + 128 # rau kuv ua rau hauv 8-tus lej binary lej pib nrog 1 # luam tawm (i1)
b = "{0: b}". format (i1) # hloov mus rau binary
# luam tawm (b)
b0 = str (b) # hloov mus rau txoj hlua
b1 = b0 [1: 8] #txiav thawj ntsis
print ("binary naj npawb:", b1)
# Teeb pixels ntawm blinkt!
# teeb tsa tus lej binary
rau h hauv thaj tsam (0, 7): f = (h+1) yog (b1 [h] == "1"): set_pixel (f, r1, g1, b1) # print ("ntsis", h, " yog 1, pixel ", f) lwm yam: set_pixel (f, r0, g0, b0) # print (" nil ")
# Teeb tus cim pixel
yog (vz == 1): set_pixel (0, 64, 0, 0) # liab rau qhov muaj txiaj ntsig zoo elif (vz == 2): set_pixel (0, 0, 0, 64) # xiav rau qhov tsis zoo ntxiv: set_pixel (0, 64, 0, 64) # magenta yog xoom
qhia ()
# kawg ntawm temp_blinkt ()
def hum_blinkt (bh): cov
# qhov no siv tus nqi vaum thiab qhia nws ua tus lej binary ntawm blinkt!
meej ()
# xim thiab siv ntawm "1" pixels: daj
r1 = 64 g1 = 64 b1 = 0
#xim thiab siv ntawm "0" pixels:
r0 = 5g0 = 5b0 = 0
# Hloov pauv thiab hloov pauv mus rau qhov tseem ceeb
r = puag ncig (bh)
# hloov pauv mus rau qhov tseeb, 7-tus lej binary tooj i = abs (r) #print (i)
i1 = i + 128 # rau kuv muab tus lej 8 tus lej binary pib nrog 1
# luam tawm (i1)
b = "{0: b}". hom ntawv (i1)
# luam tawm (b)
b0 = str (b)
b1 = b0 [1: 8] #txiav thawj ntsis
print ("binary naj npawb:", b1)
# Teeb pixels ntawm blinkt!
# teeb tsa tus lej binary rau pixels
rau h hauv thaj tsam (0, 7): f = (h+1) yog tias (b1 [h] == "1"): set_pixel (f, r1, g1, b1) ntxiv: # ntsiag to kom tsis muaj teeb meem LEDs set_pixel (f, r0, g0, b0) # ntsiag to LED dawb paug
# Teeb tus cim pixel
set_pixel (0, 0, 64, 0) # ntsuab rau cov av noo
qhia ()
# kawg ntawm hum_blinkt ()
set_clear_on_exit ()
# Nyeem cov ntaub ntawv los ntawm RuuviTag
mac = 'EC: 6D: 59: 6D: 01: 1C' # Hloov mus rau koj tus kheej lub cuab yeej mac-chaw nyob
print ('Pib')
sensor = RuuviTagSensor (mac)
thaum Muaj Tseeb:
cov ntaub ntawv = sensor.update ()
line_sen = str.format ('Sensor - {0}', mac)
line_tem = str.format ('Kub: {0} C', data ['kub']) line_hum = str.format ('Vaum: {0} %', data ['humidity']) line_pre = str.format ('Siab: {0}', cov ntaub ntawv ['siab'])
luam tawm ()
# tso saib qhov kub ntawm blinkt! ba = str.format ('{0}', data ['temperature']) bt = float (ba) print (bt, "C ° C") temp_blinkt (bt) print ()
time.sleep (10) # tso saib kub li 10 vib nas this
# tso cov av noo ntawm blinkt!
bg = str.format ('{0}', data ['humidity']) bh = ntab (bg) print (bh, " %") hum_blinkt (bh) print ()
# Ntshiab lub vijtsam thiab luam cov ntaub ntawv sensor rau lub vijtsam
os.system ('clear') print ('Nias Ctrl+C kom tawm. / n / n') print (str (datetime.now ()))) print (line_sen) print (line_tem) print (line_hum) print (line_pre)) print ('\ n / n / r …….')
# Tos li ob peb feeb thiab pib dua
sim: time.sleep (8) tshwj tsis yog KeyboardInterrupt: # Thaum Ctrl+C raug nias ua tiav ntawm lub sijhawm lub voj raug nres luam tawm ('Tawm') meej () qhia () so
Pom zoo:
Siv Smartphone Raws Li Tsis Siv Tus Kheej Ntsuas Kub / Tus Ntsuas Ntsuas Kub: 8 Kauj Ruam (nrog Duab)
Siv Smartphone Raws Li Tsis Siv Tus Kws Ntsuas Kub / Tus Ntsuas Kub Portable: Ntsuas lub cev kub nrog qhov tsis sib cuag / tsis sib cuag zoo li rab phom thermo. Kuv tsim txoj haujlwm no vim tias Thermo Gun tam sim no kim heev, yog li kuv yuav tsum tau txais lwm txoj hauv kev los ua DIY. Thiab lub hom phiaj yog ua nrog cov peev txheej qis .SuppliesMLX90614Ardu
Arduino Raws Li Tsis Tiv Taus Tus Kheej Infrared - IR Raws Tus Ntsuas Kub Siv Arduino: 4 Kauj Ruam
Arduino Raws Li Tsis Tiv Taus Tus Kheej Infrared | IR Raws Tus Ntsuas Kub Siv Arduino: Nyob zoo cov neeg hauv phau ntawv qhia no peb yuav ua tus tsis siv tus pas ntsuas kub siv arduino.Since qee zaum qhov ntsuas kub ntawm cov kua/khoom yog siab dhau lossis txoj hauv kev qis thiab tom qab ntawd nws nyuaj rau kev sib cuag nrog nws thiab nyeem nws qhov kub thiab txias hauv qhov xwm txheej ntawd
ARUPI - Tus Nqi Tus Nqi Tus Nqi Uas Tau Txais Tus Nqi Uas Tau Txais Tus Nqi/Tus Kheej Tus Kheej (ARU) rau Soundscape Ecologists: 8 Kauj Ruam (nrog Duab)
ARUPI - Tus Nqi Tus Nqi Uas Tau Txais Tus Nqi Tus Nqi Uas Tau Txais Tus Nqi/Tus Kheej Tus Kheej (ARU) rau Soundscape Ecologists: Cov lus qhia no tau sau los ntawm Anthony Turner. Txoj haujlwm tau tsim los nrog ntau qhov kev pab los ntawm Shed hauv Tsev Kawm Ntawv ntawm Kev Suav, University of Kent (Mr Daniel Knox tau pab zoo!)
ESP32 Raws M5Stack M5stick C Huab Cua Saib Nrog DHT11 - Saib Xyuas Qhov Kub Kub & Qhov Kub Kub ntawm M5stick-C Nrog DHT11: 6 Cov Kauj Ruam
ESP32 Raws M5Stack M5stick C Huab Cua Saib Nrog DHT11 | Saib Xyuas Qhov Kub thiab Qhov Ntsuas Kub ntawm M5stick-C Nrog DHT11: Nyob zoo cov neeg, hauv cov lus qhia no peb yuav kawm paub yuav ua li cas cuam tshuam DHT11 ntsuas kub nrog m5stick-C (pawg tswj hwm kev txhim kho los ntawm m5stack) thiab tso tawm ntawm cov zaub ntawm m5stick-C. Yog li hauv qhov kev qhia no peb yuav nyeem qhov ntsuas kub, av noo & heat kuv
ESP32 NTP Kev Ntsuas Kub Ua Haujlwm Kub Kub Nrog Steinhart-Hart Kho thiab Tswb Kub: 7 Kauj Ruam (nrog Duab)
ESP32 NTP Kev Ntsuas Kub Ua Haujlwm Ntsuas Kub nrog Steinhart-Hart Kev Kho thiab Tswb Kub: Tseem tab tom taug kev kom ua tiav "qhov haujlwm yuav los tom ntej", "ESP32 NTP Kev Ntsuas Kub Kev Ntsuas Kub Ua Noj Nrog Steinhart-Hart Kev Kho thiab Tswb Kub" yog Cov Ntawv Qhia qhia yuav ua li cas kuv ntxiv NTP ntsuas kub, piezo b