Posts

Showing posts from 2023

Whereabouts Clock: New Clock Mechanism

Image
 When I made the first mechanism of the Whereabouts Clock I utilized sail winch servos to get a motion that was at least 360 degrees.  Most RC servos are limited to about 180 degrees before they hit a physical limit.  I always wanted to create a clock with motors that weren't limited in the number of rotations, such as a stepper motor. However, stepper motors don't retain positional accuracy after a power loss.  The motor drivers only know "left" or "right" and a number of steps.  If the motor is moved, or power is lost, it has no idea where the motors are any longer.  In most control systems using stepper motors there are limit switches that are triggered to "home" the motors to a known position. Also, the Arduino Uno is limited in the number of IO pins.  Most stepper motor control requires at least 4 pins and additional lines for motor enable, micro switches for positioning, etc. A while back I purchased an Arduino Mega and a six-pack of 28BYJ48

Whereabouts Clock Update: New Data Source

 After years of utilizing the Find My iPhone legacy API to access phone information, Apple has shut down this service as it doesn't meet its current security standards.  I started looking for alternatives and went down the road of coding an approach where the phone would run Python code to send the location data to a cloud-based receiver built in AWS Lambda.  However, this approach did not work because there is no current way to have the iPhone run this code automatically in the background without user intervention.  So I had to continue my search. I was about to give up entirely and resolve to write my own iPhone app (not trivial for me) when I came across Life360.  Life360 is a location-tracking app for families.  I found that there were already Python libraries available for the Life360 API.  I decided to use this one:  https://github.com/harperreed/life360-python With this Python library and a Life360 account for my family, it was rather trivial to update my location-fetching c