def uniform_move(self, legs, hip_angle=None, knee_angle=None, t=0): """ moves all legs with hip_angle, knee_angle """ for leg in legs: leg.move(knee_angle, hip_angle) sleep(t)
def uniform_move(self, legs, hip_angle = None, knee_angle = None, t = 0): """ moves all legs with hip_angle, knee_angle """ for leg in legs: leg.move(knee_angle, hip_angle) sleep(t)
def run(): wifi = None mqtt = None adc = machine.ADC(0) # analog digital converter while True: try: # connect wifi if wifi is None: wifi = core.WifiWrapper(config) if not wifi.isconnected: wifi.connect() # connect mqtt if mqtt is None: mqtt = core.MQTTClientWrapper(config) mqtt.connect() # get values from sensor val = 100 * adc.read() / 1024 # publish value payload = {'name': 'moisture', 'value': val, 'unit': 'pct'} mqtt.publish(config.MQTT_TOPIC, ujson.dumps(payload)) mqtt.disconnect() core.sleep(config) except Exception as e: print(e)
def simultaneous_move(self, legs, swings = [None, None, None], knee_angle = None, t = 0): """ moves all legs with knee_angle to the respective hip angles at 'swing' """ for leg, hip_angle in zip(legs, swings): leg.move(knee_angle, hip_angle) sleep(t)
def point(self, t = 0.75): self.left_front.hip.pose(-45) self.left_front.knee.pose(-50) self.left_front.ankle.pose(-55) sleep(t)
def stride(self, first_tripod, second_tripod, swing, raised, floor, t): """ first_tripod's legs replant to propel towards a direction while second_tripod's legs retrack by swinging to the opposite direction """ self.simultaneous_move(first_tripod, knee_angle = raised) sleep(t) self.simultaneous_move(second_tripod, swing[::-1]) self.simultaneous_move(first_tripod, swing, floor) sleep(t)
def stride(self, first_tripod, second_tripod, swing, raised, floor, t): """ first_tripod's legs replant to propel towards a direction while second_tripod's legs retrack by swinging to the opposite direction """ self.simultaneous_move(first_tripod, knee_angle=raised) sleep(t) self.simultaneous_move(second_tripod, swing[::-1]) self.simultaneous_move(first_tripod, swing, floor) sleep(t)
def curl_up(self, die=False, t=0.2): for leg in self.legs: leg.pose(hip_angle=0, knee_angle=-(leg.knee.max + leg.knee.leeway), ankle_angle=leg.ankle.max) sleep(t) if die: self.off()
def curl_up(self, die = False, t = 0.2): for leg in self.legs: leg.pose(hip_angle = 0, knee_angle = -(leg.knee.max + leg.knee.leeway), ankle_angle = leg.ankle.max) sleep(t) if die: self.off()
def wave(self, repetitions = 5, t = 0.2): self.left_front.ankle.pose() self.left_front.knee.pose(-50) for r in xrange(repetitions): self.left_front.hip.pose(-45) sleep(t) self.left_front.hip.pose(45) sleep(t)
def simultaneous_move(self, legs, swings=[None, None, None], knee_angle=None, t=0): """ moves all legs with knee_angle to the respective hip angles at 'swing' """ for leg, hip_angle in zip(legs, swings): leg.move(knee_angle, hip_angle) sleep(t)
def tilt(self, front_angle=50, middle_angle=25, back_angle=0, t=0.2): """ if front_angle > middle_angle > back_angle hexy's front is higher than his back """ self.right_front.move(knee_angle=front_angle) self.left_front.move(knee_angle=front_angle) self.right_middle.move(knee_angle=middle_angle) self.left_middle.move(knee_angle=middle_angle) self.right_back.move(knee_angle=back_angle) self.left_back.move(knee_angle=back_angle) sleep(t)
def tilt(self, front_angle = 50, middle_angle = 25, back_angle = 0, t = 0.2): """ if front_angle > middle_angle > back_angle hexy's front is higher than his back """ self.right_front.move(knee_angle = front_angle) self.left_front.move(knee_angle = front_angle) self.right_middle.move(knee_angle = middle_angle) self.left_middle.move(knee_angle = middle_angle) self.right_back.move(knee_angle = back_angle) self.left_back.move(knee_angle = back_angle) sleep(t)
def lean_back(self, offset = 45, back_knee = 0, middle_knee = 40, raised = -30, t = 0.2): """ brings the back legs even further to the back and the middle legs to the front and then brings his front legs up in the air """ self.left_back.replant(raised, back_knee, offset, t) self.right_back.replant(raised, back_knee, -offset, t) self.left_middle.replant(raised, middle_knee, -offset, t) self.right_middle.replant(raised, middle_knee, offset, t) self.left_front.pose(-offset, 0, 0) self.right_front.pose(offset, 0, 0) sleep(t)
def night_fever(self): self.prepare() for r in xrange(4): self.wave_right_arm_up() self.left_front.move(knee_angle = 40) self.dip_body() sleep(0.4) self.wave_right_arm_down() self.left_front.move(knee_angle = 60) self.raise_body() sleep(0.4)
def prepare(self, offset = 45, back_knee = 0, middle_knee = 50, front_knee = 60, raised = -30, t = 0.2): """ brings the back legs even further to the back and the middle legs to the front and then brings his further to the front """ self.left_back.replant(raised, back_knee, offset, t) self.right_back.replant(raised, back_knee, -offset, t) self.left_middle.replant(raised, middle_knee, -offset, t) self.right_middle.replant(raised, middle_knee, offset, t) self.left_front.replant(raised, front_knee, -offset, t) self.right_front.replant(raised, front_knee, offset, t) self.neck.pose() sleep(t)
def run(): wifi = None mqtt = None i2c = machine.I2C(scl=machine.Pin(config.I2C_SCL_PIN), sda=machine.Pin(config.I2C_SDA_PIN)) adr = i2c.scan()[0] bme = bme280.BME280(i2c=i2c, address=adr) while True: try: # connect wifi if wifi is None: wifi = core.WifiWrapper(config) if not wifi.isconnected: wifi.connect() # connect mqtt if mqtt is None: mqtt = core.MQTTClientWrapper(config) mqtt.connect() # get values from sensor vals = bme.values temp = vals[0][:-1] pressure = vals[1][:-3] humidity = vals[2][:-1] # publish temperature utime.sleep_ms(500) payload = {'name': 'temperature', 'value': temp, 'unit': 'C'} mqtt.publish(config.MQTT_TOPIC + '/temp', ujson.dumps(payload)) # publish pressure utime.sleep_ms(500) payload = {'name': 'pressure', 'value': pressure, 'unit': 'bar'} mqtt.publish(config.MQTT_TOPIC + '/pressure', ujson.dumps(payload)) # publish humidity utime.sleep_ms(500) payload = {'name': 'humidity', 'value': humidity, 'unit': 'pct'} mqtt.publish(config.MQTT_TOPIC + '/humidity', ujson.dumps(payload)) mqtt.disconnect() core.sleep(config) except Exception as e: print(e)
def run(): wifi = None mqtt = None while True: try: if wifi is None: wifi = core.WifiWrapper(config) wifi.connect() if mqtt is None: mqtt = core.MQTTClientWrapper(config) mqtt.connect() ow_pin = config.ONEWIRE_PIN ow = onewire.OneWire(machine.Pin(ow_pin)) print('searching for Onewire Sensors on pin {}...'.format(ow_pin), end='') temp_sens = ds18x20.DS18X20(ow) rom = temp_sens.scan() if len(rom) > 0: print('done. found {} sensors. reading from first.'.format( len(rom))) temp_sens.convert_temp() temp = temp_sens.read_temp(rom[0]) print('temperature: {:.2f}°C'.format(temp)) # create payload payload = {'value': '{:.2f}'.format(temp), 'unit': 'C'} mqtt.publish(config.MQTT_TOPIC, ujson.dumps(payload)) else: print('failed. none found.') if config.ENABLE_DEEPSLEEP: mqtt.disconnect() core.sleep(config) except Exception as e: print(e)
def type_stuff(self, up = -40, down = 40, repetitions = 5, t = 0.2): self.lean_back() for r in xrange(repetitions): self.left_front.knee.pose(up) self.right_front.knee.pose(down) sleep(t) self.right_front.knee.pose(up) self.left_front.knee.pose(down) sleep(t) sleep(t)
def twist_hip(self, angle = 0, t = 0.1): for hip in self.hips: hip.pose(angle) sleep(t)
def look(self, angle = 0, t = 0.05): self.neck.pose(angle) sleep(t)
def lie_down(self, maxx = 50, step = 4, t = 0.15): for angle in xrange(maxx, -(maxx + 1), -step): self.squat(angle) sleep(t)
def lie_flat(self, t = 0.15): for leg in self.legs: leg.pose() sleep(t)
def thriller_routine0(self): self.arms_down_center() self.raise_body() sleep(0.3)
def thriller_routine1(self): self.thriller_routine0() self.arms_up_left() self.dip_body() sleep(0.3)
def lie_flat(self, t=0.15): for leg in self.legs: leg.pose() sleep(t)
def thriller_routine2(self): self.thriller_routine0() self.arms_up_right() self.dip_body() sleep(0.3)
def tilt_side(self, left_angle = 50, right_angle = 0, t = 0.2): """ if left_angle > right_angle, left side is higher than right side """ self.uniform_move(legs = self.left_legs, knee_angle = left_angle) self.uniform_move(legs = self.right_legs, knee_angle = right_angle) sleep(t)
def squat(self, angle, t=0): for leg in self.legs: leg.move(knee_angle=angle) sleep(t)
def twist_hip(self, angle=0, t=0.1): for hip in self.hips: hip.pose(angle) sleep(t)
def look(self, angle=0, t=0.05): self.neck.pose(angle) sleep(t)
if "subclass" not in item: continue if int(item["subclass"]) != 6: continue item_name = item["name"] color = item["quality"] addon_data[DATA_NAME_KEY][npc_name]["items"].append({ "name": item_name, "color": color, "label": LABEL }) addon_data[ALL_NAMES_KEY][item_name] = True write_info("{} {} -> {}={}\n".format("Processing", npc_name, item_name, color)) sorted_items = sorted( addon_data[DATA_NAME_KEY][npc_name]["items"], key=lambda i: "{}{}".format(i['color'], i['name'])) addon_data[DATA_NAME_KEY][npc_name]["items"] = sorted_items sleep() create_locale_lua(locale_template_file, addon_data) create_module_lua(module_template_file, addon_data) #print(json.dumps(addon_data, indent=3, separators=(',', ':')))
def squat(self, angle, t = 0): for leg in self.legs: leg.move(knee_angle = angle) sleep(t)
def lie_down(self, maxx=50, step=4, t=0.15): for angle in xrange(maxx, -(maxx + 1), -step): self.squat(angle) sleep(t)
def tilt_side(self, left_angle=50, right_angle=0, t=0.2): """ if left_angle > right_angle, left side is higher than right side """ self.uniform_move(legs=self.left_legs, knee_angle=left_angle) self.uniform_move(legs=self.right_legs, knee_angle=right_angle) sleep(t)