『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 3131|回复: 4

[进阶教程] 魅族温湿度脚本获取数据

[复制链接]

12

主题

67

帖子

1045

积分

论坛技术达人

积分
1045
金钱
928
HASS币
200

教程狂人

发表于 2019-8-19 23:41:07 | 显示全部楼层 |阅读模式
有兴趣的可以试试:

以下代码另存为一个python文件例如:meizu.py
import sys

from btlewrap import BluepyBackend
from btlewrap.base import BluetoothInterface

bt_interface = BluetoothInterface(BluepyBackend, adapter='hci0')

cmd_th = b'\x55\x03\x01\x11'
cmd_bt = b'\x55\x03\x01\x10'
handle = 48


def get_data(mac_addr):
    with bt_interface.connect(mac_addr) as connection:
        res = connection.write_handle(handle, cmd_th)
        if 'rsp' not in res:
            raise Exception()

        data = connection.read_handle(handle)
        temp10 = int.from_bytes(data[4:6], byteorder='little')
        humi10 = int.from_bytes(data[6:8], byteorder='little')
        temperature = float(temp10) / 100.0
        humidity = float(humi10) / 100.0

        res = connection.write_handle(handle, cmd_bt)
        if 'rsp' not in res:
            raise Exception()
        data = connection.read_handle(handle)
        battery = float(data[4]) / 10.0
        return temperature, humidity, battery


if __name__ == '__main__':
    if len(sys.argv) != 2:
        print("need mac addr.")
        sys.exit(0)
    mac_addr = sys.argv[1]
    print("-------GET Meizu Data: %s------->" % mac_addr)
    temperature, humidity, battery = get_data(mac_addr)
    print("temperature:%.2f,humidity:%.2f%%,battery:%.1fv" % (temperature, humidity, battery))
    print("-------FINISH GET-------<")


通过命令python3 meizu.py mac_addr
只测试了python3,并且因为依赖bluepy库,安装方法参考github,https://github.com/IanHarvey/bluepy
回复

使用道具 举报

13

主题

554

帖子

4298

积分

论坛元老

Jeff

Rank: 8Rank: 8

积分
4298
金钱
3744
HASS币
10

活跃会员

发表于 2019-8-20 06:44:28 | 显示全部楼层
谢谢分享!
Jeff
回复

使用道具 举报

39

主题

2076

帖子

7781

积分

元老级技术达人

积分
7781
金钱
5690
HASS币
110
发表于 2019-8-20 09:04:11 | 显示全部楼层
bluepy 之前就一直没搞定  对我来说就是修仙教程了...
回复

使用道具 举报

6

主题

741

帖子

5636

积分

论坛元老

Rank: 8Rank: 8

积分
5636
金钱
4890
HASS币
20
发表于 2019-8-20 09:25:44 | 显示全部楼层
本帖最后由 mitu 于 2019-8-20 11:09 编辑
ghostist 发表于 2019-8-20 09:04
bluepy 之前就一直没搞定  对我来说就是修仙教程了...

    sudo apt-get install python3-pip libglib2.0-dev


    apt-get install -y python3-setuptools

    sudo apt-get install git build-essential libglib2.0-dev


    git clone https://github.com/IanHarvey/bluepy.git

    cd bluepy


    python3 setup.py build

    sudo python3 setup.py install
回复

使用道具 举报

7

主题

1977

帖子

5671

积分

论坛元老

流水无味

Rank: 8Rank: 8

积分
5671
金钱
3694
HASS币
145

灌水之王

发表于 2019-8-20 10:18:54 | 显示全部楼层
ghostist 发表于 2019-8-20 09:04
bluepy 之前就一直没搞定  对我来说就是修仙教程了...

看不懂没事
论坛上次那个魅族的教程可以接入的(用的N1)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-17 12:53 , Processed in 0.050284 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表