welcome to pi3g

your european partner for raspberry pi & machine learning

We are a Raspberry Pi approved industrial reseller, for Germany, Austria and Switzerland. With our strong technical background we are a solid choice as your partner for anything Raspberry Pi related in Germany, Europe and beyond.

Starting in 2020 we have also become one of Google's select worldwide partners for distribution of their Coral.AI lineup. We believe artificial intelligence / machine learning is the way forward in the future.

Get in touch with us today, to see how your business can benefit from single board computing and machine learning on the edge - go beyond and way ahead of your competition.

the story behind pi3g

Back in 2012 the story of Maximilian and the Raspberry Pi started. He was excited when he got his first Pi and also saw the great potential for further development in it.
Then PiCockpit was born to make using and managing the Pi easier and more accessible for everyone.
Maximilian has always been interested in computers and believed that they are a lever to improve everything in the world - for example in medicine.
Over the years, Maximilian's work has grown and new fields of expertise have emerged...

Seperator

In our blog you can expect blog posts about technology and business topics, of course about the Raspberry Pi, but also a wide variety of topics related to Industrie 4.0, IoT, and machine learning - for example about the popular MQTT protocol, Python and Linux embedded development, and much more. Blog entries are not scheduled and not in particular order - the topics are an eclectic mix of what comes up in real life of a company engaged in machine learning & Raspberry Pi embedded adventures.

We are happy to write about special topics that are not so well-documented elsewhere.
If you have any suggestions, we are happy to discuss current topics with you and are always ready to brainstorm workable solutions with you.

Please feel free to contact us 🙂

Vuetify :: Open detail row programmatically

By Maximilian Batz | 2020-08-09

For the upcoming PiCockpit v2.0 release, I am preparing a GPIO application.The GPIO entries are table rows – and to configure them, we want to be able to access the detail row by clicking on the configure button:clicking either the chevron or the configure button will lead to the detail row opening:Here is the corresponding…

read more

enabling and disabling a systemd service in Python using DBus

By Maximilian Batz | 2020-08-01

The upcoming picockpit-client reacts to deletion events from the frontend by disabling it’s service (the application will stay installed, however). Similarly, when you decide to run picockpit-client connect again, the service will be re-enabled and started automatically for you. This is possible using the Python DBus interface. the DBus is a bus system for interacting…

read more

Raspbian SSH Server fails after upgrade from Stretch to Buster (no SSH connection)

By Maximilian Batz | 2020-07-31

I used this excellent guide to update my Raspbian from Stretch to Buster: https://pimylifeup.com/upgrade-raspbian-stretch-to-raspbian-buster/ After rebooting my Pi, the SSH connection was gone. Logging into the Pi using the attached keyboard and monitor allowed me to debug the issue: service ssh status journalctl -u ssh -n 200 “Missing privilege separation directory /run/sshd” This directory needs…

read more

How to set unique object ids in embedded documents across a MongoDB collection

By Maximilian Batz | 2020-07-24

MongoDB’s updateMany can be used to update all documents which are matched. Problem If, however, you want to set unique new ObjectIDs in your update, you would find that MongoDB sets the same ObjectID for every entry: db.getCollection(‘mypis_collectedpis’).updateMany({}, {$set:      {apps: {         “com.picockpit/core”: {             meta: {                 version: “2.0”,                 name: “PiCockpit Core”,                 image: “”,                 description: “PiCockpit.com…

read more
Seperator