Close

Software side - first thoughts

A project log for Wearable Raspberry Pi personal assistant

Powered by Raspberry Pi, Python, #pyLCI, 18650 cells and tons of peripherals.

aryaArya 08/31/2016 at 00:160 Comments

First batch of device-tailored software is due to be written. Ideally, it should make me wear the thing without ever taking it off.

Music player

The soundcard I've added has been waiting for too long, and I don't have a reliable music player so this should hook me up. I just hope I have a flash disk big enough for all my music...

Task management software

I've got a TODO.txt app alright. However, it's not that easy to add tasks through pyLCI - generally, enter any kind of text. Maybe a 5$ small BT keyboard is to come soon...

SMS and call app

GSM modem, right? Time to put it to a good use. I just wonder if my modem's speaker output is toast - making calls might just get complicated.

BT device app

Bluetooth hacking is something that I want to do. I also want to employ my numerous Bluetooth peripherals, such as keyboards, headsets and phones.

pyLCI app-like architecture

This will be a little more complicated. Menu-driven systems might be good for system management interfaces, but for systems with high levels of human interaction, such as aggressively used UIs, contexts are necessary. My plan is to make true "apps" communicating with pyLCI over sockets, as well as being able to switch between them on the fly without exiting another apps first. This also somewhat helps improve security, though not very well - it creates some kind of "sandboxes" on the machine, at least if I launch separate apps as separate users, giving no more privilege than necessary. Honestly, it just feels like another system at this point - should it be called "WCS", as in "Wearable Control System", just like the previous version did for some time?

More sophisticated input system

I'll need to input things, such as messages and notes, a lot. I'll also need to combine various input ways - my goal is to even be able to use OCR and QR-codes, not to mention USB and BT keyboards.

Thus, I think I need to implement a menu-driven input type selector, with an ability to attach inputs on the fly.

Notification framework

Goes well with the "app-like architecture", as well as this thing being a goddamn wearable that needs to notify me about events.

Reader app

I also would like to be able to read things on the screen. It'd work the same way those "read things quickly" apps do - one or two words at a time on the screen. Would go well for some blog posts I read from time to time, as well as things such as short books and tweets.


It's not going to be easy writing all this, but it's not going to be hard either, given that pyLCI covers all of my interfacing needs and I can expand it whenever I feel like it's limiting me =) Also, the more code I write, the better!

I wrote some cool libraries while developing pyLCI apps. I think they deserve to be released as separate Python libraries, especially now that I know how to release them =)

Discussions