Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Мобильный ящик для голосования

Компоненты и расходные материалы

Arduino UNO
× 1
Adafruit FONA mini GSM Breakout
× 1
Беспаечный макет, полный размер
× 1
Цветной круглый тактильный кнопочный переключатель Adafruit
× 2
LED (общий)
× 3

Приложения и онлайн-сервисы

Маршрутизатор данных голограммы
Служба IFTTT Maker

Об этом проекте

Фон

Меня восхищает, насколько по-разному каждый из нас обрабатывает информацию и делает выводы. Я в равной степени очарован тем, как давление со стороны сверстников и групповое мышление влияют или напрямую меняют реакцию людей.

Поэтому я подумал, а что, если бы я мог построить машину, которая дала бы мне возможность задавать вопросы группам анонимных и случайных людей? Он должен быть не пугающим (простым) и в среде, свободной от давления со стороны сверстников или других внешних влияний.

Этот проект - мой лучший продукт для решения этой задачи, я называю его «Мобильный ящик для голосования». Для своего первого эксперимента я задал простой, но вызывающий страсть вопрос.

Я разместил мобильный ящик для голосования в случайных местах в Чикаго и Лас-Вегасе. Здесь вы можете увидеть ответы каждого.

Мобильный ящик для голосования работает от батареи и передает каждый голос по сотовой сети, что позволяет легко настроить и забыть. Детали стоят около 50 долларов, но их можно было бы изготовить и за 6 долларов, если бы вы все закупали через AliExpress.

Сотовая связь бесплатна от Hologram.io. Их план разработчика позволяет мне получать бесплатную глобальную SIM-карту плюс 1 МБ бесплатных данных в месяц (что соответствует примерно 2000 бесплатных пакетов данных для голосования в месяц). Закажите бесплатную SIM-карту разработчика сегодня, используя промокод BUDS-WITH-BENSTR для бесплатной доставки и небольшого кредита.

** Полное раскрытие информации:я работаю в Hologram, поэтому вы увидите, как я создаю кучу тусовок для Интернета вещей, основанных на сотовой связи. **

Было бы замечательно повторить эту идею и в конечном итоге прийти к конструкции, достаточно надежной, чтобы у нас могло быть несколько сотен мобильных ящиков для голосования по всему миру, каждый день задавая миру новый вопрос и делая данные общедоступными.

Как мы создадим мобильный ящик для голосования

С высокого уровня мы будем работать в обратном направлении - начиная с выхода, продвигаясь к входу.

  • Сначала мы создадим апплет IFTTT для передачи данных в электронную таблицу Google.
  • Затем мы активируем нашу SIM-карту, настроим маршрут данных и проверим с помощью фиктивных данных.
  • Наконец, мы подключим наше оборудование и перепрограммируем устройство.
  • А теперь задайте интригующий вопрос и поставьте коробку в общественное место.

Понимание того, куда идут данные.

Каждый раз, когда записывается голосование, наше устройство отправляет строку данных в Маршрутизатор данных голограммы. Маршрутизатор данных преобразует String в объект JSON и отправляет его на IFTTT Webhook. IFTTT добавляет каждый голос в таблицу Google.

На первый взгляд это может показаться чрезмерным, но каждый элемент играет уникальную и важную роль.

  • Хранилище данных голограмм используется, поскольку он отлично справляется со сложностью отправки данных из модуля SIMCom в облако.
  • Маршрутизатор данных голограммы используется, потому что он отлично справляется с преобразованием моих минимальных строковых данных в формат JSON, который требуется IFTTT. Это также дает мне возможность добавлять другие интеграции без необходимости изменять код моего устройства.
  • IFTTT используется, потому что он отлично подходит для абстрагирования сложных интеграций с другими облаками, в нашем случае с Google Таблицами.
  • Google Таблицы используется только потому, что.

1. IFTTT

  • Перейдите в IFTTT, войдите или создайте учетную запись
  • Создать новый апплет
  • 1 из 6. Выберите Веб-перехватчик . сервис
  • 2 из 6. Выберите Получить веб-запрос . триггера, назовите событие " голосование "и создайте триггер.
  • 3 из 6. Выберите Google Диск . сервис
  • 4 из 6. Выберите действие Добавить строку в таблицу .
  • 5 из 6. Заполните поля действий, посмотрите изображение ниже (если вы его проигнорируете, все будет работать нормально).
  • 6 из 6. Завершить апплет!
  • ВАЖНО - Скопируйте ключ веб-перехватчика (последняя часть URL-адреса). Найдите свой уникальный ключ веб-перехватчика IFTTT здесь:https://ifttt.com/services/maker_webhooks/settings

2. Голограмма

