Talaan ng mga Nilalaman:

Paano Gumamit ng MQTT Gamit ang Raspberry Pi at ESP8266 / sonoff: 4 na Hakbang
Paano Gumamit ng MQTT Gamit ang Raspberry Pi at ESP8266 / sonoff: 4 na Hakbang

Video: Paano Gumamit ng MQTT Gamit ang Raspberry Pi at ESP8266 / sonoff: 4 na Hakbang

Video: Paano Gumamit ng MQTT Gamit ang Raspberry Pi at ESP8266 / sonoff: 4 na Hakbang
Video: Easy Homebridge Tutorial - Управляйте своим Arduino с помощью Apple Homekit и Siri! 2024, Nobyembre
Anonim
Paano Gumamit ng MQTT Gamit ang Raspberry Pi at ESP8266 / sonoff
Paano Gumamit ng MQTT Gamit ang Raspberry Pi at ESP8266 / sonoff

Kumusta ang lahat!

Ngayon ay ipapakita ko sa iyo kung paano i-configure ang isang raspberry pi at ESP8266 based sonoff wifi relay switch upang makontrol ang iyong mga gamit sa bahay mula sa kahit saan sa mundo.

Sa pagtatapos ng pagtuturo na ito, kung maingat mong sinusunod ang aking tagubilin, makokontrol mo ang anuman sa iyong kagamitan sa bahay mula sa terminal ng Raspberry Pi o sa pamamagitan ng paggamit ng python shell.

Kaya maghanda upang makagawa ng iyong sariling MQTT at Rpi based Sonoff Wifi Device controller!

Bago simulan ang itinuturo na ito nais kong banggitin ang ilang mahahalagang bagay,

  1. Ang sonoff wifi relay switch ay mayroong sariling control firmware. sa sandaling muling i-program mo ito, ang orihinal na firmware ay permanenteng nabura. Kaya siguraduhin na.
  2. Ang sonoff wifi relay switch ay direktang pinalakas sa pamamagitan ng 230V AC boltahe, kaya kung hindi ka dalubhasa sa paghawak ng gayong mga mataas na boltahe tumulong sa iyong mga magulang o dalubhasang tao.
  3. Ang sonoff wifi relay switch ay batay lamang sa paligid ng esp8266-01 wifi chipset na isang 3.3V chip, kung hindi mo sinasadyang mailapat ang 5V sa kanyang + V pin ay masisira mo ito sigurado.
  4. Dito para sa pagtuturo na ito, isinasaalang-alang ko na mayroon ka ng iyong raspberry pi lahat ng pag-set up at pinagana ang wifi gamit ang IP address upang patakbuhin ang mga utos ng mosquitto at MQTT sa Terminal

** Kung handa ka na sa lahat ng mga nasa itaas na 4 na hakbang mahusay kang pumunta !!

Hakbang 1: Panimula + Mga Pantustos

Panimula + Mga Pantustos
Panimula + Mga Pantustos
Panimula + Mga Pantustos
Panimula + Mga Pantustos

Hello Guys! ngayon magtatayo kami ng isang napaka-kagiliw-giliw na proyekto. Dito sa proyektong ito, makokontrol namin ang aming mga Home device tulad ng AC lamp gamit ang MQTT broker.

Tandaan: Ito ay isang IOT Project samakatuwid maaari mong kontrolin ang iyong AC aparato mula sa kahit saan sa mundo

Ang MQTT (Massage Que Telemetry Transport) ay isang Simpleng payload Transfer protocol na ginamit sa isang katotohanan ng mga proyekto sa Web. Gumagamit din ang Facebook messenger ng MQTT Protocol. ang sapat na pagpapakilala ay nagsisimula sa Project.

Ano ang kailangan namin para sa Project na ito?

1) Koneksyon ng Aktibong Wifi (mas mabuti ang router)

2) Ang modelo ng Raspberry Pi3 na pinagana ang wifi dito.

3) Sonoff Wifi IOT switch na may 10A 220V

4) Ang ilang mga nag-uugnay na mga Wires

5) Jumper Cables

6) CP2102 USB sa TTL converter

  • Tandaan: para sa proyektong ito, dapat kang magkaroon ng raspberry pi lahat ng pag-set up gamit ang alinman sa monitor ng koneksyon sa keyboard o sa mode na walang ulo gamit ang iyong laptop (koneksyon sa VNC)
  • kung wala kang raspberry pi lahat na naka-set up sa monitor o mode na walang ulo, kailangan mong sundin ang aking iba pang tutorial sa kung paano ikonekta ang raspberry pi sa mode na walang ulo.

