def run(self): self.button1.attach(self.button1_callback) Blinker.attachData(self.data_callback) Blinker.attachHeartbeat(self.heartbeat_callback) self.button2.attach(self.button2_callback) self.button3.attach(self.button3_callback) self.button4.attach(self.button4_callback) self.slider1.attach(self.slider1_callback) self.slider2.attach(self.slider2_callback) while True: value = get_value() try: Blinker.run() except OSError: pass
elif state == "off": button.text('已关机') shut_down() button.print(state) # 心跳包函数,30秒到60秒发送一次数据包,激活这个函数,主要是为了查看电脑是否在线。 def heartbeat_callback(): global oState a = os.system("ping -c 1 " + ip) # 树莓派ping电脑 if a == 0: # ping通,电脑在线 oState = 'on' button.text('已开机') else: # ping不通,电脑离线 oState = 'off' button.text('已关机') button.print(oState) def data_callback(data): BLINKER_LOG("Blinker readString: ", data) BlinkerMIOT.attachPowerState(miotPowerState) BlinkerMIOT.attachQuery(miotQuery) button.attach(button_callback) Blinker.attachData(data_callback) Blinker.attachHeartbeat(heartbeat_callback) if __name__ == '__main__': while True: Blinker.run()