色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內(nèi)不再提示

用Raspberry Pi和傳感器制作“可自動(dòng)營(yíng)造舒適空間的裝置” 第二部分

呂鋼格 ? 來(lái)源:羅姆 ? 作者:羅姆 ? 2023-03-01 11:15 ? 次閱讀

大家好,我是吉田!
我們這次要?jiǎng)?chuàng)作一款讓家中更舒適、讓在家辦公更高效的設(shè)備,本文是第二部分。第一部分介紹了制作綱要和所需部件。這次我們將實(shí)際連接Bluetooth傳感器和Raspberry Pi。使用羅姆SensorMedal,您甚至可以遠(yuǎn)程輕松地將傳感器值共享給Raspberry Pi!

pYYBAGPzGSyASspjAAG_TBVpFfg091.jpg

本部分所需部件

Raspberry Pi 3 B+ 或 Raspberry Pi 4 Model B

poYBAGPzGsaAP1GPAACgjfKDWVg250.jpg

Raspberry Pi 3 B+

poYBAGPzGsmAPwNLAACvO9u33bY417.jpg

Raspberry Pi 4 Model B

羅姆SensorMedal(SensorMedal-EVK-002)

poYBAGPzGsyAZvoKAAB6V-XqblY393.jpg

手機(jī)電池

pYYBAGPzGpiAWSk2AAA4faohBjA382.jpg

USB設(shè)備

使用100日元商店就能買(mǎi)到的USB迷你燈和迷你風(fēng)扇等物件

poYBAGPzGpyAD08DAAE81HV2ez4907.jpg

本部分的流程

羅姆SensorMedal與Raspberry Pi的BLE連接

Raspberry Pi的USB控制

使用傳感器值讓硬件工作的程序

總結(jié)

1. 羅姆SensorMedal與Raspberry Pi的BLE連接

在第一部分中,我將羅姆SensorMedal連接到我的智能手機(jī)上并顯示了結(jié)果。在本項(xiàng)目中,Raspberry Pi將作為接收數(shù)據(jù)的航空母艦使用,所以在第二部分中,我們將通過(guò)Raspberry Pi的Bluetooth功能連接SensorMedal。

首先,安裝的Python程序bluepy,以便進(jìn)行Raspberry Pi的Bluetooth連接。

pi@raspberrypi:~ $ sudo pip3 install bluepy
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting bluepy
  Downloading https://www.piwheels.org/simple/bluepy/bluepy-1.3.0-cp37-cp37m-linux_armv7l.whl (560kB)
    100% |████████████████████████████████| 563kB 608kB/s 
Installing collected packages: bluepy
Successfully installed bluepy-1.3.0

然后,開(kāi)啟SensorMedal和Raspberry Pi的電源,并將它們放在附近。

poYBAGPzGwiAbb4UAALrUmcJRDA619.jpg

通過(guò)Bluetooth將SensorMedal連接到Raspberry Pi。有一個(gè)可以顯示來(lái)自SensorMedal的數(shù)值的方便程序,我們直接下載這個(gè)程序即可(我使用的是這里的Github)。

pi@raspberrypi:~ $  sudo mkdir Programs
pi@raspberrypi:~ $  cd Programs
pi@raspberrypi:~ $  sudo git clone http://github.com/bokunimowakaru/SensorMedal2

打開(kāi)已下載的SensorMedal2文件夾,并執(zhí)行以下示例程序。這個(gè)需要在Python 3中使用sudo權(quán)限執(zhí)行。

pi@raspberrypi:~ $  cd SensorMedal2
pi@raspberrypi:~ $  sudo python3 ble_logger_SensorMedal2.py

怎么樣?是不是很簡(jiǎn)單?如下圖所示,從Raspberry Pi能夠很輕松地看到SensorMedal傳來(lái)的測(cè)量值。

pYYBAGPzGxGAcR2gAASQ-D3uNYw245.png

SensorMedal中共內(nèi)置6種傳感器。每種傳感器的含義如下,使用這些傳感器可以測(cè)量并獲取相應(yīng)的數(shù)值。

Temperature: 溫度(℃)

Humidity: 濕度(%)

Pressure: 氣壓(hPa)

Illuminance: 亮度(lx)

Accelerometer: 加速度(x軸、y軸、z軸)(g)

Geomagnetic: 陀螺儀傳感器值(x軸、y軸、z軸)(uT)

Magnetic: 霍爾傳感器值(磁鐵在附近通過(guò)為1,否則為0)

Steps: 步數(shù)(步)

Battery Level: 電池電量

2. Raspberry Pi的USB 控制

我們已經(jīng)非常輕松地獲得了傳感器的值,現(xiàn)在,讓我們使用這些值來(lái)控制與Raspberry Pi連接的硬件吧。
先來(lái)實(shí)現(xiàn)第一部分中提到的“要是能自動(dòng)搞定就好了(要是有這些功能就好了)”列表中的以下兩項(xiàng)。

編號(hào) 檢測(cè)功能 檢測(cè)后希望具備的功能
1 檢測(cè)房間的溫度 根據(jù)室溫控制風(fēng)扇等
2 檢測(cè)工作臺(tái)周?chē)牧炼?/td> 亮度不夠時(shí)自動(dòng)開(kāi)燈

亮度會(huì)因天氣變化和房間情況而發(fā)生變化。如果亮度不夠還繼續(xù)工作的話,眼睛會(huì)很疲勞,所以我們使用SensorMedal的亮度值——Illiminance(lx)。亮度(光照強(qiáng)度)的單位是“勒克斯”。白天房間的亮度約為200?300(lx)。

測(cè)好亮度后,我們用一個(gè)USB迷你燈來(lái)實(shí)現(xiàn)亮度不足時(shí)自動(dòng)開(kāi)燈的功能。如下圖所示,將迷你燈插入Raspberry Pi的 USB端口

poYBAGPzGxWABiMjAAHdLbsqv50587.jpg

安裝一個(gè)庫(kù)來(lái)控制USB,讓它可以根據(jù)亮度開(kāi)燈和關(guān)燈。如下所示,下載并安裝庫(kù)文件。

pi@raspberrypi:~ $  wget https://www.gniibe.org/oitoite/ac-power-control-by-USB-hub/hub-ctrl.c
pi@raspberrypi:~ $  sudo apt-get install libusb-dev
pi@raspberrypi:~ $  gcc -o hub-ctrl hub-ctrl.c -lusb

現(xiàn)在,就可以通過(guò)命令打開(kāi)和關(guān)閉插入U(xiǎn)SB端口的設(shè)備啦。這個(gè)“hub-ctrl”的使用方法為“hub-ctrl -b [Bus Num] -d [Device Num] -P [Port Num] -p [On:1 / Off:0] ”。使用“l(fā)susb -t”命令獲取設(shè)備連接信息。在這里,Bus num: 1, Device num: 2, USB端口的Port num為2。

pi@raspberrypi:~ $  hub-ctrl
Hub #0 at 001:002
 INFO: individual power switching.
 WARN: Port indicators are NOT supported.
Hub #1 at 001:001
 INFO: ganged switching.
 WARN: Port indicators are NOT supported.

pi@raspberrypi:~ $  lsusb -t
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
        |__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 480M

如下所示,在“-p”后置“0”將關(guān)閉電源,置“1”則打開(kāi)電源。

pi@raspberrypi:~ $  sudo hub-ctrl -b 1 -d 2 -P 2 -p 0
pi@raspberrypi:~ $  sudo hub-ctrl -b 1 -d 2 -P 2 -p 1

poYBAGPzGxqAVGlQAAGRquEa67g590.jpg

這是指定“-p 1”時(shí)的狀態(tài)。連接到USB端口的燈亮了

3.使用傳感器值讓硬件工作的程序

下面,我們將創(chuàng)建程序,把來(lái)自SensorMedal的數(shù)值與USB控制關(guān)聯(lián)起來(lái)。
基本上,可以使用前面下載的 SensorMedal2 程序。

pi@raspberrypi:~ $  sudo cp ble_logger_SensorMedal2.py ble_illum.py

我在原程序基礎(chǔ)上,添加了下述第9行和第78?85行的內(nèi)容。當(dāng)亮度低于300lx時(shí),讓燈點(diǎn)亮。當(dāng)亮度高于該值時(shí),讓燈熄滅。

#!/usr/bin/env python3
# coding: utf-8

from __future__ import (division, absolute_import, print_function,
                                unicode_literals)
import fcntl
import socket
import struct
import os

def get_addr(ifname):
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        return socket.inet_ntoa(
            fcntl.ioctl(
                s.fileno(),
                0x8915,  # SIOCGIFADDR
                struct.pack('256s', ifname[:15].encode('utf-8')))[20:24])
    except IOError:
        return 'Not Found!'

interval = 10 # 工作間隔

from bluepy import btle
from sys import argv
import getpass
from time import sleep