Hakbang 2: Pag-set up ng Raspberry Pi

Pag-set up ng Raspberry Pi
Pag-set up ng Raspberry Pi

Sa Hakbang na ito, i-set up namin ang aming raspberry pi para sa Project.

sa tutorial na ito, gumagamit kami ng sonoff ESP8266 bilang client at raspberry pi bilang isang mosquitto broker.

  1. buksan ang iyong terminal at uri ng raspberry pi

    1. sudo apt-get update
    2. sudo apt-get upgrade Kapag na-update ang iyong raspberry Pi sa pinakabagong firmware mahusay kang pumunta sa anumang proyekto sa iyong pi
  2. I-type ngayon ang mga sumusunod na utos upang mai-install ang Mosquitto

    1. wget
    2. sudo apt-key magdagdag ng mosquitto-repo.gpg.key
    3. cd /etc/apt/source.list.d/
    4. sudo wget
    5. sudo -i
    6. apt-get update
    7. apt-get install mosquitto
    8. apt-get install mosquitto-kliyente
  3. Sa sandaling matagumpay mong nasundan ang lahat ng mga tagubilin sa itaas ay handa mo na ang iyong makina sa naka-set up na mosquitto broker at handa ka na sa susunod na hakbang.
  4. Muli sa iyong terminal i-type ang mga sumusunod na utos:
    1. sudo pip install paho-mqtt
    2. sudo pip3 i-install ang paho-mqtt
  5. Ngayon upang suriin kung ang iyong mosquitto client ay matagumpay na na-install o hindi buksan ang python2 o python3 shell at i-type ang sumusunod na utos

    1. import paho.mqtt.client
    2. hindi ito dapat bumalik. kung nagbabalik ng anumang linya o error suriin muli ang mga hakbang sa itaas at sundin muli ang mga hakbang nang mabuti.
  6. Ngayon ang iyong Bahagi ng Raspberry Pi ay halos tapos na at mahusay kang pumunta para sa bahagi ng Sonoff at Arduino ngayon

Hakbang 3: Pag-set up ng Sonoff Esp8266 Device para sa MQTT

Pag-set up ng Sonoff Esp8266 Device para sa MQTT
Pag-set up ng Sonoff Esp8266 Device para sa MQTT
Pag-set up ng Sonoff Esp8266 Device para sa MQTT
Pag-set up ng Sonoff Esp8266 Device para sa MQTT
Pag-set up ng Sonoff Esp8266 Device para sa MQTT
Pag-set up ng Sonoff Esp8266 Device para sa MQTT

Ngayon sa hakbang na ito, ise-set up namin ang aming client device na si Sonoff.

Ang sonoff ay isang wifi home automation na aparato na mayroong preinstalled firmware para sa wifi-based home automation at android / ios application upang makontrol ang mga kagamitan sa paglipas ng wifi.

Ngayon narito ang isang simpleng pag-hack upang mai-program muli ito sa paraang nais namin. sa sandaling muling pagprogram sa Arduino ide mawawala sa iyo ang orihinal na firmware na na-preinstall sa sonoff.

  1. una, buksan nang mabuti ang iyong sonoff device at alamin ang mga pinout na ipinapakita sa imaheng DANGER: gumagana ang sonoff device sa 220V direct AC dapat mo munang i-plug ito bago buksan o i-program.
  2. Ngayon tingnan ang nasa ibaba na imahe para sa pinout nito, sa ilalim ng PCB mayroong isang chip na esp8266 na nakita mong katulad sa iyong esp8266-01 module.
  3. Ngayon buksan ang Arduino IDE at idagdag ang kinakailangang mga library sa Zip. PUBSUB_client Library
  4. Gayundin, dapat na idagdag ang board ng esp8266 sa iyong Arduino ide. kung hindi pa naidagdag sundin ang mga hakbang

    1. Buksan ang iyong Arduino IDE at mag-click sa "File -> Mga Kagustuhan".
    2. "https://arduino.esp8266.com/stable/package_esp8266com_index.json"
    3. Sa "Aditional Boards Manager URLs" idagdag ang link sa itaas at mag-click sa "OK"
    4. Pumunta sa "Tools -> Board -> Boards Manager", i-type ang "ESP8266" at i-install ito.
    5. Pumunta muli sa "Tools -> Board" at piliin ang "Generic ESP8266 Module".
    6. Ngayon ay matagumpay mong naidagdag ang board sa iyong Arduino IDE.
  5. Ngayon kailangan mong maghinang ng isang babaeng konektor sa sonoff aparato tulad ng ipinakita sa isang imahe.
  6. Ngayon kunin ang USB sa TTL CP2102 o FTDI board at gawin ang sumusunod na koneksyon alinsunod sa Imaheng ipinakita sa itaas.

    1. RX ng FTDI hanggang TX ng Sonoff
    2. TX ng FTDI hanggang RX ng Sonoff
    3. GND ng FTDI hanggang GND ng Sonoff
    4. 3.3V ng FTDI hanggang 3.3V ng Sonoff
  7. TANDAAN: Siguraduhin na hindi mo ibinibigay ang sonoff board na may 5V. ito ay katugma sa 3.3V kung ang iyong kumonekta 5V sa kanyang Power pin, maaari mong sunugin ang iyong sonoff aparato. samakatuwid mas mahusay na gumamit ng 3.3v supply ng FTDI board lamang.
  8. gawin ngayon ang koneksyon tulad ng ipinakita sa isang imahe.
  9. Ang isa sa iyong tapos na sa mga hakbang sa itaas. ikonekta ang iyong FTDI / USB sa board ng TTL sa laptop / PC at buksan ang Arduino IDE.
  10. Kopyahin ang code.

11. Ngayon piliin ang tamang COM port mula sa menu ng Tools at piliin ang aparato bilang isang pangkaraniwang aparato na ESP8266. Ngayon pindutin ang pindutan ng pag-upload. Aabutin ng halos isang minuto o mas kaunti upang mai-upload ang code sa esp8266 chip ng sonoff device.

12. Ngayon handa ka na sa sonoff at Arduino na programa. at ngayon dapat mong makita ang humantong sa sonoff board na kumikislap // tulad ng isinulat namin ng 5 beses na kumikislap sa simula.

13. Mahusay kang pumunta sa susunod na hakbang.

Hakbang 4: Kontrolin ang Iyong Sonoff Mula sa Web

Kontrolin ang Iyong Sonoff Mula sa Web
Kontrolin ang Iyong Sonoff Mula sa Web

Ngayon, ito ang huling hakbang sa aming proyekto.

  1. buksan ngayon ang iyong VNC remote desktop na koneksyon ng raspberry pi sa pamamagitan ng pagpasok ng IP address para sa iyong Pi
  2. buksan ngayon ang terminal at simulang mag-type ng mga sumusunod na utos
  3. dito pinangunahan ang paksa at ang "0" ay payload
  4. baguhin ang IP address sa utos gamit ang iyong Rpi IP address
  5. At sa halip na "0" isulat ang "1" na magpapasara sa iyong relay sa sonoff wifi switch.

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

Ang tagubilin sa itaas ay papatayin ang iyong relay.

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

Ang tagubiling ito ay magpapasara sa iyong relay.

Tapos ka na sa pagkontrol ng iyong sonoff mula sa Rpi terminal.

maaari mong suriin sa pamamagitan ng pagkonekta ng sonoff wifi switch sa ibang wifi network at raspberry pi sa ibang koneksyon sa wifi. Dapat mong makontrol ang relay mula sa kahit saan sa mundo.

Ngayon kahit na nais mong subukan ang ON / OFF ng iyong sonoff awtomatikong nagsulat ako ng isang maliit na script ng sawa

na nagpapadala ng "1" muna at pagkatapos ng 6 na segundo nagpapadala ito ng "0" at ang prosesong ito ay inuulit sa isang loop.

i-import ang paho.mqtt.publish bilang oras ng pag-publish

Habang Totoo:

print ("Sending 1…") publish.single ("ledStatus", "1", hostname = "Your broker IP") time.s Sleep (6) print ("Sending 0…") publish.single ("ledStatus", "0", hostname = "Iyong broker IP") oras. Tulog (3)

Ang code sa itaas ay simpleng lumiliko at patayin ang relay sa sonoff wifi relay switch.

huwag kalimutang palitan ang IP address ng iyong RaspberryPi sa nasa itaas na python code. patakbuhin ngayon ang script na ito sa pamamagitan ng pag-click sa module ng pagpipilian na magpatakbo at dapat mong makita sa shell

nagpapadala ng "1"..

nagpapadala ng "0"..

nagpapadala ng "1".. isang bagay na katulad nito.

Iyon lang para sa Instructable na ito. magkita tayo sa susunod na may bago.

Paalam !!!!

at huwag kalimutang sundin at ibahagi ang itinuturo na ito at subukan ito sa iyong sarili!

anumang pagdududa post sa seksyon ng puna ay maligayang pagdating!

Inirerekumendang: