The world's first robot to interact through GIFs...'nuf said
GPL-3.0 License
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
I have separated out the hardware elements into a seperate repo. You can find that here https://github.com/shekit/peeqo-robot-hardware
This is a detailed guide on getting your Pi up and running:
sudo apt-get update
OR sudo apt update
sudo apt-get dist-upgrade
OR sudo apt full-upgrade
sudo raspi-config
arm_freq=800
sudo apt install apt-transport-https
pip install pillow
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
sudo curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install nodejs -y
node -v
npm -v
sudo npm install -g electron
rm -rf ~/.electron
mkdir ~/.electron
chmod 777 ~/.electron
sudo rm /usr/bin/electron
sudo npm -g install electron
cd ~
git clone https://github.com/shekit/peeqo-robot
~/.config/autostart
sudo nano peeqo.desktop
[Desktop Entry]
Type=Application
Exec=./launch.sh
sudo chmod +x launch.sh
#!/bin/bash
cd /path/to/electron/app // this should be where the directory exists on your pi
sudo electron main.js
arecord -l
and aplay -l
to see the number of your device - whether it’s 0,1,2sudo 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
sudo nano /lib/modprobe.d/aliases.conf
options snd-usb-audio index=-2 (comment this out with a # before)
cat /proc/asound/modules
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
}
}
pcm.!default { type plug slave { pcm "hw:1,0" } } ctl.!default { type hw card 1 }
arecord: set_params:1233: Sample format non available Available formats: - S16_LE
hcitool | grep ver
-- make sure it’s higher than 5.x.xsudo systemctl stop bluetooth
sudo systemctl status bluetooth #should show status ‘quitting’
sudo systemctl disable bluetooth #for it to persist after reboot
sudo hciconfig hci0 up
sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev
sudo apt-get install libcap2-bin
sudo setcap cap_net_raw+eip $(eval readlink -f `which electron`)
sudo nano /etc/lightdm/lightdm.conf
xserver-command=X -nocursor -s 0 -dpms
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
sudo nano /boot/config.txt
max_usb_current=1
cd /path/to/folder/electron
sudo electron main.js
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!