micro:bit无线电台使用Python
我想通过无线电发送图像采集(Image.HEART)的一名成员。我知道如何发送字符串和自定义图像,但不是图像集合的成员
我希望display.show(或者可能是要修改的中间变量)直接使用接收方的消息_字符串。我不想使用if/else或字典测试图像集合中每个可能成员的接收字符串
我在下面的代码中尝试过一些想法,但都失败了。我感谢你的帮助
# micro:bit radio: Send an image from Image collection
from microbit import *
import radio
radio.config(group=1)
radio.on()
while True:
if button_a.is_pressed():
radio.send(Image.HEART) # ?????
# radio.send(index(Image.HEART)) # ?????
# radio.send(str(Image.HEART)) # ?????
# radio.send('Image.HEART') # ?????
# radio.send('HEART') # ?????
message_in = radio.receive()
if message_in != None:
display.show(message_in) #show heart
# and other tries at syntax for argument
马克所建议的方式运作良好,允许发送任何图像。我把它放在一个函数中,让我更容易进行实验
另一种方法是使用图像字典,只需传输字典键:
这要求在两个micro:位上定义相同的字典
这感觉有点像“hacky”和脆弱,如果有更好的方法出现,我很乐意删除它,但有一种方法是这样的
如果运行此(link to docs):
您将得到以下结果:
如果查看
Image
类(link to docs)的文档,您将看到可以从该字符串创建一个新的Image
。因此,我目前的建议是:我想这是从
repr
输出中提取数字和冒号的一种稍微不那么脆弱的方法,但它仍然很难看:相关问题 更多 >
编程相关推荐