Recipes - Tools - Community and Events - References - Inspiration - To do


Unlisted: PaPiRus (see Eink), PIcade, Petoi Bittle, ANAVI Fume Extractor, ANAVI Macro Pad 8, Lite3DP 3D Printer, Tomu

Precursor

PineTime

Gateway Things (WebThingsIO)

Formelly Mozilla Gateway Things

VR + Home Automation + Creativity for Mozilla Hubs Creator Meetup

PoCs

  • IoT on HTC Vive for in-VR experiment environment modification
  • wifi = micropythoN
  • webrelp = python

Recipes

  • NFC
    • e.g. applying CognitiveEnvironments on phone and appliances (laptop, domotic and related appliances on current location)
  • "physical" bitcoin wallet using RFID
  • random music
    • needs
      • continuous on the go music stream aiming toward a personal auditive aesthetic
    • solutions
      • multiple tracks
      • random generation
      • decide what a sample is
      • output sound (DSP?)
    • limits
      • required time to reach quality
    • suggestions
      • share result for live social interactions (Thomas)
  • health
    • needs
      • know when to take a pill (and when not to)
    • solutions
      • input pill X, Y, ... taken at timestamp Tx, Ty, ...
      • curves of upper limit and down limit
      • output visual and/or vibration as warning signal
    • limits
      • trust in the tool
    • suggestions
      • really adapted design
  • quantitative life
    • needs
      • be able to record quickly and in a very private way (nobody else has to know an event has been recorded) a non-predefined series of event
    • solutions
      • register button pressed with timestamp
      • output date
    • limits
      • memorization of the association of event/button required
    • suggestions
      • take a picture/scan of your own hand to really have the ideal shape
      • replace button with EEG/fMRI/...
      • ideas of applications
        • smiles, X calories, ideas, feelings, steps, learn something, healthy behavior, ...

Raspberry Pi

WebXR AP on RPi0

If you rely on the image made for this project (620Mb) an open metaverse WiFi should span. Connect to that new WiFi then to https://192.168.4.1/offline.html and see each other. If you want to add your own customizations connect using ssh fabien@192.168.4.1 and password metaverse.

Process to setup environment

  1. rpi-imager to burn the 32bits image
    1. setup WiFi with ssh access via the expert option
  2. ssh in to install NodeJS and all dependencies
  3. setup AP https://www.raspberrypi.com/documentation/computers/configuration.html#setting-up-a-routed-wireless-access-point
    1. in /etc/hostapd/hostapd.conf use wpa=0 and remove what's after to make an open AP
    2. note that if you have a device with 2 interfaces, e.g desktop with Ethernet and WiFi, you can connect to the unbridged AP but still have Internet
      1. the AP won't though so commands like apt install or npm install will fail
  4. for single person XR follow https://aframe.io/docs/1.4.0/introduction/faq.html#can-i-use-a-frame-offline-or-self-hosted
  5. for social XR follow https://github.com/networked-aframe/networked-aframe#offline-usage
    1. note https://github.com/networked-aframe/networked-aframe/issues/408 for easier setup

Process to generate image, useful to restore the state and make more copies.

  1. identify source microSD, replacing XXX with the right device from lsblk
  2. sudo dd if=/dev/sdXXX of=pi0.img bs=32M && sudo pishrink.sh pi0.img
    1. from https://github.com/Drewsif/PiShrink
    2. This is a fairly long process, e.g 8min on a 32Gb microSD.
  3. Optionally the resulting img can be compressed via xz (which supports multithreading, e.g xz -T9 pi0.img) which here went from ~3Gb to 0.6Gb
    1. fairly long process, e.g 8min for a 3Gb file using 9 cores.
  4. copy to another microSD dd if=pi0.img of=/dev/sdXXX bs=32M conv=fsync
    1. can be done via rpi-imager also, a GUI and thus more convenient for people unfamiliar with the CLI. It works also with the compressed image.
  5. finally boot on it

All this has been simplified as a regen bash script that uploads the resulting image back here.

To inspect the resulting image uncompress it then use partx -v -a pi0.img to make loops, e.g /dev/loop16, mount /dev/loop16p2 virtualimg then after unmount virtualimging them you can remove with partx -d /dev/loop16 again then losetup -d /dev/loop16. See https://superuser.com/a/1559197 for details.

Small improvements

  • $(which node) or /usr/local/bin/node is required
  • setcap 'cap_net_bind_service=+ep' /usr/local/bin/node to bind on port 443
  • export PORT=443 before starting ./server/easyrtc-server.js
  • sudo vi /etc/motd allows to put a bit of documentation as a welcome message
  • to make a smaller image remove
    • ~/.npm
    • unused locales via e.g localepurge

Arduino

Robotics

Add also conferences by MIT professor and Roomba CTO Rodney Brooks

Brain-Computer Interface (BCI)

Field-Programmable Gate Array (FPGA)

Tools

Community and Events

References

Inspiration

  • ...

To do

ContainsPersonalYoutubeContentToMigrate