Berhenti window shopping dan mulailah window shopping!
Cara melakukan dropping dengan AI
- Tujuan: Menjalankan layanan yang menggunakan AI untuk menjatuhkan topi dari jendela dan memberikannya kepada warga New York.
- Yang dibutuhkan: Raspberry Pi, motor stepper Adafruit, benang, Roboflow AI, produk ringan (misalnya topi baling-baling).
Membuka jendela
- Masalah: Jendela hanya bisa dibuka sekitar 4 inci.
- Solusi: Mencari di Google dan menemukan kunci yang cocok untuk jendela tersebut.
Memilih topi
- Syarat: Topi tidak boleh melukai saat jatuh, dan tidak mengganggu lalu lintas.
- Pilihan: Topi baling-baling yang melambangkan masa depan dan jatuh dengan indah.
Mekanisme dropping
- Konfigurasi: Menggunakan Raspberry Pi dan motor stepper.
- Metode: Benang digulung pada motor stepper agar bergerak sedikit demi sedikit.
- Kode: Kode dropping yang ditulis dalam file Python.
import time
import board
import digitalio
enable_pin = digitalio.DigitalInOut(board.D18)
coil_A_1_pin = digitalio.DigitalInOut(board.D4)
coil_A_2_pin = digitalio.DigitalInOut(board.D17)
coil_B_1_pin = digitalio.DigitalInOut(board.D23)
coil_B_2_pin = digitalio.DigitalInOut(board.D24)
enable_pin.direction = digitalio.Direction.OUTPUT
coil_A_1_pin.direction = digitalio.Direction.OUTPUT
coil_A_2_pin.direction = digitalio.Direction.OUTPUT
coil_B_1_pin.direction = digitalio.Direction.OUTPUT
coil_B_2_pin.direction = digitalio.Direction.OUTPUT
enable_pin.value = True
def forward(delay, steps):
i = 0
while i in range(0, steps):
setStep(1, 0, 1, 0)
time.sleep(delay)
setStep(0, 1, 1, 0)
time.sleep(delay)
setStep(0, 1, 0, 1)
time.sleep(delay)
setStep(1, 0, 0, 1)
time.sleep(delay)
i += 1
def setStep(w1, w2, w3, w4):
coil_A_1_pin.value = w1
coil_A_2_pin.value = w2
coil_B_1_pin.value = w3
coil_B_2_pin.value = w4
forward(5, int(512))
AI
- Tujuan: Mendeteksi secara real-time apakah ada orang di bawah jendela.
- Metode: Menganalisis video secara real-time melalui webcam dan memeriksa apakah ada orang di posisi tertentu.
- Model: Membuat model deteksi objek menggunakan Roboflow.
- Kode: Kode deteksi dan dropping yang ditulis dalam file Python.
import cv2
import time
import paramiko
from inference_sdk import InferenceHTTPClient
CLIENT = InferenceHTTPClient(api_url="https://detect.roboflow.com", api_key="API_KEY")
def ssh_execute(host, port, username, password, command):
client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.WarningPolicy)
try:
client.connect(host, port=port, username=username, password=password)
stdin, stdout, stderr = client.exec_command(command)
print(stdout.read().decode().strip())
if stderr.read().decode().strip():
print('Error:', stderr)
finally:
client.close()
video = cv2.VideoCapture(0)
consec_detections = 0
while True:
ret, frame = video.read()
result = CLIENT.infer(frame, model_id="drop-of-a-a-hat/2")
if 'predictions' in result and len(result['predictions']) > 0:
consec_detections += 1
else:
consec_detections = 0
if consec_detections >= 3:
ssh_execute('raspberry.local', 22, 'pi', 'raspberry', 'python3 dropHat.py')
consec_detections = 0
time.sleep(1)
Visi besar yang dinantikan
- Visi: Dunia di mana saat berjalan di pusat kota New York, semua hal yang dibutuhkan jatuh dari jendela.
- Tujuan: Menjadi contoh pertama dari "Window Shopping".
Opini GN⁺
- Hal yang menarik: Menggabungkan AI dan IoT untuk menghadirkan model bisnis yang kreatif.
- Pertimbangan penerapan: Struktur jendela dan masalah keselamatan harus ditinjau dengan cukup matang terlebih dahulu.
- Tantangan teknis: Akurasi model AI dan kinerja pemrosesan real-time sangat penting.
- Proyek serupa: Berpotensi diperluas sebagai konsep yang mirip dengan layanan pengiriman drone.
- Dampak sosial: Dapat meningkatkan kenyamanan hidup perkotaan sekaligus menciptakan bentuk perdagangan baru.
1 komentar
Komentar Hacker News