Innehållsförteckning:

Bygga Homie -enheter för IoT eller Hemautomation: 7 steg (med bilder)
Bygga Homie -enheter för IoT eller Hemautomation: 7 steg (med bilder)

Video: Bygga Homie -enheter för IoT eller Hemautomation: 7 steg (med bilder)

Video: Bygga Homie -enheter för IoT eller Hemautomation: 7 steg (med bilder)
Video: Isyan Tetick - Patlamaya Devam (Remix) [Official Video] 2024, November
Anonim
Bygga Homie -enheter för IoT eller Hemautomation
Bygga Homie -enheter för IoT eller Hemautomation

Detta instruerbara är en del av min DIY Home Automation -serie, kolla in huvudartikeln "Planera ett DIY Home Automation System". Om du inte vet vad Homie är än, ta en titt på homie-esp8266 + homie från Marvin Roger.

Det finns många många sensorer. Jag täcker de mycket grundläggande för att ge läsaren kraven för att komma igång med att bygga "något". Det kanske inte är raketvetenskap, men det borde faktiskt fungera.

Om du inte har delarna, se upp för min kommande instruerbara "Sourcing Electronic Parts From Asia".

Låt mig lägga till några surrord: IoT, ESP8266, Homie, DHT22, DS18B20, hemautomation.

Ämnet borde vara ganska tydligt nu:-)

Denna instruerbara är också nu tillgänglig från min personliga sida:

Steg 1: Komma igång

Komma igång
Komma igång
Komma igång
Komma igång

Konventioner

Denna instruerbara använder D1 Mini -kloner. Dessa är WiFi -aktiverade Arduino -kompatibla kontroller som använder ESP8266 -chip. De levereras i mycket liten formfaktor (~ 34*25 mm) och är smutsiga (~ 3-4 $ för kloner).

Jag kommer att illustrera varje byggnad med en D1 Mini, en brödbräda och några sensorer. Jag inkluderar en Bill Of Materials (BOM) för varje men hoppar över uppenbara saker som bygelkablar och brödbräda (mini eller full). Jag kommer att fokusera på "aktiva delar".

För ledningar/kablar i diagram (Fritzing + AdaFruitFritzing -biblioteket) använde jag:

  • Röd/orange för ström, vanligtvis 3,3V. Ibland blir det 5V, var försiktig.
  • Svart för mark.
  • Gul för digitala datasignaler: Bitar reser och kan läsas som de är med chips.
  • Blå/lila för analoga datasignaler: Inga bitar här, bara vanlig spänning som måste mätas och beräknas för att förstå vad som händer.

Homie för ESP8266 levererar ett dussin exempel, det var där jag började bygga detta instruerbart.

Bakbord

D1 är ganska brödbräda vänlig men sparar bara en rad stift upp och ner. Varje exempel kommer att ha D1 på höger sida och komponenterna på vänster sida. De övre och nedre strömskenorna kommer att användas för att bära antingen 3,3V eller 5V.

Notera

Homie -exempel är byggda som ".ino" -skisser för Arduino IDE. Min egen kod är dock byggd som ".ccp" för PlatformIO.

Detta kommer att göra liten skillnad eftersom skisser är enkla nog att kopieras/klistras in oavsett vilket verktyg du väljer.

Steg 2: Temperatur och luftfuktighet: DHT22 / DHT11

Temperatur och luftfuktighet: DHT22 / DHT11
Temperatur och luftfuktighet: DHT22 / DHT11
Temperatur och luftfuktighet: DHT22 / DHT11
Temperatur och luftfuktighet: DHT22 / DHT11
Temperatur och luftfuktighet: DHT22 / DHT11
Temperatur och luftfuktighet: DHT22 / DHT11

Bygga enheten

DHT22 använder:

  • En digital stift för att kommunicera med regulatorn, anslut den till D3
  • Två ledningar för ström (3.3V eller 5V + GND)
  • Den digitala stiftet måste hållas högt (anslutet till ström), för detta använder vi ett motstånd mellan kraftskena och datastift

Koda

PlatformIO-projektet kan laddas ner från:

Det ursprungliga Homie-exemplet finns här (men använder inte en sensor):

För DHT22, använd DHT -sensorbibliotek (ID = 19)

BOM

  • Styrenhet: Wemos D1 Mini
  • Motstånd: 10KΩ
  • Sensor: (en av dessa)

    • DHT22: Jag har använt 4 stift som kräver ett extra motstånd. Det finns 3 stiftsmoduler som levereras som SMD som inkluderar motståndet.
    • DHT11: Detta är billigare men mindre exakt, kontrollera dina krav

Steg 3: Vattentät temperatur: DS18B20

Vattentät temperatur: DS18B20
Vattentät temperatur: DS18B20
Vattentät temperatur: DS18B20
Vattentät temperatur: DS18B20
Vattentät temperatur: DS18B20
Vattentät temperatur: DS18B20

