Пример #1
0
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!!!')
Пример #2
0
    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()  #обновляем дисплей
Пример #3
0
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.
Пример #4
0
    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))