编程打卡:玩玩bluepy

Posted 松坂制糖厂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程打卡:玩玩bluepy相关的知识,希望对你有一定的参考价值。

想要尝试用python连接我的小米手环,感觉或许会有一些有趣的应用,比如实时检测心率,当我熬夜编程,心率过高猝死之后,能够立刻用脚本删掉电脑上的所有内容之类的,笑.所以大概看了看这方面的东西.具体参考
https://github.com/satcar77/miband4 项目 和 https://ianharvey.github.io/bluepy-doc/peripheral.html bluepy 的文档。
bluepy是 Linux Only的,不幸的是暂时手上没有跑Linux的机器,我在尝试着用支持Windows平台的 pybluez 做到一样的事情,其实现在还在读。。

周边类
Bluepy的Peripheral类封装了一个与Bluetooth LE外围设备的连接。你通过指定MAC地址直接创建一个Peripheral对象;当连接建立后,该设备提供的服务和特性可以被发现并被读取或写入。

构造函数
Peripheral([deviceAddress=None[, addrType=ADDR_TYPE_PUBLIC[, iface=None]])
如果deviceAddress不是无,则创建一个Peripheral对象,并与deviceAddress指示的设备建立连接。deviceAddress应该是一个由六个十六进制字节组成的字符串,用冒号隔开,例如:"11:22:33

强化学习7日打卡营--使用gym游戏的预处理

最近参加完百度强化学习7日打卡营的学习班,初步了解了一些强化学习的算法。学习完后,试着开始玩玩atari的游戏,老师给了一个demo,https://github.com/PaddlePaddle/PARL/tree/develop/examples/DQN_variant,model,algorithm,agent等就不多说了,这些老师课堂已经讲的很清楚了。

这个demo,需要atari游戏的rom,我是上天入地的找,找了半天都没合适的,但是gym的gym.make的游戏倒是非常多,一开始我直接gym.make,但是程序报错,alueError: all the input arrays must have same number of dimensions,看到input arrays 我第一反应应该是obs出了问题,果不其然,demo里对rom进行了处理,出来的obs的shape是(84,84),而我这里是(84,84,3),于是便开始对图形进行灰度处理,我在obs的地方进行了灰度处理,程序ok,但是运行了test的时候又报错了,讲道理,应该是没有问题的,因为我对所有的obs都进行了处理,但是无济于事,于是还是选择从env = gym.make(game_name)处进行处理,demo里atari_wrapper提供了对env的一些处理,例如图像缩放,帧数重复的处理等等,维度没有进行灰度处理,好说写了一个灰度处理的方法:

def rgb2gray(image):
return np.dot(image[...,:3], [0.299, 0.587, 0.114])

然后通过atari_wrapper的mapstate方法,直接对其进行处理:

env = MapState(env, lambda im: rgb2gray(im))

,程序OK,经过改造,程序可以直接使用gym的游戏,gym调用游戏非常方便,而且很多,直接make一个就可以了。

以上是关于编程打卡:玩玩bluepy的主要内容,如果未能解决你的问题,请参考以下文章

python调用蓝牙之前期调研测试

强化学习7日打卡营--使用gym游戏的预处理

编程打卡:C语言趣味编程习题做

编程打卡: C++ 语言程序设计

3.10编程打卡

编程打卡: C++ 语言程序设计: 继承与派生: 习题