FOK!forum / Digital Corner / Arduino REST Api client
bagpiper001vrijdag 3 november 2017 @ 12:09
Arduino dus, vraagje voor de kenners:
Ik heb een Genuino en een Ethernet Shield (met PoE) die de Ethernet2 library gebruikt.
Werkt allemaal als een zonnetje, verbinding maken gaat goed, pins werken en nu wil ik het uit gaan breiden.

Het idee is een beetje wat de aREST library biedt: je schiet een url met parameters naar je arduino toe en op basis van die parameters kun je pins HIGH/LOW zetten of PWM toepassen. Liefst ook met een message terug waarin staat wat je gedaan hebt. Waarom ik aREST niet gebruik dan? Ik heb het geprobeerd, maar hij lijkt niet te werken op Ethernet2 libraries, op de "oude" compileert hij wel. Ik heb een issue ingeschoten met de vraag of het aan hun of aan mij ligt.

De vraag is natuurlijk, zijn er andere mogelijkheden? Het hoeft niet per se een complete library te zijn, ik vind het ook wel leuk om zelf wat in elkaar te puzzelen, ik heb alleen niet zo veel verstand van het programmeren op een Arduino. Zou MQTT bijvoorbeeld wat zijn?

Concluderend: is er een mogelijkheid om een Ethernetshield met Arduino zo te configureren dat je met behulp van simpele URL met parameters de pins kunt aansturen? Hoeft dus niet per se een library te zijn, een aantal handvaten om zelf de goede richting in te gaan bouwen is ook prima.

Alvast bedankt :)
Surowa94vrijdag 3 november 2017 @ 21:54
Je vraag bestaat dus als ik het goed begrijp uit twee delen, namelijk:
1.Hoe zorg ik (zonder die specifieke library) dat je een url naar een arduino kunt sturen. Dit kan op een aantal manieren, bijv. door een port manager te gebruiken https://stackoverflow.com(...)to-the-esp8266-ap-an
(Dat geeft je een idee, hoewel het voor jouw situatie vast niet geheel juist is). Dit kun je ook manueel met PHP en IPs doen: http://forum.arduino.cc/index.php?topic=456562.0
En 2. Met de input die je hieruit krijgt, pins aansturen. Dit kun je in de IDE met Arduino C volgens mij gewoon vrij simpel doen met een paar if/else statements en variabelen opgebouwd uit de ingezonden urls vanuir PHP en de verschillende digitale pins van Arduino.
Hopelijk kun je hiermee verder..
bagpiper001maandag 6 november 2017 @ 10:28
quote:
0s.gif Op vrijdag 3 november 2017 21:54 schreef Surowa94 het volgende:
Je vraag bestaat dus als ik het goed begrijp uit twee delen, namelijk:
1.Hoe zorg ik (zonder die specifieke library) dat je een url naar een arduino kunt sturen. Dit kan op een aantal manieren, bijv. door een port manager te gebruiken https://stackoverflow.com(...)to-the-esp8266-ap-an
(Dat geeft je een idee, hoewel het voor jouw situatie vast niet geheel juist is). Dit kun je ook manueel met PHP en IPs doen: http://forum.arduino.cc/index.php?topic=456562.0
Dat klopt, alhoewel dat niet echt een vraag was, want die had ik zelf al ingevuld en uitgeplozen :)

quote:
En 2. Met de input die je hieruit krijgt, pins aansturen. Dit kun je in de IDE met Arduino C volgens mij gewoon vrij simpel doen met een paar if/else statements en variabelen opgebouwd uit de ingezonden urls vanuir PHP en de verschillende digitale pins van Arduino.
Hopelijk kun je hiermee verder..
Daar begint het probleem, dat was de eerste situatie die ik had als testopstelling. Werkt prima om een ledje mee aan/uit te zetten, eventueel PWM mee aan te sturen. Ik ben echter bang dat ik het limiet van mijn controller ga overschrijden op het moment dat ik meerdere dingen wil gaan aansturen en daarvoor allemaal verschillende if/else statements moet maken en variabelen moet opslaan.

Dus, je hebt gelijk, dat werkt ook en ik kan daarmee een LED aansturen op de manier die ik wil. Nu ben ik echter op zoek naar een manier om dat samen te gaan voegen. In de URL wil ik gewoon mee gaan geven: deze poort, deze output -> deze port, get status zonder dat ik in Arduino allerlei uitgebreide if-statements moet gaan bijwerken.

Toch bedankt voor het meedenken in ieder geval :)