in- en uitschakelen van een systemd service in Python met behulp van DBus

De komende picockpit-client reageert op verwijderingsgebeurtenissen van de frontend door zijn service uit te schakelen (de applicatie blijft echter wel geïnstalleerd). Op dezelfde manier, wanneer je beslist om picockpit-client connect opnieuw te starten, zal de service opnieuw ingeschakeld worden en automatisch voor je opgestart worden. Dit is mogelijk door gebruik te maken van de Python DBus interface. De DBus is een bussysteem voor interactie...

Weiterlesen

Hoe unieke object ids in te stellen in ingesloten documenten in een MongoDB collectie

updateMany van MongoDB kan gebruikt worden om alle documenten die overeenkomen bij te werken. Probleem Als, echter, je wilt unieke nieuwe ObjectID's in te stellen in uw update, zou je merken dat MongoDB stelt dezelfde ObjectID voor elk item: db.getCollection('mypis_collectedpis').updateMany({}, {$set: {apps: {"com.picockpit/core": {meta: {versie: "2.0", naam: "PiCockpit Core", image: "", description: "PiCockpit.com...

Weiterlesen

overschakelen van JSON naar MsgPack op een achterwaartse compatibele manier met Paho MQTT (JavaScript)

picockpit.com maakt veel gebruik van MQTT. Voor de komende versie 2.0 heb ik besloten om over te schakelen naar MsgPack. Waarom MsgPack? MsgPack (eigenlijk MessagePack genoemd - packages gebruiken meestal MsgPack) is een binair formaat, gericht op compatibiliteit met JSON, maar vermindert de bestandsgrootte (wat goed is voor het besparen van bandbreedte & server resources). Een ander voordeel:...

Weiterlesen

Omgaan met NIL in JSON::Any in Crystal Lang

Een van de uitdagingen bij het ontwikkelen met Crystal is dat het niet zo vergevingsgezind is met betrekking tot datatypes als, laten we zeggen, Python of Ruby. nil zal je bezig houden. De volgende foutmelding: cast from Nil to String failed, in /usr/share/crystal/src/json/any.cr:220:5:220 kan opgelost worden door: # cast naar string, DAN controleren of het nil is als...

Weiterlesen

Chromium exit code -5

Terwijl het uitvoeren van Chromium met chromium-browser -display=:0 https://www.picockpit.com u in staat stelt om Chromium te starten vanaf een SSH-verbinding (en het zal uitvoer geven naar het hoofdscherm in de X Server), zal dit mislukken wanneer u het probeert uit te voeren met subprocess.Popen in Python: "command": ["chromium-browser", "-display=:0", "https://picockpit.com"] (dit is een deel van het JSON formaat dat ik heb...

Weiterlesen

beveiligde commando uitvoering met Python: subprocess.Popen

Beveiliging is belangrijk voor mij tijdens het ontwikkelen van de picockpit-client. Het volgende is van toepassing op Linux systemen (maar is waarschijnlijk van toepassing op alle Unix-achtige systemen, inclusief macOS) Python maakt het mogelijk om externe commando's uit te voeren met behulp van de subprocess module. importeer subprocess In de komende versie van PiCockpit, zullen gebruikers in staat zijn om hun eigen knoppen te maken (gewoon bewerken...

Weiterlesen

TermiShell: een webgebaseerde schil voor de Raspberry Pi (ontwikkelingsnota's)

Inleiding In de loop van de ontwikkeling van PiCockpit, ga ik een web-gebaseerde Terminal genaamd TermiShell toevoegen. TermiShell pictogram, door: Stephanie Harvey via unsplash.com TermiShell gaat het mogelijk maken om in te loggen op je Raspberry Pi met behulp van PiCockpit.com (en de picockpit-client) - geen extra applicatie nodig aan beide kanten. Dit zou zeer comfortabel moeten zijn,...

Weiterlesen

Aanmaken van configuratiebestanden in /etc in Debian pakketten

Ik werk momenteel aan een bijgewerkte picockpit-client versie, die bijkomende configuratiebestanden zou moeten toevoegen in /etc/picockpit-client voor de individuele modules (PiDoctor & PiControl). picockpit-client is een Raspbian package voor picockpit.com, die het Web platform koppelt met uw individuele Raspberry Pi. Aangezien Raspbian gebaseerd is op Debian, geldt de volgende informatie voor de algemene verpakking voor...

Weiterlesen

Eclipse Paho MQTT JavaScript Documentatie

Helaas linkt de officiële Eclipse pagina, die je gemakkelijk met Google kunt vinden, NIET naar de documentatie zelf (tenminste niet voor zover ik het kan zien). De link naar de documentatie zelf is deze: https://www.eclipse.org/paho/files/jsdoc/Paho.MQTT.Client.html Happy coding.

Weiterlesen