Errata‎ > ‎RaspberryPi‎ > ‎

CutiePI

Last update 17 November 2018

Nov 2018:  V3 rebuild with Rasbian Stretch via Noobs
April 2018:  Retracing my steps using Dietpi, preparing for V3 w/ touchscreen (work-in-process below)

Grandbaby's first PI - designed to evolve as she does WHILE refreshing grandpa's programming skills!  Originally built using a PI 2 in a cottage-style lego block case.  Lego case will hopefully facilitate the project's 'evolution'.

Version 1 - A little device that that plays stream music so mom and dad can pipe lullabies into the nursery
Version 2 - Added a button and lights because she is figuring out how to use her fingers (python + solder!)
Version 3 - CutiePI Vs + Touchscreen = ?????

CutiePI V1 

A simple streaming music player in a Lego case.  Built using spare parts. 

Hardware

Software

  • Stock Raspbian installed using NOOBS
    (weezy initially, worked find, but some fiddling to get wifi and audio)
  • AirPlay services via Shairport-Sync 
    (Originally used Shairport, worked OK, but was a little squirrelly, if I recall)

Capabilities

Fond Memories



CutiePI V2

CutiePI V2

Added a button & LEDs and a custom app that plays sounds & music when button is pressed.

Hardware

Software

Capabilities

  • STILL allows mom/dad to stream music into nursery using iPhone/iPad 
  • V2 added a button, lights (LEDs) and custom app that blinks lights and plays preloaded sounds 
    • Simple Python script (my first!) - CutiePI_V2 (source)
    • 3 sound files and one song file (wav format) 
    • each button press blinks light bar and plays a sound 
    • GPIO:  Button @ GPIO 2.   LEDs:  Red @ GPIO 17, Green @ 27, Yellow @ 22, Blue @ 4 
  • Added remote access/support - I periodically change sound files to surprise grandbaby ... e.g. xmas theme

Fond Memories


CutiePI V3

Work in process!  Sock Stretch via NOOBs 3.0 for now
Rebuild using Dietpi v6 - Gave up on Dietpi for this one, stock raspbian was easier.  Python world (Pygame, GPIO, etc) was ready after install, I suspect the touch screen will be easier this way too.  Will likely have to replace LEDs and button because not sure how to share GPIO between screen and Pi-EzConnect Hat 

Config & notes as I go (so I can rebuild in furture)
  • Noobs install - Follow Quickstart Guide
  • raspi-config option
    • Change Passwords
    • Network Options:  Set hostname and WiFi Setup 
    • <reboot>
    • Boot options:  B2 Console Autologin
    • Localization Options:  Check Language & Keyboard, should be set now during install
    • Interfacing Options:  SSh and VNC are handy for remote support
    • Advanced/A4 Audio:  Set to Auto initially
  • Additional Software for CutiePi
  • CutiePI_V3 Python code 
    • Create directories for amazing CutiePi GPIO LED/Pushbutton action 
      Both under /home/pi - cutiepi and cutiepi/cutiesounds
    • Install python file CutiePI_V3.py and initial sounds:  sound1.wav, sound2.wav, sound3.wav and song.wav
    • test via python CutiepI_V3.py [sim].  Use 'sim' parameter to simulate button press if gpio isn't connected
    • Turn Python Script into a service so it starts when pi is rebooted
      From https://www.raspberrypi-spy.co.uk/2015/10/how-to-autorun-a-python-script-on-boot-using-systemd/
      • Create a symboli link to the current version of CutiePI python script
        cd /home/pi/CutiePi
        ln -s CutiePI_V3 cutiepi.py
      • Create unit file 
        sudo nano /lib/systemd/system/cutiepi.service
      • Include following 
      • [Unit] 
        Description=CutiePi Service 
        After=multi-user.target 

        [Service] 
        Type=idle 
        ExecStart=/usr/bin/python /home/pi/cutiepi.py > /home/pi/cutiepi.log

        [Install]
        WantedBy=multi-user.target
      • Set permissions
        sudo chmod 644 /lib/systemd/system/cutiepi.service
      • Configure Systemd
        sudo systemctl daemon-reload
        sudo systemctl enable cutiepi.service
      • <pretty much it, it works, but I'm still dicking around & testing>



Odds N Ends

Project CutiePI



Components used*

 

USB-Powered Speakers:  

I had some laying around the shop, 

Lots of options, pretty cheap on Amazon

 

---------------

* T. Pedersen Ventures is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to amazon.com.
 

ċ
CutiePI_V3.py
(3k)
Tom Pedersen,
Nov 20, 2018, 2:12 PM