def payval(num, bytes=1, sign=False):
    global val
    a = 0
    for i in range(0, bytes):
        a += (256 ** i) * int(val[(num - 2 + i) * 2 : (num - 1 + i) * 2],16)
    if sign:
        if a >= 2 ** (bytes * 8 - 1):
            a -= 2 ** (bytes * 8)
    return a

scanner = btle.Scanner()
while True:    
    try:
        devices = scanner.scan(interval)
    except Exception as e:
        print("ERROR",e)
        if getpass.getuser() != 'root':
            print('使用方法: sudo', argv[0])
            exit()
        sleep(interval)
        continue

    for dev in devices:
        print("nDevice %s (%s), RSSI=%d dB" % (dev.addr, dev.addrType, dev.rssi))
        isRohmMedal = False
        sensors = dict()
        for (adtype, desc, val) in dev.getScanData():
            print("  %s = %s" % (desc, val))
            if desc == 'Short Local Name' and val[0:10] == 'ROHMMedal2':
                isRohmMedal = True
            if isRohmMedal and desc == 'Manufacturer':

                # 將傳感器值代入字典變量sensors
                sensors['ID'] = hex(payval(2,2))
                sensors['Illuminance'] = payval(25,2) / 1.2
                sensors['Battery Level'] = payval(30)
                sensors['RSSI'] = dev.rssi

                # 在畫(huà)面中顯示
                print('    ID            =',sensors['ID'])
                print('    Illuminance   =',round(sensors['Illuminance'],1),'lx')
                print('    Battery Level =',sensors['Battery Level'],'%')
                print('    RSSI          =',sensors['RSSI'],'dB')

                '''
                for key, value in sorted(sensors.items(), key=lambda x:x[0]):
                    print('    ',key,'=',value)
                '''

                illum = sensors['Illuminance']
                if illum < 300:
                    illum_msg = "Dark!"
                    os.system(“sudo hub-ctrl -b 1 -d 2 -P 2 -p 1”)
                else:
                    illum_msg = "Bright"
                    os.system(“sudo hub-ctrl -b 1 -d 2 -P 2 -p 0”)
                print(illum_msg)
                sleep(interval)

通過(guò)sudo python3 ble_illum.py運(yùn)行該程序。

poYBAGPzGyGAcElzAATR13lH_js780.png

我們測(cè)試一下,如右側(cè)照片所示,用手遮蓋SensorMedal,傳感器測(cè)得的亮度變暗,USB燈能夠獲取傳感器的值并且很聽(tīng)話地自動(dòng)開(kāi)燈!

pYYBAGPzGySAOufjAAFsd4crlTc489.jpg

4. 總結(jié)

在這部分中,我們嘗試用BLE連接了羅姆SensorMedal和Raspberry Pi。我想大家已經(jīng)了解到,從遠(yuǎn)處獲取各種傳感器數(shù)據(jù)是非常容易的事。
通過(guò)6種傳感器,不僅可以檢測(cè)亮度,還可以獲取溫濕度、氣壓和加速度等數(shù)據(jù)。測(cè)量辦工桌或房間里的各種數(shù)據(jù),可能是件很有趣的事。
在下一部分,我想通過(guò)添加人體傳感器等器件,讓在家辦公環(huán)境更加舒適。
敬請(qǐng)期待!

審核編輯黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2552

    文章

    51233

    瀏覽量

    754729
  • Raspberry Pi
    +關(guān)注

    關(guān)注

    2

    文章

    559

    瀏覽量

    22298
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    松下MPS媒體制作平臺(tái)第八篇:視頻混合插件(第三部分)

    多種視頻素材進(jìn)行合成。 關(guān)于視頻混合的操作介紹,我們一共制作了四部分的MPS媒體制作平臺(tái)教程,本期是第三部分。在進(jìn)入本
    的頭像 發(fā)表于 01-08 10:10 ?38次閱讀
    松下MPS媒體<b class='flag-5'>制作</b>平臺(tái)第八篇:視頻混合<b class='flag-5'>器</b>插件(第三<b class='flag-5'>部分</b>)

    視覺(jué)AI之旅:一起探索 FiftyOne ——第二部分 入門(mén)指南

    /journey-into-visual-ai-exploring-fiftyone-together-part-ii-getting-started-14cca5adfcd3 ? ? 一,前言 上次我們介紹了《視覺(jué)AI之旅:一起探索 FiftyOne——第一部分丨簡(jiǎn)介丨》,今天作為FiftyOne系列的
    的頭像 發(fā)表于 12-24 17:00 ?75次閱讀
    視覺(jué)AI之旅:一起探索 FiftyOne ——<b class='flag-5'>第二部分</b>  入門(mén)指南

    松下MPS媒體制作平臺(tái)第七篇:視頻混合插件(第二部分)

    第七篇:視頻混合插件(第二部分) 視頻混合(Video Mixer)插件可以輕松進(jìn)行主體鍵控,不受拍攝地點(diǎn)的局限,同時(shí)便于將多種視頻素材進(jìn)行合成。 關(guān)于視頻混合的操作介紹,我們一
    的頭像 發(fā)表于 12-19 13:38 ?140次閱讀
    松下MPS媒體<b class='flag-5'>制作</b>平臺(tái)第七篇:視頻混合<b class='flag-5'>器</b>插件(<b class='flag-5'>第二部分</b>)

    樹(shù)莓派傳感器使用方法 樹(shù)莓派 Raspberry Pi 4優(yōu)缺點(diǎn)

    樹(shù)莓派傳感器使用方法 樹(shù)莓派(Raspberry Pi)是一款由英國(guó)樹(shù)莓派基金會(huì)開(kāi)發(fā)的小型單板計(jì)算機(jī),它因其低成本、易于編程和廣泛的社區(qū)支持而廣受歡迎。樹(shù)莓派可以與各種傳感器配合使用,
    的頭像 發(fā)表于 12-06 10:35 ?569次閱讀

    Raspberry Pi Pico 2

    、可選的RISC?V內(nèi)核、增強(qiáng)的安全特性,以及升級(jí)的接口功能。該器件由RP235x微控制平臺(tái)提供支持,此平臺(tái)也由Raspberry Pi設(shè)計(jì)。Pico 2將RP2350與4MB板載QSPI閃存配對(duì)
    的頭像 發(fā)表于 11-25 15:10 ?622次閱讀
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Pico 2

    Air780EP硬件設(shè)計(jì)原理解析(第二部分

    ? 接下來(lái),我們繼續(xù)學(xué)習(xí)第二部分。 3.3 電源供電 ? 3.3.1 模塊電源工作特性 在模塊應(yīng)用設(shè)計(jì)中,電源設(shè)計(jì)是很重要的一部分。由于LTE射頻工作時(shí)最大峰值電流高達(dá)1.5A,在最大發(fā)射功率時(shí)會(huì)
    的頭像 發(fā)表于 11-06 15:06 ?243次閱讀
    Air780EP硬件設(shè)計(jì)原理解析(<b class='flag-5'>第二部分</b>)

    Banana Pi M5 與 Raspberry Pi 4 – 基準(zhǔn)測(cè)試

    Banana Pi M5 基準(zhǔn)測(cè)試已成為我的網(wǎng)站上最受歡迎的作品之一,而且似乎人們真正想看到的是它與其 Raspberry 口味的表親之間的直接比較,所以這里就是 Banana Pi M5 與
    的頭像 發(fā)表于 10-28 10:28 ?394次閱讀
    Banana <b class='flag-5'>Pi</b> M5 與 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 4 – 基準(zhǔn)測(cè)試

    0.4mm層疊封裝(PoP)封裝的PCB組裝指南,第二部分

    電子發(fā)燒友網(wǎng)站提供《0.4mm層疊封裝(PoP)封裝的PCB組裝指南,第二部分.pdf》資料免費(fèi)下載
    發(fā)表于 10-15 11:33 ?0次下載
    0.4mm層疊封裝(PoP)封裝的PCB組裝指南,<b class='flag-5'>第二部分</b>

    求助,opa695的datesheet問(wèn)題求解

    opa695的手冊(cè)上第14頁(yè)圖3 第一部分的電容是隔直作用。datesheet說(shuō)第二部分的電容也是隔直作用。這里的直流是哪里來(lái)的?不是在第一部分就隔掉了嗎?我TI的軟件tian9
    發(fā)表于 09-13 07:00

    使用rt_thread_mdelay函數(shù)后出現(xiàn)hardfault的原因?

    !! \\r\\n\"); } // 線程中第二部分使用的延時(shí),進(jìn)入while循環(huán)立馬報(bào)錯(cuò) hw_ethernet_write(send_buf, sizeof(send_buf)); while
    發(fā)表于 07-16 07:07

    如何用Arduino制作一個(gè)簡(jiǎn)易自動(dòng)喂魚(yú)

    制作硬件電路了。 第2步:電路圖和程序 我們可以將電路分為兩部分,第一部分是步進(jìn)電機(jī),另一部分是超聲波傳感器。 將步進(jìn)電機(jī)連接到驅(qū)動(dòng)
    發(fā)表于 03-28 11:25

    5鐘內(nèi)將Raspberry Pi Pico變成簡(jiǎn)單的示波器+波形發(fā)生

    5 分鐘內(nèi)將 Raspberry Pi Pico(或任何 RP2040 板)變成簡(jiǎn)單的示波器+波形發(fā)生
    的頭像 發(fā)表于 03-04 09:14 ?2271次閱讀
    5<b class='flag-5'>分</b>鐘內(nèi)將<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Pico變成簡(jiǎn)單的示波器+波形發(fā)生<b class='flag-5'>器</b>

    美國(guó)商務(wù)部長(zhǎng)呼吁推動(dòng)第二部芯片法案,助力全球半導(dǎo)體主導(dǎo)地位

    雷蒙多在參加英特爾IFS Direct Connect 2024代工活動(dòng)時(shí)呼吁稱,為了實(shí)現(xiàn)美國(guó)成為全球芯片強(qiáng)國(guó)有必要進(jìn)行聯(lián)邦補(bǔ)助。她提出了制定第二部《CHIPS法案》的必要性,以便繼續(xù)對(duì)半導(dǎo)體行業(yè)的國(guó)內(nèi)行動(dòng)提供支持。
    的頭像 發(fā)表于 02-25 15:56 ?786次閱讀

    如何校準(zhǔn)ph傳感器 pH傳感器的校準(zhǔn)方法

    對(duì)中的玻璃膜和參比電極之間的電勢(shì)差。pH值是一個(gè)十重要的參數(shù),對(duì)于許多實(shí)驗(yàn)室、工業(yè)和環(huán)境監(jiān)測(cè)應(yīng)用來(lái)說(shuō)都是不可或缺的。然而,pH傳感器的準(zhǔn)確性和可靠性需要經(jīng)常校準(zhǔn)以確保準(zhǔn)確度和穩(wěn)定性。 第二部分:pH
    的頭像 發(fā)表于 02-18 11:33 ?2189次閱讀

    TE Connectivity工業(yè)事業(yè)推出1000V高壓傳感連接,國(guó)產(chǎn)傳感器跨入1英寸時(shí)代

    板電容力傳感器,包含一個(gè)上層氧化硅板、一個(gè)中層氧化硅板和兩板間的空隙; 第二部分是一個(gè)微型的無(wú)線傳輸模塊,可用于完成植入傳感器、以及可穿
    的頭像 發(fā)表于 01-26 08:45 ?490次閱讀
    TE Connectivity工業(yè)事業(yè)<b class='flag-5'>部</b>推出1000V高壓<b class='flag-5'>傳感</b>連接<b class='flag-5'>器</b>,國(guó)產(chǎn)<b class='flag-5'>傳感器</b>跨入1英寸時(shí)代
    主站蜘蛛池模板: 久久日本片精品AAAAA国产| 成人毛片在线播放| WWW亚洲精品久久久乳| 国产午夜亚洲精品理论片八戒| 美女大本营| 亚洲第一页视频| 成年人视频在线免费| 久久久久久91香蕉国产| 我与旗袍老师疯狂床震| 97精品国产自产在线观看永久| 国内精品蜜汁乔依琳视频| 日本不卡三卡四卡| 69日本xxⅹxxxxx18| 韩国女主播内部vip自带氏巾| 日韩AV片无码一区二区三区不卡| 最近更新2019中文字幕国语| 国产午夜福利100集发布| 日韩人妻无码精品久久中文字幕| 中文字幕成人在线观看| 果冻传媒MV免费播放在线观看| 日日操夜夜操天天操| 99精品国产高清自在线看超| 精品国产麻豆AV无码| 午夜伦伦电影理论片费看| 草699一码二码三码四码| 美女强奷到抽搐在线播放| 一本色道久久综合亚洲精品蜜桃冫 | 丰满的大白屁股ass| 久久久久久免费高清电影| 无遮掩H黄纯肉动漫在线观看星| qvod伦理片| 免费99精品国产人妻自在线| 亚洲免费三级电影| 国产美女裸身网站免费观看视频| 日韩AV无码一区二区三区不卡毛片| 99re.05久久热最新地址| 久久综合香蕉久久久久久久| 艳照门在线播放| 黄色888| 亚洲电影不卡| 国产精品一区二区AV白丝在线|