Inhoudsopgave:

Homie-apparaten bouwen voor IoT of domotica - Ajarnpa
Homie-apparaten bouwen voor IoT of domotica - Ajarnpa

Video: Homie-apparaten bouwen voor IoT of domotica - Ajarnpa

Video: Homie-apparaten bouwen voor IoT of domotica - Ajarnpa
Video: Waarmee bouw je het ultieme smarthome? Homey Pro versus Home Assistant Yellow 2024, December
Anonim
Homie-apparaten bouwen voor IoT of domotica
Homie-apparaten bouwen voor IoT of domotica

Dit instructable maakt deel uit van mijn DIY Home Automation-serie, bekijk het hoofdartikel "Planning a DIY Home Automation System". Als je nog niet weet wat Homie is, kijk dan eens naar homie-esp8266 + homie van Marvin Roger.

Er zijn heel veel sensoren. Ik behandel de meest basale om de lezer de vereisten te geven om te beginnen met het bouwen van "iets". Dat is misschien geen rocket science, maar dat zou eigenlijk moeten werken.

Als je de onderdelen niet hebt, kijk dan uit voor mijn aankomende instructable "Sourcing elektronische onderdelen uit Azië".

Laat me een paar modewoorden toevoegen: IoT, ESP8266, Homie, DHT22, DS18B20, domotica.

Het onderwerp zou nu vrij duidelijk moeten zijn:-)

Deze instructable is nu ook beschikbaar op mijn persoonlijke pagina:

Stap 1: Aan de slag

Beginnen
Beginnen
Beginnen
Beginnen

conventies

Deze instructable maakt gebruik van D1 Mini-klonen. Dit zijn Arduino-compatibele controllers met WiFi-ondersteuning die een ESP8266-chip gebruiken. Ze worden geleverd in een zeer kleine vormfactor (~ 34 * 25 mm) en zijn spotgoedkoop (~ 3-4 $ voor klonen).

Ik zal elke build illustreren met behulp van een D1 Mini, een breadboard en enkele sensor (en). Ik voeg voor elk een stuklijst (BOM) toe, maar voor de hand liggende dingen zoals jumperdraden en breadboard (mini of volledig) zal ik overslaan. Ik zal me concentreren op "actieve delen".

Voor draden/kabels in schema's (Fritzing + AdaFruitFritzing bibliotheek), gebruikte ik:

  • Rood/Oranje voor stroom, meestal 3,3V. Soms zal het 5V zijn, wees voorzichtig.
  • Zwart voor aarde.
  • Geel voor digitale datasignalen: Bits reizen en kunnen ongewijzigd worden gelezen door chips.
  • Blauw/paars voor analoge datasignalen: hier geen bits, gewoon spanning die moet worden gemeten en berekend om te begrijpen wat er aan de hand is.

Homie voor ESP8266 verzendt een dozijn voorbeelden, dat is waar ik begon met het bouwen van deze instructable.

Breadboard

De D1 is vrij breadboard-vriendelijk, maar bespaart slechts één rij pinnen op en neer. Elk voorbeeld heeft de D1 aan de rechterkant en de componenten aan de linkerkant. De bovenste en onderste stroomrails worden gebruikt om ofwel 3,3V of 5V te vervoeren.

Opmerking

Homie-voorbeelden zijn gebouwd als ".ino"-schetsen voor Arduino IDE. Mijn eigen code is echter gebouwd als ".ccp" voor PlatformIO.

Dit zal weinig verschil maken, aangezien schetsen eenvoudig genoeg zijn om te kopiëren/plakken, wat je favoriete tool ook is.

Stap 2: Temperatuur en vochtigheid: DHT22 / DHT11

Temperatuur en vochtigheid: DHT22 / DHT11
Temperatuur en vochtigheid: DHT22 / DHT11
Temperatuur en vochtigheid: DHT22 / DHT11
Temperatuur en vochtigheid: DHT22 / DHT11
Temperatuur en vochtigheid: DHT22 / DHT11
Temperatuur en vochtigheid: DHT22 / DHT11

Het apparaat bouwen

De DHT22 gebruikt:

  • Eén digitale pin om met de controller te communiceren, sluit deze aan op D3
  • Twee draden voor voeding (3,3V of 5V + GND)
  • De digitale pin moet hoog worden gehouden (aangesloten op voeding), hiervoor gebruiken we een weerstand tussen powerrail en datapin

Code

Het PlatformIO-project kan worden gedownload van:

Het originele Homie-voorbeeld is hier (maar gebruikt geen sensor):

Gebruik voor DHT22 de DHT-sensorbibliotheek (ID=19)

stuklijst

  • Controller: Wemos D1 Mini
  • Weerstand: 10KΩ
  • Sensor: (een van deze)

    • DHT22: Ik heb de 4-pins soort gebruikt waarvoor een extra weerstand nodig is. Er zijn modules met 3 pinnen die als SMD worden verzonden, inclusief de weerstand.
    • DHT11: Dit is goedkoper maar minder nauwkeurig, controleer uw vereisten

Stap 3: Waterdichte temperatuur: DS18B20

Waterdichte temperatuur: DS18B20
Waterdichte temperatuur: DS18B20
Waterdichte temperatuur: DS18B20
Waterdichte temperatuur: DS18B20
Waterdichte temperatuur: DS18B20
Waterdichte temperatuur: DS18B20

Het apparaat bouwenDe DS18B20 gebruikt:

  • Eén digitale pin om met de controller te communiceren, sluit deze aan op D3
  • Twee draden voor voeding (3,3V of 5V + GND)
  • De digitale pin moet hoog worden gehouden (aangesloten op voeding), hiervoor gebruiken we een weerstand tussen powerrail en datapin

De DS18B20 is een 1-draads sensor. Het maakt gebruik van een bus en als zodanig kunnen meerdere sensoren een enkele datapin gebruiken.

Het is ook mogelijk om GEEN 3,3V/5V te gebruiken om de sensor van stroom te voorzien, dit wordt de parasitaire voedingsmodus genoemd. Zie datasheet voor details.

Code

Het PlatformIO-project kan worden gedownload van:

Net als voor DHT22 is het originele Homie-voorbeeld hier (maar gebruikt geen sensor):

Gebruik voor 1-Wire bus pakket OneWire (ID=1)

Gebruik voor DS18B20 DallasTemperature (ID=54)

stuklijst

  • Controller: Wemos D1 Mini
  • Weerstand: 4.7KΩ
  • Sensor: DS18B20, afgebeeld is een waterdichte sensor
  • 3-pins schroefaansluiting om de kabel op het breadboard te kunnen aansluiten

Stap 4: Licht: Fotoresistor / Fotocel (digitaal: Aan/uit)

Licht: Fotoresistor / Fotocel (digitaal: Aan/uit)
Licht: Fotoresistor / Fotocel (digitaal: Aan/uit)
Licht: Fotoresistor / Fotocel (digitaal: Aan/uit)
Licht: Fotoresistor / Fotocel (digitaal: Aan/uit)
Licht: Fotoresistor / Fotocel (digitaal: Aan/uit)
Licht: Fotoresistor / Fotocel (digitaal: Aan/uit)

Het apparaat bouwen

(Sorry, heb geen Fritzing-component voor de digitale fotocel)

De digitale fotocelmodule gebruikt:

  • Eén digitale pin om met de controller te communiceren, sluit deze aan op D3
  • Twee draden voor voeding (3,3V + GND)

Het is mogelijk om een analoge fotocel te gebruiken, maar dit is hier niet gedocumenteerd, zie het uitstekende artikel van Adafruit "Een fotocel gebruiken".

Opmerking: In dit voorbeeld bevindt zich een potentiometer op het sensorbord. Het wordt gebruikt om de grens tussen "licht" en "donker" omgevingslicht in te stellen. Wanneer het lezen van 1 lampje uit is, betekent het lezen van 0 dat lampje aan is.

Code

Het PlatformIO-project kan worden gedownload van:

stuklijst

Controller: Wemos D1 Mini

Sensor: lichtgevoelige / lichtdetectiemodule

Stap 5: Licht: Fotoresistor / Fotocel (analoog)

Licht: Fotoweerstand / Fotocel (analoog)
Licht: Fotoweerstand / Fotocel (analoog)
Licht: Fotoweerstand / Fotocel (analoog)
Licht: Fotoweerstand / Fotocel (analoog)
Licht: Fotoweerstand / Fotocel (analoog)
Licht: Fotoweerstand / Fotocel (analoog)

Het apparaat bouwen

De analoge sensor van de fotocel werkt als een weerstand. Het maakt verbinding tussen een analoge ingang en 3.3V.

Tussen GND en datapin wordt een weerstand geplaatst om een spanningsdeler te creëren. Het doel is om een bekend waardenbereik te creëren:

  • Als er geen licht is, blokkeert de fotocel in feite VCC, waardoor GND wordt verbonden met uw datapin: Pin zal bijna 0 zijn.
  • Als er veel fel licht is, zal de fotocel VCC naar de datapin laten stromen: Pin zal bijna volledige spanning lezen en als zodanig in de buurt van max (1023).

Opmerking: Analoge pinnen worden gelezen in een bereik van 0-1023 met behulp van analogRead. Dit is niet praktisch om met 1-byte-waarden om te gaan, hiervoor zal de Arduino-kaartfunctie helpen verminderen van 0-1023 naar (bijvoorbeeld) 0-255.

Gebruik voor het kalibreren van min/max-waarden voor uw sensor een schets zoals deze van Arduino.

Code

Het PlatformIO-project kan worden gedownload van:

stuklijst

  • Controller: Wemos D1 Mini
  • Sensor: lichtafhankelijke weerstand (LDR) / fotoresistor
  • Weerstand: 1K of 10K, moet worden gekalibreerd op basis van uw cel

Referenties

  • PiDome server broncode voor lichtconditie van een locatie
  • Adafruit's "Een fotocel gebruiken"
  • "Fotoresistors" hier bij instructables
  • Een of andere verdomde gekke "Photocell Tutorial" als je wat wiskunde en grafieken wilt

Stap 6: optische detector: QRD1114

Het apparaat bouwen

Code

stuklijst

Referenties

  • Physical Computing: QRD1114 bevat voorbeeldcode om sensor te lezen en interrupt te gebruiken voor roterende encoder + nauwkeurig PCB-ontwerp
  • QRD1114 Optische Detector Aansluitgids bij Sparkfun

Stap 7: Laatste woorden

Laatste woorden
Laatste woorden

Dit instructable is een zeer korte om elementaire monitoring uit te leggen.

Om verder te gaan, moeten we relais aansluiten, IR-zender … Dit zal hopelijk later worden behandeld, aangezien de vrije tijd me dat toelaat. Het grote verschil is dat we niet alleen "lezen" (is er licht?) maar ook "schrijven" (licht aan!).

Aanbevolen: