Мога да ти кажа как съм го правил с Java, но подчертавам, че може и с друг език, който позволява създаване на динамичен сървър и поддържа достъп до USB, в случая(aз лично ползвах RS-232).
Идеята е да си създадеш сървъра и да се направят динамични страници, в рамката на неговия код, така че да се обработват заявките към него, а съответното действие се пренасочва към Ардуино. Пример: Имаш бутон на index страницата. При натискане, се предава към Ардуино някакъв байт. Ардуино разпознава байта като съответстващ на този бутон и извършва заложеното в програмата действие. То и при шийлда не е по-различно, но там сървърът се разполага в микроконтролера, което значително ограничава възможностите му, най-вече заради малкото памет, с която разполага.
Бих могъл да ти изпратя пример за Java, но не знам колко време ще ти трябва само, за да инсталираш и подкараш JDK...