All Projects → shekit → Peeqo Robot

shekit / Peeqo Robot

Licence: gpl-3.0
The world's first robot to interact through GIFs...'nuf said

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Peeqo Robot

True artificial intelligence
真AI人工智能
Stars: ✭ 38 (-89.59%)
Mutual labels:  robot, arduino, raspberry-pi
Mabel
MABEL is a feature-packed, open-source, legged balancing robot based off of the Boston Dynamics Handle robot.
Stars: ✭ 72 (-80.27%)
Mutual labels:  robot, arduino, raspberry-pi
Openbot
OpenBot leverages smartphones as brains for low-cost robots. We have designed a small electric vehicle that costs about $50 and serves as a robot body. Our software stack for Android smartphones supports advanced robotics workloads such as person following and real-time autonomous navigation.
Stars: ✭ 2,025 (+454.79%)
Mutual labels:  robot, arduino
Dingdang Robot
🤖 叮当是一款可以工作在 Raspberry Pi 上的中文语音对话机器人/智能音箱项目。
Stars: ✭ 1,826 (+400.27%)
Mutual labels:  robot, raspberry-pi
Plen2
The world's first printable open-source humanoid, starter kit.
Stars: ✭ 175 (-52.05%)
Mutual labels:  robot, arduino
Pixelbot
Stars: ✭ 90 (-75.34%)
Mutual labels:  robot, arduino
Plus
Otto DIY+ ("Otto DIY with steroids" + Bluetooth + APP + switch + sensors + strength +...
Stars: ✭ 100 (-72.6%)
Mutual labels:  robot, arduino
Open manipulator
OpenManipulator for controlling in Gazebo and Moveit with ROS
Stars: ✭ 163 (-55.34%)
Mutual labels:  robot, arduino
Makelangelo Software
Software for plotters - especially the wall-hanging polargraph also called Makelangelo.
Stars: ✭ 248 (-32.05%)
Mutual labels:  robot, arduino
Dynamixelsdk
ROBOTIS Dynamixel SDK (Protocol1.0/2.0)
Stars: ✭ 266 (-27.12%)
Mutual labels:  robot, arduino
Ottodiyesp
build you own internet of robots!
Stars: ✭ 273 (-25.21%)
Mutual labels:  robot, arduino
Ev3dev Lang Java
A project to learn Java and create software for Mindstorms Robots using hardware supported by EV3Dev & the LeJOS way.
Stars: ✭ 79 (-78.36%)
Mutual labels:  robot, raspberry-pi
Gopigo3
The GoPiGo3 is a Raspberry Pi Robot!
Stars: ✭ 74 (-79.73%)
Mutual labels:  robot, raspberry-pi
Yolo Powered robot vision
Stars: ✭ 133 (-63.56%)
Mutual labels:  robot, raspberry-pi
Iot 433mhz
🌐 IoT System to control 433 MHz RC power sockets, PIR, Door Sensors and much more.
Stars: ✭ 301 (-17.53%)
Mutual labels:  arduino, raspberry-pi
Robot
Simple library for controlling a raspberry pi based robot
Stars: ✭ 156 (-57.26%)
Mutual labels:  robot, raspberry-pi
Parse Embedded Sdks
The Embedded SDKs for the Parse Platform
Stars: ✭ 244 (-33.15%)
Mutual labels:  arduino, raspberry-pi
Os
This is the software framework for an OPSORO robot, to be used in conjunction with Ono2 or OPSORO grid and OPSOROHAT.
Stars: ✭ 11 (-96.99%)
Mutual labels:  robot, raspberry-pi
Wall.e
A javaScript robot which looks like WALL.E
Stars: ✭ 201 (-44.93%)
Mutual labels:  robot, raspberry-pi
Blynk Library
Blynk library for embedded hardware. Works with Arduino, ESP8266, Raspberry Pi, Intel Edison/Galileo, LinkIt ONE, Particle Core/Photon, Energia, ARM mbed, etc.
Stars: ✭ 3,305 (+805.48%)
Mutual labels:  arduino, raspberry-pi

Peeqo

Thank you for making this the highest second highest voted DIY project everr on Reddit! https://www.reddit.com/r/DIY/comments/5h15f4/i_built_a_desktop_robot_that_responds_entirely_in/

Check out the video here: https://youtu.be/ApAzIJ3jQtw

Hardware

I have separated out the hardware elements into a seperate repo. You can find that here https://github.com/shekit/peeqo-robot-hardware

Setting up the Pi:

This is a detailed guide on getting your Pi up and running:

Setup up SD Card on Pi:

  1. Download Raspbian Jessie with Pixel (https://www.raspberrypi.org/downloads/raspbian/)
  • Kernel Version - 4.4
  • Release Date - 11 - 01 - 2017 or latest version
  • Version - January 2017 or latest version
  1. Unzip File
  • Mac OSX has problems unzipping files which unzip to more than 4gb
  • Go to Terminal and unzip file with command
  • tar xzvf /path/to/zip/file
  1. Download Etcher from resin.io (https://etcher.io/)
  2. Download SDFormatter and clean format SD card(not quick clean) -(https://www.sdcard.org/downloads/formatter_4/)
  • Sometimes SD cards larger than 32GB may not work on pi
  • If Pi RED LED is on, no green LED blinking, it means it cannot read the SD card
  1. Transfer unzipped .img file to SD card using Etcher (etcher.io)
  2. Plug SD card into Pi and boot up
  3. Connect to wifi or plug in ethernet cable

Initial Setup:

  1. Go to Menu > Preferences > Raspberry Pi Config
  • Set Keyboard to US
  • Set Locale to your Locale
  • Expand Filesystem
  1. Reboot
  2. Run commands in terminal to update Raspbian for recent bug fixes:
  • sudo apt-get update OR sudo apt update
  • sudo apt-get dist-upgrade OR sudo apt full-upgrade
  1. Enable SSH and i2C
  • sudo raspi-config
  • Interfacing Options > SSH > Enabled
  • Interfacing Options > i2c > Enabled
  1. Enable overclocking or uncomment in /boot/config.txt arm_freq=800
  2. sudo apt install apt-transport-https
  3. Install python pillow
  • pip install pillow
  • Make sure you are using python 2.7 not 3.0+

Update Node:

  1. Raspbian ships with node v0.10.29 which will not work, have to update it
  2. Remove Old Version of Node
  • sudo apt-get remove nodered -y (-y flag just says yes instead of requiring user input)
  • sudo apt-get remove nodejs nodejs-legacy -y
  • sudo apt-get remove npm -y
  1. Install Latest Node Version (install version 6)
  • sudo curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
  • sudo apt-get install nodejs -y
  1. Check node and npm version
  • node -v
  • Output should be v6.10.10 or higher
  • npm -v
  • Output should be 3.10.10 or higher

Install Electron:

  1. Install Electron globally (currently have v1.6.2)
  • sudo npm install -g electron
  1. If this doesn’t work
rm -rf ~/.electron
mkdir ~/.electron
chmod 777 ~/.electron
sudo rm /usr/bin/electron
sudo npm -g install electron

Clone this repo:

cd ~
git clone https://github.com/shekit/peeqo-robot

Start App on Boot/Startup:

  1. Change into directory
  • ~/.config/autostart
  • You may need to create this directory if it doesn't exist
  1. Add and edit .desktop file with any name inside this directory
  • sudo nano peeqo.desktop
  1. Edit this file
[Desktop Entry]
	Type=Application
	Exec=./launch.sh
  1. Create launcher script at root directory
sudo chmod +x launch.sh
  1. Edit launch script
#!/bin/bash
cd /path/to/electron/app // this should be where the directory exists on your pi
sudo electron main.js

Setup Mic:

  1. Plug Sound Card into USB
  2. Plug speaker and mic into soundcard
  3. Do arecord -l and aplay -l to see the number of your device - whether it’s 0,1,2
  4. Edit alsa.conf (might have to change to 1 or 2 depending on whether you have a camera plugged in)
sudo nano /usr/share/alsa/alsa.conf
defaults.ctl.card 0 > defaults.ctl.card 1
defaults.pcm.card 0 > defaults.pcm.card 1
defaults.pcm.device 0 > defaults.pcm.device 1
  1. Edit aliases.conf

sudo nano /lib/modprobe.d/aliases.conf

  • Comment out below option or it will override previous changes on startup
options snd-usb-audio index=-2 (comment this out with a # before)
  • THIS MAY BE CAUSING AN ERROR, dont do this and see if it helps
  • Check order modules load in cat /proc/asound/modules
  1. Edit .asoundrc
nano .asoundrc
pcm.!default{
	type asym
	playback.pcm {
		type plug
		slave.pcm “hw:1,0”  
#this first number is the number of the usb device
	}

	capture.pcm {
		type plug
		slave.pcm “hw:1,0”
 #this is the mic usb number, maybe 2 if camera is included
}
}
  1. Check if this works instead ( this worked on one pi not running pixel) pcm.!default { type plug slave { pcm "hw:1,0" } } ctl.!default { type hw card 1 }
  2. If you don’t use plugs you will get following error with arecord arecord: set_params:1233: Sample format non available Available formats: - S16_LE

Setup Bluetooth:

  1. hcitool | grep ver -- make sure it’s higher than 5.x.x
  2. Stop Bluetooth Daemon bluetoothd
sudo systemctl stop bluetooth
sudo systemctl status bluetooth #should show status ‘quitting’
sudo systemctl disable bluetooth #for it to persist after reboot
  1. Power up bluetooth adapter sudo hciconfig hci0 up
  2. Install necessary libraries sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev
  3. Allow to run without root/sudo
sudo apt-get install libcap2-bin
sudo setcap cap_net_raw+eip $(eval readlink -f `which electron`)
  • This grants electron cap_net_raw priveleges to start/stop ble advertising (this is not working right now)
  1. Do all this before installing an app with bleno

Remove Mouse Cursor and prevent screen from going off:

sudo nano /etc/lightdm/lightdm.conf

  • Uncomment any line saying xserver-command=X
  • Write command xserver-command=X -nocursor -s 0 -dpms

Manga Screen Settings:

sudo nano /boot/config.txt
hdmi_force_hotplug=1 (if not already there)
config_hdmi_boost=4
overscan_left=0
overscan_right=0
overscan_top=0
overscan_bottom=0
disable_overscan=1
display_rotate=1
	
hdmi_cvt=480 800 60 6
#hdmi_group=2
#hdmi_mode=87
#hdmi_drive=2

Increase USB Current:

sudo nano /boot/config.txt
max_usb_current=1

Run app:

cd /path/to/folder/electron
sudo electron main.js

Steps Ahead

Yes, there's still work to be done. I will keep chipping away at it. Any contributions/feedback are welcome!

Let's make Peeqo the best community built robot ever!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].