1.高层架构
2.先决条件
运行此演示需要以下工具。
从主存储库下载必要的资源:
该存储库包括不同的项目:
您还需要实现 oneM2M 平台。存在不同的平台,我们可以引用一些:
对于本教程,将使用ACME实现。平台的安装、配置和运行请参考官方文档。
https://github.com/ankraft/ACME-oneM2M-CSE
4.1。配置 IoT 平台 (ACME)
默认配置可用于本地演示。物联网平台将监听 8080 端口。每次重启后数据库都会重置。
如果需要,您可以通过编辑文件来更改物联网平台的配置:“ acme.ini ”。
4.2. 启动 IoTPlatform (ACME)
物联网平台可以通过以下方式启动:
python3 acme.py
您应该在日志末尾看到“CSE 已启动”。
在浏览器中打开以下 URL 访问 ACME IoT 平台网页界面:http: //127.0.0.1 :8080/
使用默认配置,输入发起人“ CAdmin” ,然后输入“ Connect ”
然后您将能够看到 oneM2M 资源树:
NodeMCU 源代码位于“oneM2M-IoT-Device”文件夹中。
使用以下组件将电位器、4 位显示器、按钮、LCD 显示器连接到 NodeMCU 板:
如果尚未安装,请从以下链接下载并安装 Arduino ID
注意:我们不建议在此演示中使用 Arduino Web 编辑器,因为不支持 NodeMCU 板。
插入时,如果未检测到 NodeMCU 端口,则需要使用以下链接手动下载并安装 USB 驱动程序:https ://github.com/nodemcu/nodemcu-devkit/tree/master/Drivers
首先,打开 Arduino IDE,转到“文件”>“首选项”条目。
在“其他板管理器 URL”文本框中复制以下 URL :
单击“确定”关闭“首选项”对话框。
完成上述步骤后,进入“工具”>“Board:...” ,然后选择“Board Manager”
输入文本框“esp8266” ,然后导航到“esp8266 by esp8266 community”并“安装”Arduino 软件。
转到“工具”>“板...” ,然后选择“NodeMCU 1.0”板。
完成上述所有过程后,您就可以使用 Arduino IDE 对 NodeMCU 板进行编程了。
在您的 Arduino IDE 中打开草图“ NodeMCU_PotentiometerSensor-DisplayActuator.ino ”。
设置你的WIFI参数
char* WIFI_SSID = "FILL_THE_WIFI_SSID";
char* WIFI_PSWD = "FILL_THE_WIFI_PSWD";
在您的网络中设置 ACME IoT 平台的 IP 地址:
String CSE_IP = "X.X.X.X";
单击验证按钮以编译草图。
编译输出:
5.7. 将草图上传到NodeMU 板
单击上传按钮将草图上传到 NodeMCU 板。
上传输出:
单击按钮打开 Arduino 串行监视器以显示 NodeMCU 控制台。
然后在打开串行监视器后从下拉列表中选择 115200。
您应该会看到“PotentiometerSensor”应用实体资源,其中包含在 oneM2M Web 界面上创建的“DESCRIPTOR”和“DATA”容器。
您还应该看到在 oneM2M Web 界面上创建的带有“DESCRIPTOR”、“DATA”和“COMMAND”容器的“DisplayActuator”应用程序实体资源。
电位器监控和显示管理应用源码以NodeJS和Python提供。文件夹中提供了源代码:
"oneM2M-IoT-Application/nodejs/onem2m-monitor.js"
"oneM2M-IoT-Application/python/onem2m-monitor.py"
您可以使用提供的两个应用程序之一:NodeJS或Python
使用您喜欢的文本编辑器打开文件nodejs / config/default.json 。并编辑必要的配置参数。
设置 ACME 平台的 IP 地址(变量“ monitorIP ”)。如果您在同一台计算机上运行 ACME 平台和应用程序,则可以保留 localhost (127.0.0.1)。
使用您喜欢的文本编辑器打开文件python/default.json 。并编辑必要的配置参数。
设置oneM2M平台的IP地址(变量“monitorIP ” )。如果您在同一台机器上运行 oneM2M 平台和应用程序,则可以保留 localhost (127.0.0.1)。
在终端上,使用npm工具安装以下 Node.js 模块(安装 Node.js 时默认安装):
> npm install express
> npm install request
> npm install body-parser
> npm install request
> npm install yargs
> npm install config
使用以下命令启动 Node.js oneM2M IoT 应用程序:
> node onem2m-monitor.js -s Potentiometer -a Display
在终端上,使用pip工具安装以下 Python 模块(可以在安装 Python 时安装):
> pip install requests
> pip install flask
使用以下命令启动 Python oneM2M IoT 应用程序:
> python onem2m-monitor.py -s Potentiometer -a Display
您应该会看到Monitor
在 oneM2M Web 界面上创建的“ ”应用程序实体 (AE) 资源。还要检查下订阅资源的创建PotentiometerSensor/DATA
当您改变电位器的位置时,它的值会直接复制到 4 位显示器上。
当您按下按钮时,电位器的值会通过 WiFi 发送到远程 CSE。然后将该值通知给监控应用程序。
根据接收到的值,监视器应用程序将通过 CSE 向 LCD 屏幕发送特定消息。
如果该值低于 512 (分别高于 512 ),则监视器应用程序将发送“Value is LOW” (分别为“Value is HIGH” )以显示在 LCD 屏幕上。
如果您有第二个 NodeMCU,您可以将传感器和执行器拆分到两个 NodeMCU 设备上。
8.1 架构
8.2 原理图
8.3 NodeMCU 草图
您可以在文件夹中找到拆分为两个新草图的原始草图代码:
"oneM2M-IoT-Device/PotentiometerSensor_DisplayActuator"
NodeMCU 1(仅限传感器)
"PotentiometerSensor/PotentiometerSensor.ino"
NodeMCU 2(仅限执行器)
"DisplayActuator/DisplayActuator.ino"
8.4 物联网应用
感谢 oneM2M 标准,您可以使用相同的 IoT 应用程序而无需进行任何更改 :-)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !