我最近通过 IBM Cloud http://console.bluemix.net/ 探究了 Node-RED 的更多功能, 并发现只要将一连串的节点连成一个流, 创建一些非常复杂的应用就会变得极其简单但我很快就注意到了存储下没有 mySQL 节点, 这让我不禁想知道如何在流中连接和使用 ClearDB MySQL 实例如果您也想知道这一点, 下面就是一组非常简单的步骤(当然, 如果预先存在 Node-RED 和 / 或 ClearDB MySQL 数据库, 也可以使用这些数据库)
创建一个 Node-RED Starter 服务我不打算详细讨论这一步, 简单来说, 转至 IBM Cloud 目录, 搜索 Node-RED, 单击服务图标并遵循指示信息操作允许进行配置
创建一个 ClearDB 管理的 SQL 数据库我仍不会对此加以详述, 您只需在 IBM Cloud 目录中搜索它, 单击图标, 决定付款计划(我选择了免费的 CB5 计划, 因为我只是在进行一些测试), 然后单击 Create
实际上没有必要连接这两者, 我这样做只是为了在服务本身中展示这两者之间的相互作用
在 IBM Cloud 仪表板中单击 ClearDB 服务, 然后单击显示 OPEN CLEARDB MANAGED MYSQL DATABASE DASHBOARD 的条幅
如果您尚未安装 MySQLWorkbench, 请单击 How to Connect 选项卡, 然后单击 MySQL Workbench 链接进行安装我发现这是最简单的处理方式然后转至标记为 Community Edition 的选项卡(如果正在使用付费版本, 那么转至标记为 Dev and Production Edition 的选项卡), 然后单击数据库名称链接这将显示更多的选项卡, 缺省选项卡是 Performance, 并带有一些漂亮的标度盘
单击 System Information 选项卡您将在此处看到数据库名称 (位于蓝色条幅中冒号和 System Information 字样的左侧) 主机名(以. cleardb.net 或相似内容结尾), 以及位于 Access Credentials 下的用户名和密码
在安装之后, 启动 MySQL Workbench, 并创建指向 MySQL 实例的连接
在 MySQL Workbench 欢迎屏幕上, 单击 mySQL Connections 旁边的加号 (+)输入对您有意义的 Connection Name, 并将连接方法保留为 Standard (TCP/IP)在 Hostname 字段中, 输入第 6 步中显示的主机名以及您的用户名保持端口号不变, 并输入第 6 步中显示的数据库名称作为 Default Schema(左侧除冒号 (:) 外的所有内容)同样也按照第 6 步所示添加密码单击 Test Connection 以确保正确输入了各项内容, 这样会建立连接, 然后在测试成功时单击 OK
单击现在应该会显示的连接框, 然后连接到您的 mySQL 数据库现在使用 MySQL Workbench 工具创建一张表, 并向其中插入一些数据 (提示: 输入 create table myNames (firstname varchar(10));, 另起一行输入 insert into myNames values Trevor;, 然后再另起一行输入 commit; 接下来, 按执行图标(看起来像闪电, 从左数第三个图标) 这应该会在 Action Output 窗格中返回带有绿色勾选标记的三行内容)
检查点: 我们现在配置了一个 Node-RED 服务和一个 ClearDB MySQL 管理数据库服务我们找到了数据库所需的连接信息 (主机名数据库名称用户名和密码) 我们安装了 MySQL Workbench, 连接到了 ClearDB 服务, 创建了一张名为 myName 的表, 并在其中插入了一条记录很棒! 现在该转至 Node-RED 了!
在 IBM Cloud 仪表板中, 单击 Node-Red 编辑器的 URL 如果您之前没有使用过该编辑器(即只进行了配置), 那么首先需要确保它的安全等等按照屏幕提示创建用户名和密码(其余各项保持不变), 然后启动流编辑器
一旦进入流编辑器, 就需要安装 mySQL 节点为此, 请单击右上角 Deploy 按钮右侧的汉堡包图标 (三条水平线) 然后单击 Manage Pallate
单击 Install 选项卡, 然后在 Search Modules 框中输入 mySQL 将会返回三条结果, 但我们只需要名为 node-red-node-mysql 的这条结果单击它旁边的 Install 按钮
检查可能需要的任何依赖关系 (我完成此操作时没有任何依赖关系) 并完成安装, 最多需要几秒钟
查看 Storage 部分, 现在您应该会看到一个橙色的 mySQL 节点, 可将它拖入 Flow 窗口
为进行测试, 请拖入一个注入节点一个函数节点一个 mySQL 节点和一个调试节点, 并按从左至右的顺序将它们相连
在注入节点中, 将有效内容更改为 text, 然后输入 select * from myNames
在函数节点中, 具有以下代码: msg.topic = msg.payload; return msg; 必须在 msg.topic 中传递查询
通过编辑数据库字段 (单击画笔) 来配置 mySQL 节点, 在第二个页面上, 根据上述第 6 步 / 第 7 步所示添加主机用户密码和数据库名称端口和时区可以保持不变单击 Update, 然后即完成
您不需要配置调试节点只需单击 Deploy
如果部署有效, mySQL 数据库节点将显示 connected 如果未显示, 请检查您的连接详细信息
单击注入节点以运行查询, 您将在调试窗口中看到输出 单击小箭头以打开 Array 和 Object, 然后您将看到 firstname: Trevor 作为查询的 JSON 输出
您可以在注入节点中重新编写对 INSERT 语句的查询, 再次单击部署和测试按钮(您可以在 mySQL Workbench 中看到输出, 或者仅运行另一个选择注入), 结果为现在可以通过此节点发出 INSERTSELECT 和 DELETE 操作
大功告成很显然, 这是构建更大应用的起点祝您好运! 构建快乐!
developerWorks 上的更多 IoT 内容:
5 个帮助您加速 IoT 开发的流行 IoT 开发工具包 https://developer.ibm.com/cn/blog/2017/5-popular-iot-developer-kits-help-speed-iot-development/
应该立即使用 Node-RED 的五大理由! https://developer.ibm.com/cn/blog/2017/five-reasons-use-node-red-iot/
IoT 入门的必备 7 大概念和技能 https://developer.ibm.com/cn/blog/2017/just-getting-started-iot-consider-7-key-iot-concepts-skills/
本文翻译自: Talking to ClearDB MySQL via Node-RED in the IBM Cloud https://developer.ibm.com/dwblog/2018/talking-cleardb-mysql-via-node-red-ibm-cloud/ (2018-02-08)
来源: https://www.thinksaas.cn/group/topic/839319/