Inhoudsopgave:

IoT Basics: uw IoT verbinden met de cloud met behulp van Mongoose OS: 5 stappen
IoT Basics: uw IoT verbinden met de cloud met behulp van Mongoose OS: 5 stappen

Video: IoT Basics: uw IoT verbinden met de cloud met behulp van Mongoose OS: 5 stappen

Video: IoT Basics: uw IoT verbinden met de cloud met behulp van Mongoose OS: 5 stappen
Video: Торий: энергетическое решение - THORIUM REMIX 2011 2024, Juli-
Anonim
IoT Basics: uw IoT verbinden met de cloud met behulp van Mongoose OS
IoT Basics: uw IoT verbinden met de cloud met behulp van Mongoose OS
IoT Basics: uw IoT verbinden met de cloud met behulp van Mongoose OS
IoT Basics: uw IoT verbinden met de cloud met behulp van Mongoose OS

Als je iemand bent die van knutselen en elektronica houdt, zul je vaker wel dan niet de term Internet of Things tegenkomen, meestal afgekort als IoT, en dat het verwijst naar een reeks apparaten die verbinding kunnen maken met internet! Omdat ik zelf zo'n persoon was, was ik gefascineerd toen ik hoorde dat zulke geweldige apparaten gemakkelijk toegankelijk waren voor mij. Alleen al de gedachte om mijn projecten met internet te kunnen verbinden met een klein stukje hardware en alleen al te denken aan de talloze poorten die het zou openen voor mijn projectideeën, had me opgepompt.

Maar het IoT vertellen om verbinding te maken met internet is niet zo eenvoudig als het gewoon van de plank kopen en opstarten. En behalve dat het apparaat verbinding met internet moet maken, moeten we ook enkele nuttige gegevens naar internet pushen. Deze Instructable behandelt de procedure die nodig is om het bovengenoemde doel te bereiken, en is bedoeld voor lezers van elk ervaringsniveau, van beginners tot veteranen die nieuw zijn bij IoT.

In deze Instructable zal ik als voorbeeld demonstreren hoe de grafiek van de interne temperatuursensormetingen van het ESP32-ontwikkelbord kan worden geplot, wat de lezers een goed idee van het proces zou moeten geven.

Hoewel deze Instructable ESP32 en Mongoose OS gebruikt, kan de procedure worden uitgebreid tot alle IoT's en firmware die er zijn!

Benodigdheden

Om deze Instructable zelf te kunnen implementeren, heb je slechts een minimale hoeveelheid hardware nodig, en deze zijn:

  • An Internet of Thing (IoT): ik heb een goedkope ESP32-ontwikkelbordkloon gebruikt. Als je van plan bent een nieuw ESP32-ontwikkelbord te kopen, moet je het ESP32-bord van DFRobot eens bekijken.
  • Een datakabel: gebruik een kabel die uw IoT nodig heeft voor flashen etc.
  • Een batterij (optioneel): koop deze alleen als u van plan bent uw IoT voor lange tijd van stroom te voorzien.
  • Een Mini Breadboard (Optioneel)

Ik raad de lezer aan om een ander IoT dan ESP32 te gebruiken, zodat hij/zij echt begrijpt wat hier wordt gedaan, in plaats van mij simpelweg te imiteren. Geloof me, je zult genieten van het implementeren van dit proces met je eigen geest in een ander IoT, bijvoorbeeld, ESP8266 zou een goede keuze zijn.

Stap 1: Inleiding tot MQTT

Inleiding tot MQTT
Inleiding tot MQTT

Wat is MQTT?

"MQTT is een eenvoudig berichtenprotocol, ontworpen voor beperkte apparaten met een lage bandbreedte. Het is dus de perfecte oplossing voor Internet of Things-toepassingen. Met MQTT kun je commando's verzenden om uitgangen te besturen, gegevens van sensorknooppunten lezen en publiceren en nog veel meer. " (Van RandomNerdTutorials)

Hoe werkt MQTT?

Laten we, voordat we technisch gaan, eerst nadenken over onze echte wereld. Stel dat u geïnteresseerd bent in een kaartenverzameling die eigendom is van de vriend van uw vriend, bijvoorbeeld Laurel, die u niet persoonlijk kent. Omdat je erg kieskeurig bent over die kaartenverzameling, vraag je je vriend, stel Tom, om te vragen of Laurel hem wil verkopen of niet. Terwijl je dit doet, vraag je Tom om de kaartverzameling zelf te kopen als Laurel bereid is om te verkopen, omdat je niet wilt dat iemand anders de verzameling in handen krijgt waar je naar hunkert! Naarmate de tijd verstrijkt, communiceren Tom en Laurel met elkaar, en in onderling overleg geeft Laurel haar kaartverzameling aan Tom in ruil voor geld. Na deze uitwisseling houdt Tom de kaarten bij zichzelf totdat hij je weer ontmoet, en dan geeft hij je eindelijk de kaartverzameling. Zo verloopt een normale uitwisseling in ons dagelijks leven.

In MQTT zijn de basiselementen die betrokken zijn bij de uitwisseling de uitgever (Laurel), een abonnee (u) en de makelaar (Tom). De workflow is ook vergelijkbaar met het hierboven genoemde voorbeeld uit de echte wereld, behalve één enorm verschil! In MQTT wordt de uitwisseling geïnitieerd door de makelaar, d.w.z. Laurel zou de eerste zijn die Tom bereikt om te vertellen dat ze haar kaartverzameling wil verkopen. Als we de werking van MQTT vergelijken met ons praktijkvoorbeeld, dan zou het als volgt zijn:

  1. Laurel vertelt Tom dat ze haar kaartverzameling (data of payload) wil verkopen en geeft de kaarten aan hem.
  2. Tom neemt die kaarten in zijn bezit en staat open voor biedingen voor de kaartenverzameling. Wanneer jij en Tom elkaar ontmoeten en hij ontdekt dat je geïnteresseerd bent in de kaarten (abonneert je op een onderwerp). Tom geeft je dan de kaarten.

Omdat het hele proces afhankelijk is van de makelaar en geen directe interactie tussen de abonnee en de uitgever, neemt MQTT het gedoe van het synchroniseren van zowel de uitgever als de abonnee weg. De aanwezigheid van een tussenpersoon is een zegen voor apparaten met beperkte middelen, zoals IoT's en microprocessors, aangezien hun verwerkingskracht onvoldoende is om gegevensoverdracht op de normale manier uit te voeren, wat extra overheadkosten met zich mee zou brengen, zoals authenticatie, codering enz. Afgezien hiervan, MQTT heeft veel andere functies, zoals lichtgewicht, een-op-veel-distributie, enzovoort, waardoor het ideaal is voor beperkte netwerken en clients

Stap 2: Inleiding tot het IoT-platform

Wat is een IoT-platform?

"Op een hoog niveau is een Internet of Things (IoT)-platform de ondersteunende software die edge-hardware, toegangspunten en datanetwerken verbindt met andere delen van de waardeketen (die over het algemeen de eindgebruikerstoepassingen zijn). IoT-platforms typisch lopende beheertaken en datavisualisatie afhandelen, waardoor gebruikers hun omgeving kunnen automatiseren." (Van Link Labs)

Kort gezegd fungeert een IoT-platform als het medium tussen de gebruiker en de gegevensverzamelingsagenten die verantwoordelijk is voor het vertegenwoordigen van de verzamelde gegevens.

