Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #3
0
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)
Exemple #4
0
    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)
Exemple #5
0
    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)
Exemple #6
0
    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)
Exemple #7
0
    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)
Exemple #8
0
    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()
Exemple #9
0
    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()
Exemple #10
0
 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)
Exemple #11
0
    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)
Exemple #12
0
    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)
Exemple #13
0
    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)
Exemple #14
0
    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)
Exemple #15
0
    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)
Exemple #16
0
    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)
Exemple #17
0
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)
Exemple #18
0
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)
Exemple #19
0
    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)
Exemple #20
0
    def twist_hip(self, angle = 0, t = 0.1):

        for hip in self.hips:
            hip.pose(angle)

        sleep(t)
Exemple #21
0
 def look(self, angle = 0, t = 0.05):
     self.neck.pose(angle)
     sleep(t)
Exemple #22
0
    def lie_down(self, maxx = 50, step = 4, t = 0.15):
        
        for angle in xrange(maxx, -(maxx + 1), -step):
            self.squat(angle)

        sleep(t)
Exemple #23
0
 def lie_flat(self, t = 0.15):
     
     for leg in self.legs:
         leg.pose()
         
     sleep(t)
Exemple #24
0
 def thriller_routine0(self):
     self.arms_down_center()
     self.raise_body()
     sleep(0.3)
Exemple #25
0
 def thriller_routine1(self):
     self.thriller_routine0()
     self.arms_up_left()
     self.dip_body()
     sleep(0.3)
Exemple #26
0
    def lie_flat(self, t=0.15):

        for leg in self.legs:
            leg.pose()

        sleep(t)
Exemple #27
0
 def thriller_routine2(self):
     self.thriller_routine0()
     self.arms_up_right()
     self.dip_body()
     sleep(0.3)
Exemple #28
0
 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)
Exemple #29
0
    def squat(self, angle, t=0):

        for leg in self.legs:
            leg.move(knee_angle=angle)

        sleep(t)
Exemple #30
0
    def twist_hip(self, angle=0, t=0.1):

        for hip in self.hips:
            hip.pose(angle)

        sleep(t)
Exemple #31
0
 def look(self, angle=0, t=0.05):
     self.neck.pose(angle)
     sleep(t)
Exemple #32
0
                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=(',', ':')))
Exemple #33
0
    def squat(self, angle, t = 0):

        for leg in self.legs:
            leg.move(knee_angle = angle)

        sleep(t)
Exemple #34
0
    def lie_down(self, maxx=50, step=4, t=0.15):

        for angle in xrange(maxx, -(maxx + 1), -step):
            self.squat(angle)

        sleep(t)
Exemple #35
0
    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)