Мне нужно получить температуру процессора от raspberry pi до службы быстрого запуска платформы Watson IoT Platform. Я делаю это с помощью узла exec в узле red с командой vcgencmd measure_temp
. Я хочу отправить это значение температуры в виде числа на узел Watson IOT, но мой узел exec возвращает температуру процессора как "temp=45.2
C "« Я хочу получить температуру как число с плавающей запятой. Для этого я попробовал использовать функциональный узел для подстроки температурной части из строки и использовать функцию parseFloat () в javascript. Но функция уведомлена как недействительная. Может ли кто-нибудь подсказать мне, как это должно быть сделано. Я новичок в node-red .
Получение температуры процессора в виде числа в красном узле
Ответы (1)
Показание температуры можно считать как есть, используя узел Exec, а затем его можно дополнительно уточнить в соответствии с вашими потребностями. В этом случае поможет следующий код:
msg.payload = {"d":{"temp":msg.payload.replace("temp=","").replace("'C\n","")}};
return msg;
Вы можете обратиться к рецепту Интернета вещей «Подключение Raspberry Pi как устройство для Watson IoT с использованием Node-RED », в котором подробно описаны шаги вместе с потоком Node-RED, который поможет вам получить температуру процессора Raspberry Pi и отправить / загрузить ее на платформу Watson IoT.
Быстрый старт - определенно самый быстрый и простой вариант. Этот рецепт знакомит с шагами, как зарегистрировать Raspberry Pi в качестве зарегистрированного устройства и отслеживать / администрировать его с помощью Watson IoT Platform Dashboard.
person
Prasanna A M
schedule
17.08.2016
parseFloat()
ожидает 45,2, а не temp = 45,2 C. Он задыхается от температуры =, вам нужно сначала отключить это - person hardillb   schedule 15.08.2016