def motor_init(): if not GPIO.init(): print "please run using root privilege." return False for gpio in GPIOS: GPIO.setcfg(gpio, GPIO.OUT) return True
def init_pins(all_pins): #init module GPIO.init() for pin in all_pins: #configure module cfgs = all_pins[pin] GPIO.setcfg(pin, cfgs[0]) config = GPIO.getcfg(cfgs[0]) GPIO.output(pin, cfgs[1]) GPIO.output(mr_pin, GPIO.HIGH)
def init(mode): print("Selected mode: " + str(mode)) if mode < 0 or mode > 3: raise ModeError(mode) global MODE MODE = mode GPIO.init() GPIO.setcfg(MOSI, OUT) GPIO.setcfg(MISO, IN) GPIO.setcfg(SCK, OUT) GPIO.setcfg(CS, OUT) if mode == 0 or mode == 1: GPIO.output(CS, HIGH) GPIO.output(SCK, LOW) GPIO.output(MOSI, LOW) else: GPIO.output(CS, HIGH) GPIO.output(SCK, HIGH) GPIO.output(MOSI, HIGH) return
def init(mode): print ("Selected mode: " + str(mode)) if mode < 0 or mode > 3: raise ModeError(mode); global MODE MODE = mode GPIO.init() GPIO.setcfg(MOSI, OUT) GPIO.setcfg(MISO, IN) GPIO.setcfg(SCK, OUT) GPIO.setcfg(CS, OUT) if mode == 0 or mode == 1: GPIO.output(CS, HIGH) GPIO.output(SCK, LOW) GPIO.output(MOSI, LOW) else: GPIO.output(CS, HIGH) GPIO.output(SCK, HIGH) GPIO.output(MOSI, HIGH) return
def Init (clock = SPICLK, miso = SPIMISO, mosi = SPIMOSI, cs = SPICS, min_channel = 0, max_channel = 2, vref = VREF, apply_voltage_divider = APPLY_VOLTAGE_DIVIDER, r = RESISTANCES): ''' clock: indicates clock pin miso: indicates master input slave output pin mosi: indicates master input slave output pin cs: chip selection pin min_channel: indicates the minimum channel where receive the analog inputs min_channel: indicates the maximum channel where receive the analog inputs apply_voltage_divider: indicates wether to apply the voltage divider in the calc of the read voltage r1: value of the R1 resistance in the voltage divider r2: value of the R2 resistance in the voltage divider ''' ADC = {} ADC['clk'] = clock ADC['miso'] = miso ADC['mosi'] = mosi ADC['cs'] = cs ADC['vref'] = vref ADC['voltage_div'] = apply_voltage_divider ADC['r'] = r ADC['error'] = (False, None) if ((max_channel > 7) or (min_channel < 0)): ADC['error'] = (True, "Unable to create the ADC. The values for the channels are not in the range (0,7)") return ADC ADC['maxch'] = max_channel ADC['minch'] = min_channel # set up the SPI interface pins GPIO.init () GPIO.setcfg(mosi, GPIO.OUT) GPIO.setcfg(miso, GPIO.IN) GPIO.setcfg(clock, GPIO.OUT) GPIO.setcfg(cs, GPIO.OUT) return ADC
def enable(self, intensity=7): GPIO.init() GPIO.setcfg(self.dio, GPIO.OUT) GPIO.setcfg(self.clk, GPIO.OUT) GPIO.setcfg(self.stb, GPIO.OUT) GPIO.output(self.stb, GPIO.HIGH) GPIO.output(self.clk, GPIO.HIGH) self.send_command(0x40) self.send_command(0x80 | 8 | min(7, intensity)) GPIO.output(self.stb, GPIO.LOW) self.send_byte(0xC0) for i in range(16): self.send_byte(0x00) GPIO.output(self.stb, GPIO.HIGH)
def enable(self, intensity=7): GPIO.init() GPIO.setcfg(self.dio, GPIO.OUT) GPIO.setcfg(self.clk, GPIO.OUT) GPIO.setcfg(self.stb, GPIO.OUT) GPIO.output(self.stb,GPIO.HIGH) GPIO.output(self.clk,GPIO.HIGH) self.send_command(0x40) self.send_command(0x80 | 8 | min(7, intensity)) GPIO.output(self.stb,GPIO.LOW) self.send_byte(0xC0) for i in range(16): self.send_byte(0x00) GPIO.output(self.stb,GPIO.HIGH)
def setup_leds(): global RED_LED global GREEN_LED global YELLOW_LED RED_LED = GPIO.PG5 GREEN_LED = GPIO.PG1 YELLOW_LED = GPIO.PG2 GPIO.init() GPIO.setcfg(RED_LED, GPIO.OUT) GPIO.setcfg(GREEN_LED, GPIO.OUT) GPIO.setcfg(YELLOW_LED, GPIO.OUT) NOK_ON() OK_ON() STATUS_ON() time.sleep(1) NOK_OFF() OK_OFF()
import SUNXI_GPIO as GPIO import time RED_LED = GPIO.PD0 GPIO.init() GPIO.setcfg(RED_LED, GPIO.OUT) while True: GPIO.output(RED_LED, GPIO.HIGH) print 'high' time.sleep(1) GPIO.output(RED_LED, GPIO.LOW) print 'low' time.sleep(1)
import SUNXI_GPIO as GPIO import time RED_LEDS = (GPIO.PG0, GPIO.PG1, GPIO.PG2, GPIO.PG3, GPIO.PG4, GPIO.PG5, GPIO.PG6, GPIO.PG7, GPIO.PC19, GPIO.PC20, GPIO.PC21, GPIO.PC22, GPIO.PB18, GPIO.PB19) GPIO.init() for led in RED_LEDS: GPIO.setcfg(led, GPIO.OUT) GPIO.output(led, GPIO.HIGH) time.sleep(0.3) GPIO.output(led, GPIO.LOW)
res = res + '\n' + list[u'name'] + ' ' + list[ u'info'] + ' ' + list[u'detailurl'] + '\n' return ans.json()[u'text'] + '\n' + res def tts(tex): ans = requests.get(tts_server + '?tex=' + tex + '&lan=zh&cuid=112233445566&ctp=1&tok=' + access_token) audio = open('./tmp.mp3', 'wb') audio.write(ans.content) GPIO.init() BUTTON = GPIO.PD2 LED = GPIO.PD1 GPIO.setcfg(BUTTON, GPIO.IN) GPIO.setcfg(LED, GPIO.OUT) r = 0 print "Ready" while True: state = GPIO.input(BUTTON) if state == GPIO.HIGH and r == 0: child = subprocess.Popen( "arecord -D \"plughw:1,0\" -r 16000 -c 1 -f S16_LE ./tmp.wav", shell=True) r = 1 elif state == GPIO.LOW and r == 1: print child.pid time.sleep(0.2) subprocess.call("kill " + str(child.pid + 1), shell=True)
#!/usr/bin/env python import SUNXI_GPIO as GPIO turn_foward = GPIO.PD0 turn_back = GPIO.PD1 turn_left = GPIO.PD2 turn_right = GPIO.PD3 steer_up = GPIO.PD5 steer_down = GPIO.PD6 steer_left = GPIO.PD8 steer_right = GPIO.PD9 steer_center = GPIO.PD4 GPIO.init() GPIO.setcfg(turn_foward, GPIO.OUT) GPIO.setcfg(turn_back, GPIO.OUT) GPIO.setcfg(turn_left, GPIO.OUT) GPIO.setcfg(turn_right, GPIO.OUT) GPIO.setcfg(steer_up, GPIO.OUT) GPIO.setcfg(steer_down, GPIO.OUT) GPIO.setcfg(steer_left, GPIO.OUT) GPIO.setcfg(steer_right, GPIO.OUT) GPIO.setcfg(steer_center, GPIO.OUT) def reset(): GPIO.output(turn_foward, GPIO.LOW) GPIO.output(turn_back, GPIO.LOW) GPIO.output(turn_left, GPIO.LOW) GPIO.output(turn_right, GPIO.LOW)
import SUNXI_GPIO as GPIO import time RED_LED = GPIO.PD0 GPIO.init() GPIO.setcfg(RED_LED, GPIO.OUT) while True: GPIO.output(RED_LED, GPIO.HIGH) print 'high' time.sleep(1) GPIO.output(RED_LED, GPIO.LOW) print 'low' time.sleep(1)
import SUNXI_GPIO as GPIO import time RED_LEDS = (GPIO.PG0, GPIO.PG1, GPIO.PG2, GPIO.PG3, GPIO.PG4, GPIO.PG5, GPIO.PG6, GPIO.PG7, GPIO.PC19, GPIO.PC20, GPIO.PC21, GPIO.PC22, GPIO.PB18, GPIO.PB19) GPIO.init() GPIO.setcfg(RED_LEDS[0], GPIO.OUT) old = time.time() state = GPIO.LOW for i in range(0, 100000): GPIO.output(RED_LEDS[0], state) time.sleep(0.1) if state == GPIO.LOW: state = GPIO.HIGH else: state = GPIO.LOW print("time: %f" % (time.time() - old))
return ans.json()[u'text']+'\n'+res elif ans.json()['code'] == 308000: res = "" for list in ans.json()[u'list']: res = res +'\n' + list[u'name']+ ' ' +list[u'info']+ ' ' +list[u'detailurl']+'\n' return ans.json()[u'text']+'\n'+res def tts(tex): ans = requests.get(tts_server+'?tex='+tex+'&lan=zh&cuid=112233445566&ctp=1&tok='+access_token) audio = open('./tmp.mp3','wb') audio.write(ans.content) GPIO.init() BUTTON = GPIO.PD2 LED = GPIO.PD1 GPIO.setcfg(BUTTON, GPIO.IN) GPIO.setcfg(LED, GPIO.OUT) r = 0 print "Ready" while True: state = GPIO.input(BUTTON) if state == GPIO.HIGH and r == 0 : child = subprocess.Popen("arecord -D \"plughw:1,0\" -r 16000 -c 1 -f S16_LE ./tmp.wav",shell=True) r = 1 elif state == GPIO.LOW and r == 1 : print child.pid time.sleep(0.2) subprocess.call("kill "+str(child.pid+1), shell=True) r = 0 #subprocess.call("python wav.py ./tmp.wav",shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
def initLcd(): # setup for d in DATA_IO: GPIO.setcfg(d, GPIO.OUT) GPIO.output(d, GPIO.LOW) GPIO.setcfg(LCD_RD, GPIO.OUT) GPIO.setcfg(LCD_WR, GPIO.OUT) GPIO.setcfg(LCD_RS, GPIO.OUT) GPIO.setcfg(LCD_CS, GPIO.OUT) GPIO.setcfg(LCD_REST, GPIO.OUT) GPIO.output(LCD_RD, GPIO.HIGH) GPIO.output(LCD_WR, GPIO.HIGH) GPIO.output(LCD_RS, GPIO.HIGH) GPIO.output(LCD_CS, GPIO.HIGH) GPIO.output(LCD_REST, GPIO.HIGH) # init GPIO.output(LCD_REST, GPIO.HIGH) time.sleep(0.005) GPIO.output(LCD_REST, GPIO.LOW) time.sleep(0.015) GPIO.output(LCD_REST, GPIO.HIGH) time.sleep(0.015) GPIO.output(LCD_CS, GPIO.HIGH) GPIO.output(LCD_WR, GPIO.HIGH) GPIO.output(LCD_CS, GPIO.LOW) #CS Lcd_Write_Com(0xCB) Lcd_Write_Data(0x39) Lcd_Write_Data(0x2C) Lcd_Write_Data(0x00) Lcd_Write_Data(0x34) Lcd_Write_Data(0x02) Lcd_Write_Com(0xCF) Lcd_Write_Data(0x00) Lcd_Write_Data(0XC1) Lcd_Write_Data(0X30) Lcd_Write_Com(0xE8) Lcd_Write_Data(0x85) Lcd_Write_Data(0x00) Lcd_Write_Data(0x78) Lcd_Write_Com(0xEA) Lcd_Write_Data(0x00) Lcd_Write_Data(0x00) Lcd_Write_Com(0xED) Lcd_Write_Data(0x64) Lcd_Write_Data(0x03) Lcd_Write_Data(0X12) Lcd_Write_Data(0X81) Lcd_Write_Com(0xF7) Lcd_Write_Data(0x20) Lcd_Write_Com(0xC0) #Power control Lcd_Write_Data(0x23) #VRH[5:0] Lcd_Write_Com(0xC1) #Power control Lcd_Write_Data(0x10) #SAP[2:0];BT[3:0] Lcd_Write_Com(0xC5) #VCM control Lcd_Write_Data(0x3e) #Contrast Lcd_Write_Data(0x28) Lcd_Write_Com(0xC7) #VCM control2 Lcd_Write_Data(0x86) #-- Lcd_Write_Com(0x36) # Memory Access Control Lcd_Write_Data(0x48) Lcd_Write_Com(0x3A) Lcd_Write_Data(0x55) Lcd_Write_Com(0xB1) Lcd_Write_Data(0x00) Lcd_Write_Data(0x18) Lcd_Write_Com(0xB6) # Display Function Control Lcd_Write_Data(0x08) Lcd_Write_Data(0x82) Lcd_Write_Data(0x27) Lcd_Write_Com(0x11) # Exit Sleep time.sleep(0.120) Lcd_Write_Com(0x29) # Display on Lcd_Write_Com(0x2c)