import time #библиотеки для работы с изображениями Python Image Library from PIL import Image from PIL import ImageDraw from PIL import ImageFont #библиотека для работы с контроллером EduBot import edubot SPEED = 200 #скорость моторов SERVO_MID_POS = 62 #среднее положение сервомотора robot = edubot.EduBot( enableDisplay=True ) #создаем обект для работы с EduBot, робот с OLED дисплеем assert robot.Check(), 'EduBot not found!!!' #проверяем наличие платы Edubot image = Image.new( '1', robot.displaySize) #создаем ч/б картинку для отрисовки на дисплее draw = ImageDraw.Draw(image) #создаем объект для рисования на картинке font = ImageFont.load_default( ) #создаем шрифт для отрисовки текста на картинке robot.ClearDisplay() #очистка дисплея robot.Start( ) #обязательная процедура, запуск потока отправляющего на контроллер EduBot онлайн сообщений print('EduBot started!!!')
robot.servo[0].SetPosition(servoPos) print('ServoPos = %d' % servoPos) return 0 def ServoDown(): global servoPos servoPos += 10 if servoPos > 125: servoPos = 125 robot.servo[0].SetPosition(servoPos) print('ServoPos = %d' % servoPos) return 0 robot = edubot.EduBot(1) assert robot.Check(), 'EduBot not found!!!' robot.Start( ) #обязательная процедура, запуск потока отправляющего на контроллер EduBot онлайн сообщений print('EduBot started!!!') ina = INA219(SHUNT_OHMS, MAX_EXPECTED_AMPS) #создаем обект для работы с INA219 ina.configure(ina.RANGE_16V) disp = Adafruit_SSD1306.SSD1306_128_64( rst=None) #создаем обект для работы c OLED дисплеем 128х64 disp.begin() #инициализируем дисплей disp.clear() #очищаем дисплей disp.display() #обновляем дисплей
IP = '192.168.8.163' #айпи сервера PORT = 8000 #порт сервера TIMEOUT = 60 #время ожидания ответа сервера [сек] #128x64 display with hardware I2C: disp = Adafruit_SSD1306.SSD1306_128_64(rst = None) # Initialize library. disp.begin() # Get display width and height. width = disp.width height = disp.height image = Image.new('1', (width, height)) robot = edubot.EduBot(True) assert robot.Check(), 'EduBot not found!!!' robot.Start() #обязательная процедура, запуск потока отправляющего на контроллер EduBot онлайн сообщений print ('EduBot started!!!') server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) #создаем udp сервер server.bind((IP, PORT)) #запускаем udp сервер print("Listening on port %d..." % PORT) #выводим сообщение о запуске сервера server.settimeout(TIMEOUT) #указываем серверу время ожидания draw = ImageDraw.Draw(image) # Clear display. disp.clear() # Load default font.
robot.servo[0].SetPosition(servoPos) print('ServoPos = %d' % servoPos) return 0 def ServoDown(): global servoPos servoPos += 10 if servoPos > 125: servoPos = 125 robot.servo[0].SetPosition(servoPos) print('ServoPos = %d' % servoPos) return 0 robot = edubot.EduBot(enableDisplay=True) assert robot.Check(), 'EduBot not found!!!' robot.Start( ) #обязательная процедура, запуск потока отправляющего на контроллер EduBot онлайн сообщений print('EduBot started!!!') robot.ClearDisplay() #очистка дисплея #создаем и запускаем поток отображающий данные телеметрии да дисплее робота stateThread = StateThread(robot) stateThread.start() # Создаем сервер (IP адрес, порт, отключен лог) server = SimpleXMLRPCServer((IP, PORT), logRequests=False) print('Control XML-RPC server listening on %s:%d' % (IP, PORT))