Создать новое устройство

  • Зайдите на Hologram.io, войдите или создайте учетную запись
  • Активируйте свою SIM-карту или выберите существующее устройство.
  • Примечание. При активации новой SIM-карты автоматически создается новое устройство.
  • Назовите устройство как хотите, например Голосуйте за номер 1 .

Создать новый маршрут данных

  • В левой навигационной панели выберите "Маршруты" и добавьте новый маршрут.
  • IN:введите тему " голосование "
  • ВЫХОД:выберите IFTTT Maker Webhook.
  • Ключ веб-перехватчика:вставьте ключ веб-перехватчика IFTTT в это поле (последний шаг в инструкциях IFTTT выше).
  • Событие:голосование
  • Данные: {"value1":"Пицца:в стиле Чикаго или Нью-Йорка?", "value2":"<>"}
  • Создать маршрут

3. Тестовый маршрут и веб-перехватчик

  • Перейдите в "Устройства"> выберите свое устройство> "Сообщения"> "Имитировать с устройства".
  • Отправить данные чикаго по теме проголосовать
  • Консоль голограммы должна появиться и показать успешный маршрут.
  • Если вы перейдете на Google Диск и откроете электронную таблицу, должна появиться новая запись.
  • Если у вас есть ошибки или данные не поступают, просмотрите приведенные выше сведения.
  • Если вам не удается заставить его работать, обратитесь за помощью на https://community.hologram.io

4. Аппаратное обеспечение

  • Возьмите ключ устройства маршрутизатора данных с панели управления голограммой.
  • Устройства> выберите устройство> Настроить> Показать учетные данные CSR
  • Ознакомьтесь со схемой и эскизным кодом ниже.
  • Не забудьте заменить ключ устройства в глобальной переменной.

Наслаждайтесь!

Код

  • Код Arduino для мобильного блока голосования - v1
Код Arduino для мобильного блока голосования - v1 C / C ++
Вам нужно будет вручную добавить библиотеку HologramSIMCOM в вашу Arduino IDE - 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 "########" // замените ключ SIM-карты # define CONNECT_LED 12 # define VOTE1_BTN_PIN 6 # определить VOTE1_LED_PIN 7 # определить VOTE2_BTN_PIN 9 # определить VOTE2_LED_PIN 10 ГолограммаSIMCOM Голограмма (TX_PIN, RX_PIN, RESET_PIN, HOLO_KEY); // Создание экземпляра HologramString VOTE1_VALUE ="chicago"; String VOTE2_VALUE ="newYork"; String HOLOGRAM_TOPIC ="vote"; void setup () {Serial.begin (19200); в то время как (! серийный); // Запускаем модем и подключаемся к глобальной сети Голограммы Hologram.debug (); // устанавливаем режимы используемых выводов pinMode (CONNECT_LED, OUTPUT); pinMode (VOTE1_BTN_PIN, INPUT); pinMode (VOTE1_LED_PIN, OUTPUT); pinMode (VOTE2_BTN_PIN, INPUT); pinMode (VOTE2_LED_PIN, ВЫХОД); bool cellConnected =Hologram.begin (19200, 8888); // установить скорость 19200 и запустить сервер на порту 8888 if (cellConnected) {digitalWrite (CONNECT_LED, HIGH); }} void loop () {Hologram.debug (); если (digitalRead (VOTE1_BTN_PIN) ==HIGH) {sendVote (VOTE1_VALUE, VOTE1_LED_PIN); } если (digitalRead (VOTE2_BTN_PIN) ==HIGH) {sendVote (VOTE2_VALUE, VOTE2_LED_PIN); }} void sendVote (String VOTE_VALUE, const int VOTE_LED) {digitalWrite (VOTE_LED, HIGH); // отправляем на маршрутизатор данных голограммы if (Hologram.send (VOTE_VALUE, HOLOGRAM_TOPIC)) {// мигающий светодиод, если голосование прошло успешно // это дерьмовый код, подумайте о рефакторинге digitalWrite (VOTE_LED, LOW); задержка (100); digitalWrite (VOTE_LED, HIGH); задержка (100); digitalWrite (VOTE_LED, LOW); задержка (100); digitalWrite (VOTE_LED, HIGH); задержка (100); digitalWrite (VOTE_LED, LOW); } еще {digitalWrite (VOTE_LED, LOW); }} 

Схема


Производственный процесс

  1. Коробка сока
  2. Черный ящик
  3. Робот-бокс для компакт-дисков Raspberry Pi
  4. С# — Классы
  5. С# — перегрузка оператора
  6. UVC Box - УФ-стерилизатор для самостоятельного изготовления
  7. UnifiedWater v1
  8. Действительно умная коробка
  9. Погодное окно Arduino + ESP
  10. Что такое рамочный вырез?