Spisu treści:

IoT - przenośny rejestrator nastroju: 4 kroki
IoT - przenośny rejestrator nastroju: 4 kroki

Wideo: IoT - przenośny rejestrator nastroju: 4 kroki

Wideo: IoT - przenośny rejestrator nastroju: 4 kroki
Wideo: Hardgroup #2 - Przykład praktycznego zastosowania AVR - przenośny rejestrator pogodowy 2024, Listopad
Anonim
IoT - przenośny rejestrator nastroju
IoT - przenośny rejestrator nastroju

Rzeczy, których będziemy potrzebować:

  • Raspberry Pi z Raspbian
  • Czujnik dotykowy od adafruit
  • Źródło zasilania (akumulator/prąd stały)
  • Ethernet lub WiFi dla Raspberry Pi
  • Inny komputer

Krok 1: Konfigurowanie naszego sprzętu Raspberry Pi

Konfigurowanie naszego sprzętu Raspberry Pi
Konfigurowanie naszego sprzętu Raspberry Pi
Konfigurowanie naszego sprzętu Raspberry Pi
Konfigurowanie naszego sprzętu Raspberry Pi

Najpierw podłącz nasz czujnik dotykowy do pinów GPIO na naszym Raspberry Pi. Użyj elastycznych kabli

Zidentyfikuj 3 piny na naszym czujniku:

  • GND - podłącz do pinu uziemienia
  • VCC - podłącz do pinu 5V
  • SIG - połącz z pinem sygnałowym

W tym przykładzie użyjemy 5V, uziemienia i GPIO 18 na naszym raspberry pi.

Krok 2: Konfigurowanie naszego środowiska na Raspberry Pi

Konfigurowanie naszego środowiska na Raspberry Pi
Konfigurowanie naszego środowiska na Raspberry Pi

Uzyskaj adres IP naszego Raspberry Pi.

Następnie połącz się z naszym raspberry pi za pomocą ssh:

ssh nazwa_użytkownika@ipaddress

następnie wpisz nasze hasło.

Gdy już jesteśmy, zainstaluj apache2 jako nasz serwer WWW, wpisując:

sudo apt-get zainstaluj apache2

Krok 3: Zaprojektuj fragment kodu Pythona, aby odczytać dane wejściowe z naszego czujnika

Zaprojektuj fragment kodu Pythona, aby odczytać dane wejściowe z naszego czujnika
Zaprojektuj fragment kodu Pythona, aby odczytać dane wejściowe z naszego czujnika

Projekt

W naszym przykładowym kodzie używamy kilku różnych poleceń.

Aby zaznaczyć, że jesteśmy szczęśliwi, wykonujemy 2 długie naciśnięcia

Aby wskazać, że jesteśmy smutni, wykonujemy jedno krótkie dotknięcie i jedno długie naciśnięcie

Aby wskazać, że jesteśmy zdezorientowani, wykonujemy jedno krótkie stuknięcie, czekamy na takt, a następnie dwa krótkie stuknięcia. Aby wskazać, że jesteśmy szczęśliwi, wykonujemy jedno krótkie dotknięcie, jedno krótkie odstępy i jedno długie naciśnięcie

Aby wskazać, że się nudzimy, wykonujemy 3 krótkie stuknięcia

Tłumaczenie ich na polecenia tekstowe: (t dla krótkiego stuknięcia, T dla długiego naciśnięcia, g dla krótkiej przerwy, G dla długiej przerwy)

szczęśliwy: TgT

smutny: tgT

zdezorientowany: tGtgt

znudzony: tgtgt

Następnie nasz kod wyśle nasz aktualny nastrój do przyjaznego dla przeglądarki pliku html do serwowania.

Kod

importuj RPi. GPIO jako czas importu GPIO

GPIO.oczyszczanie()

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

liczba_dotknięć = 0

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

def cmd():

global current_cmd if current_cmd[-3:] == "TgT": current_cmd = "" mood("Smutny") if current_cmd[-3:] == "tgT": current_cmd = "" mood("Szczęśliwy") if current_cmd [-5:] == "tGtgt": current_cmd = "" mood("Zmieszany") if current_cmd[-5:] == "tgtgt": current_cmd = "" mood("Znudzony")

def nastrój(nastrój):

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

Przenośny rejestrator nastroju

Hej, mój ostatni nastrój to

{}

"""

file.write(html.format(nastrój))

podczas (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.oczyszczanie()

Konfiguracja do pracy z naszym serwerem internetowym

wpisz lub prześlij powyższy plik Pythona do naszej lokalizacji serwera WWW, który jest domyślnie /var/www/html

cd /var/www/html

sudo nano touch.py

Następnie wpisz powyższy kod

Krok 4: Uruchom nasz serwer, aby zobaczyć go w akcji

Uruchom nasz serwer, aby zobaczyć go w akcji!
Uruchom nasz serwer, aby zobaczyć go w akcji!

cd /var/www/html

sudo python touch.py

Następnie wpisz adres IP naszego Raspberry Pi, wtedy powinniśmy zobaczyć, jak działa nasz reporter nastroju!

Wypróbuj różne typy poleceń dotykowych, a strona powinna się automatycznie odświeżyć, aby to odzwierciedlić!

Zalecana: