The Yayagram has two features:Β
π΅Send voice messages via Telegram by just pressing a button.Β Β
π΅Receive Telegram messages and physically print them on thermal paper.
π΅Send voice messages via Telegram by just pressing a button.Β Β
π΅Receive Telegram messages and physically print them on thermal paper.
To send a new voice message you need first to choose the destination grandchild, the selection is made using a Jack connector, like the #cablegirls used to do!
Recording a new voice message is similar to the regular #Telegram app, but here all is analog. Keep the record button pressed β‘οΈ Talk β‘οΈ Release the button and it's sent! The recipient grandchild will receive it like this:
There are three LEDs to give the Yaya more information. One to show the Yayagram receives power, another one to show it's connected to Telegram, and the last one to show you are recording a voice message.
How isΒ it made? A #raspberrypi 4 is the brain of the project. Everything runs on #Python and I use several third-party libraries to complete it. The rest is all analog, jack connectors, LEDs, cables, a printer, a mic, and a button.
The Python code uses three threads, one to receive messages, another to send messages, and the last one to monitor the Yayagram status that is later shown using the status led.
I created a Linux "systemctl" service that is in charge of starting the Yayagram application automatically whenever the device is started or rebooted because of an unexpectedΒ crash.
Regarding third-party libraries, this is the one I use to send and receive messages over Telegram: github.com
It's a fork that works like a champ. The main library doesn't work so well done! Help me to find the developer who wrote it!
It's a fork that works like a champ. The main library doesn't work so well done! Help me to find the developer who wrote it!
To light up the LEDs and control the Jack connectors and the button I simply use the GPIO pins of the Raspberry pi, it has native Python support so it's a no-brainer. Here you can find more documentation about it:Β raspberrypi.org
The microphone is the cheapest one I could find, It has a USB connection and I use the βarecordβ CLI command, I don't use a Python lib for this component as I found it easy enough to use the CLI instead. More info about how to configure the mic here: pimylifeup.com
Finally, for the thermal printer, I used the Rx and Tx pins to build a serial connection with the printer. There's a Python library from @adafruit that does the complicated stuff. More info here: learn.adafruit.com
π΅My Yaya suffers from hearing problems so using a Phone is usually hard. Moreover, she relies on my parents to take or make a call. Video calls are also not ideal.
π΅The Yayagram allows my Yaya to be more independent and start conversations with her grandchildren.
π΅The Yayagram allows my Yaya to be more independent and start conversations with her grandchildren.
π΅My Yaya lives with my parents and I visit her a lot, but because of Covid-19 movement restrictions most of the family can't visit her, I believe this willΒ help to improve communications.
π΅Do you want to know how to pronounce "Yaya"? Check this out, @offspring will help you with this masterpiece #YaYaYaYaYaGramΒ
youtu.be
youtu.be
π΅I chose Telegram over Whatsapp because I don't like Facebook, Telegram is more open and easy to use.
π΅Soon I'll publish an Instructables project with all the build details so you can build one. I'll publish the source code on Github as well. Stay tuned!
π΅Soon I'll publish an Instructables project with all the build details so you can build one. I'll publish the source code on Github as well. Stay tuned!
π΅If you have any questions I'll be more than happy to assist. At least, I'll try to.
End!
Loading suggestions...