Съдържание:

Изключително ниска мощност WiFi система за домашна автоматизация: 6 стъпки (със снимки)
Изключително ниска мощност WiFi система за домашна автоматизация: 6 стъпки (със снимки)

Видео: Изключително ниска мощност WiFi система за домашна автоматизация: 6 стъпки (със снимки)

Видео: Изключително ниска мощност WiFi система за домашна автоматизация: 6 стъпки (със снимки)
Видео: Linptech ES1 - микровълнов сензор за присъствие за mihome, Home Assistant Gateway 3 интеграция 2024, Ноември
Anonim
Изключително ниска мощност WiFi система за домашна автоматизация
Изключително ниска мощност WiFi система за домашна автоматизация
Изключително ниска мощност WiFi система за домашна автоматизация
Изключително ниска мощност WiFi система за домашна автоматизация

В този проект ние показваме как можете да изградите основна локална система за домашна автоматизация в няколко стъпки. Ще използваме Raspberry Pi, който ще действа като централно WiFi устройство. Като има предвид, че за крайни възли ще използваме IOT Cricket, за да направим WiFi устройства, захранвани от батерии, напр. температурен сензор и го свържете към RPi, без да пишете нито един ред код.

Нашата система ще се основава на комуникационен протокол MQTT, който е широко приет в повечето системи за домашна автоматизация. За да го настроим, ние избираме Mosquitto MQTT брокер (сървър) и го инсталираме на Raspberry Pi (нашият централен хъб).

IOT Cricket също се предлага с поддръжка на протоколи HTTP (S) и MQTT. Конфигурираме го да използва MQTT за комуникация директно с нашия RPi MQTT брокер.

Този проект може да бъде реализиран от създатели на всички нива на умения. Може да изисква известно основно запояване, но не изисква кодиране или програмиране. В края на този проект ще получите солидна представа как лесно можете да изградите своя собствена система и бързо да я разширите, като добавите свои собствени крайни възли IOT към системата.

Консумативи:

  • Raspberry Pi (използвахме версия 3 за този проект)
  • WiFi модул за крикет IOT
  • 2xAAA държач за батерия
  • 2xAAA батерии

Стъпка 1: Какво е MQTT?

Протоколът MQTT осигурява лек метод за извършване на съобщения, използвайки модел за публикуване/абониране. Това го прави подходящ за съобщения в Интернет на нещата, като сензори с ниска мощност или мобилни устройства, като телефони, вградени компютри или микроконтролери. (източник: mosquitto.org)

Можем да използваме толкова устройства, колкото искаме да се абонираме за теми и да слушаме за пристигащи съобщения. Ако някои устройства публикуват съобщение по тази тема, тогава всички устройства, които са абонирани за темата, получават това съобщение незабавно. Темата може да бъде произволен низ, обикновено свързан с / символи, за да се позволи изграждането на йерархични теми. Най -типичното използване на MQTT е да има един централен сървър, на който устройствата могат да се абонират и публикуват съобщения. Той улеснява цялата комуникация между устройства, свързани към този сървър. В този проект ще използваме RPi, за да действаме като наш централен MQTT брокер и всички други устройства ще изпращат съобщения чрез този брокер. Най -добрият начин да научите за това, очевидно е като го направите сами. Има много налични ресурси в интернет на MQTT. За този проект обаче би трябвало да се съгласите с основно въведение, което ние предоставихме по -горе.

Стъпка 2: Инсталиране на MQTT брокер на Raspberry Pi

За този проект използваме брокер Mosquitto MQTT с отворен код. Той е лек и е подходящ за използване на всички устройства от единични бордови компютри с ниска мощност до пълноценни сървъри.

Преди да започнем инсталирането, добра практика е първо да актуализираме системните компоненти:

$ sudo apt-get update $ sudo apt-get надстройка

Инсталирайте брокер Mosquitto. Отворете терминал и въведете следната команда:

$ sudo apt -get install mosquitto -y

Конфигурирайте Mosquitto брокер. Редактиране на конфигурационен файл:

$ sudo vi /etc/mosquitto/mosquitto.conf

и добавете следните редове в горната част:

порт 1883allow_anonymous вярно

Рестартирайте RPi, за да приложите промените:

$ sudo рестартиране

Това е! Нашият брокер MQTT вече работи!

ЗАБЕЛЕЖКА: за улеснение на този проект ние не създаваме акаунти. Така че всеки в нашата локална мрежа може да се свърже с този MQTT брокер без идентификационни данни. Ако искате да добавите удостоверяване на потребителя и да го направите по -сигурен, в интернет има много уроци как да го направите.