In deze Instructable zijn we van plan om de temperatuurmetingen van onze ESP32 online te pushen. Onze ESP32 zal optreden als de MQTT-uitgever en de MQTT-makelaar zal een IoT-platform van onze keuze zijn. Merk op dat er in ons project geen rol is weggelegd voor een MQTT-abonnee, aangezien de gegevens uit de eerste hand door het platform zelf worden weergegeven. Het IoT-platform zal verantwoordelijk zijn voor het opslaan van onze gepubliceerde gegevens en het hier mooi weergeven als een lijngrafiek. Ik zal Losant hier als mijn IoT-platform gebruiken, omdat het gratis te gebruiken is en een aantal goede manieren biedt om gegevens weer te geven. Enkele andere voorbeelden van IoT-platforms zijn Google Cloud, Amazon AWS en Adafruit, Microsoft Azure enz. Ik raad de lezer aan om de documentatie van het door hem gekozen IoT-platform te raadplegen.

Losant instellen:

  1. Inloggen op Losant
  2. Een apparaat maken (zelfstandig type)
  3. Voeg een paar gegevenstypen toe aan het apparaat1. Naam: temperatuur, gegevenstype: nummer2. Naam: offset, gegevenstype: nummer3. Naam: eenheid, gegevenstype: tekenreeks
  4. Genereer een toegangssleutel en noteer de apparaat-ID en toegangssleutel
  5. Maak een grafiek1. Maak een dashboard.2. Voeg het blok "Time Series Graph" toe met behulp van de temperatuurvariabele en uw gemaakte apparaat.

De "Apparaat-ID" dient als unieke vingerafdruk voor een apparaat. De "toegangssleutels", zoals de naam al doet vermoeden, stellen het IoT in staat om naar Losant te publiceren onder de apparaatidentiteit.

Stap 3: Bereid de MQTT-uitgever voor

Image
Image

Nu we het IoT-platform hebben voorbereid voor het ontvangen en weergeven van de gegevens, moeten we een MQTT-uitgever voorbereiden die verantwoordelijk is voor het verzamelen en verzenden van de gegevens naar het platform.

Het overzicht van de voorbereiding van MQTT-uitgevers is als volgt:

  • Schrijf de code:Om de uitgever (IoT) te instrueren hoe gegevens moeten worden verzameld, verwerkt en naar het IoT-platform moeten worden verzonden. De instructies zijn geschreven in voor mensen leesbare programmeertalen op hoog niveau, die normaal gesproken de code worden genoemd.
  • Flash de firmware: het IoT zal deze instructies niet gemakkelijk begrijpen omdat het aanvankelijk geen taal kent. Om deze taalbarrière tussen mens en machine te overbruggen, wordt de code gecompileerd tot een ruwe set instructies, in feite sets van hexadecimale of binaire waarden die specifiek zijn voor geheugenlocaties binnen het IoT, bekend als de firmware die vervolgens naar het IoT wordt geflitst.

In deze Instructable, aangezien ik mijn handige ESP32 gebruik, zal ik Mongoose OS-firmware erop flashen, die programma's accepteert die zijn geschreven in C en JavaScript. Afgezien van JS-compatibiliteit, heeft Mongoose OS nog veel te bieden, zoals over-the-air updates, voor het online aanpassen van uw programma en een speciaal dashboard voor apparaten (mDash) enz.

Ik heb een open-source app voor Mongoose OS ontwikkeld voor deze Instructable. Het is een eenvoudige app genaamd losant-temp-sensor, die MQTT gebruikt om de geschatte omgevingstemperatuurmetingen, gebaseerd op de interne temperatuurmetingen van de ESP32, naar Losant (een gratis te gebruiken IoT-platform) te sturen. Voor een beter begrip is het aan te raden om de code van de app door te nemen. We zullen deze app flitsen voor deze Instructable.

Als je van de avontuurlijke soort bent, kun je proberen hetzelfde doel te bereiken met Arduino-ESP32-firmware waarmee je de ESP32 als Arduino kunt gebruiken (met WiFi-mogelijkheid).

Een kort overzicht van de knipperende app met Mongoose OS:

  1. Installeer de mos-tool voor uw besturingssysteem.
  2. Open de tool en voer de volgende opdrachten uit:

    1. mos kloon
    2. cd losant-temp-sensor
    3. mos build --platform esp32
    4. mos flash
  3. Laat het apparaat na succesvol knipperen opnieuw opstarten en voer vervolgens de volgende opdrachten uit:

    1. mos wifi "uw wifi ssid" "uw wifi-wachtwoord" bijv. mos wifi "Thuis" "thuis@123"
    2. mos config-set temperatuur.basis=

      temperatuur.eenheid="

      "bijv. mos config-set temperatuur.basis=33 \temperature.unit="celsius"

    3. mos config-set device.id=mqtt.client_id=mqtt.gebruiker=mqtt.pass=

Nadat je al deze stappen correct hebt doorlopen, krijg je een ESP32 die de temperatuurmetingen periodiek, na elke 10 minuten, naar Losant stuurt. Succesvol publiceren wordt aangegeven door de blauwe LED, zoals te zien is in de bovenstaande video.

Stap 4: Voetnoot

Image
Image
Voetnoot
Voetnoot

Als je de vorige stappen correct kunt herhalen, heb je nu een werkend project waarmee je de temperatuurtrends in je kamer of waar je het project ook wilt plaatsen kunt observeren. Omdat ik deze Instructable zo algemeen mogelijk heb gehouden, kun je je IoT gebruiken om allerlei soorten gegevens te verzamelen en proberen er iets nuttigs uit te concluderen, of je kunt het gewoon doen om te knutselen als je ' heb dit Instructable goed begrepen.

Voor mij is het beste deel van IoT het feit dat het ons in staat stelt enorme hoeveelheden gegevens te verzamelen, niet-overtuigend als ze alleen worden genomen, en deze om te zetten in iets overtuigends. Dit raakt echt de geest van de wetenschap. Voor mij was het zeer bevredigend en verhelderend om via mijn grafiek de temperatuur in mijn kamer te zien dalen tijdens regenuren.

De losant-temp-sensor-app is geoptimaliseerd voor stroomverbruik, omdat het de diepe slaapfunctie van ESP32 gebruikt, dus je kunt het voor lange tijd gebruiken zonder je zorgen te maken over de batterij. U kunt de energie-efficiëntie verder uitbreiden door de LED op het ontwikkelbord te verwijderen. De huidige loting van de hele opstelling is hierboven weergegeven.

Het doel van deze Instructable was vanaf het begin alleen maar om je een introductie te geven in de wereld van IoT. Bij het afronden van deze Instructable, heb je een goede greep op de basis die je nog meer kunt versterken door middel van andere online bronnen.

Hoewel je in dit stadium geen complexe projecten kunt maken, moet je altijd in gedachten houden dat als je een baksteen hebt die sterk genoeg is, en een manier om ze te combineren, je elke denkbare structuur kunt maken, van eenvoudig te ingewikkeld. Evenzo, als je de basis goed begrijpt en weet hoe je ze correct moet toepassen, kun je massa's constructies opzetten. Geef jezelf daarom een schouderklopje voor het zetten van de eerste stap.

Stap 5: Tegoeden en ondersteuning

Dit Instructable bestaat uit illustraties, b.v. degene die MQTT-uitwisseling verklaart, die ik persoonlijk heb gemaakt. Die illustraties waren alleen mogelijk dankzij de volgende gratis te gebruiken SVG-pakketten:

  • Infographic vector gemaakt door freepik - www.freepik.com
  • Infographic vector gemaakt door starline - www.freepik.com
  • Mensen vector gemaakt door pikisuperstar - www.freepik.com
  • Abstracte vector gemaakt door macrovector - www.freepik.com
  • Abstracte vector gemaakt door macrovector - www.freepik.com
  • Infographic vector gemaakt door pikisuperstar - www.freepik.com

Dit Instructable is gesponsord door DFRobot. DFRobot heeft een geweldige elektronicacollectie, dus zorg ervoor dat je hem bekijkt.

Als je denkt dat je dit Instructable leuk vond en meer van dit soort Instructables wilt, dan kun je me steunen op Patreon. Als je niet zo ver kunt gaan, kun je me hier volgen op Instructables.

Aanbevolen: