Articles of iot

IOT通信 – REST API vs Websockets

有一个关于何时使用websockets而不是apis来进行设备和服务器之间的双向通信的问题。 我有一个能够托pipe一个Web服务器(如我的Android手机)的设备,我可以在我的设备上托pipe一个rest服务器,每当Web服务器需要从我的设备的东西,我可以调用它,反之亦然。 作为networking套接字是双向的,我的第一个想法是在两者之间使用一个websocket服务器并让它们通信。 所以我的问题是,哪一个更好? 我唯一犹豫的使用websockets是因为我需要更新Web服务器上的数组相当经常,这似乎是一个PUTrest操作。 谢谢

bluemix无法login,停止/重新启动应用程序

我无法停止/重新启动http://m2m.demos.ibm.com/trafficsimulator.html的示例程序。 它提供了以下错误:“BXNUI0018E:未定义的应用程序的实例无法检索”。 在我刷新仪表板后,我无法login。 “BXNUI0303E:由于联系业务支持系统时出现问题,无法检索到帐户信息。您将从Bluemix注销。 稍后再试。 如果再次看到此消息,请转到DOCS并select疑难解答获取帮助和支持选项。 任何人都可以帮助我? 根据我的经验,Bluemix IoT服务似乎并不稳定。 谢谢,Jun

将外部MQTT发布者与NODE-RED连接

在我目前的项目中,我试图将外部温度传感器连接到NODE-RED。 我已经用外部传感器插入了MQTT。 该传感器正在使用tempMeasurement主题发布数据。 MQTT发布者的configuration如下: public class MQTTPublisher { // public static final String BROKER_URL = // "tcp://broker.mqttdashboard.com:1883"; public static final String BROKER_URL = "tcp://test.mosquitto.org:1883"; private MqttClient client; public MQTTPublisher() { try { client = new MqttClient(BROKER_URL, MqttClient.generateClientId(), new MemoryPersistence()); client.connect(); } catch (MqttException e) { e.printStackTrace(); } } public void publish(String topicName, int qos, byte[] […]

在Node-RED中部署单个节点

Node-RED有非常好的“单击部署”function。 使用此function,节点 – 红色将非常快速地部署其所有节点和stream量。 但是,我想知道 – 我们在Node-RED编辑器中开发的stream程和节点在我们点击节点RED中的“deploy”button时被部署? 我之所以问,是因为我想在远程设备(例如Android)上自动部署Node-RED生成的代码(我想它在Node.js中)。 我知道连接的解决scheme之一是 – 在Android设备上运行MQTT发布者,并在NodeRED中的MQTT订阅者中写入订阅者以获取事件数据。 但是,这个解决scheme的问题是 – 手动部署(耗时,容易出错)。 正如Tiago在这个问题的答案部分中所build议的那样,Node-RED根据我们在Node-RED编辑器中定义的节点和stream程,在useDir生成JSON文件 。 我们可以得到node.js文件,而不是JSON文件? 这将有助于我们在每个设备上部署设备特定的代码,而无需在每个设备上加载Node-RED编辑器?

实施实时传感器仪表板

在我目前的项目中,我们试图实现一个显示不同传感器值的仪表板。 以下显示function。 在这里,function是 – humidity和temperature传感器周期性地发送它们的值。 Displaycontroller接收这些值,并将其发送到仪表板进行可视化。 为了实验目的和探索新技术,我们一直在用以下方式实现上述四个组件: node.js中的TemperatureSensor和HumiditySensor使用MQTT发布者发布该值。 Node-RED中的DisplayController ,可以通过NODE-RED MQTT用户接收温度和湿度传感器值。 在HTML和Javascript DashBoard 现在,这是我的问题—我们如何连接DisplayController和DashBoard组件? 由于Displaycontroller组件在Node-RED中实现, DashBoard在HTML和JavaScript实现,问题可能会变得复杂。 可以连接这些组件吗? 如果是,那我们怎么连接它们? 为了进一步清晰起见,我添加了Dashboard组件代码。 dashborad组件连续轮询DisplayController组件( 用Nodejs编写,而不是Node-RED ) <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <script type="text/javascript" src="https://www.google.com/jsapi?autoload={ 'modules':[{ 'name':'visualization', 'version':'1', 'packages':['corechart'] }] }"> </script> </head> <body> <div id="chart" style="width: 1500px; height: 700px"></div> <script> $(document).ready(function () { var maxDataPoints = 10; var chart = […]

在Node.js中进行表单处理和处理的node.js示例

我需要一个指针或示例教程或一些示例来形成Node.js中的处理。 我有一个form.html有3个button“前进”,“后退”,“停止”,他们将不得不调用一个进程得到,并适当地发送消息到后端组件采取适当的行动。 我在创build应用程序时得到的样本node.js是好的,但是它没有表单处理,所以链接到一些有效的示例会有很大的帮助。

Bluemix Single Sign On不显示login页面

我做了教程,使用IoT Foundation Service和.js样板可视化我的树莓派中的数据。 我按照下面的教程: Visualizing your data 一切工作正常。 现在我尝试添加单点login服务进行身份validation。 我创build了一个云registry,并添加了两个testing用户。 之后,我将服务绑定到了我的物联网可视化.js应用程序,并执行了将应用程序与服务集成的步骤。 我遵循这个官方文档步骤(点“configurationNode.js应用程序”): http://www.ng.bluemix.net/docs/services/SingleSignOn/configure_apps.html#tsk_configuringnodejsapp_express4 我修改了我的电脑上的文件,并使用CL CLI上传它们。 问题是,它没有改变任何东西。 我可以像以前一样访问我的应用程序,但没有看到任何login页面。 这是我的文件: 的package.json { "name": "iot-visualization", "version": "0.1.0", "private": true, "scripts": { "start": "node app.js" }, "dependencies": { "passport": "*", "cookie-parser": "*", "express-session": "*", "passport-idaas-openidconnect": "*", "express": "~4.2.0", "serve-favicon": "~2.1.0", "morgan": "~1.0.0", "cookie-parser": "~1.0.1", "body-parser": "~1.0.0", "debug": "~0.7.4", "jade": […]

将NodeJs Express Rest API部署到Windows 10 IoT

节点noob,Windows 10物联网noob,高级.net开发在这里。 我已经能够获得一些样本,甚至可以通过一个nodejs服务器控制一个面包板上的led。 我正在使用最新的脉轮核心文件,并在我的开发机器上安装了所有的软件包,非常干净。 我猜测它无法安装在packages.json文件中指定的包,这里是摘录: “express”:“〜4.0.0”,“morgan”:“〜1.0.0”,“mongoose”:“〜3.6.13”,“body-parser”:“〜1.0.1” 如果是这样的软件包,那么如何将软件包部署到nodejs应用程序中去呢? 我认为只是将应用程序复制到iot设备并手动启动,没有运气。 我也需要允许我与gpio接口代码的ms程序集。 我现在试图得到一个简单的restAPI到Windows 10 IOT,并有一些麻烦。 我遵循这个教程 ,如果我在我的机器上使用非通用Windows模板,它的工作。 但是,当我尝试使用此模板(基本Node.js快速4应用程序(通用Windows)),并将其设置为相同的应用程序,应用程序部署,但debugging器失败,查看Windows 10的debugging部分IOT设备,我有以下:报告签名 软件包全名:test.iot.nodejs.express.njsproj_1.0.0.0_arm__b4gtp05xzgr10应用程序名称:praid:应用程序应用程序版本:10.0.10586.63应用程序时间戳:568b3d9f故障模块名称:ucrtbase.dll故障模块版本:10.0.10586.63故障模块时间戳:568b34ebexception偏移:000351edexception代码:c0000409exception数据:00000005 EventTime 2016年1月26日下午10点22分17秒 链接到沃森水桶 133280376927 FriendlyEventName 停止工作 AppName的 test.iot.nodejs.express.njsproj_b4gtp05xzgr10!应用 APPPATH C:\ WINDOWS \ SYSTEM32 \ backgroundTaskHost.exe

如何与亚马逊的物联网可编程button的LED灯交互

我正在使用node.js在Amazon Web Services中创buildIoTbutton在按下时调用的Lambda函数。 IoTbutton带有一个小的LED,如果该function成功执行,该LED将点亮为绿色,如果出现错误则为红色。 我想知道是否有任何方法来控制LED比这更多? 我知道它在configuration过程中闪烁白色。 我已经阅读了相当多的文档,找不到控制LED的任何内容。 有没有人在这里知道很多关于如何告诉button来改变LED的颜色,亮度或持续时间的build议? 我认为这是通过Lambdacallback函数发送的对象完成的,但是我不知道该对象需要使用哪种格式才能使IoTbutton变得有意义。 callback(Error error, Object success) 我可能会补充说,我已经把所有的东西都做好了,而且我也不需要帮忙设置我的button。 我也知道button发送Lambda时按下的是什么: { "serialNumber": "0000000000000000", "batteryVoltage": "xxmV", "clickType": "SINGLE" | "DOUBLE" | "LONG" } 编辑: 所以我发现有人把固件的某个不可编程的仪表板button丢了 ,我发现这个: Usage: led <r> <g> <b> Usage: led <mode> <r> <g> <b> Modes: 'b'==blink; 'f'==fade Illuminating LED with RGB(%x,%x,%x) color=%8x 虽然我不知道该怎么办

Netbeans远程开发Node.js / javascript

可以在Netbeans远程部署/运行中设置,例如与Java相同? 为什么:我开发的物联网(树莓,onion.io等所有基于Linux的)图书馆。 我需要什么 :我需要有可能远程运行这个库。 在我个人电脑上用我最喜欢的IDE netbeans开发它,然后单击–RUN,netbeans应该将其上传到远程设备,然后在该设备上运行。 如果你正在开发java,你可以使用相同的东西,例如在Raspberry PI上设置远程环境,在raspberry上单击一下即可。 如果这是不可能的:这是如何自动化这个过程? 将最新版本上传到远程设备(SFTP,FTP等)并远程运行(SSH?) 任何想法 ?