Сега просто трябва да получим IP адрес, за да можем да изпращаме съобщения до нашия брокер Mosquitto от други устройства в мрежата:

Получете IP адрес:

$ hostname -I

вашия_RPi_IP_адрес (напр. 192.168.1.10)

Стъпка 3: Свържете IOT Cricket към RaspberryPi през MQTT

Свържете IOT Cricket към RaspberryPi през MQTT
Свържете IOT Cricket към RaspberryPi през MQTT
Свържете IOT Cricket към RaspberryPi през MQTT
Свържете IOT Cricket към RaspberryPi през MQTT

В този проект използваме IOT Cricket WiFi модула за прост сензор, който отчита температура на всеки 30 секунди в нашата система. Той ще работи на батерия, така че можем да го залепим навсякъде у дома или в градината. По -късно можете да използвате IOT Cricket за изграждане на различни сензори, аларми, бутони, превключватели, захранвани от батерии, и да ги свържете също с нашия RPi MQTT брокер извън кутията.

В първата стъпка свържете батериите към Крикет.

Крикетът се предлага с вграден температурен сензор. Просто трябва да го конфигурираме, за да изпраща температурна стойност към нашия MQTT брокер, като зададем IP адреса на RPi. За да направите това, отворете конфигурационния панел на крикет (вижте стъпките тук) и приложете следните настройки (както е показано на изображението по -долу, моля коригирайте IP адреса в полето "url" към вашия RPi)

Сега можем да излезем от конфигурационния режим. Устройството е готово! Крикетът вече изпраща данни до нашия брокер MQTT на всеки 30 секунди.

Стъпка 4: Проверете MQTT съобщенията

Проверете MQTT съобщенията
Проверете MQTT съобщенията

За да преглеждате / получавате съобщения, изпратени до нашия брокер MQTT, можем да използваме различни инструменти.

Най -лесният може да бъде инструмент за командния ред mosquitto_sub. Можем да го инсталираме или на всеки компютър в нашата мрежа, или на нашия RPi с тази команда:

$ sudo apt-get install mosquitto-clients -y

Сега можем да изпълним следната команда, за да слушаме ВСИЧКИ теми и съобщения, изпращани чрез нашия MQTT брокер:

$ mosquitto_sub -v -h your_RPi_IP_address -p 1883 -t '#'

…/59A98F494C/ч/ч49

Горното е изходен пример за това, което IOT Cricket изпраща на нашия брокер. Сред другите данни можем да видим, че има температура:

/59A98F494C/температура 26.0

Красотата на MQTT е, че ни позволява да се абонираме само за теми, които ни интересуват. Ако искаме да получим само температура, можем да се абонираме за /59A98F494C /temp тема, като използваме следната команда:

$ mosquitto_sub -h your_RPi_IP_address -t '/59A98F494C/temp'

…26.126.527.227.6…

Стъпка 5: Обобщение

Резюме
Резюме

Ние показахме в този проект основен хардуер и софтуер, за да започнем да изграждаме системи за домашна автоматизация с ниска мощност, енергийно ефективни, базирани на WiFi. MQTT е същността, върху която трябва да се надгражда за по -сложни системи.

Екосистемата от софтуер и услуги, които могат да бъдат интегрирани с MQTT, е ОГРОМНА! Има много страхотни системи като Home Assistant, Node RED, Grafana и т.н., които ви позволяват да измислите страхотно потребителско изживяване за вашата собствена система. Не само можем да направим обикновени разпечатки на температура, но можем да имаме страхотни табла за визуализиране на данните и управление на вашите устройства.

Сега, когато разполагаме с тази основна системна инфраструктура, небето е нашата граница на това какви други WiFi устройства можем да изградим с помощта на IOT Cricket модули и да добавим към нашата система за домашна автоматизация.

Благодаря, че се качихте тук. Надяваме се, че този урок ви е харесал!

Екипът на Things On Edge

Стъпка 6: За нас

Things On Edge е компания, базирана в Кеймбридж, Великобритания. Ние проектираме Wi-Fi модул за крикет с ултра ниска батерия, който ви позволява буквално за минути да свържете различни електронни устройства към смартфони или други интернет услуги. Не изисква програмиране и кодиране. Тя ви позволява да интегрирате вашите устройства в огромни екосистемни услуги на IOT през MQTT и HTTP apis.

Препоръчано: