import time import random from hiibot_bluefi.basedio import Button from adafruit_ble_radio import Radio button = Button() rfc = Radio(channel=8) # sender and receiver must use a same channel myhead = "BlueFi-" msgA = myhead + "A:{}" msgB = myhead + "B:{}" while True: button.Update() if button.A_wasPressed: ra = random.randint(100, 200) rfc.send(msgA.format(ra)) print(msgA.format(ra)) if button.B_wasPressed: rb = random.randint(200, 300) rfc.send(msgB.format(rb)) print(msgB.format(rb)) time.sleep(0.1)
时间: 2024-03-07 11:52:23 浏览: 55
Adafruit_GFX_Library_Adafruit_GFX.h_
5星 · 资源好评率100%
这段代码是用Python编写的一个基于蓝牙无线通信的小程序。程序中导入了`time`、`random`和`Radio`等模块。其中`time`模块用于进行时间相关操作,`random`模块用于生成随机数,`Radio`模块用于进行蓝牙无线通信。
代码中定义了一个`Button`对象,用于模拟按钮的操作。程序通过检测`Button`对象的`A_wasPressed`和`B_wasPressed`属性,来判断用户是否按下了按钮A或按钮B。当检测到按钮A按下时,程序会生成一个100-200之间的随机数,然后通过`Radio`对象的`send`方法将该随机数以特定的格式发送出去。当检测到按钮B按下时,程序会生成一个200-300之间的随机数,然后通过`Radio`对象的`send`方法将该随机数以特定的格式发送出去。
发送的消息格式是`myhead + "A:{}"`或`myhead + "B:{}"`,其中`myhead`是一个字符串常量,值为`"BlueFi-"`。这样定义的好处是,接收程序可以通过判断消息的前缀是否为`"BlueFi-"`来判断该消息是否来自本程序发送。
程序的主循环是一个无限循环,其中通过调用`time.sleep(0.1)`来实现每个循环周期的时间间隔为0.1秒。
阅读全文