Оглавление:

Интернет вещей - Portable Mood Reporter: 4 шага
Интернет вещей - Portable Mood Reporter: 4 шага

Видео: Интернет вещей - Portable Mood Reporter: 4 шага

Видео: Интернет вещей - Portable Mood Reporter: 4 шага
Видео: Лапенко – новая звезда русского интернета / Lapenko – a new internet star 2024, Июль
Anonim
Интернет вещей - Portable Mood Reporter
Интернет вещей - Portable Mood Reporter

Вещи, которые нам понадобятся:

  • Raspberry Pi с Raspbian
  • Touch Sensor от adafruit
  • Источник питания (аккумулятор / постоянный ток)
  • Ethernet или WiFi для Raspberry Pi
  • Другой компьютер

Шаг 1. Настройка оборудования Raspberry Pi

Настройка оборудования Raspberry Pi
Настройка оборудования Raspberry Pi
Настройка оборудования Raspberry Pi
Настройка оборудования Raspberry Pi

Сначала подключите наш сенсорный датчик к контактам GPIO на Raspberry Pi. Используйте несколько гибких кабелей

Определите 3 контакта на нашем датчике:

  • GND - подключить к контакту заземления
  • VCC - подключение к выводу 5 В
  • SIG - подключиться к сигнальному штифту

В этом примере мы будем использовать 5V, землю и GPIO 18 на нашем Raspberry Pi.

Шаг 2: Настройка нашей среды на Raspberry Pi

Настройка нашей среды на Raspberry Pi
Настройка нашей среды на Raspberry Pi

Получите IP-адрес нашего Raspberry Pi.

Затем подключитесь к нашему Raspberry Pi по ssh:

ssh имя пользователя @ ipaddress

затем введите наш пароль.

Как только мы вошли, установите apache2 в качестве нашего веб-сервера, набрав:

sudo apt-get install apache2

Шаг 3. Разработайте фрагмент кода Python для считывания входных данных с нашего датчика

Разработайте фрагмент кода Python для считывания входных данных с нашего датчика
Разработайте фрагмент кода Python для считывания входных данных с нашего датчика

Дизайн

В нашем примере кода мы используем несколько разных команд.

Чтобы показать, что мы счастливы, делаем 2 длинных нажатия

Чтобы указать, что нам грустно, мы делаем одно короткое нажатие и одно долгое нажатие

Чтобы показать, что мы запутались, мы делаем одно короткое нажатие, выжидаем паузу, а затем 2 коротких нажатия. Чтобы показать, что мы счастливы, мы делаем одно короткое нажатие, один короткий промежуток и одно долгое нажатие

Чтобы показать, что нам скучно, делаем 3 коротких нажатия

Преобразование их в строковые команды: (t для короткого нажатия, T для длительного нажатия, g для короткого промежутка, G для большого промежутка)

счастлив: TgT

грустно: tgT

смущает: tGtgt

скучно: tgtgt

Затем наш код выведет наше текущее настроение в HTML-файл, удобный для браузера, для обслуживания.

Код

импортировать RPi. GPIO как GPIO импортировать время

GPIO.cleanup ()

GPIO.setmode (GPIO. BCM) GPIO.setup (18, GPIO. IN)

touch_count = 0

touch_state = 0 touch_duration = 0 gap_duration = 0 current_cmd = ""

def cmd ():

global current_cmd, если current_cmd [-3:] == "TgT": current_cmd = "" настроение ("Грустно"), если current_cmd [-3:] == "tgT": current_cmd = "" настроение ("Счастливо"), если current_cmd [-5:] == "tGtgt": current_cmd = "" настроение ("Запутано") if current_cmd [-5:] == "tgtgt": current_cmd = "" настроение ("Скучно")

def настроение (настроение):

file = open ("index.html", "w") html = """

Портативный репортер настроения

Эй, мое последнее настроение

{}

"""

file.write (html.format (настроение))

в то время как (1):

time.sleep (0.001) if (GPIO.input (18)): if touch_state == 0: if gap_duration> 2000: gap_duration = 0 if gap_duration> 200: current_cmd = current_cmd + "G" else: current_cmd = current_cmd + "g "gap_duration = 0 touch_state = 1 touch_count = touch_count + 1 if touch_state == 1: touch_duration = touch_duration + 1 else: if gap_duration 200: current_cmd = current_cmd +" T "else: current_cmd = current_cmd +" t "touch_duration = 0 cmd ()

GPIO.cleanup ()

Настройка для работы с нашим веб-сервером

введите или загрузите указанный выше файл python в расположение нашего веб-сервера, по умолчанию это / var / www / html

cd / var / www / html

sudo nano touch.py

Затем введите код выше

Шаг 4: Запустите наш сервер, чтобы увидеть его в действии

Запустите наш сервер, чтобы увидеть его в действии!
Запустите наш сервер, чтобы увидеть его в действии!

cd / var / www / html

sudo python touch.py

Затем введите IP-адрес нашего Raspberry Pi, и мы увидим, что наш репортер настроения работает!

Попробуйте разные типы сенсорных команд, и страница должна автоматически обновиться, чтобы отразить это!

Рекомендуемые: