Deprecated: Return type of WP_Theme::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/class-wp-theme.php on line 554

Deprecated: Return type of WP_Theme::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/class-wp-theme.php on line 595

Deprecated: Return type of WP_Theme::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/class-wp-theme.php on line 533

Deprecated: Return type of WP_Theme::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/class-wp-theme.php on line 542

Deprecated: Return type of WP_REST_Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/rest-api/class-wp-rest-request.php on line 920

Deprecated: Return type of WP_REST_Request::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/rest-api/class-wp-rest-request.php on line 940

Deprecated: Return type of WP_REST_Request::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/rest-api/class-wp-rest-request.php on line 952

Deprecated: Return type of WP_REST_Request::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/rest-api/class-wp-rest-request.php on line 963

Deprecated: Return type of Requests_Cookie_Jar::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/Requests/Cookie/Jar.php on line 63

Deprecated: Return type of Requests_Cookie_Jar::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/Requests/Cookie/Jar.php on line 73

Deprecated: Return type of Requests_Cookie_Jar::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/Requests/Cookie/Jar.php on line 89

Deprecated: Return type of Requests_Cookie_Jar::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/Requests/Cookie/Jar.php on line 102

Deprecated: Return type of Requests_Cookie_Jar::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/Requests/Cookie/Jar.php on line 111

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 40

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 51

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 68

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 82

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 91

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/class-wp.php on line 173

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/wp-db.php on line 2975

Warning: Cannot modify header information - headers already sent by (output started at /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/Requests/Cookie/Jar.php:15) in /var/www/virtual/ruebe/bedrock/web/wp/wp-includes/feed-rss2.php on line 8
Seite nicht gefunden – RübesBastelBlog https://ruebe.uber.space Fantastisches und Skurriles Mon, 31 Aug 2020 12:59:34 +0000 de-DE hourly 1 https://wordpress.org/?v=5.4.1 Totale Überwachung https://ruebe.uber.space/2020/08/29/totale-ueberwachung/ Sat, 29 Aug 2020 07:27:37 +0000 https://ruebe.uber.space/?p=14 Read More

]]>
Drei Wochen, bevor ein sehr guter Freund seine Minderjährigkeit verlieren sollte, meldete sich eine Gruppe auf WhatsApp, die scheinbar der „aktuellen Situation“ (Covid19 und Abstandsregeln) zum Trotz einen gelungenen 18. Geburtstag organisieren wollten.

Man diskutierte eine Schnitzeljagd, welche vom Geburtstagskind zu bestehen sei. Als Fortbewegungsmittel wurde das Fahrrad gewählt und die Strecke kreuz und Quer durch die Stadt geplant. Noch bis zu diesem Zeitpunkt war alles fast normal, bis die Diskussion sich um die Art und Weise der Hinweise, für die jeweils folgende Station, drehte. Alle guten Manieren und den Datenschutz in die Ecke zum schämen gestellt, schlug ich vor, die Aufgaben mittels Webseite mit Positionsortung zu realisieren.

Das kommt davon wenn man blöde Ideen vorschlägt, man darf sie umsetzen…

Also gesagt, getan, noch am gleichen Abend entstand eine kleine Testseite mit einer Open-Street-Map Karte und dem besagten Tracking. Schon auf dem Smartphone ging das wieder nicht, weil die Browser mittlerweile darauf achten, dass Tracking nur bei Seiten mit HTTPS funktionieren. Also musste der kram im Internet auf meinem Server einziehen. „Geht doch“, die Position wird auf der Karte angezeigt und stimmt sogar relativ gut.

Geofencing

Geografische Zäune, die mittels Ortung funktionieren. Die einfache Variante:

Man nehme einen Punkt und messe die Distanz, ist diese kleiner als ein vorgegebener Wert, ist man in der gewünschten Zone oder umgekehrt eben außerhalb. Wozu das alles gut ist, wird klar, wenn man sich die Wege ansieht, die geplant wurden. Vom Start geht es quasi immer kreuz und quer über das „Spielfeld“ und unser Spieler, das Geburtstagskind, muss von einer Mission zur anderen. Zu einem sollen die Stationen der Reihe nach und vor allem nicht aus versehen aktiviert werden.

Stationen

Die Stationen sind daher auf dem Server so realisiert, dass die Station erst aktiv wird, wenn die vorherige abgeschlossen und der Spieler sich innerhalb eines Umkreis von ca. 20m der zugewiesenen Position befindet.

Damit die Stationen auch gespielt werden, hat jede Station einen Zustand, der die Phasen (Anreise, Erreichen, Aufgabe, Gelöst) unterscheidet. So wird der Hinweis auf die nächste Station erst nach dem Beantworten oder Erfüllen einer Aufgabe angezeigt.

Überwachung, aber natürlich…

Nun wäre die Geschichte kurz und Langweilig, wenn hier einfach nur eine weitere Geocaching-App gebaut würde. Um den Effekt auf die Spitze zu treiben, wurde ein Tracking und eine Übersicht entwickelt, die den anderen „Gästen“ jederzeit den Standort des Geburtstagskind anzeigt.

Karte mit Satellitenansicht (Symbolbild für die Überwachung)

So konnten die Teilnehmer jederzeit nach verfolgen und vor allem auf die Situation reagieren.

Was zeigt uns das?

Auf der einen Seite waren alle (!) Beteiligten beeindruckt, welche Möglichkeiten sich mit Smartphones und etwas Programmierung ergeben. Andererseits, ergaben sich abends auch Fragen zur Sicherheit und der Möglichkeit Menschen zu überwachen. Letztendlich war das Projekt ein zweifach durchschlagender Erfolg:

  1. Es hat allen Spaß gemacht und dem Geburtstagskind einen unglaublichen und spannenden 18. Geburtstag bereitet.
  2. Die Beteiligten machen sich etwas mehr Gedanken um den Schutz ihrer Privatsphäre.

So gesehen ein Win – Win – Projekt

Technische Details

Verwendet habe ich, für den Server NodeJS mit ExpressJS und Socket.IO, für die „App“ HTML, CSS, JS. Speziell für das Tracking habe ich die Browserfunktion für Geolocation genutzt. Wer sich dafür interessiert möge bei Mozilla vorbeischauen. Die Gäste hatten mit Open-Street-Map und Leaflet.JS eine gute Karte für die Überwachung.

Weitere Informationen folgen …

]]>
Willkommen https://ruebe.uber.space/2020/08/06/hallo-welt/ Thu, 06 Aug 2020 19:57:15 +0000 https://ruebe.uber.space/?p=1 Es geht langsam los, RuebesBastelBlog wird eine zusammenstellung aus verschiedenen Bastelprojekten, die mir so im Laufe meines Lebens unter das Werkzeug kommen.

Unter Anderem werde ich hier Themen zur Gebäude-Leit-Technik im Vogelnest, Netzwerke, IoT, 3D-Druck, Lasercutting, Garten, Natur und vielem mehr behandeln.

schaut euch gerne um und Viel Spaß

euer Rübe

Weiter zu den Projekten

]]>