Skip to content

Latest commit

 

History

History
206 lines (127 loc) · 10.3 KB

GettingStarted.md

File metadata and controls

206 lines (127 loc) · 10.3 KB

WHC2021SIC-Guide | Getting Started

rpi4

Guide for the IEEE World Haptics Conference 2021 Student Innovation Challenge: getting started.

https://2021.worldhaptics.org/sic/

Authors

Your contributions are welcome, here are your options to help us improve this guide:

Contents

Generated with npm run toc, see INSTALL.md.

Once this guide becomes very comprehensive, the main file can be split in multiple files and reference these files.

Getting Started

This section will help you setup hardware and software components of your WHC 2021 SIC kit.

Unpack and assemble hardware

This section will help you setup hardware components of your WHC 2021 SIC kit.

Raspberry Pi 4

rpi4

Make sure to hold the bare RPI board from its edges to avoid touching components. One you receive the RPI and the SD card, please burn Raspberry Pi OS to the Micro SD card using the card reader. Imager is available here: https://www.raspberrypi.org/software/

Audio Injector Octo soundcard hat

octo

Stack Audio Injector Octo soundcard hat on GPIO header of RPI. rpi4

Connect at least the Output RCA breakout to the Audio Injector Octo soundcard hat.

Syntacts board and actuators

syntacs

Define ideal wiring length based on your project setup, particularly depending on constraints from the locations of actuators and of the rest of your system (both colocated? wearable?).

Solder actuators, wires and connectors.

Connect:

  • actuators to Syntacts board
  • audio cables from Syntacts board to Audio Injector Octo soundcard hat
  • Supply power to the board by either the battery case or the USB cable (just use red and black cable, probably better to plug into a USB3.0 port)

octo

SparkFun Qwiic hat, boards and sensors

qwiic

Remove the black header protection from the top of the Audio Injector Octo soundcard hat.

Stack your SparkFun Qwiic HAT on top of the Audio Injector Octo soundcard hat.

Setup software configuration

This section will help you setup software components of your WHC 2021 SIC kit.

Raspberry Pi 4

This section will let you setup your Raspberry Pi with a SD card reader and without the need of USB keyboard and mouse.

We tested this procedure with the Raspberry Pi OS (formerly Raspbian) distribution and this kernel (output from command uname -a on a terminal): Linux raspberrypi 5.4.51-v7l+ #1333 SMP Mon Aug 10 16:51:40 BST 2020 armv7l GNU/Linux

This procedure is based on third-party tutorials such as: https://desertbot.io/blog/headless-raspberry-pi-4-lite-remote-desktop-upgrade

Change or init your password

TODO Add method by writing filesystem with SD card reader.

If you are already logged in your Raspberry Pi, in a terminal, type/paste command sudo passwd pi then input your new password. Choose something else than the default raspberry password for increased security.

Setup WiFi and SSH

The Secure Shell Protocol (SSH) is a cryptographic network protocol for operating network services securely over an unsecured network.[1] Typical applications include remote command-line, login, and remote command execution, but any network service can be secured with SSH. From: https://en.wikipedia.org/wiki/Secure_Shell_Protocol

Make sure your laptop/desktop and Raspberry Pi are on the same network.

Enable WiFi and SSH by following this tutorial: https://desertbot.io/blog/headless-raspberry-pi-4-ssh-wifi-setup

Highlight: to enable SSH, put a ssh file with no extension on boot partition: https://www.raspberrypi.org/documentation/remote-access/ssh/

Setup VNC

In computing, Virtual Network Computing (VNC) is a graphical desktop-sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical-screen updates back in the other direction, over a network. From: https://en.wikipedia.org/wiki/Virtual_Network_Computing

This procedure is based on third-party tutorials such as: https://www.raspberrypi.org/documentation/remote-access/vnc/

  • install VNC Server on Raspberry Pi
    • `sudo apt install realvnc-vnc-server realvnc-vnc-viewer
    • sudo raspi-config
      • Interfacing Options > VNC / SSH
  • determine the Raspberry Pi IP address:
    • access your Wifi router admin panel and identify connected devices
    • use network scanning tools, such as nmap for Linux debian/ubuntu systems (from: http://mitchtech.net/vnc-setup-on-raspberry-pi-from-ubuntu/)
      • sudo apt install nmap
      • nmap -sV -p 22 192.168.2.1-255 (replace 192.168.2.1-255 with your network subnetwork and range)
  • download VNC Viewer from https://www.realvnc.com/en/connect/download/viewer/
  • install:
    • for Linux debian/ubuntu systems: sudo dpkg -i VNC-Viewer-6.20.529-Linux-x64.deb
Forward mouse and keyboard input from your laptop/desktop to your Raspberry Pi

There are various ways of forwarding mouse and keyboard input from your laptop/desktop to your Raspberry Pi, see: https://raspberrypi.stackexchange.com/questions/4253/forward-mouse-and-keyboard-input-to-x-session

We recommend barrier: https://github.com/debauchee/barrier

Audio Injector Octo soundcard hat

Perform Manual setup from: https://github.com/WHC2021SIC/Octo

Automated setup is outdated and valid only for older kernels.

Syntacts board and actuators

Test and create audio signal pipelines with Pure Data

Pure Data (Pd) is a visual programming language developed by Miller Puckette in the 1990s for creating interactive computer music and multimedia works. From: https://en.wikipedia.org/wiki/Pure_Data

Pure Data has been employed in the HCI and haptics communities, here are a few examples:

Install puredata from a terminal with: sudo apt install puredata.

Test all vibrotactile channels independently by sending test signals (tone or noise) with puredata and its Test Audio and MIDI utility accessible from menu Media.

Explore the vibrotactile design space with the Syntacts Tactor Synthesizer

Explore the vibrotactile design space with the Syntacts Tactor Synthesizer by Evan Pezent et al.: https://github.com/WHC2021SIC/Syntacts

Other tools for haptic and audio interaction design

SparkFun Qwiic hat, boards and sensors

I2C function in RPI is disabled by default. Please follow this instruction to enable the configuration, and make sure to reboot. https://learn.sparkfun.com/tutorials/raspberry-pi-spi-and-i2c-tutorial/all#i2c-on-pi

Sparkfun provides python programming on RPI tutorial: https://learn.sparkfun.com/tutorials/python-programming-tutorial-getting-started-with-the-raspberry-pi/configure-your-pi

Depending on libraries you use, it might require you to upgrade pyhthon version to 3.0. Please check the current installed version python --version and change the version if necessary. (see Use Python 3 section in the sparkfun tutorial)

Quick tip: want to know I2C address of your sensors? Here describes how to scan and find I2C devices on the bus using i2cdetect -y 1: https://learn.sparkfun.com/tutorials/qwiic-hat-for-raspberry-pi-hookup-guide

Acknowledgements

SIC chairs would like to thank Evan Pezent, Zane A. Zook and Marcia O'Malley from MAHI Lab at Rice University for having distributed to them 2 Syntacts kits for the IROS 2020 Intro to Haptics for XR Tutorial. SIC co-chair Christian Frisson would like to thank Edu Meneses and Johnty Wang from IDMIL at McGill University for their recommendations on Raspberry Pi hats for audio and sensors.

License

This documentation is released under the terms of the Creative Commons Attribution Share Alike 4.0 International license (see LICENSE.txt).