Bygga enheten DS18B20 använder:

  • En digital stift för att kommunicera med regulatorn, anslut den till D3
  • Två ledningar för ström (3.3V eller 5V + GND)
  • Den digitala stiftet måste hållas högt (anslutet till ström), för detta använder vi ett motstånd mellan kraftskena och datastift

DS18B20 är en 1-trådig sensor. Den använder en buss och som sådan kan flera sensorer använda en enda datapinne.

Det är också möjligt att INTE använda 3.3V/5V för att driva sensorn, detta kallas parasitiskt strömläge. Se datablad för detaljer.

Koda

PlatformIO-projektet kan laddas ner från:

Liksom för DHT22 finns det ursprungliga Homie-exemplet här (men använder inte en sensor):

För 1-tråds buss, använd paket OneWire (ID = 1)

För DS18B20, använd DallasTemperature (ID = 54)

BOM

  • Styrenhet: Wemos D1 Mini
  • Motstånd: 4,7KΩ
  • Sensor: DS18B20, bilden är en vattentät
  • 3 stift skruvterminal för att underlätta anslutningen av kabeln till brödbrädan

Steg 4: Ljus: Fotoresistor / fotocell (digitalt: På / av)

Ljus: Fotoresistor / fotocell (digitalt: På / av)
Ljus: Fotoresistor / fotocell (digitalt: På / av)
Ljus: Fotoresistor / fotocell (digitalt: På / av)
Ljus: Fotoresistor / fotocell (digitalt: På / av)
Ljus: Fotoresistor / fotocell (digitalt: På / av)
Ljus: Fotoresistor / fotocell (digitalt: På / av)

Bygga enheten

(Tyvärr, har ingen Fritzing -komponent för den digitala fotocellen)

Fotocellens digitala modul använder:

  • En digital stift för att kommunicera med regulatorn, anslut den till D3
  • Två ledningar för ström (3.3V + GND)

Det är möjligt att använda en analog fotocell men detta är inte dokumenterat här, se Adafruit utmärkta artikel "Använda en fotocell".

Obs! I det här exemplet finns en potentiometer på sensorkortet. Den används för att ställa in gränsen mellan "ljus" och "mörkt" omgivande ljus. När avläsning 1 lampa är släckt, betyder läsning 0 ljus om den är tänd.

Koda

PlatformIO-projektet kan laddas ner från:

BOM

Styrenhet: Wemos D1 Mini

Sensor: Fotokänslig / ljusdetekteringsmodul

Steg 5: Ljus: Fotoresistor / fotocell (analog)

Ljus: Fotoresistor / fotocell (analog)
Ljus: Fotoresistor / fotocell (analog)
Ljus: Fotoresistor / fotocell (analog)
Ljus: Fotoresistor / fotocell (analog)
Ljus: Fotoresistor / fotocell (analog)
Ljus: Fotoresistor / fotocell (analog)

Bygga enheten

Fotocellens analoga sensor fungerar som ett motstånd. Den ansluter mellan en analog ingång och 3,3V.

Ett motstånd sätts mellan GND och datastift för att skapa en spänningsdelare. Syftet är att skapa ett känt värdeområde:

  • Om det inte finns något ljus blockerar fotocellen i princip VCC och ansluter därmed GND till din datapinne: Pin kommer att läsa nästan 0.
  • Det är mycket starkt ljus, fotocell kommer att låta VCC flöda till datapinnen: Pin kommer att läsa nästan full spänning och som sådan nära max (1023).

Obs! Analoga stiftvärden läses i ett 0-1023-område med analogRead. Detta är inte praktiskt att hantera 1 byte-värden, för detta kommer Arduino-kartfunktionen att minska från 0-1023 till (till exempel) 0-255.

För kalibrering av min/max -värden för din sensor, använd en skiss som denna från Arduino.

Koda

PlatformIO-projektet kan laddas ner från:

BOM

  • Styrenhet: Wemos D1 Mini
  • Sensor: Ljusberoende motstånd (LDR) / fotoresistor
  • Motstånd: 1K eller 10K, måste kalibreras baserat på din cell

Referenser

  • PiDome -serverns källkod för belysningens tillstånd på en plats
  • Adafruit's "Using a Photocell"
  • "Fotoresistorer" här på instruktioner
  • Någon jäkla galen "Fotocell Tutorial" om du vill ha lite matematik och grafer

Steg 6: Optisk detektor: QRD1114

Bygga enheten

Koda

BOM

Referenser

  • Fysisk beräkning: QRD1114 innehåller provkod för att läsa sensorn och använda avbrott för roterande kodare + exakt PCB -design
  • QRD1114 Anslutningsguide för optisk detektor på Sparkfun

Steg 7: Slutord

Slutliga ord
Slutliga ord

Denna instruerbara är mycket kort för att förklara grundläggande övervakning.

För att gå vidare måste vi ansluta reläer, IR -sändare … Detta kommer förhoppningsvis att täckas senare när fritiden tillåter mig. Den stora skillnaden är att vi inte bara "läser" (finns det ljus?) Utan också "skriver" (tänder lampan!).

Rekommenderad: