Inhoudsopgave:

Ultra-low Power WiFi-huisautomatiseringssysteem - Ajarnpa
Ultra-low Power WiFi-huisautomatiseringssysteem - Ajarnpa

Video: Ultra-low Power WiFi-huisautomatiseringssysteem - Ajarnpa

Video: Ultra-low Power WiFi-huisautomatiseringssysteem - Ajarnpa
Video: Hoe je met een smart home je slimme zonwering bedient | Busch-Jaeger 2024, November
Anonim
Ultra-low Power WiFi-huisautomatiseringssysteem
Ultra-low Power WiFi-huisautomatiseringssysteem
Ultra-low Power WiFi-huisautomatiseringssysteem
Ultra-low Power WiFi-huisautomatiseringssysteem

In dit project laten we zien hoe je in een paar stappen een basis lokaal domoticasysteem kunt bouwen. We gaan een Raspberry Pi gebruiken die zal fungeren als een centraal wifi-apparaat. Terwijl we voor eindknooppunten IOT Cricket gaan gebruiken om wifi-apparaten op batterijen te maken, b.v. temperatuursensor en sluit deze aan op de RPi zonder een enkele regel code te schrijven.

Ons systeem zal gebaseerd zijn op het MQTT-communicatieprotocol, dat enorm wordt toegepast in de meeste domoticasystemen. Om het in te stellen kiezen we Mosquitto MQTT broker (server) en installeren het op Raspberry Pi (onze centrale hub).

IOT Cricket wordt ook geleverd met ondersteuning voor HTTP(S) en MQTT-protocollen. We configureren het om MQTT te gebruiken om rechtstreeks met onze RPi MQTT-makelaar te communiceren.

Dit project kan worden gerealiseerd door makers op alle vaardigheidsniveaus. Het kan wat elementair solderen vereisen, maar het vereist geen codering of programmering. Aan het einde van dit project krijgt u een goed idee hoe u eenvoudig uw eigen systeem kunt bouwen en snel kunt uitbreiden door uw eigen IOT-eindknooppunten aan het systeem toe te voegen.

Benodigdheden:

  • Raspberry Pi (we gebruikten versie 3 voor dit project)
  • IOT Cricket WiFi-module
  • 2xAAA-batterijhouder
  • 2xAAA-batterijen

Stap 1: Wat is MQTT?

Het MQTT-protocol biedt een lichtgewicht methode om berichten uit te voeren met behulp van een publish/subscribe-model. Dit maakt het geschikt voor Internet of Things-berichten, zoals sensoren met een laag vermogen of mobiele apparaten zoals telefoons, embedded computers of microcontrollers. (bron: mug.org)

We kunnen zoveel apparaten gebruiken als we willen om ons te abonneren op onderwerpen en te luisteren naar berichten die binnenkomen. Als sommige apparaten een bericht over dat onderwerp publiceren, ontvangen alle apparaten die op het onderwerp zijn geabonneerd dat bericht onmiddellijk. Het onderwerp kan elke willekeurige tekenreeks zijn, meestal aaneengeschakeld met / tekens om hiërarchische onderwerpen te bouwen. Het meest typische gebruik van MQTT is om één centrale server te hebben waarop apparaten zich kunnen abonneren en berichten kunnen publiceren. Het vergemakkelijkt alle communicatie tussen apparaten die op die server zijn aangesloten. In dit project zullen we RPi gebruiken om op te treden als onze centrale MQTT-makelaar en alle andere apparaten zullen berichten via deze makelaar verzenden. De beste manier om het te leren, is natuurlijk door het zelf te doen. Er zijn tal van bronnen beschikbaar op internet op MQTT. Voor dit project zou je echter in orde moeten zijn met een basisintroductie, die we hierboven hebben gegeven.

Stap 2: MQTT Broker installeren op Raspberry Pi

Voor dit project gebruiken we een open source Mosquitto MQTT-makelaar. Het is lichtgewicht en geschikt voor gebruik op alle apparaten, van low power single board computers tot volledige servers.

Voordat we beginnen met installeren, is het een goede gewoonte om eerst de systeemcomponenten bij te werken:

$ sudo apt-get update$ sudo apt-get upgrade

Installeer Mosquito-makelaar. Open een terminal en typ het volgende commando:

$ sudo apt-get install mug -y

Configureer Mosquito-makelaar. Configuratiebestand bewerken:

$ sudo vi /etc/mosquitto/mosquitto.conf

en voeg bovenaan de volgende regels toe:

port 1883allow_anonymous true

Start RPi opnieuw om wijzigingen toe te passen:

$ sudo opnieuw opstarten

Dat is het! Onze MQTT-makelaar is nu in gebruik!

OPMERKING: omwille van de eenvoud van dit project maken we geen accounts aan. Dus iedereen binnen ons lokale netwerk kan zonder inloggegevens verbinding maken met deze MQTT-makelaar. Als u gebruikersauthenticatie wilt toevoegen en het veiliger wilt maken, zijn er tal van tutorials op internet hoe u dit moet doen.

Nu moeten we alleen het IP-adres verkrijgen, zodat we berichten naar onze Mosquitto-makelaar kunnen sturen vanaf andere apparaten in het netwerk:

IP-adres verkrijgen:

$ hostnaam -I

uw_RPi_IP_adres (bijv. 192.168.1.10)

Stap 3: Verbind IOT Cricket met RaspberryPi via MQTT

Verbind IOT Cricket met RaspberryPi via MQTT
Verbind IOT Cricket met RaspberryPi via MQTT
Verbind IOT Cricket met RaspberryPi via MQTT
Verbind IOT Cricket met RaspberryPi via MQTT

In dit project gebruiken we de IOT Cricket WiFi-module voor een eenvoudige sensor die elke 30 seconden een temperatuur meldt aan ons systeem. Hij werkt op een batterij, zodat we hem overal in huis of in de tuin kunnen plakken. Later kunt u IOT Cricket gebruiken om verschillende op batterijen werkende sensoren, alarmen, knoppen en schakelaars te bouwen en deze ook direct aan te sluiten op onze RPi MQTT-makelaar.

Sluit in de eerste stap de batterijen aan op Cricket.

Cricket wordt geleverd met een ingebouwde temperatuursensor. We hoeven het alleen maar te configureren om de temperatuurwaarde naar onze MQTT-makelaar te sturen door het RPi IP-adres in te stellen. Open hiervoor het configuratiepaneel van Cricket (zie de stappen hier) en pas de volgende instellingen toe (zoals weergegeven in de onderstaande afbeelding, alstublieft pas het IP-adres in het vak "url" aan uw RPi aan)

Nu kunnen we de configuratiemodus verlaten. Het apparaat is klaar! Cricket stuurt al elke 30 seconden gegevens naar onze MQTT-makelaar.

Stap 4: MQTT-berichten inspecteren

MQTT-berichten inspecteren
MQTT-berichten inspecteren

Voor het bekijken/ontvangen van berichten die naar onze MQTT-makelaar zijn verzonden, kunnen we verschillende tools gebruiken.

De eenvoudigste is misschien een opdrachtregeltool mosquitto_sub. We kunnen het op elke computer in ons netwerk of op onze RPi installeren met deze opdracht:

$ sudo apt-get install mosquitto-clients -y

Nu kunnen we de volgende opdracht uitvoeren om te luisteren naar ALLE onderwerpen en berichten die via onze MQTT-makelaar zijn verzonden:

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

… / 59A98F494C / device_name MyTemperatureDev / 59A98F494C / device_sn 59A98F494C / 59A98F494C / hwc_wake_up 3794 / 59A98F494C / hwc_wifi_enabled 3763 / 59A98F494C / hwc_message_sent 3664 / 59A98F494C / temp 26,0 / 59A98F494C / io1_wake_up 0 / 59A98F494C / rtc_wake_up 1 …

Het bovenstaande is een uitvoervoorbeeld van wat IOT Cricket naar onze makelaar stuurt. Onder de andere gegevens die we kunnen zien, is er een temperatuur:

/59A98F494C/temp 26.0

Het mooie van MQTT is dat we ons kunnen abonneren op alleen onderwerpen waarin we geïnteresseerd zijn. Als we alleen een temperatuur willen ontvangen, kunnen we ons abonneren op /59A98F494C/temp onderwerp door het volgende commando te gebruiken:

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

…26.126.527.227.6…

Stap 5: Samenvatting

Samenvatting
Samenvatting

We hebben in dit project essentiële hardware en software laten zien om te beginnen met het bouwen van energiezuinige, energiezuinige domoticasystemen op basis van wifi. MQTT is de essentie om op voort te bouwen voor meer geavanceerde systemen.

Het ecosysteem van software en services die kunnen worden geïntegreerd met MQTT is ENORM! Er zijn veel geweldige systemen zoals Home Assistant, Node RED, Grafana, etc. waarmee je een geweldige gebruikerservaring van je eigen systeem kunt bedenken. We kunnen niet alleen een eenvoudige afdruk van een temperatuur maken, maar we kunnen ook geweldige dashboards hebben die de gegevens visualiseren en uw apparaten beheren.

Nu we deze basissysteeminfrastructuur hebben, is de lucht onze limiet van wat andere wifi-apparaten we kunnen bouwen met IOT Cricket-modules en toevoegen aan ons domoticasysteem.

Bedankt dat je hier bent gekomen. We hopen dat je genoten hebt van deze tutorial!

Things On Edge-team

Stap 6: Over ons

Things On Edge is een bedrijf gevestigd in Cambridge, VK. We ontwerpen een Cricket Wi-Fi-module met een ultralaag batterijvermogen, zodat u verschillende elektronische apparaten letterlijk in enkele minuten kunt verbinden met smartphones of andere internetdiensten. Het vereist geen programmering en codering. Hiermee kunt u uw apparaten integreren in een enorm IOT-ecosysteemservices via MQTT en

Aanbevolen: