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

Bel mijn Arduino

Componenten en benodigdheden

Arduino UNO
× 1
Arduino Ethernet Shield
× 1
Analoge temperatuursensor
× 1

Over dit project


(Van http://www.instructables.com/id/Call-my-Arduino/)

Hoe u telefoongesprekken naar uw Arduino kunt inschakelen , met behulp van Twilio en Yaler.net

Twilio is een webservice die alles in een telefoon verandert. Het is een REST API voor telefonie, gehost in de cloud. In dit geval vraagt ​​Twilio de Arduino om een ​​nieuw voice.xml-bestand wanneer iemand het vooraf gedefinieerde telefoonnummer van de Arduino belt. De inhoud van het antwoord wordt voorgelezen aan de beller door Alice, een stem van Twilio's tekst-naar-spraak-engine.

Yaler.net maakt webtoegang mogelijk tot embedded apparaten achter een firewall, NAT of een mobiele netwerkrouter. Hier kan Twilio toegang krijgen tot het voice.xml-bestand op de Arduino, dat zich in een lokaal netwerk bevindt en daarom geen eigen openbaar IP-adres heeft (openbaarmaking:ik ben een oprichter van Yaler).

Deze demo gebruikt een temperatuursensor, maar elke andere sensor zou het ook doen. Een echt productvoorbeeld is de Canarische (nu Birdi) rookmelder waarmee bezorgde huiseigenaren hem kunnen bellen om te vragen of de batterij nog in orde is.

Op een meer abstract niveau probeert deze Instructable te laten zien hoe modulaire cloudservices in een open Internet of Things vrij kunnen worden gecombineerd om nieuwe, eenvoudige en betrouwbare oplossingen te bouwen. HTTP en Webhooks FTW! Maar laten we beginnen... 

(Hier is een video die dit project uitlegt van IoTLive, onderdeel van IoTDay 2014)


Materiaal

- Arduino Uno (bijv. https://www.adafruit.com/products/50)

- USB-kabel standaard A-B (bijv. http://www.adafruit.com/products/62)

- Arduino Ethernet Shield (bijv. http://www.adafruit.com/products/201)

- Ethernet-kabel (bijv. http://www.adafruit.com/products/995)

- Analoge temperatuursensor (bijv. https://www.adafruit.com/products/165)

- Breadboard draadbundel (bijv. http://www.adafruit.com/products/153)

- Breadboard (bijv. http://www.adafruit.com/products/64)

http://www.youtube.com/watch?v=4IPwkW38oIw

Stap 1:Bedrading van de sensor

Voeg het Ethernet-schild toe aan de Arduino en sluit de temperatuursensor aan zoals weergegeven. Voor details over temperatuurmeting met de TMP36-sensor, zie b.v. http://learn.adafruit.com/tmp36-temperature-sensor/using-a-temp-sensor 

Als je andere (digitale) sensoren wilt toevoegen, houd er dan rekening mee dat sommige pinnen worden gebruikt door het Ethernet-schild.

Stap 2:De Yaler-bibliotheek installeren

Volg de drie stappen voor De bibliotheek installeren op https://yaler.net/arduino Als je dit nog niet hebt gedaan, meld je dan aan op https://yaler.net/ voor een gratis proefaccount en noteer het relay-domein (de geheime sleutel is niet nodig).

Stap 3:Programmeren van de Arduino

Download de TwilioYalerWebService Arduino-broncode

https://bitbucket.org/tamberg/iotworkshop/raw/default/Arduino/TwilioYalerWebService/TwilioYalerWebService.ino?at=default 

Open de Arduino-code

Het programma implementeert een zeer eenvoudige webserver die luistert naar inkomende HTTP-verzoeken. Zodra een verzoek binnenkomt, reageert het programma met een XML-document. Het maakt de server niet uit of het URL-pad / . is of /voice.xml.

Het MAC-adres wijzigen

Zorg ervoor dat het MAC-adres in de Arduino-code uniek is. Dit is vooral belangrijk als er meerdere Arduino's in hetzelfde lokale netwerk zitten. Een eenvoudige manier om een ​​(hopelijk) uniek adres te krijgen, is door de MAC van uw computer op te zoeken en vervolgens 1 op te tellen bij het laatste cijfer.

Voer uw relay-domein in

In plaats van een lokale server te maken met EthernetServer-server(80); we maken er een die toegankelijk is via de Yaler-relay try.yaler.net , in de volgende regel:

YalerEthernetServer-server("try.yaler.net", 80, "RELAY_DOMAIN");

Vervang RELAY_DOMAIN met uw relay-domein, b.v. voor gsiot-ffmq-ttd5 typ:

YalerEthernetServer-server("try.yaler.net", 80, "gsiot-ffmq-ttd5");

Merk op dat u net zo goed de lokale server kunt gebruiken, als u weet hoe u port forwarding moet configureren om een ​​gat te openen voor inkomende HTTP-verzoeken in uw lokale firewall. Het belangrijkste is dat Twilio toegang heeft tot de Arduino vanuit de cloud.

Wijzigingen opslaan en uploaden

Sla alle wijzigingen op en upload het programma naar je Arduino. Houd de USB-kabel voorlopig aangesloten op uw ontwikkelcomputer en open de seriële console om de foutopsporingsuitvoer te zien.

Stap 4:Toegang tot de Arduino

Toegang tot uw Arduino vanuit elke browser

De Yaler-bibliotheek maakt uw Arduino (en daarmee het XML-document) toegankelijk vanaf het openbare internet op http://RELAY_DOMAIN.try.yaler.net/,  bijv. voor het relay-domein gsiot-ffmq-ttd5 de URL is http://gsiot-ffmq-ttd5.try.yaler.net/ Of, om het er leuker uit te laten zien voor Twilio: http://gsiot-ffmq-ttd5.try.yaler.net/voice.xml

Controleer het XML-document

De inhoud van het XML-document vertelt Twilio wat hij moet antwoorden op een inkomend telefoongesprek. U kunt zelfs de tekst-naar-spraak-stem kiezen. Hier is het Alice. Het XML-formaat van Twilio heet TwiML. Zie https://www.twilio.com/docs/api/twiml voor meer informatie. Merk op dat de antwoordtekst de actuele temperatuur bevat. Verwarm uw sensor en ververs het document in uw webbrowser met F5 om het te zien veranderen.

Problemen oplossen

Als u een lege pagina of een foutmelding krijgt, zorg er dan voor dat uw Ethernet-kabel is aangesloten en controleer https://yaler.net/browser voor browserspecifieke foutopsporing.

Stap 5:Een Twilio-nummer instellen

Aanmelden

Om een ​​Twilio-account te krijgen, moet u zich eerst aanmelden op https://www.twilio.com/

Koop een telefoonnummer

Om gebeld te kunnen worden heb je een nummer nodig, waar een (kleine) prijs voor geldt. Log in, navigeer naar Nummers en selecteer de Twilio Numbers submenu, om de Nummers beheren . te zien tabblad.

Klik op de Koop een nummer -knop, selecteer de Voice selectievakje en klik op Zoeken , kies vervolgens een nummer en klik op Kopen om het te kopen.

Configureer de voice.xml webhook-URL

In de Nummers beheren tabblad, klik op het nummer dat u zojuist hebt gekocht. Stel de Reactie-URL in naar http://RELAY_DOMAIN.try.yaler.net/voice.xml en zorg ervoor dat POST is geselecteerd, bijv. voor het Yaler-relaydomein gsiot-ffmq-ttd5 stel de antwoord-URL in op http://gsiot-ffmq-ttd5.try.yaler.net/voice.xml

Stap 6:Een testoproep plaatsen

Zodra de Arduino is ingesteld, kun je hem vanaf elke telefoon bellen - zelfs die van je opa.


Dat was het, bedankt voor het lezen. @tamberg

Code

Bitbucket
https://bitbucket.org/tamberg/iotworkshop/raw/default/Arduino/TwilioYalerWebService/TwilioYalerWebService.ino?at=default

Schema's


Productieproces

  1. Anti-transpirant/deodorantstick
  2. Raspberry Pi garagedeuropener met streaming video van de deurstatus.
  3. Elektronentomografie van potloodvormige GaN/(In,Ga)N Core-Shell-nanodraden
  4. Arduino Spybot
  5. FlickMote
  6. Zelfgemaakte tv B-Gone
  7. Bel mijn Arduino
  8. Hoofdklok
  9. Vind mij
  10. Arduino Power
  11. Onderhoudssoftware/ CMMS – Een businesscase voorbereiden