Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Web-IoT Meter Bouwen met Arduino, Yaler en IFTTT

Onderdelen en benodigdheden

Web-IoT Meter Bouwen met Arduino, Yaler en IFTTT Arduino Yun × 1
Servo (Tower Pro MG996R) × 1
M3 bouten en moeren × 3
4 mm multiplex × 1

Benodigde tools en machines

Lasersnijder
Lijmpistool
Android of iOS telefoon

Apps en online diensten

Web-IoT Meter Bouwen met Arduino, Yaler en IFTTT IFTTT Maker service

Over dit project

Web-IoT Meter Bouwen met Arduino, Yaler en IFTTT

(Bron: Instructables)

Hoe je een web-gebaseerde, Arduino-gebaseerde IoT-meter bouwt met een REST API, en deze koppelt aan het IFTTT-platform via de Yaler.net relayservice.

Wat maakt dit spannend? Met de Maker Channel ondersteunt IFTTT aangepaste webhooks, waarmee DIY IoT-projecten geïntegreerd kunnen worden. Hierop wachtte ik sinds 2011.

Geïnspireerd door de WhereDial, een IoT-klassieker, toont de IoT-meter de huidige locatie van de eigenaar – een beetje als de Weasley-klok in Harry Potter.

Het ontwerp en de code zijn generiek en kunnen ook gebruikt worden om b.v. weersomstandigheden weer te geven. De logica zit in de cloud; de meter is puur een servo met een API.

Downloads (voor de Uno)

  • Yaler Arduino library: YalerEthernetServer.zip
  • Arduino Uno code: IoTGaugeWebService.ino

*) Ik ben oprichter van Yaler.

**) Zapier, een ander mash-up platform, ondersteunde altijd al aangepaste webhooks.

Stap 1: Lasersnijden en assembleren van de IoT-meter

Web-IoT Meter Bouwen met Arduino, Yaler en IFTTT

Onderdelen produceren

  • Download de IoT-meter ontwerpbestanden.
  • Lasersnij het ontwerp uit 4 mm multiplex.
  • Graveer locatienamen (of wat je nodig hebt), of schrijf ze met een pen.

IoT-meter assembleren

  • Plaats de Ethernet shield op de Arduino (voor de Uno).
  • Schroef de Arduino op de basisplaat (let op de oriëntatie).
  • Bevestig de grote frontplaat aan de servo, daarna de kleine frontplaat.
  • Plaats de basisplaat in beide frontplaten, zorg dat alles uitgelijnd is.
  • Lijm de indicatoren op de frontplaat, correct georiënteerd.
  • Gebruik jumper wires om de servo aan te sluiten op pin 9, 5V en GND van de Arduino (of shield).
  • Plaats de wijzer (later te kalibreren).

Stap 2: De IoT-meter webservice code uploaden

Web-IoT Meter Bouwen met Arduino, Yaler en IFTTT

Eenvoudige webservice

De IoT-meter te besturen is simpel. Een webservice (REST API) luistert naar inkomende verzoeken en zet de servopositie. De meter is een "domme" servo. Door de logica in de cloud te houden, kun je later de "hersenen" ruilen, b.v. om weer weer te geven in plaats van locatie.

Externe toegang tot de Arduino

Om IFTTT toegang te geven, moet de Arduino REST API bereikbaar zijn vanaf het web. Experts kunnen een firewall/router uitzondering maken, maar we gebruiken een relayservice (Yaler) om het simpel te houden.

Arduino Uno installatie

  • Installeer de YalerEthernetServer.zip library zoals beschreven op yaler.net/arduino.
  • Download de IoTGaugeWebService.ino code.
  • Zorg voor een uniek MAC-adres.
  • Vervang RELAY_DOMAIN door je relay domein (gratis proefaccount aanmaken op Yaler.net).
  • Upload de code naar je Arduino Uno.

Arduino Yun installatie

  • Installeer YalerTunnel en schakel webtoegang in zoals op yaler.net/arduino-yun.
  • Download de IoTGaugeMailboxApi.ino code.
  • Upload naar je Arduino Yun.

Waarom is de Yun-code anders? De Yun heeft een ingebouwde REST API (mailbox). Om deze bereikbaar te maken, gebruiken we de YalerTunnel Linux daemon (die ook SSL ondersteunt, in tegenstelling tot de Uno). Door te bouwen op wat er al is, vereenvoudig je de code.

Stap 3: De Arduino webservice testen met Curl

Web-IoT Meter Bouwen met Arduino, Yaler en IFTTT

Curl installeren

  • Download en installeer Curl van curl.haxx.se.
  • Open een shell en test: $ curl -v https://google.com/

Arduino Yun API activeren (overslaan voor Uno)

  • Voed de Yun, wacht even, ga naar https://arduino.local/.
  • Log in, klik Configure.
  • Zet REST API access op Open.
  • Klik Configure & Restart.

IoT-meter testen met Curl

  • Zorg dat de Arduino aangesloten is op internet.
  • Zet de servopositie op 3 (of 1-5): $ curl -vX POST https://RELAY_DOMAIN.try.yaler.io/mailbox/pos/3 (vervang RELAY_DOMAIN).
  • Controleer of de servo de wijzer naar de gewenste positie beweegt (bijstellen indien nodig).
  • Je zou HTTP/1.1 200 OK moeten zien. 504 betekent dat de Arduino niet online is of er een typo zit.

Waarom testen met Curl? Curl is een standaard HTTP-client. Browsers zijn goed voor GET, maar voegen soms "magie" toe (redirects volgen). Curl zorgt dat een basisclient of 3rd-party webhook (zoals IFTTT) je API kan bereiken.

Stap 4: De Arduino koppelen aan de IFTTT Maker Channel

Web-IoT Meter Bouwen met Arduino, Yaler en IFTTT

Nieuw IFTTT-recept aanmaken

IFTTT koppelt een trigger aan een actie.

  1. Ga naar ifttt.com/myrecipes/personal/new (registreer indien nodig).
  2. Kies een trigger channel, b.v. "Android Device" of "iOS Location".
  3. Kies een trigger, b.v. Connects to a specific WiFi network (Android).
  4. Voer netwerknaam of locatie in.
  5. Bij action channel, zoek Maker en selecteer deze.
  6. Kies actie Make a web request.
  7. URL: https://RELAY_DOMAIN.try.yaler.io/mailbox/pos/3 (vervang RELAY_DOMAIN).
  8. Method: POST.
  9. Content Type: application/x-www-form-urlencoded.
  10. Body: leeg laten.

Bestaand IFTTT-recept toevoegen

IFTTT stelt gebruikers in staat recepten te publiceren. Twee recepten voor de IoT-meter:

Klik Add, voer WiFi-naam/locatie in, vervang RELAY_DOMAIN in de URL, pas de pos parameter aan (1-5) per locatie, en herhaal voor elke locatie.

Stap 5: IFTTT Do Button aanmaken voor de IoT-meter

Web-IoT Meter Bouwen met Arduino, Yaler en IFTTT

IFTTT biedt Do apps voor iOS en Android om handmatig acties te triggeren – handig voor testen. Do-recepten kunnen (nog?) niet gedeeld worden, dus je maakt ze zelf.

  1. Download de Do Button app via ifttt.com/products/do/button.
  2. Ga door de intro-schermen.
  3. Klik rechtsonder op het icoon voor de receptenlijst.
  4. Tik op +, dan Channels, zoek Maker.
  5. Kies actie Make a web request.
  6. URL: https://RELAY_DOMAIN.try.yaler.io/mailbox/pos/3 (vervang RELAY_DOMAIN).
  7. Method: POST, Content Type: application/x-www-form-urlencoded, Body: leeg.
  8. Tik Add om de knop aan te maken.
  9. Bewerk online via ifttt.com/myrecipes/do.

Dat is alles! Vragen of suggesties? Laat het weten.

Code

Bitbucket repository met de volledige code.

Aangepaste onderdelen en behuizingen

IoT_Gauge.zip – ontwerpbestanden voor lasersnijder.

Schema's

Web-IoT Meter Bouwen met Arduino, Yaler en IFTTT

Productieproces

  1. Bouw een retro Numitron-klok met Arduino: Eenvoudig, betrouwbaar en energiezuinig
  2. Bouw een real-time gyroscoop-spel met Arduino Nano & MPU-6050 sensor
  3. IoT & AI-gestuurde Waterkwaliteitsmonitoring Beschermt Aquatisch Leven
  4. MotionSense: Slimme inbraakdetectie met Arduino en ESP8266
  5. Een nauwkeurig meetwieltje bouwen met Arduino Nano en draaiencoder
  6. Arduino-gebaseerde Afstotende Magnetische Levitatie: Eenvoudige Schakeling & DIY Handleiding
  7. High-Performance Arduino Weerballon Datalogger
  8. ArduFarmBot Deel 2: Een Extern IoT-besturingsstation Bouwen
  9. Arduino Flip Clock met 8×8 LED Matrix – DIY Real-Time Clock Project
  10. Geavanceerde Microcontroller Lab: ESP32, Arduino, PIC en Sensormodules
  11. Bouw een handgehoude Geiger-teller met Arduino Nano