Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Mobile Abstimmungsbox

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
Adafruit FONA Mini-GSM-Ausbruch
× 1
Lötfreies Steckbrett in voller Größe
× 1
Bunter runder taktiler Knopfschalter von Adafruit
× 2
LED (generisch)
× 3

Apps und Onlinedienste

Hologramm-Datenrouter
IFTTT Maker-Dienst

Über dieses Projekt

Hintergrund

Mich fasziniert, wie unterschiedlich jeder von uns Informationen verarbeitet und zu Schlussfolgerungen kommt. Ich bin ebenso fasziniert davon, wie Gruppenzwang und Gruppendenken die Reaktion einer Person beeinflussen oder direkt verändern.

Also fragte ich mich, was wäre, wenn ich eine Maschine bauen könnte, die mir die Möglichkeit gibt, Gruppen anonymer und zufälliger Menschenmengen Fragen zu stellen? Es sollte nicht einschüchternd (einfach) und in einer Umgebung ohne Gruppenzwang oder andere äußere Einflüsse sein.

Dieses Projekt ist mein MVP für die Herausforderung, ich nenne es die Mobile Vote Box. Für mein erstes Experiment habe ich eine einfache, aber leidenschaftliche Frage gestellt.

Ich habe die Mobile Vote Box an zufälligen Orten in Chicago und Las Vegas platziert. Sie können die Antworten aller hier sehen.

Die Mobile Vote Box wird mit Batterie betrieben und überträgt jede Stimme über das Mobilfunknetz, was das Einstellen und Vergessen extrem einfach macht. Teile kosten etwa 50 $, könnten aber für nur 6 $ gebaut werden, wenn du alles über AliExpress beschafft hast.

Die Mobilfunkverbindung ist bei Hologram.io kostenlos. Ihr Developer Plan ermöglicht es mir, eine kostenlose globale SIM-Karte plus 1 MB kostenlose Daten pro Monat zu erhalten (das entspricht etwa 2.000 kostenlosen Abstimmungsdatenpaketen pro Monat). Bestellen Sie noch heute Ihre kostenlose Entwickler-SIM, verwenden Sie den Aktionscode BUDS-WITH-BENSTR für kostenlosen Versand und ein paar $$ Guthaben.

**Vollständige Offenlegung:Ich arbeite für Hologram, Sie werden sehen, wie ich eine Reihe von IoT-Tuts basierend auf Mobilfunkverbindungen mache.**

Es wäre erstaunlich, die Idee zu wiederholen und schließlich zu einem Design zu kommen, das robust genug ist, um ein paar Hundert mobile Abstimmungsboxen auf der ganzen Welt zu haben, die der Welt jeden Tag eine neue Frage stellen und die Daten öffentlich zugänglich machen.

So bauen wir die Mobile Vote Box

Von einem hohen Niveau aus arbeiten wir uns rückwärts - beginnend beim Ausgang, arbeiten wir uns zum Eingang vor.

  • Zuerst erstellen wir ein IFTTT-Applet, um Daten in eine Google-Tabelle zu übertragen.
  • Als Nächstes aktivieren wir unsere SIM-Karte, richten unsere Datenroute ein und überprüfen sie mit Scheindaten.
  • Zuletzt verkabeln wir unsere Hardware und flashen das Gerät.
  • Stellen Sie jetzt eine spannende Frage und stellen Sie die Kiste an einem öffentlichen Ort auf.

Verstehen, wohin die Daten gehen.

Jedes Mal, wenn eine Stimme aufgezeichnet wird, sendet unser Gerät einen Datenstring an den Hologramm-Datenrouter. Der Datenrouter bläst/manipuliert den String in ein JSON-Objekt und sendet ihn an einen IFTTT-Webhook. IFTTT hängt jede Stimme an ein Google Sheet an.

Auf den ersten Blick mag es übertrieben aussehen, aber jedes Element erfüllt eine einzigartige und wichtige Rolle.

  • Hologramm-Datenspeicher wird verwendet, weil es die Komplexität des Sendens von Daten von einem SIMCom-Modul an die Cloud hervorragend abstrahiert.
  • Hologramm-Datenrouter wird verwendet, weil es eine großartige Arbeit leistet, um meine minimalen String-Daten in das JSON-Format zu manipulieren, das IFTTT erfordert. Es gibt mir auch die Freiheit, andere Integrationen hinzuzufügen, ohne meinen Gerätecode ändern zu müssen.
  • IFTTT wird verwendet, weil es großartig ist, komplexe Integrationen in andere Clouds zu abstrahieren, in unserem Fall Google Sheets.
  • Google Tabellen wird nur deswegen verwendet.

1. IFTTT

  • Gehe zu IFTTT, logge dich ein oder erstelle ein Konto
  • Erstelle ein neues Applet
  • 1 von 6:Wählen Sie den Webhook dienst
  • 2 von 6:Wählen Sie Webanfrage empfangen auslösen, benennen Sie das Ereignis "vote " und erstellen Sie den Auslöser.
  • 3 von 6:Wählen Sie Google Drive dienst
  • 4 von 6:Wählen Sie die Aktion Zeile zur Tabelle hinzufügen
  • 5 von 6:Füllen Sie die Aktionsfelder aus, sehen Sie sich das Bild unten an (wenn Sie dies ignorieren, funktioniert alles weiterhin).
  • 6 von 6:Applet fertigstellen!
  • WICHTIG - Kopieren Sie Ihren Webhook-Schlüssel (letzter Teil der URL). Finden Sie Ihren einzigartigen IFTTT-Webhook-Schlüssel hier:https://ifttt.com/services/maker_webhooks/settings

2. Hologramm

Neues Gerät erstellen

  • Gehe zu Hologram.io, logge dich ein oder erstelle ein Konto
  • Aktivieren Sie Ihre SIM-Karte oder wählen Sie ein vorhandenes Gerät aus
  • Hinweis:Durch die Aktivierung einer neuen SIM wird automatisch ein neues Gerät erstellt
  • Benennen Sie dem Gerät einen beliebigen Namen, vielleicht Abstimmen Sie Btn #1

Erstellen Sie eine neue Datenroute

  • Wählen Sie im linken Navigationsbereich Routen aus und fügen Sie eine neue Route hinzu
  • IN:Thema eingeben "abstimmen "
  • OUT:IFTTT Maker Webhook auswählen
  • Webhook-Schlüssel:Fügen Sie Ihren IFTTT-Webhook-Schlüssel in dieses Feld ein (letzter Schritt in den obigen IFTTT-Anweisungen)
  • Veranstaltung:Abstimmung
  • Daten:{"value1":"Pizza:Chicago or New York Style?", "value2":"<>"}
  • Route erstellen

3. Testroute und Webhook

  • Gehen Sie zu Geräte> wählen Sie Ihr Gerät aus> Nachrichten> Vom Gerät simulieren
  • Daten senden chicago zum Thema abstimmen
  • Die Hologramm-Konsole sollte sich öffnen und eine erfolgreiche Route anzeigen
  • Wenn Sie zu Google Drive gehen und die Tabelle öffnen, sollte ein neuer Eintrag erscheinen.
  • Wenn Sie Fehler haben oder die Daten nicht ankommen, überprüfen Sie die obigen Details.
  • Wenn Sie es nicht zum Laufen bringen, bitten Sie um Hilfe unter https://community.hologram.io

4. Hardware

  • Nimm deinen Datenrouter-Geräteschlüssel vom Hologramm-Dashboard.
  • Geräte> Gerät auswählen> Konfigurieren> CSR-Anmeldeinformationen anzeigen
  • Sehen Sie sich den Schaltplan und den Skizzencode unten an.
  • Stellen Sie sicher, dass Sie den Geräteschlüssel in der globalen Variablen ersetzen.

Viel Spaß!

Code

  • Mobile Vote Box Arduino-Code - v1
Mobile Vote Box Arduino-Code - v1C/C++
Sie müssen die HologramSIMCOM-Bibliothek manuell zu Ihrer Arduino-IDE hinzufügen - https://github.com/hologram-io/hologram-SIMCOM
#include #define RX_PIN 2 //SIMCom RX - MCU TX#define TX_PIN 3 //SIMCom TX - MCU RX#define RESET_PIN 4 //SIMCom reset#define HOLO_KEY "########" //mit Ihrem SIM-Schlüssel ersetzen#define CONNECT_LED 12#define VOTE1_BTN_PIN 6# definiere VOTE1_LED_PIN 7#define VOTE2_BTN_PIN 9#define VOTE2_LED_PIN 10HologramSIMCOM Hologramm(TX_PIN, RX_PIN, RESET_PIN, HOLO_KEY); // HologramString instanziieren VOTE1_VALUE ="chicago"; String VOTE2_VALUE ="newYork"; String HOLOGRAM_TOPIC ="vote";void setup () { Serial.begin (19200); while(!Seriell); // Modem starten und mit dem globalen Netzwerk von Hologram verbinden Hologram.debug(); // Modi für verwendete Pins einstellen PinMode (CONNECT_LED, OUTPUT); pinMode (VOTE1_BTN_PIN, INPUT); pinMode (VOTE1_LED_PIN, AUSGANG); pinMode (VOTE2_BTN_PIN, INPUT); pinMode (VOTE2_LED_PIN, AUSGANG); bool cellConnected =Hologram.begin(19200, 8888); // Baud auf 19200 setzen und Server auf Port 8888 starten if (cellConnected) { digitalWrite (CONNECT_LED, HIGH); }}void loop () { Hologram.debug (); if (digitalRead (VOTE1_BTN_PIN) ==HIGH) { sendVote (VOTE1_VALUE, VOTE1_LED_PIN); aufrechtzuerhalten. Wenn (digitalRead (VOTE2_BTN_PIN) ==HIGH) { sendVote (VOTE2_VALUE,VOTE2_LED_PIN); }}void sendVote (String VOTE_VALUE, const int VOTE_LED) { digitalWrite (VOTE_LED, HIGH); // an den Hologramm-Datenrouter senden if(Hologram.send(VOTE_VALUE, HOLOGRAM_TOPIC)) {// LED blinken, wenn die Abstimmung erfolgreich war // Dies ist beschissener Code, erwägen Sie, digitalWrite (VOTE_LED, LOW) umzugestalten; Verzögerung (100); digitalWrite (VOTE_LED, HIGH); Verzögerung (100); digitalWrite (VOTE_LED, LOW); Verzögerung (100); digitalWrite (VOTE_LED, HIGH); Verzögerung (100); digitalWrite (VOTE_LED, LOW); aufrechtzuerhalten. Sonst { DigitalWrite (VOTE_LED, LOW); }}

Schaltpläne


Herstellungsprozess

  1. Saftbox
  2. Blackbox
  3. Raspberry Pi CD-Box-Roboter
  4. C# - Klassen
  5. C# – Überladen von Operatoren
  6. UVC-Box einen DIY-UV-Sterilisator
  7. UnifiedWater v1
  8. Wirklich intelligente Box
  9. Arduino + ESP Weather Box
  10. Was ist ein Box Cut?