pi3g e.K. heißt Sie Willkommen!

Wir sind als Raspberry Pi Foundation approved reseller, sowie einer von zwei deutschen Pi Zero Distributoren Ihr starker Partner rund um die Raspberry Pi Plattform.

Wir sind seit den Anfängen des beliebten Einplatinencomputers (2012) am Markt. Wir verfügen über umfangreiche Industriekontakte, Spezialwissen und viel Erfahrung mit der Raspberry Pi Plattform. Zuverlässigkeit, Ehrlichkeit und Kommunikation auf Augenhöhe sind für uns wichtig.

Bitte wählen Sie einen unserer drei Geschäftsbereiche (Eigene Produkte / Value Added Distribution / Maker & Biohacker Shop) um mehr über uns zu erfahren:

Eigene Produkte

pi3g entwickelt und stellt in Kooperation mit Partnern eigene Produkte her. Die Produkte sind entweder für den Raspberry Pi gedacht, oder basieren auf dem Raspberry Pi.

Hervorzuheben ist insbesondere LetsTrust, das erste TPM Modul für die Raspberry Pi Plattform.

Ein Produkt für den Consumerbereich hingegen ist unsere beliebte Anonymebox.

Value Added Distribution

Wir unterstützen Sie mit Rat und Tat bei großen und kleinen Mengen an Ware, Sonderbeschaffungen rund um den Raspberry Pi Bereich - fragen Sie uns für ein Angebot an, es lohnt sich!

Über das reine Produktsortiment aus beraten wir Sie gerne zu Einsatzmöglichkeiten der Raspberry Pi Computerplattform, um Ihre Computerinfrastruktur zu optimieren, Ihre Betriebskosten zu senken, und neues wirtschaftliches Potential zu erschließen.

Maker & Biohacker Online Shop

In unserem eigenen Onlineshop buyzero.de bieten wir Dir eine reiche Auswahl von Produkten rund um den Maker- und Biohacker Bereich.

Natürlich steht der Raspberry Pi auch hier im Mittelpunkt - wir bieten das komplette Sortiment und Zubehör der Raspberry Pi Foundation.

Viele Markenartikel von Pimoroni, Adafruit und anderen Herstellern runden das Sortiment ab. Schau doch einfach vorbei!

VerneMQ: econnrefused & Webhook example

Von Maximilian Batz | 2019-05-20

Webhooksactivate webhooks like this in your vernemq.conf.local (.local when running on docker, so that settings at bottom of the file will persist):plugins.vmq_webhooks = onvmq_webhooks.js_auth_on_register.hook = auth_on_register vmq_webhooks.js_auth_on_register.endpoint = http://container_picockpit:1200/example/pathNote that if your webhook is not accessible (econnrefused), the db based authentication will also fail … ! If you get errors like the following:jalpine_morpheus | 17:11:10.394 […]

envoy serving a static response

Von Maximilian Batz | 2019-05-20

Besides routing and redirecting you can serve static responses with Envoy. In this case I want to serve a forbidden response (403) route_config:   virtual_hosts:   – name: picockpit     domains: [„picockpit.local:443“, „picockpit.local“]     routes:       – match: { prefix: „/demo“ }         direct_response:           status: 403           body:             inline_string: „Forbidden.“        – match: {prefix: „/“}         route: {cluster: target_picockpit} It can also serve […]

Python Paho MQTT client self-signed certificates websockets, howto

Von Maximilian Batz | 2019-05-19

Using Paho in Python with websockets and self-signed certificates for a https:// websocket connection has a couple of pitfalls, so I’m addressing this with some sample code here: import ssl import time import paho.mqtt.client as mqtt class PCPMQTTClient:     def on_connect(self, client, userdata, flags, rc):         self.connection_status = rc         if rc == 0:             self.connected_flag = True             self.connection_error_flag […]

VerneMQ Docker overwrites my configuration

Von Maximilian Batz | 2019-05-19

Situation You edit vernemq.conf, only to find that your configuration is overwritten by VerneMQ on the next start (using the official Docker container). Specifically, the section with the listeners at the end of the file is “forced upon you”. Solution VerneMQ is started using a script (start_vernemq). The script can be seen here: https://github.com/vernemq/docker-vernemq/blob/master/bin/vernemq.sh The […]

envoy not connecting to VerneMQ for MQTT over websockets, error code 503

Von Maximilian Batz | 2019-05-19

Some quick background information for anyone running into the same issues, and how to debug them. Error code 503 This is the error code I am getting: Error during WebSocket handshake: Unexpected response code: 503. Set envoy logging to debug Here’s my docker-compose.yaml for envoy: version: ‚3.7‘ services:   envoy:     build:       context: ./       dockerfile: Dockerfile     container_name: […]

envoy websockets per route configuration, JavaScript test setup

Von Maximilian Batz | 2019-05-19

In my article yesterday I discussed the configuration & test of envoy for proxying websockets at length. Today I would like to add some additional information. correct syntax for websocket upgrade per route You can enable websocket upgrade per route. No need to add it globally: – name: envoy.http_connection_manager    config:      #upgrade_configs:      #  – upgrade_type: websocket      […]

envoy, docker and websockets – debugging and configuration

Von Maximilian Batz | 2019-05-18

Websockets are an exciting technology, allowing you to upgrade a HTTP connection to a long-running persistent binary connection, which you can use to send bi-directional messages. As an aside, the MQTT protocol can be transported using websockets – which is the only (?) way for a JavaScript client delivered by the website, for instance. In […]

correct way to instantiate Paho Client in JavaScript for wss (secure websocket)

Von Maximilian Batz | 2019-05-17

The Paho documentation is unfortunately quite fragmented at the moment, and some links on Eclipse’s website do not work. Here are some working links (as of 05/2019): https://www.eclipse.org/paho/clients/js/ https://www.eclipse.org/paho/files/jsdoc/index.html https://github.com/eclipse/paho.mqtt.javascript And here’s a fantastic website by Steve: http://www.steves-internet-guide.com/using-javascript-mqtt-client-websockets/ There is an important breaking change in the Paho namespace, where you will run into trouble using […]

Understanding Erlang & Lua / Luerl for VerneMQ MongoDB auth_on_register hook

Von Maximilian Batz | 2019-05-12

My goal / TLDR My goal with this blog post is to explain how to set custom mountpoints for VerneMQ by modifying the shipped MongoDB auth Lua script  (lua/auth/mongodb.lua). Setting a custom mountpoint is possible with VerneMQ not only by setting mountpoints manually for specific listeners (e.g. ports), but also programmatically during authorization in your […]

mongo_orm Exception: missing bson key: publish_acl (Exception)

Von Maximilian Batz | 2019-05-10

When you extend your field definitions in the mongo_orm document classes, specifically with embedded documents, you might run into the following runtime (!) error: Exception: missing bson key: <name> (Exception) This is not an error in your code – your code is raising, because the database structure is not as it expects it to be! […]