Inhoudsopgave:

Hoe MQTT te gebruiken met de Raspberry Pi en ESP8266/sonoff: 4 stappen
Hoe MQTT te gebruiken met de Raspberry Pi en ESP8266/sonoff: 4 stappen

Video: Hoe MQTT te gebruiken met de Raspberry Pi en ESP8266/sonoff: 4 stappen

Video: Hoe MQTT te gebruiken met de Raspberry Pi en ESP8266/sonoff: 4 stappen
Video: JetHome JetHub H1 контроллер умного дома, установка Supervised Home Assistant, настройка zigbee2mqtt 2024, November
Anonim
Hoe MQTT te gebruiken met de Raspberry Pi en ESP8266/sonoff
Hoe MQTT te gebruiken met de Raspberry Pi en ESP8266/sonoff

Hallo allemaal!

Vandaag laat ik je zien hoe je een op Raspberry Pi en ESP8266 gebaseerde sonoff wifi-relaisschakelaar configureert om je huishoudelijke apparaten overal ter wereld te bedienen.

Aan het einde van deze instructable, als je mijn instructies zorgvuldig hebt gevolgd, kun je al je huishoudelijke apparaten bedienen vanaf de Raspberry Pi-terminal of met behulp van python-shell.

Dus maak je klaar om je eigen op MQTT en Rpi gebaseerde Sonoff Wifi Device-controller te maken!

Voordat ik aan deze instructable begin, wil ik enkele zeer belangrijke dingen noemen,

  1. De sonoff wifi-relaisschakelaar wordt geleverd met zijn eigen besturingsfirmware. zodra u het opnieuw programmeert, wordt de originele firmware permanent gewist. Zorg daar dus voor.
  2. De sonoff wifi-relaisschakelaar wordt rechtstreeks gevoed via 230V AC-spanning, dus als u niet de expert bent in het omgaan met dergelijke hoge spanningen, neem dan de hulp van uw ouders of een deskundige persoon.
  3. De sonoff wifi-relaisschakelaar is eenvoudig gebaseerd op de esp8266-01 wifi-chipset, een 3.3V-chip, als u per ongeluk 5V op de +V-pin toepast, zult u deze zeker beschadigen.
  4. Hier voor deze instructable, heb ik overwogen dat je je raspberry pi allemaal hebt ingesteld en wifi hebt ingeschakeld met een IP-adres om de mug- en MQTT-opdrachten in Terminal uit te voeren

** Als je klaar bent met alle bovenstaande 4 stappen, ben je klaar om te gaan !!

Stap 1: Inleiding + Benodigdheden

Inleiding + Benodigdheden
Inleiding + Benodigdheden
Inleiding + Benodigdheden
Inleiding + Benodigdheden

Hallo jongens! vandaag gaan we een heel interessant project bouwen. Hier in dit project gaan we onze Home-apparaten zoals een AC-lamp bedienen met MQTT-makelaar.

Opmerking: dit is een IOT-project, dus u kunt uw AC-apparaat overal ter wereld bedienen

MQTT (Massage Que Telemetry Transport) is een Simple payload Transfer-protocol dat wordt gebruikt in een groot aantal webprojecten. Facebook Messenger maakt ook gebruik van het MQTT-protocol. genoeg introductie laten we beginnen met Project.

Wat hebben we nodig voor dit project?

1) Actieve wifi (bij voorkeur router) verbinding

2) Raspberry Pi3-model waarop wifi is ingeschakeld.

3) Sonoff Wifi IOT-schakelaar met 10A 220V

4) Enkele aansluitdraden

5) Startkabels

6) CP2102 USB naar TTL-converter

  • Opmerking: voor dit project moet je raspberry pi allemaal hebben ingesteld met een monitor-toetsenbordverbinding of in headless-modus met je laptop (VNC-verbinding)
  • als je raspberry pi niet allemaal hebt ingesteld met monitor of headless-modus, moet je mijn andere tutorial volgen over hoe je raspberry pi in headless-modus kunt aansluiten.

