İçindekiler:
- Adım 1: Raspberry Pi Donanımımızı Kurma
- 2. Adım: Raspberry Pi'de Ortamımızı Kurmak
- Adım 3: Sensörümüzden Girdiyi Okumak için Bir Python Kodu Parçası Tasarlayın
- Adım 4: Eylemde Görmek için Sunucumuzu Başlatın
Video: IoT - Portable Mood Reporter: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
İhtiyacımız olacak şeyler:
- Raspbian ile Raspberry Pi
- Adafruit'ten Dokunmatik Sensör
- Güç Kaynağı (Pil/DC)
- Raspberry Pi için Ethernet veya WiFi
- başka bir bilgisayar
Adım 1: Raspberry Pi Donanımımızı Kurma
Öncelikle dokunmatik sensörümüzü Raspberry Pi'mizdeki GPIO pinlerine bağlayın. Bazı esnek kablolar kullanın
Sensörümüzdeki 3 pini tanımlayın:
- GND - topraklama pimine bağlayın
- VCC - 5V pin ile bağlantı
- SIG - bir sinyal pinine bağlanın
Bu örnekte ahududu pi'mizde 5V, toprak ve GPIO 18 kullanacağız.
2. Adım: Raspberry Pi'de Ortamımızı Kurmak
Raspberry Pi'mizin IP adresini alın.
Ardından ssh kullanarak ahududu pi'mize bağlanın:
ssh kullanıcıadı@ipadresi
sonra şifremizi yazın.
İçeri girdikten sonra, şunu yazarak apache2'yi web sunucumuz olarak kurun:
sudo apt-get install apache2
Adım 3: Sensörümüzden Girdiyi Okumak için Bir Python Kodu Parçası Tasarlayın
Tasarım
Örnek kodumuzda birkaç farklı komut kullanıyoruz.
Mutlu olduğumuzu belirtmek için 2 uzun basarız
Üzgün olduğumuzu belirtmek için kısa bir dokunuş ve bir uzun basarız
Kafamızın karıştığını belirtmek için kısa bir vuruş yaparız, bir vuruş bekleriz, ardından 2 kısa vuruş yaparız. Mutlu olduğumuzu belirtmek için bir kısa dokunuş, bir kısa boşluk ve bir uzun basış yaparız
Sıkıldığımızı belirtmek için 3 kısa dokunuş yapıyoruz
Bunları dize komutlarına çevirmek:(t kısa dokunuş için, T uzun basış için, g kısa boşluk için, G uzun boşluk için)
mutlu: TgT
üzgün: tgT
kafası karışmış: tGtgt
sıkıldım: tgtgt
Ardından, kodumuzun mevcut ruh halimizi, sunum için tarayıcı dostu bir html dosyasına çıkarmasını sağlayacağız.
kod
RPi. GPIO'yu GPIOimport zamanı olarak içe aktar
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 = ""
tanım cmd():
global current_cmd ise current_cmd[-3:] == "TgT": current_cmd = "" mood("Üzgün") eğer current_cmd[-3:] == "tgT": current_cmd = "" mood("Mutlu") eğer current_cmd [-5:] == "tGtgt": current_cmd = "" mood("Confused") if current_cmd[-5:] == "tgtgt": current_cmd = "" mood("Sıkılmış")
def ruh hali(ruh hali):
dosya = open("index.html", "w") html = """
Taşınabilir Mood Muhabiri
Hey, en son ruh halim
{}
"""
file.write(html.format(ruh hali))
süre(1):
time.sleep(0.001) if(GPIO.input(18)): eğer touch_state==0 ise: gap_duration > 2000 ise: gap_duration = 0 eğer gap_duration > 200 ise: current_cmd = current_cmd + "G" başka: current_cmd = current_cmd + "g " gap_duration = 0 touch_state = 1 touch_count = touch_count + touch_state==1: touch_duration = touch_duration + 1 ise: gap_duration 200 ise: current_cmd = current_cmd + "T" başka: current_cmd = current_cmd + "t" touch_duration = 0 cmd()
GPIO.cleanup()
Web sunucumuzla çalışmak için kurulum
yukarıdaki python dosyasını web sunucusu konumumuza yazın veya yükleyin, varsayılan olarak /var/www/html olarak ayarlanmıştır
cd /var/www/html
sudo nano touch.py
Ardından yukarıdaki kodu yazın
Adım 4: Eylemde Görmek için Sunucumuzu Başlatın
cd /var/www/html
sudo python touch.py
Ardından Raspberry Pi'mizin IP adresini yazın, ardından ruh hali muhabirimizin çalıştığını görmeliyiz!
Farklı türde dokunma komutları deneyin ve sayfa bunu yansıtacak şekilde otomatik olarak yenilenmelidir!
Önerilen:
ATtiny13 ve WS2812 ile 1$'lık LED Mood Lambası: 7 Adım
ATtiny13 ve WS2812 ile 1$'lık LED Ruh Hali Lambası: Bu, dört modu olan düşük maliyetli bir ruh hali lambasıdır.1. Gökkuşağı kıvılcımı. Bir ışık kıvılcımı zaman zaman yukarı doğru hareket eder ve yavaş yavaş rengi değiştirir.2. Gökkuşağı parıltısı. Rengi kademeli olarak değiştiren sabit bir parıltı.3. Mum ateşi simülasyonu.4. Kapalı
3D Baskılı LED Mood Lambası: 15 Adım (Resimlerle)
3D Baskılı LED Mood Lamp: Lambalara karşı her zaman bu ilgim vardı, bu yüzden 3D Printing ve Arduino'yu LED'lerle birleştirme yeteneğine sahip olmak, takip etmem gereken bir şeydi. Konsept çok basit ve sonuç en tatmin edici görsellerden biri. koyabileceğiniz deneyimler
ESP32 ile MQTT Mood Lights: 4 Adım (Resimlerle)
MQTT Mood Lights with ESP32: Bir süredir LED vagonuna atlamak için cazip gelmiştim, bu yüzden koştum ve oynamak için bir LED şerit aldım. Sonunda bu ruh hali ışıklarını yaptım. MQTT ile kontrol edilebilirler, bu da her türlü akıllıyı eklemeyi mümkün kılar. Bu bir
IOT Mood Lamp: 8 Adım (Resimlerle)
IOT Mood Lambası: Bir Düğüm MCU'su (ESP8266), RGB LED'leri ve bir Kavanoz kullanılarak yapılan bir IoT Mood lambası. Lambanın renkleri Blynk App kullanılarak değiştirilebilir. Bu lambayı yerleştirmek için 3D baskısını yaptırdığım Tony Starks Anıt Heykeli'ni seçtim. Herhangi bir hazır heykeli alabilir veya
Mood Speaker - Ortam Sıcaklığına Göre Mood Müziğinin Çalınması için Güçlü Bir Hoparlör: 9 Adım
Mood Speaker - Ortam Sıcaklığına Göre Mood Müziğinin Çalınması için Güçlü Bir Hoparlör: Merhaba! MCT Howest Kortrijk'teki okul projem için bir Mood Speaker yaptım bu, farklı sensörlere, bir LCD'ye ve WS2812b'ye sahip akıllı bir Bluetooth hoparlör cihazıdır. led şerit dahildir. Hoparlör, sıcaklığa bağlı olarak arka plan müziği çalar ancak