
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

Вещи, которые нам понадобятся:
- Raspberry Pi с Raspbian
- Touch Sensor от adafruit
- Источник питания (аккумулятор / постоянный ток)
- Ethernet или WiFi для Raspberry Pi
- Другой компьютер
Шаг 1. Настройка оборудования Raspberry Pi


Сначала подключите наш сенсорный датчик к контактам GPIO на Raspberry Pi. Используйте несколько гибких кабелей
Определите 3 контакта на нашем датчике:
- GND - подключить к контакту заземления
- VCC - подключение к выводу 5 В
- SIG - подключиться к сигнальному штифту
В этом примере мы будем использовать 5V, землю и GPIO 18 на нашем Raspberry Pi.
Шаг 2: Настройка нашей среды на Raspberry Pi

Получите IP-адрес нашего Raspberry Pi.
Затем подключитесь к нашему Raspberry Pi по ssh:
ssh имя пользователя @ ipaddress
затем введите наш пароль.
Как только мы вошли, установите apache2 в качестве нашего веб-сервера, набрав:
sudo apt-get install apache2
Шаг 3. Разработайте фрагмент кода 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, и мы увидим, что наш репортер настроения работает!
Попробуйте разные типы сенсорных команд, и страница должна автоматически обновиться, чтобы отразить это!
Рекомендуемые:
Узкополосный Интернет вещей: интеллектуальное освещение и замеры прокладывают путь к лучшей и здоровой экосистеме: 3 шага

Узкополосный Интернет вещей: интеллектуальное освещение и замеры прокладывают путь к лучшей и здоровой экосистеме: автоматизация нашла свое применение почти во всех секторах. Автоматизация увидела свет, начиная с производства и заканчивая здравоохранением, транспортом и цепочкой поставок. Что ж, все это, несомненно, привлекательно, но есть одно, которое кажется
Интернет вещей с NodeMCU и MQTT: 4 шага

IoT с NodeMCU и MQTT: [En] Однажды для промышленного применения мне нужно было сделать печатную плату с 8 сухими контактами, немного поигравшись с MQTT, и я решил адаптировать ее для работы с помощью NodeMCU esp-f v4. Чтобы упростить создание недорогой домашней автоматизации. [Pt-Br] Cert
(IoT) Интернет вещей с Ubidots (ESP8266 + LM35): 4 шага

(IoT) Интернет вещей с Ubidots (ESP8266 + LM35): сегодня мы собираемся научиться использовать платформу Ubidots для удобной визуализации данных через Интернет
Схемы привязки и Интернет вещей: 3 шага

Схемы привязки и Интернет вещей: в этом упражнении дети узнают, как Интернет вещей может способствовать повышению энергоэффективности дома. Они построят миниатюрный дом, используя схемы привязки, и запрограммируют различные устройства через ESP32, в частности: мониторинг параметров окружающей среды
SaferWork 4.0 - Промышленный Интернет вещей для безопасности: 3 шага

SaferWork 4.0 - Промышленный Интернет вещей для безопасности: Описание проекта: SaferWork 4.0 предназначен для предоставления экологических данных промышленных зон в режиме реального времени. Доступные в настоящее время нормы, такие как OHSAS 18001 (серия оценок профессионального здоровья и безопасности) или бразильский NR-15 (нездоровая деятельность)