Stap 2: Raspberry Pi instellen

Raspberry Pi instellen
Raspberry Pi instellen

In deze stap zullen we onze Raspberry Pi voor het Project opzetten.

in deze tutorial gebruiken we sonoff ESP8266 als client en raspberry pi als muggenmakelaar.

  1. open je Raspberry Pi-terminal en typ

    1. sudo apt-get update
    2. sudo apt-get upgrade Zodra uw Raspberry Pi is bijgewerkt met de nieuwste firmware, kunt u aan de slag met elk project op uw pi
  2. Typ nu de volgende opdrachten om Mosquitto te installeren

    1. wget
    2. sudo apt-key add mosquitto-repo.gpg.key
    3. cd /etc/apt/sources.list.d/
    4. sudo wget
    5. sudo -i
    6. apt-get update
    7. apt-get install mug
    8. apt-get install mug-clients
  3. Zodra u alle bovenstaande instructies met succes hebt gevolgd, heeft u uw machine gereed met Mosquitto Broker ingesteld en bent u klaar voor de volgende stap.
  4. Typ opnieuw in uw terminal de volgende opdrachten:
    1. sudo pip install paho-mqtt
    2. sudo pip3 installeer paho-mqtt
  5. Om nu te controleren of uw Mosquitto-client met succes is geïnstalleerd of niet, open python2 of python3 shell en typ de volgende opdracht

    1. import paho.mqtt.client
    2. dit mag niets teruggeven. als een regel of fout wordt geretourneerd, controleer dan de bovenstaande stappen opnieuw en volg de stappen nogmaals zorgvuldig.
  6. Nu is je Raspberry Pi-onderdeel bijna klaar en ben je klaar om nu voor Sonoff en Arduino-onderdeel te gaan

Stap 3: Het Sonoff Esp8266-apparaat instellen voor MQTT

Het Sonoff Esp8266-apparaat instellen voor MQTT
Het Sonoff Esp8266-apparaat instellen voor MQTT
Het Sonoff Esp8266-apparaat instellen voor MQTT
Het Sonoff Esp8266-apparaat instellen voor MQTT
Het Sonoff Esp8266-apparaat instellen voor MQTT
Het Sonoff Esp8266-apparaat instellen voor MQTT

In deze stap zullen we ons clientapparaat, Sonoff, instellen.

sonoff is een wifi-huisautomatiseringsapparaat dat wordt geleverd met vooraf geïnstalleerde firmware voor op wifi gebaseerde domotica en een Android/ios-toepassing om de apparaten via wifi te bedienen.

Hier is een eenvoudige hack om het te herprogrammeren op de manier die we willen. zodra u opnieuw programmeert met Arduino ide, verliest u de originele firmware die vooraf op sonoff is geïnstalleerd.

  1. open eerst uw sonoff-apparaat voorzichtig en let op de pin-outs die in de afbeelding worden weergegeven. GEVAAR: het sonoff-apparaat werkt op 220V directe wisselstroom, u moet het eerst uitschakelen voordat u het opent of programmeert.
  2. Zie nu de balgafbeelding voor de pinout, aan de onderkant van de PCB bevindt zich een esp8266-chip die vergelijkbaar is met uw esp8266-01-module.
  3. Open nu de Arduino IDE en voeg de benodigde Zip-bibliotheken toe. PUBSUB_client Bibliotheek
  4. Je moet ook het esp8266-bord hebben toegevoegd aan je Arduino ide. indien nog niet toegevoegd volg de stappen

    1. Open uw Arduino IDE en klik op "Bestand -> Voorkeuren".
    2. "https://arduino.esp8266.com/stable/package_esp8266com_index.json"
    3. Voeg in "Extra Boards Manager-URL's" deze bovenstaande link toe en klik op "OK"
    4. Ga naar "Extra -> Board -> Boards Manager", typ "ESP8266" en installeer het.
    5. Ga opnieuw naar "Tools -> Board" en selecteer "Generic ESP8266 Module".
    6. Nu heb je het bord met succes toegevoegd aan je Arduino IDE.
  5. Nu moet je een vrouwelijke connector aan het sonoff-apparaat solderen, zoals weergegeven in een afbeelding.
  6. Neem nu de USB naar TTL CP2102 of FTDI-kaart en maak de volgende verbinding volgens de afbeelding hierboven.

    1. RX van FTDI naar TX van Sonoff
    2. TX van FTDI naar RX van Sonoff
    3. GND van FTDI naar GND van Sonoff
    4. 3,3 V van FTDI tot 3,3 V van Sonoff
  7. OPMERKING: Zorg ervoor dat u de sonoffkaart niet van 5V voorziet. het is 3,3V-compatibel als u 5V aansluit op de Power-pin, u kunt uw sonoff-apparaat verbranden. gebruik daarom beter alleen de 3.3v-voeding van het FTDI-bord.
  8. maak nu de verbinding zoals weergegeven in een afbeelding.
  9. Je bent klaar met de bovenstaande stappen. sluit uw FTDI/USB naar TTL-kaart aan op laptop/pc en open Arduino IDE.
  10. Kopieer de code.

11. Selecteer nu de juiste COM-poort in het menu Extra en selecteer het apparaat als een generiek ESP8266-apparaat. Druk nu op de upload-knop. Het duurt ongeveer een minuut of minder om de code naar de esp8266-chip van het sonoff-apparaat te uploaden.

12. Nu bent u helemaal klaar met sonoff- en Arduino-programmering. en nu zou je de led op het sonoff-bord moeten zien knipperen // zoals we in het begin 5 keer hebben geschreven.

13. U bent klaar om naar de volgende stap te gaan.

Stap 4: Bedien uw Sonoff vanaf internet

Bedien uw Sonoff vanaf internet
Bedien uw Sonoff vanaf internet

Dit is de laatste stap naar ons project.

  1. open nu uw VNC remote desktop-verbinding van raspberry pi door het IP-adres voor uw Pi in te voeren
  2. open nu de terminal en begin met het typen van de volgende opdrachten
  3. hier led is onderwerp en "0" is payload
  4. verander het IP-adres in opdracht met uw Rpi IP-adres
  5. En schrijf in plaats van "0" "1", die uw relais op de sonoff wifi-schakelaar zal inschakelen.

mosquitto_pub -h 192.168.0.104 -t led -m "0"

De bovenstaande instructie zal uw relais uitschakelen.

mosquitto_pub -h 192.168.0.104 -t led -m "1"

Deze instructie zet uw relais aan.

Nu bent u klaar met het bedienen van uw sonoff vanaf de Rpi-terminal.

je kunt dit controleren door de sonoff wifi-schakelaar aan te sluiten op een ander wifi-netwerk en raspberry pi op een andere wifi-verbinding. Je zou het relais van overal ter wereld moeten kunnen bedienen.

Nu nog verder wil je de AAN / UIT van je sonoff automatisch testen Ik heb een klein python-script geschreven

die eerst de "1" verzendt en na 6 seconden de "0" verzendt en dit proces herhaalt zich in een lus.

import paho.mqtt.publish as publishimport time

Terwijl waar:

print("Sending 1…") publish.single("ledStatus", "1", hostname="Uw broker IP") time.sleep(6) print("Sending 0…") publish.single("ledStatus", "0", hostname="Uw broker IP") time.sleep(3)

De bovenstaande code schakelt eenvoudig het relais op de sonoff wifi-relaisschakelaar in en uit.

vergeet niet het IP-adres van je RaspberryPi te vervangen in de bovenstaande python-code. voer nu dit script uit door op de optie module uitvoeren te klikken en je zou op de shell moeten zien

"1" verzenden..

"0" verzenden..

het verzenden van "1".. zoiets als dit.

Dat is het voor deze Instructable. tot de volgende keer met een nieuwe.

Doei!!!!

en vergeet niet om dit instructable te volgen en te delen en het zelf te proberen!

eventuele twijfels in de commentaarsectie zijn welkom!

Aanbevolen: