pcDuino + Python + Arduino via UART

Узнаем IP address который получила pcDuino через DHCP и посылаем его в Arduino через UART.

#!/usr/bin/env python

import socket
import fcntl
import struct
import serial
import time, os

def get_ip_address(ifname):
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    return socket.inet_ntoa(fcntl.ioctl(
        s.fileno(),
        0x8915,  # SIOCGIFADDR
        struct.pack('256s', ifname[:15])
    )[20:24])

# Инициализация порта UART0

def uart_init():
    GPIO_MODE_PATH= os.path.normpath('/sys/devices/virtual/misc/gpio/mode/')
    GPIO_PIN_PATH=os.path.normpath('/sys/devices/virtual/misc/gpio/pin/')
    GPIO_FILENAME="gpio"

    pinMode = []
    pinData = []

    SERIAL = "3"

    for i in range(0,2):
	pinMode.append(os.path.join(GPIO_MODE_PATH, 'gpio'+str(i)))
        pinData.append(os.path.join(GPIO_PIN_PATH, 'gpio'+str(i)))

    file = open(pinMode[0], 'r+')
    file.write(SERIAL)
    file.close()
    file = open(pinMode[1], 'r+')
    file.write(SERIAL)
    file.close()

uart_init()

pcDuinoIPaddress = get_ip_address('wlan0')

arduino = serial.Serial('/dev/ttyS1',baudrate=115200,timeout=10)

arduino.write("["+pcDuinoIPaddress+"]")

arduino.close()

X-Rover 4.0

В процессе программирования возникли некоторые трудности, которые оказались связанные с ошибкой сборки. Решил все перебрать, улучшить конструкцию для сборки и разборки, а также для того чтобы было удобно добавлять необходимые датчики. Также заменили камеру, установили более удобную и более качественную, также установил серво-привод  для вращения камерой.

Теперь программировать и добавлять того чего захочется.

X-Rover 4.0 OLYMPUS DIGITAL CAMERA OLYMPUS DIGITAL CAMERA

 

X-Rover 3.1 Учебно-тренировочный робот

Учебно-тренировочный робот для изучения совместной работы Arduino Mega 2560 и pcDuino.

Основной блок управления двигателями и другими датчиками собран на Arduino Mega 2560. Для обработки видео используется pcDuino. Внизу есть фото с диограмой всего робота. Робот управляется через WWW, Telnet или при помощи IR (Инфокрасный пульт управления). pcDuino доступна через WiFi — через USB WiFi Edimax. Доступ к Arduino Mega тоже возможен через WiFi — для этого использовали модуль WiFly от SparkFun. pcDuino и Arduino Mega общаются между сабой через UART или через WiFi.

— Сейчас работает трансляция с камеры (можно в режиме реального времени смотреть все то что видит робот)