Ардуино json api

Dognail
Offline
Зарегистрирован: 10.08.2016

Добрый день!

Есть ардуино и датчик DHT11, есть ENC28j60 для ethernet. Чтобы отображать данные на компьютере в интернете обычно рассказывают как сделать из ардуино веб-сервер. И писать в скетче вставки html и т.п. ужас. 

Можно ли использовать адрес ардуино для получения данных в виде json, а на сайте на php, .net или python отображать эти данные? Может быть существуют для этого библиотеки, подскажите какие?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Можно подробнее архитектуру, которую Вы задумали (если можно, с рисунком). Т.е. у Вас есть сервер, на котором стоит php или там .net. Так? Есть клиент, который со своего браузера лезет к серверу. Правильно? А какова роль Ардуино? Сервере периодически у неё спрашивает данные и хранит у себя  для показа клиенту? Или спрашивает непосредственно в момент обращения клиента? Т.е. архитектура непонятна.

Dognail
Offline
Зарегистрирован: 10.08.2016

Ничего необычного в архитектуре и непонятного. Преставте обычный сайт или мобильное приложеине, которое отображает данные подтянутые по апи с другого источника. 

Допустим на .net ApiController который выдает по запросу какие-то данные из бд, любому кто попросит в формате json. Можно ли заставить ардуино выдавать ответы в таком формате? Разница только в том что он будет выводить либо html страницу либо json данные.

Обращение к ардуино непосредственно когда клиенту нужно отобразить данные. 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Т.е. схема такая

1) клиент запросил что-то у сервера
2) сервер запрсоил информацию у ардуины (в данный момент сервер играет роль клиента ардуины, которая для него сервер)
3) получив данные сервер сформировал страницу для клиента и отдал её.

Всё так? Получается, что сервер будет дёргать ардуину в то время пока клиент ждёт ответа - тормозно, но дело Ваше, конечно.

Если так, то не понимаю проблемы вообще. Вам нужно, чтобы ардуина выдала данные в некотором, понятном Вашему серверу формате. Так и выдавайте, кто мешает-то? Просто формируйте ответ в том виде в каком нужно. В чём проблема?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Dognail пишет:



Можно ли использовать адрес ардуино для получения данных в виде json, а на сайте на php, .net или python отображать эти данные? Может быть существуют для этого библиотеки, подскажите какие?

Можно - отдавайте данные с ардуины в JSON-формате, делов-то. Только учтите, что если запрашивать с браузера или из честного клиента - то всё равно на ардуину будет приходить HTTP-запрос, который надо разбирать.

По поводу библиотек для JSON - не думаю, что они нужны применительно к ардуине - объём и виды данных сильно ограничены, можно ручками быстренько выдать всё.