• Техновижн

Организация приема данных с платы из базового набора интернета вещей

Взаимодействие Edge-устройств с платформой интернета вещей организуется "с двух сторон". С одной стороны, нужно правильно отправить данные с устройства, с другой - правильно организовать прием и обработку данных в платформе.




В статье про загрузку скетча в микроконтроллер платы из базового набора интернета вещей мы рассказали, как организовать отправку данных с платы в платформу ThingWorx. В этой статье мы расскажем, что делать в платформе, чтобы эти данные получить, обработать и при необходимости отправить какие-то другие данные обратно на плату.


Чтобы принять данные с платы, в "инстансе" платформы, в самом простом случае, должны быть созданы:

1) вещь для приема данных (Thing);

2) свойства в этой вещи, в которые будут записываться пришедшие значения (Properties);

3) сервис в этой вещи для обработки POST-запроса (Service);

4) ключ приложения для авторизованной передачи данных (Application Key).


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


Дальше в этой статье последовательно рассмотрим каждый пункт.


1) Создание вещи

  1. В ThingWorx Composer на вкладке Home, в разделе Modeling, выберите Things и нажмите New.

  2. Введите имя вещи в поле Name.

  3. В поле ThingTemplate напишите generic и выберите общий шаблон GenericThing.

  4. Нажмите Save, чтобы сохранить вещь.

2) Создание свойств

  1. Нажмите Edit, чтобы перейти в режим редактирования вещи.

  2. Перейдите на вкладку Properties.

  3. Нажмите +Add My Property.

  4. В появившемся окне в поле Name напишите название первого свойства. Например, SoilMoisture.

  5. В поле Description напишите описание свойства. Например, "Влажность почвы".

  6. В поле Base Type (тип) выберите тип свойства. Например, Number.

  7. Поставьте галочку напротив Persistent (сохраняемый), если хотите, чтобы значение свойства сохранялось после перезагрузки платформы.

  8. Нажмите Done and Add, чтобы добавить свойство и перейти к созданию следующего.

  9. Создайте столько свойств, сколько нужно.

  10. Нажмите Save вверху экрана, чтобы сохранить вещь.

3) Создание сервиса для приема данных

  1. В созданной вещи перейдите на вкладку Services.

  2. Нажмите +Add My Service, чтобы создать новый сервис.

  3. В поле Name напишите название сервиса. Например, getData.

  4. Теперь нужно добавить входные параметры сервиса. Для этого перейдите во вкладку Inputs/Outputs.

  5. Нажмите +Add справа от Inputs.

  6. В появившемся окне в поле Name напишите название входного параметра. Например, a0. Тип (Base Type) оставьте String.

  7. Нажмите Done или Done and Add, если хотите добавить еще параметры.

  8. Добавьте столько входных параметров, сколько нужно.

  9. Теперь нужно сделать обработку пришедших значений. Самый простой случай - например, перевести пришедшее значение в числовой формат и записать его в свойство типа Integer этой же вещи. То же самое сделать для всех пришедших параметров. При использовании стандартного скетча первая часть скрипта для сервиса будет выглядеть, например, так:

me.A0 = parseInt(a0);

me.D0 = parseInt(d0);

me.D5 = parseInt(d5);

me.D6 = parseInt(d6);

me.D7 = parseInt(d7);

me.D8 = parseInt(d8);


При этом входными параметра сервиса будут a0, d0, d5, d6, d7 и d8 - все типа String.

  1. Теперь нужно сделать отправку данных обратно на плату в формате JSON.

  2. Перейдите во вкладку Inputs/Outputs.

  3. Для выходного параметра измените тип с Nothing на JSON.

  4. В поле Script напишите следующее:

result = {"D1":<значение параметра D1>,"D2":<значение параметра D2>,"D3":<значение параметра D3>, "D4":<значение параметра D4>}


Нажмите Done и сохраните вещь.


4) Создание ключа приложения


Чтобы гарантировать, что данные передаются авторизованным источником, запрос должен содержать ключ безопасности (Application Key).

Для создания ключа приложения выполните следующие пункты:

  1. В поисковой строке в верхней части экрана напишите “+a” и выберите команду +Application Key.

  2. В поле Name в появившемся окне напишите название ключа. Например, TestAppKey.

  3. В поле User Name Reference начните писать логин пользователя, под которого создается ключ, и выберите появившийся объект. Например, Administrator или пользователь, имя которого - ваш логин в платформе.

  4. Нажмите Save вверху экрана. 

После сохранения в поле keyId появится ключ.

Именно строчку из поля keyId нужно вставлять в скетч!

14 views